Difference between revisions of "FF8/WorldMap wmx"
my_wiki>MaKiPL (→Block data) |
my_wiki>MaKiPL |
||
Line 6: | Line 6: | ||
Segment = contains 16 blocks | Segment = contains 16 blocks | ||
Block = contains geometry | Block = contains geometry | ||
+ | |||
+ | One block is 512 bytes, one segment is 8192 sized (512*16) + header. There is 16 blocks in a segment. | ||
==Segment== | ==Segment== | ||
Line 58: | Line 60: | ||
| 0 | | 0 | ||
| Byte | | Byte | ||
− | | | + | | Polygon count |
|- | |- | ||
| 1 | | 1 | ||
Line 73: | Line 75: | ||
|} | |} | ||
− | Just after header a | + | Just after header a polygon data appears: |
+ | {| border="1" cellspacing="1" cellpadding="3" align="center" style="border: 1px solid black; border-collapse: collapse;" | ||
+ | ! style="background:rgb(204,204,204)" | Offset | ||
+ | ! style="background:rgb(204,204,204)" | Length | ||
+ | ! style="background:rgb(204,204,204)" | Description | ||
+ | |- | ||
+ | | 0 | ||
+ | | Byte | ||
+ | | F1 (Triangle 1) | ||
+ | |- | ||
+ | | 1 | ||
+ | | Byte | ||
+ | | F2 (Triangle 1) | ||
+ | |- | ||
+ | | 2 | ||
+ | | Byte | ||
+ | | F3 (Triangle 1) | ||
+ | |- | ||
+ | | 3 | ||
+ | | Byte | ||
+ | | F1 (Triangle 2) | ||
+ | |- | ||
+ | | 4 | ||
+ | | Byte | ||
+ | | F2 (Triangle 2) | ||
+ | |- | ||
+ | | 5 | ||
+ | | Byte | ||
+ | | F3 (Triangle 2) | ||
+ | |- | ||
+ | | 6 | ||
+ | | Byte | ||
+ | | U1 | ||
+ | |- | ||
+ | | 7 | ||
+ | | Byte | ||
+ | | V1 | ||
+ | |- | ||
+ | | 8 | ||
+ | | Byte | ||
+ | | U2 | ||
+ | |- | ||
+ | | 9 | ||
+ | | Byte | ||
+ | | V2 | ||
+ | |- | ||
+ | | 10 | ||
+ | | Byte | ||
+ | | U3 | ||
+ | |- | ||
+ | | 11 | ||
+ | | Byte | ||
+ | | V3 | ||
+ | |- | ||
+ | | 12 | ||
+ | | 4 BIT/4 BIT | ||
+ | | Texture Page/CLUT id | ||
+ | |- | ||
+ | | 13 | ||
+ | | Byte | ||
+ | | Ground type | ||
+ | |- | ||
+ | | 14 | ||
+ | | Byte | ||
+ | | Unknown | ||
+ | |- | ||
+ | | 15 | ||
+ | | Byte | ||
+ | | Unknown | ||
+ | |- | ||
+ | |} |
Revision as of 16:34, 12 July 2015
By MaKiPL. All thanks goes to Halfer, for rich research progress on world map file. This wiki page is also based on Blue's wmx2obj source code.
Contents
General
Wmx.obj is world map geometry model only. Contains 835 segments, does not contain textures nor additional info like general header or pointers. Collision is calculated directly from faces. Towns and places on map are part of world map and are created the same way as mountains, ground etc. File size is 0x9000*835. Every 0x9000 a next segments starts.
Segment = contains 16 blocks Block = contains geometry
One block is 512 bytes, one segment is 8192 sized (512*16) + header. There is 16 blocks in a segment.
Segment
Segment starts with header (consist offsets for every block). After header a block data appears (a 4 byte header?) and triangle data.
Offset | Length | Description |
---|---|---|
0 | 68 bytes | Header data |
68 | varies | Block data |
varies | varies | Padding (00) |
Header data
Offset | Length | Description |
---|---|---|
0 | 4 bytes | unknown |
4 | 64 (16 * uint32) | Offsets to blocks position. 4 bytes every offset! |
Block data
Block data starts with header:
Offset | Length | Description |
---|---|---|
0 | Byte | Polygon count |
1 | Byte | Vertices count |
2 | Byte | Shadow(?) |
3 | Byte | Unknown |
Just after header a polygon data appears:
Offset | Length | Description |
---|---|---|
0 | Byte | F1 (Triangle 1) |
1 | Byte | F2 (Triangle 1) |
2 | Byte | F3 (Triangle 1) |
3 | Byte | F1 (Triangle 2) |
4 | Byte | F2 (Triangle 2) |
5 | Byte | F3 (Triangle 2) |
6 | Byte | U1 |
7 | Byte | V1 |
8 | Byte | U2 |
9 | Byte | V2 |
10 | Byte | U3 |
11 | Byte | V3 |
12 | 4 BIT/4 BIT | Texture Page/CLUT id |
13 | Byte | Ground type |
14 | Byte | Unknown |
15 | Byte | Unknown |