Difference between revisions of "FF8/FileFormat JSM"
From QhimmWiki
< FF8
| 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 10:08, 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, it appear only with location and background entities.
Script Data
Each opcode is 4 bytes.