Difference between revisions of "FF8/FileFormat JSM"
< 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
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.
Script Data
Each opcode is 4 bytes.