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 61: Line 61:
 
</pre>
 
</pre>
  
The position is relative to offsetScriptData. The meaning of the flag is unknown, it appear only with location and background entities.
+
The position is relative to offsetScriptData. The meaning of the flag is unknown, it appear only with door, location and background entities.
  
 
=== Script Data ===
 
=== Script Data ===

Revision as of 17:33, 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, it appear only with door, location and background entities.

Script Data

Each opcode is 4 bytes.

Opcode List