L3DT documentation
Large 3D terrain generator

format_CreateGeneric

Description

Create an instance of a file format handler for a particular map type. This function, or format_Create, must be called at least once by a file input/output plugin before it can be used to save or load map files.

Function prototype

ZFORMAT CExtAPI::format_CreateGeneric(long MapTypeID, const char* lpLongName, const char* lpFileExt, const char* lpNativeProgramName);

Arguments

Name Type Comment
MapTypeID long An integer containing the map type identifier that can be saved/loaded by this format.
lpLongName const char* A pointer to a C-style string, containing the full display name of the format (e.g. “L3DT Design map File”).
lpFileExt const char* A pointer to a C-style string, containing the file extension (e.g. “dmf”).
lpFileExt const char* A pointer to a C-style string, containing the nameof the program to which this format is considered native (e.g. “L3DT”).

Return value

Null if an error occurred or the format already existed, and otherwise a valid ZFORMAT handle.

Comments

Comparison with format_Create

The difference between this function and format_Create is perhaps best explained by examples of the usage of the ZFORMATs created by these functions:

  • When saving some generic colour map, such as a screen capture, L3DT will use the ZFORMAT created by format_CreateGeneric for the MAP_24bit type.
  • When saving the map project's light map and texture map, L3DT will use the ZFORMAT created for those maps using format_Create.

Even though the texture and light maps are actually of type MAP_24bit, they have their own format settings (created by format_Create) so that the user can set specific formation options for them.

Alpha map formats

The Alpha map export from L3DT uses the lists of formats created for the MAP_BYTE, MAP_24bit, and MAP_DWORD types. MAP_BYTE is used for one layer/image, MAP_24bit for three, and MAP_DWORD for four.

 
zeolite/functions/format_creategeneric.txt · Last modified: 2017/08/31 06:40 (external edit)
 
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki