Load a HF2/HFZ file from disk into memory. Unlike hfzLoadEx, this function does not automatically allocate the memory block.
long hfzLoad(const char* lpFileName, hfzHeader& fh, float * 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. |
pData | float* | A handle to the memory block to receive the map data. Please see comments for requirements. |
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.
This function requires that the pData memory block be allocated prior to the call. The required size is:
4 * nx * ny
…where nx and ny are the map widths and heights in pixels. These values can be read from the file using hfzReadHeader2. Alternatively, you may use hfzLoadEx, which initialises the memory automatically.
Please consult the comments for hfzSave