Difference between revisions of "FF8/WorldMap rail"
< FF8
Jump to navigation
Jump to search
my_wiki>MaKiPL (→Animation key frame) |
my_wiki>MaKiPL (→Info) |
||
Line 7: | Line 7: | ||
===File scheme=== | ===File scheme=== | ||
The file is built the similiar way as [[FF8/WorldMap_wmx|World map WMX.obj]]. The engine is loading animation for specific train every 0x800 bytes (2048). Always. Animation cannot be larger than 2048, and if is smaller than 2048 bytes, then what's left is filled with 00. One animation frame is 16 bytes. | The file is built the similiar way as [[FF8/WorldMap_wmx|World map WMX.obj]]. The engine is loading animation for specific train every 0x800 bytes (2048). Always. Animation cannot be larger than 2048, and if is smaller than 2048 bytes, then what's left is filled with 00. One animation frame is 16 bytes. | ||
+ | |||
+ | *Looks like the game is ignoring frame counts and just reads it as is. | ||
Revision as of 19:51, 31 May 2015
By MaKiPL
Info
Rail.obj is a file containing key locations of train movement. It stores location on world map, and the train automatically rotates, gives power and calculates needed info (like cargo rotation and etc.) This file cannot be compressed. Doing so makes the game don't recognize the file.
File scheme
The file is built the similiar way as World map WMX.obj. The engine is loading animation for specific train every 0x800 bytes (2048). Always. Animation cannot be larger than 2048, and if is smaller than 2048 bytes, then what's left is filled with 00. One animation frame is 16 bytes.
- Looks like the game is ignoring frame counts and just reads it as is.
Offset | Length | Description |
---|---|---|
0 | Byte | Count of animation frames |
1 | Byte | Unknown |
2 | 10 bytes | Unknown |
varies | count * 16 bytes | Animation frames |
varies | varies | Padding / 00 |
Animation key frame
Offset | Length | Description |
---|---|---|
0 | 4 Bytes signed* | X Axis |
4 | 4 Bytes signed* | Z Axis |
8 | 4 Bytes signed* | Y Axis |
12 | 4 Bytes | Unknown** |
- Location on world map (global) is saved upon 4 bytes. To better understand this (and in fact-operate/hack) just convert it to decimal. Vars are in big-endian.
00 00 FE FF is far west. FF FF 01 00 is far east.
- This one is really weird one. If filtered out, represents some plaintext, like C:\FF8...