Open main menu

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

Completed information for V6-8
(Completed information for V6-8)
Line 28: Line 28:
= Conventions =
= Conventions =


As usual, the [http://en.wikipedia.org/wiki/Endianness endianness (Wikipedia)] is important. Unless stated, little endianess (LE) is used. BE is used as abbreviation for big endianness.  
As usual, the [http://en.wikipedia.org/wiki/Endianness endianness (Wikipedia)] is important. Unless stated, little endianess (LE) is used.  
 
BE is used as abbreviation for big endianness.  


A '''Chunk''' is a named part of the file, e.g. RNAM. Each chunk has a header that contains at least the chunk name and its size. The following chunks are available:
A '''Chunk''' is a named part of the file, e.g. RNAM. Each chunk has a header that contains at least the chunk name and its size. The following chunks are available:
Line 178: Line 180:
   #Room No   (1 byte)
   #Room No   (1 byte)
   #Room Name   (9 bytes) XOR'ed with FF
   #Room Name   (9 bytes) XOR'ed with FF
Blank (00) byte   (1 byte) Marks end of chunk
Blank (00) byte   (1 byte) Marks end of chunk




Line 197: Line 199:
== DROO - Directory of Rooms ==
== DROO - Directory of Rooms ==


Block Name (4 bytes)
Block Name (4 bytes)
Block Size (4 bytes BE)
Block Size (4 bytes BE)
No of items (2 bytes)
No of items (2 bytes)
*Room Number (1 byte)
  *Room Number (1 byte)
*Offset (4 bytes)
  *Offset (4 bytes)


The flow how to read in this kind of information has changed slightly from V3/4.
The flow how to read in this kind of information has changed slightly from V3/4.
Line 324: Line 326:


If stop=0 you dont seek past the 6 bytes of A,B,C you just start the loop again.
If stop=0 you dont seek past the 6 bytes of A,B,C you just start the loop again.


= Scumm 7 =  
= Scumm 7 =  


tbd.
* Files aren't xor'ed
 
== RNAM - Room names ==
 
* As in V6 ?!?!?!
 
 
== MAXS ==
 
Block Name   (4 bytes)
Block Size   (4 bytes BE)
Variables   (2 bytes)
Bit Variables   (2 bytes)
Unknown   (2 bytes)
Global Objects   (2 bytes)
Local Objects   (2 bytes)
New Names   (2 bytes)
Verbs   (2 bytes)
Floating Objects  (2 bytes)
Inventory Objects (2 bytes)
Arrays   (2 bytes)
Rooms   (2 bytes)
Scripts   (2 bytes)
Sounds    (2 bytes)
Character Sets   (2 bytes)
Costumes   (2 bytes)
 
 
== DROO,DSCR,DSOU,DCOS,DCHR,DOBJ,AARY ==
 
All as in V5
 
 
== ANAM - Animation Names ==
 
Block Name   (4 bytes)
Block Size   (4 bytes BE)
No of items   (2 bytes
  #Name     (8 bytes)
  #Blank (00) byte (1 byte)
Blank (FF) byte  (1 byte) Marks end of chunk
 


= Scumm 8 =
= Scumm 8 =


tbd.
== RNAM - Room Names ==
 
As in V6 ?
 
 
== MAXS ==
 
Block Name   (4 bytes)
Block Size   (4 bytes BE)
Variables   (4 bytes)
Bit Variables   (4 bytes)
Unknown   (4 bytes)
Scripts   (4 bytes)
Sounds    (4 bytes)
Character Sets   (4 bytes)
Costumes   (4 bytes)
Rooms   (4 bytes)
Unknown   (4 bytes)
Global Objects   (4 bytes)
Unknown   (4 bytes)
Local Objects   (4 bytes)
New Names   (4 bytes)
Floating Objects  (4 bytes)
Inventory Objects (4 bytes)
Arrays   (4 bytes)
Verbs   (4 bytes)
 
 
== DROO - Directory of Rooms ==
 
Block Name   (4 bytes)
Block Size   (4 bytes BE)
No of items   (4 bytes)
  *Room Number   (1 byte)
  *Offset   (2 bytes)
 
 
== DRSC - Directory of Room Scripts ==
 
Block Name   (4 bytes)
Block Size   (4 bytes BE)
No of items   (4 bytes)
  *Room Number   (1 byte)
  *Offset   (2 bytes)
 
 
== DSCR - Directory of Scripts ==
 
Block Name   (4 bytes)
Block Size   (4 bytes BE)
No of items   (4 bytes)
  *Room Number   (1 byte)
  *Offset   (2 bytes)
 
 
== DSOU - Directory of Sound ==
 
Block Name   (4 bytes)
Block Size   (4 bytes BE)
No of items   (4 bytes)
  *Room Number   (1 byte)
  *Offset   (2 bytes)
 
 
== DCOS - Directory of Costumes ==
 
Block Name   (4 bytes)
Block Size   (4 bytes BE)
No of items   (4 bytes)
  *Room Number   (1 byte)
  *Offset   (2 bytes)
 
 
== DCHR - Directory of Charsets ==
 
Block Name   (4 bytes)
Block Size   (4 bytes BE)
No of items   (4 bytes)
  *Room Number   (1 byte)
  *Offset   (2 bytes)
 
 
== DOBJ,AARY ==
 
As in V7




[[Category: SCUMM Technical Reference]]
[[Category: SCUMM Technical Reference]]
24

edits