Open main menu

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

Correct and clarify entries on AARY
m (→‎Conventions: whoops, fix table)
(Correct and clarify entries on AARY)
Line 346: Line 346:
  Block Name (4 bytes)
  Block Name (4 bytes)
  Block Size (4 bytes BE)
  Block Size (4 bytes BE)
   #Stop (2 bytes) Stops if 0x0000
   #num (2 bytes) Stops if 0x0000
   #A (2 bytes)
   #a (2 bytes)
   #B (2 bytes)
   #b (2 bytes)
   #C   (2 bytes)
   #c   (2 bytes)
   
   
  num=AARY no (itinerate through in loop)
  read num
if c=1 then
if num != 0:
  AARY=(num, 1, a, b)
  read a, b, c
else
  if c == 1:
  AARY=(num, 1, a, b)
    defineArray(num, kBitArray, a, b)
  else:
    defineArray(num, kIntArray, a, b)


If stop=0 you dont seek past the 6 bytes of A,B,C you just start the loop again.
If num is 0, that marks the end of the AARY block, and there are no "a", "b", or "c" parameters afterwards.




Line 389: Line 391:
  Costumes   (2 bytes)
  Costumes   (2 bytes)


== AARY ==


== DROO,DSCR,DSOU,DCOS,DCHR,DOBJ,AARY ==
Mostly as in V6, except "Int" arrays are now "DWords".


All as in V5
== DROO,DSCR,DSOU,DCOS,DCHR,DOBJ ==
 
All as in V6




Line 489: Line 494:




== DOBJ,AARY ==
== 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]]
126

edits