L3DT documentation
Large 3D terrain generator



Load a HF2/HFZ file from disk into memory. Unlike hfzLoad, this function automatically allocates the memory block.

Function prototype

long hfzLoadEx(const char* lpFileName, hfzHeader& fh, float** h_pData, LIBHFZ_PROG_CALLBACK lpProgCallback, void* lpCallbackParam);


Name Type Description
lpFileName const char* The file name of the file to be loaded.
fh hfzHeader& The hfzHeader struct to be read from the file.
h_pData float** A handle to the to the float* that will be initialised as the map memory block.
lpProgCallback LIBHFZ_PROG_CALLBACK A handle to a callback function for displaying progress (see comments below). May be NULL if no callback is desired.
lpCallbackParam void* A handle to a user-defined parameter to be passed back to the lpProgCallback function, if used.

Return value

LIBHFZ_STATUS_OK if the file was loaded successfully, and otherwise an error code. Use hfzGetErrorStr to retrieve the error description.


hfzHeader fh; // declare a header struct
float* pData; // declare a map data handle

hfzLoadEx("mymap.hfz", fh, &pData, 0); // load the file


Callers must free data

Once you are finished with the map data addressed by h_pData, you must release the memory using the free function. Otherwise memory will leak.

Using lpProgCallback

Please consult the comments for hfzSave

libhfz/functions/hfzloadex.txt · Last modified: 2017/08/31 06:01 (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