====== zformat_Create======
===== Description =====
Create an instance of a file format handler for a particular project map. This function, or [[zeolite:functions:zformat_CreateGeneric]], must be called at least once by a file input/output plugin before it can be used to save or load map files.
===== Files =====
^ Declaration | ''Zeolite.h'' |
^ Implementation | ''Zeolite.cpp'' |
===== Function prototype =====
ZFORMAT zformat_Create(const char* lpMapName, const char* lpLongName, const char* lpFileExt, const char* lpNativeProgramName);
===== Arguments =====
^ Name ^ Type ^ Comment ^
| //lpMapName// | ''const char*'' | A pointer to a C-style string, containing a valid map name (see comments). |
| //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 [[zeolite:types:ZFORMAT]] handle.
===== Comments =====
Valid project map names currently include:
* "Design map"
* "Heightfield"
* "Water map"
* "Salinity map"
* "Attributes map"
* "Terrain normals"
* "Light map"
* "Texture map"
More will be added in future.
===== Example =====
// create my format
ZFORMAT hFormat = zformat_Create("Design map", "L3DT Design Map File", "dmf", "L3DT");
if(!hFormat) {
// do nothing; this probably means the format already exists.
} else {
// set the flags
zformat_SetFlags(hFormat,
ZFORMAT_FLAG_NATIVE|
ZFORMAT_FLAG_MOSAIC|
ZFORMAT_FLAG_LOAD|
ZFORMAT_FLAG_SAVE|
ZFORMAT_FLAG_LOADTILE|
ZFORMAT_FLAG_SAVETILE); // native I/O and mosaic
}