Rsizetable: Difference between revisions

Watertoon (talk | contribs)
Improve wording
Watertoon (talk | contribs)
Cleanup
 
Line 1: Line 1:
The resource size table is an ares file format managed by ares::ResourceSizeTable. '''The earliest revision has no header''', only containing the crc32b array, the size of array is implicitly calculated. Succeeded by a version with a 0xc byte header and an optional array of fixed size file path + resource size pairs for file paths that would produce a hash collision (default fixed size of that game's max path). Since succeeded by a version with a new 0x16 byte header, the 0x6 byte magic makes all subsequent u32 values unaligned.
[[Ares]] implements a "resource size table" file format managed by ares::ResourceSizeTable. '''The earliest revision has no header''', only containing the crc32b array, the size of array is implicitly calculated. The first revision adds a 0xc byte header and an optional array of fixed size file path + resource size pairs for file paths that produce a hash collision (default fixed size of that game's max path). The second and most common revision uses a 0x16 byte header, the 0x6 byte magic makes all subsequent u32 values unaligned.
 
== File Structure ==


=== Header (revision 1) ===
=== Header (revision 1) ===
Line 87: Line 89:
|-
|-
|0x0
|0x0
|0x80
|ares MaxPath
|char[ares MaxPath]
|char[ares MaxPath]
|Fixed size file path
|Fixed size file path
|-
|-
|0x80
|ares MaxPath
|0x4
|0x4
|u32
|u32