User:Widgeon/Data File Format: Difference between revisions
From Drunkapedia
imported>Widgeon (Created page with "This describes the Throne of Destiny file format. * Cell blocksize is 256 * Portal blocksize is 1024 == Directory Node == * The directory nodes are 1740 bytes long * 1740 / (2...") |
imported>Widgeon |
||
(One intermediate revision by the same user not shown) | |||
Line 25: | Line 25: | ||
* 8: file offset (4 bytes) | * 8: file offset (4 bytes) | ||
* 12: file size (4 bytes) | * 12: file size (4 bytes) | ||
* 16: modification date (4 bytes). Number of seconds since 1970. This is when the client added | * 16: modification date (4 bytes). Number of seconds since 1970. This is when the client added this to the data file. | ||
* 20: unknown (4 bytes) | * 20: unknown (4 bytes) | ||
* Ignore the file entry if the version is zero. | * Ignore the file entry if the version is zero. |
Latest revision as of 18:48, 8 March 2011
This describes the Throne of Destiny file format.
- Cell blocksize is 256
- Portal blocksize is 1024
Directory Node
- The directory nodes are 1740 bytes long
- 1740 / (256 - 4) = 7 blocks
- 1740 / (1024 - 4) = 2 blocks
- 1740 = (62 * 4) + 4 + (62 * 6 * 4)
Each directory node has up to 62 subnodes and 61 keys. t=31. At most 2t-1 = 2*31-1 = 61 keys. At least t-1=30 keys.
- 000: 62 subnode offsets. Offsets are 4 bytes each. Only use the first count+1
- 248: count (4 bytes)
- 252: 62 file entries. File entries are 6x4=24 bytes long. Only use the first count entries.
- The subnode offsets must not be zero, must not be 0xcdcdcdcd, and should be an exact multiple of the blocksize.
File Entry
- 0: version (4 bytes)
- 4: identifier (4 bytes)
- 8: file offset (4 bytes)
- 12: file size (4 bytes)
- 16: modification date (4 bytes). Number of seconds since 1970. This is when the client added this to the data file.
- 20: unknown (4 bytes)
- Ignore the file entry if the version is zero.