Open main menu

Difference between revisions of "SCUMM/Technical Reference/Index File"

Correction how to determine the game version from the index file
(Completed information for V6-8)
(Correction how to determine the game version from the index file)
Line 17: Line 17:




Version 1 to 3 use hardcoded offsets and cannot be treated that easily. For the other games, the index file can be used to determine the SCUMM version because there have been slight changes in each version.
Version 1 to 3 use hardcoded offsets and cannot be treated that easily. For the other games, the index file can be used to determine the [[SCUMM/Versions|SCUMM version]] because there have been slight changes in each version.


* Version 4: the 5th and 6th byte match RN or OR
* Version 4
* Version 5: RNAM xor'ed with 0x69 at the beginning of the file, next 4 byte integer xor'ed with 0x69 is > 9
** the 5th and 6th byte match RN or OR
* Version 6: RNAM xor'ed with 0x69 at the beginning, next 4 byte integer xor'ed with 0x69 is 9 (actually it's the size of the chunk. In V6 games, no room names are stored so the size is 4 bytes (header) + 4 bytes (size) + 1 byte for the termination character).
* Version 5:  
* Version 7: RNAM at the beginning of the file (not xor'ed this time), next 4 bytes result in BE integer 9. ('''NOTE''': must be verified!)
** RNAM xor'ed with 0x69 at the beginning of the file
* Version 8: RNAM at the beginning of the file, next 4 bytes integer is > 9
** next 4 byte integer value xor'ed with 0x69 is > 9
* Version 6
** RNAM xor'ed with 0x69 at the beginning
** next 4 byte integer value xor'ed with 0x69 is 9 (actually it's the size of the chunk. In V6 games, no room names are stored so the size is 4 bytes (header) + 4 bytes (size) + 1 byte for the termination character).
* Version 7
** RNAM at the beginning of the file (not xor'ed this time)
** next 4 bytes result in BE integer 9 (actually applies only to [[Full Throttle]])
* Version 7 or 8
** RNAM at the beginning of the file
** next 4 bytes integer is > 9


How to distinguish between version 7 and 8? Not by looking at the first bytes, but the the size of the chunks is usually bigger because a 4 byte integer is used to store the number of objects.


= Conventions =
= Conventions =
24

edits