Load a HF2/HFZ file from disk into memory. Unlike hfzLoad, this function automatically allocates the memory block.
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. |
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
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.
Please consult the comments for hfzSave