GsMapModelingData

Maps TMD data to real addresses

void GsMapModelingData (
        u_long *p
)

Arguments

p Pointer to starting address of TMD data

Return Value

None.

Explanation

Offsets within the TMD data pointed to by p are converted into real addresses.
The converted addresses are stored back in the TMD data.
TMD data includes various fields which contain the memory addresses of certain pieces of data. During the reparation of TMD data, however, the memory address where the data will be loaded is not yet known. Therefore, address fields in the TMD data are stored as offsets from the start of the data. The GsMapModelingData() function changes these offsets into real addresses after the TMD data has been loaded into memory. This must be done before the TMD data can be used.
TMD data begins at the address after the ID which is 4 bytes after the start of the TMD file.
For a description of the TMD file format, please refer to the Net Yaroze Members' Web site.

Notes

A flag is set in the TMD data to indicate that the offset addresses have been converted into real addresses. So, no side effects occur even if GsMapModelingData() is called repeatedly.