.ARD - pmandin/reevengi-tools GitHub Wiki
The .ARD file format is used by Resident Evil 3 on Playstation. It contains the room description.
The values are stored in Little-Endian order. The files are named rSXX.ard. 'S' is the game status/stage. 'XX' is the location number.
An ARD file starts with this structure:
typedef struct { unsigned long length; /* Total file length */ unsigned long count; /* Number of objects in file */ } ard_header_t;
The follows an array of 'count' items:
typedef struct { unsigned long length; /* Object length */ unsigned long unknown; } ard_object_t;
This file is organized in 0x800 (2048) byte chunks. The first object start at offset 0x800 in the file. From there, to get to next object, you need to add its length. Then you must round this value to next multiple of 0x800 to get to it.
Example, to get to proper offset of object 1, that follows object 0:
object0 offset = 0x800 (always) object0 length = 0x12345 ending offset of object0 = 0x800 + 0x12345 = 0x12b45 next multiple of 0x800, from 0x12b45 = 0x13000 (0x12b45 or 0x7ff)+1 object1 offset = 0x13000.
Most files seem to have 10 objects stored.
object 0: ? object 1: ? object 2: ? object 3: ? object 4: ? object 5: ? object 6: ? object 7: ? object 8: Embedded RDT file object 9: ?
See .RDT for description of this file.