Difference between revisions of "FF8/FileFormat JSM"

From Final Fantasy Inside
< FF8
Jump to navigation Jump to search
my_wiki>Myst6re
my_wiki>Myst6re
Line 50: Line 50:
 
   label = entryPointEntity >> 7;
 
   label = entryPointEntity >> 7;
 
</pre>
 
</pre>
 +
 +
The entities are sorted in order of execution (I guess), not in the order they appear in the file.
  
 
=== Entry point of each script ===
 
=== Entry point of each script ===

Revision as of 17:06, 18 July 2012

Fields Scripts

Offset Size Data
0 1 byte Number of door entity
1 1 byte Number of location (walkmesh line) entity
2 1 byte Number of background entity
3 1 byte Number of other entity
4 2 bytes Offset section 1
6 2 bytes Offset script data
8 offsetSection1 - 8 = nbEntity * 2 Entry point of each entity
offsetSection1 offsetScriptData - offsetSection1 Entry point of each script
offsetScriptData varies Script Data

Entry point of each entity

Each entry is 2 bytes with:

  scriptCount = entryPointEntity & 0x7F;
  label = entryPointEntity >> 7;

The entities are sorted in order of execution (I guess), not in the order they appear in the file.

Entry point of each script

Each entry is 2 bytes with:

  position = (entryPointScript & 0x7FFF)*4;
  flag = entryPointScript >> 15;

The position is relative to offsetScriptData. The meaning of the flag is unknown.

Script Data

Each opcode is 4 bytes.

Opcode List