FF8/FileFormat JSM

From Final Fantasy Inside
< FF8
Revision as of 17:08, 18 July 2012 by my_wiki>Myst6re

Contents

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