Difference between revisions of "FF8/FileFormat JSM"

From QhimmWiki
Jump to navigation Jump to search
Qhimm>Myst6re
Qhimm>Myst6re
Line 61: Line 61:
</pre>
</pre>


The position is relative to offsetScriptData. The meaning of the flag is unknown.
The position is relative to offsetScriptData. The meaning of the flag is unknown, it appear only with location and background entities.


=== Script Data ===
=== Script Data ===

Revision as of 16:08, 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 location and background entities.

Script Data

Each opcode is 4 bytes.

Opcode List