35
edits
Jestar jokin (talk | contribs) (→DOBJ - Directory of Objects: add possible class data) |
|||
(6 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
= Introduction = | |||
= Introduction= | |||
Most of the information below are retrieved from the [http://scumm.mixnmojo.com/?page=specs&file=indexfiles.txt LucasHacks!] site and from the Pascal source code of the ''IndexFileReader 1.2'' (written by Ben Gorman (Bgbennyboy, http://quick.mixnmojo.com). In addition, ''ScummRevisited'' (written by Jimmi Thøgersen (Serge), http://www.mixnmojo.com/scumm/scummrev) turned out to be very useful in verifying the found offsets. | Most of the information below are retrieved from the [http://scumm.mixnmojo.com/?page=specs&file=indexfiles.txt LucasHacks!] site and from the Pascal source code of the ''IndexFileReader 1.2'' (written by Ben Gorman (Bgbennyboy, http://quick.mixnmojo.com). In addition, ''ScummRevisited'' (written by Jimmi Thøgersen (Serge), http://www.mixnmojo.com/scumm/scummrev) turned out to be very useful in verifying the found offsets. | ||
Line 47: | Line 44: | ||
{| border="1" cellspacing="0" cellpadding="4" | {| border="1" cellspacing="0" cellpadding="4" | ||
|RM Room Names | |||
|In V3/4 | |||
|- | |||
|0R Directory Of Rooms | |||
|In V3/4 | |||
|- | |||
|0S Directory Of Scripts | |||
|In V3/4 | |||
|- | |||
|0N Directory Of Sounds | |||
|In V3/4 | |||
|- | |||
|0C Directory Of Costumes | |||
|In V3/4 | |||
|- | |||
|0O Directory Of Objects | |||
|In V3/4 | |||
|- | |||
|RNAM Room Names | |RNAM Room Names | ||
|In V5+ | |In V5+ | ||
Line 55: | Line 70: | ||
|DROO Directory of Rooms | |DROO Directory of Rooms | ||
|In V5+ | |In V5+ | ||
|- | |- | ||
|DSCR Directory of Scripts | |DSCR Directory of Scripts | ||
Line 80: | Line 92: | ||
|In V7 | |In V7 | ||
|- | |- | ||
| | |DRSC Directory of Room Scripts | ||
|In V8 | |||
|In | |||
|} | |} | ||
= SCUMM V0, V1 and V2 = | |||
= | The index file is 00.LFL. | ||
= SCUMM V3 and V4 = | |||
The index file is 000.LFL. | |||
* File's aren't xor'ed | * File's aren't xor'ed | ||
Line 192: | Line 194: | ||
State = (Owner+state Byte) AND 0x0F | State = (Owner+state Byte) AND 0x0F | ||
= | = SCUMM V5 = | ||
* The files are xor'ed with 0x69 | * The files are xor'ed with 0x69 | ||
Line 305: | Line 307: | ||
kObjectClassUntouchable = 32 | kObjectClassUntouchable = 32 | ||
= | = SCUMM V6 = | ||
* Files are xor'ed with 0x69 | * Files are xor'ed with 0x69 | ||
Line 347: | Line 349: | ||
Block Name (4 bytes) | Block Name (4 bytes) | ||
Block Size (4 bytes BE) | Block Size (4 bytes BE) | ||
# | #num (2 bytes) Stops if 0x0000 | ||
# | #a (2 bytes) | ||
# | #b (2 bytes) | ||
# | #c (2 bytes) | ||
num= | read num | ||
if num != 0: | |||
read a, b, c | |||
if c == 1: | |||
defineArray(num, kBitArray, a, b) | |||
else: | |||
defineArray(num, kIntArray, a, b) | |||
If | If num is 0, that marks the end of the AARY block, and there are no "a", "b", or "c" parameters afterwards. | ||
= | = SCUMM V7 = | ||
* Files aren't xor'ed | * Files aren't xor'ed | ||
Line 390: | Line 394: | ||
Costumes (2 bytes) | Costumes (2 bytes) | ||
== AARY == | |||
Mostly as in V6, except "Int" arrays are now "DWords". | |||
All as in | == DROO,DSCR,DSOU,DCOS,DCHR,DOBJ == | ||
All as in V6 | |||
Line 406: | Line 413: | ||
= | = SCUMM V8 = | ||
== RNAM - Room Names == | == RNAM - Room Names == | ||
Line 490: | Line 497: | ||
== DOBJ | == AARY == | ||
Mostly as in V7. AARY only has "a" and "b" parameters. "b" determines the order of the parameters when creating the array. | |||
Block Name (4 bytes) | |||
Block Size (4 bytes BE) | |||
#num (4 bytes) Stops if 0x00000000 | |||
#a (4 bytes) | |||
#b (4 bytes) | |||
while num != 0: | |||
read a and b | |||
if b != 0: | |||
defineArray(num, kIntArray, b, a) | |||
else: | |||
defineArray(num, kIntArray, a, b) | |||
== DOBJ == | |||
As in V7 | As in V7. | ||
[[Category: SCUMM Technical Reference]] | [[Category: SCUMM Technical Reference]] |
edits