WLD file format
Not sure which forum this is appropriate in, so I'll just drop it here.
The WLD file format is fairly simple once you break it down into fragments. The header is 24 bytes long, and is as follows: Code:
struct WLD_Header { After the header comes the namehash, and its length is, of course, the value of nameHash_size. The namehash is encoded and decoded using the following algorithm (thanks to the creators of ZoneConvertor for the algorithm): Code:
function Code($data, $size) Code:
struct WLD_Fragment { Hopefully my info is accurate ;) Cheers, Daeken |
Data03 and Data04
Data03 fragments start with an unsigned long that has the count of chunks in the fragment. Each chunk has an unsigned short which is the length of the data stored in the chunk, and then that many bytes of data.
This data is encoded using the algorithm used for the nameHash in the WLD file header. Data04 fragments start with an unsigned long containing flags, and then an unsigned long with the count of fragment references. If the flags & 0x4 != 0, then there is an unsigned long containing "parameter" 1. If the flags & 0x8 != 0, then there is an unsigned long containing "parameter" 2. After the optional data is a number of fragment references, indicated by the count in the Data04 header. Each fragment reference is unsigned long containing the fragment index it references. |
All times are GMT -4. The time now is 04:49 AM. |
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.