Difference between revisions of "FF8/WorldMap wmsetxx"
my_wiki>MaKiPL (→Models list by language code: No need for that anymore) |
my_wiki>MaKiPL (→Section 16: World map objects data) |
||
Line 102: | Line 102: | ||
=== Section 16: World map objects data === | === Section 16: World map objects data === | ||
− | + | {| 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 | ||
+ | | 4 bytes | ||
+ | | Relative offset to Model structure (below) | ||
+ | |- | ||
+ | | Various | ||
+ | | 4 bytes | ||
+ | | '00 00 00 00' - offset list end | ||
+ | |- | ||
+ | | Offset pointed by header | ||
+ | | Various | ||
+ | | Models (see below) | ||
+ | |} | ||
+ | |||
+ | |||
+ | |||
+ | Researched by: Vehek (http://forums.qhimm.com/index.php?topic=13799.msg193791#msg193791) | ||
+ | |||
+ | struct | ||
+ | { | ||
+ | u16 triangle_count; | ||
+ | u16 quad_count; | ||
+ | u16 texture_page; | ||
+ | u16 vertex_count; | ||
+ | triangle triangleData[triangle_count]; | ||
+ | quad quadData[quad_count]; | ||
+ | vertex verticeData[vertex_count]; | ||
+ | } model | ||
+ | |||
+ | struct | ||
+ | { | ||
+ | u8 vertexIndices[3]; | ||
+ | u8 semitransp; //Sets semitransparency if bit 0x01 is set | ||
+ | u8 texcoords1[2]; | ||
+ | u8 texcoords2[2]; | ||
+ | u8 texcoords3[2]; | ||
+ | u16 CLUT_ID; | ||
+ | } triangle | ||
+ | |||
+ | struct | ||
+ | { | ||
+ | u8 vertexIndices[4]; | ||
+ | u8 texcoords1[2]; | ||
+ | u8 texcoords2[2]; | ||
+ | u8 texcoords3[2]; | ||
+ | u8 texcoords4[2]; | ||
+ | u16 CLUT_ID; | ||
+ | u8 semitransp;//Sets semitransparency if bit 0x01 is set | ||
+ | u8 unknown | ||
+ | } quad | ||
+ | |||
+ | struct | ||
+ | { | ||
+ | s16 coordinates[3]; | ||
+ | u16 unknown; | ||
+ | }vertex | ||
=== Section 17-19: UNKNOWN === | === Section 17-19: UNKNOWN === |
Revision as of 15:09, 15 August 2015
Contents
- 1 Info
- 2 General structure
- 2.1 Section 1: UNKNOWN
- 2.2 Section 2-13: UNKNOWN
- 2.3 Section 14: Side quests texts/tialogs
- 2.4 Section 15: NULL
- 2.5 Section 16: World map objects data
- 2.6 Section 17-19: UNKNOWN
- 2.7 Section 20: UNKNOWN
- 2.8 Section 21: AKAO
- 2.9 Section 22-28: NULL
- 2.10 Section 29: UNKNOWN
- 2.11 Section 30: NULL
- 2.12 Section 31: UNKNOWN
- 2.13 Section 32: Text- Location names
- 2.14 Section 33-37: UNKNOWN
- 2.15 Section 38: World map textures archive
- 2.16 Section 39: Textures - roads, train track, bridge
- 2.17 Section 40: One world map texture/NULL
- 2.18 Section 41: UNKNOWN
- 2.19 Section 42: Vehicle and object textures
- 2.20 Section 43-47: UNKNOWN
- 2.21 Section 48: AKAO frame
Info
WMSETxx.obj (where xx may refer to gr,us,it,fr,sp) is a multi-data world map file containing many core functions and 3D objects. This file contains almost everything: sounds, scripts, dialogs, texts, textures, models- all contained in one file. Main differences between en/it/gr/sp/fr are localized dialogs, so next sections have different offsets. Offsets before this are all the same. Wmset.obj is probably never used in-game and is leftover. Dialogs in lang-en/wmset.obj are in english, but the file is different from wmsetus.obj.
General structure
WMSETxx.obj is made from 48 sections. File starts with header, that has 48*4 bytes. Every offset is 4 bytes long.
Offset | Length | Description |
---|---|---|
0 | 4 bytes | Section 1 |
SectNmbr * 4 | 4 bytes | Section SectNmbr |
The last section is offset 188.
Section 1: UNKNOWN
Offset | Length | Description |
---|---|---|
0 | 4 bytes | Section size |
4 | Section size | UNKNOWN |
UNKNOWN
Section 2-13: UNKNOWN
UNKNOWN
Section 14: Side quests texts/tialogs
This section provides dialogs on world map used in side quests.
This section starts with header pointing to relative offsets to dialog/text portions.
Dumped data from wmsetus.obj:
…+-1 Airstation5 … 7 Get off…YesNo5 + 7 Get off…YesNo5 - 7 Get off…YesNo”Bound for 5 4 7“Pay 4111 Gil to rideDon't ride” Bound for 5 3 7“Pay 4111 Gil to rideDon't ride”Bound for 5 ! 7“Pay 4111 Gil to rideDon't ride7 ”You don't have enough money“ Selphie ”C'mon? To the 5Missile Base7?“ n Soldier”Give it up“ n Soldier”I'm busy“ n Soldier”There's no way you're getting through?“ n Soldier”This is our duty“ n Soldier”Just like always“ n Soldier”How 'bout a date…“Found a draw point?But no one can drawFound a draw point?Nothing thereFound a draw point? foundCan't carry anymoreYou do not have DrawWho will draw…Don't draw stocked 1+-=*&??()·.71Out of/ …?3 7remaining …YesNo#‘2 How to drive 7 4!Back 7!Forward 6!Get on :off Steer with directional button 1!Change POV2 Garden Controls 7 4!Back 7!Forward 5!To cockpit 6!Get on :off Steer with directional button 1!Change POV2 How to ride a Chocobo 7 6!Get off Run with directional button 1!Change POV2 Spaceship Controls 7 4!Back 7!Forward 5!To cockpit 6!Get on:off Directional button to go up:down:steer 1! Change POV)This place looksfamiliar·It looks abandonedand run=down”Huh?…“Nida”The gauge is going berserk?…“)Shouldn't be getting off·This must be Obel LakeThrow a rockTry hummingIt's Obel LakeThrow a rockTry hummingA black shadow rose to the surfaceThrow a rockTry humming againThe black shadow disappearedThe rock sank .The rock skipped once . .The rock skipped twice . . .The rock skipped 4 times . . . .The rock skipped 5 times . . . . .The rock skipped 6 times . . . . . .The rock skipped 7 times . . . . . .The rock skippedmany many timesBlack Shadow”Hello human What a lovely tune“A black shadow rose to the surface”Hello?“) There's something large there·”Thanks for speaking to me again?“”Umm“”Can you do me a favor…“)What is it·)I don't want to hear it·”It's my friend Mr Monkey Can you find him for me…“”Please“”“”Mr Monkey should be in a forest somewhere Keep walking around and I'm sure you'll find him“”Oh yeah do you know what…“”Oh yeah“”What a beautiful day“”I wonder what it means…“”Mysterious writing on the rock“”Mr Monkey had a rock like this I think“”Take a break at the railroad bridge“”Take some time off at Eldbeak Peninsula“”I bet it's a wonderful place“Relayed the whereabouts of Mr Monkey”Thank you?“There's the monkey?Throw a rockSing” You suck?“The monkey disappeared into the forestThe monkey told you off and disappeared into the forest”Ahhh? Darn it? Y=You're just a big loser? I'm able to skip the rock as many times as I want? So there? Ha=Ha? Loser? Dork? Idiot? Your mom wears combat boots?“”OUCH? D=Darn it? You're gonna pay for that?“The monkey threw a rock at you and ran?Upon inspecting the rockit looks man=made andhas some carving on itYou found the monkey”You big dork???“Almost?The monkey ran awayWhat's this?…You found a piece of rock by your footIt looks man=made andhas some carving on itBut it was just a rockA bird is warming an egg Check it outLeave it aloneIt seems that the birdwent to go look for foodYou found a piece of rock thereNothing there1 S T S L R M 1 U R H A E O 1 R E A I D R 1 E A S N P D 1 S T S L R M 71 U R H A E O 71 R E A I D R 71 E A S N P D 7” At the beach in 2 something special washes ashore at times“”You'll find something on an island east of 4 too“”There's also something on top of a mountain with a lake and cavern“”Back in the day south of here there used to be a small but beautiful village surrounded by deep forests Everyone lived a happy life there“There is a stone pillarIf you look closelythere's something written on it”TRETIMEASUREAT MINOFFDEISLE“)…·Found 9?Found L?Found ?Found 1?That sound disappeared into the lakeThere are many multicoloredrocks with faces all over the placeThe black=faced rock tells you sternly”The treasure is probably in the direction of the North Star“The white=faced rock tells you coldly”It's east“The white=faced rock tells you coldly”It's west“The white= faced rock tells you coldly”It's south“The white=faced rock tells you coldly”It's north“The red=faced rock tells you angrily” The blue one's a liar?“The red=faced rock tells you angrily”The treasure's to the east?“The red=faced rock tells you angrily” The treasure's to the west?“The red=faced rock tells you angrily”The treasure's to the south?“The red=faced rock tells you angrily ”The treasure's to the north?“The red=faced rock tells you angrily”The treasure's not here?“The blue=faced rock whispers” I don't know where the treasure is“The blue=faced rock whispers”People call us ‘The Liar Rocks'“The blue=faced rock whispers” Some of us just repeat the same thing“The blue=faced rock whispers”Some of us just talk nonsense“The blue=faced whispers” Some of us just say the opposite of what we mean“This place just has rubble lying among the grassAbsolutely nothing) Is thispart of something…·)Seems like the same rock I picked up before·)This must be all of them·”This must be all the rocks““ If he's not around perhaps he took a train towards Dollet…“)I remember now This is Edea's house I get the feeling there's something nearby Something hugenearby·
Section 15: NULL
4 Bytes NULL
Section 16: World map objects data
Offset | Length | Description |
---|---|---|
0 | 4 bytes | Relative offset to Model structure (below) |
Various | 4 bytes | '00 00 00 00' - offset list end |
Offset pointed by header | Various | Models (see below) |
Researched by: Vehek (http://forums.qhimm.com/index.php?topic=13799.msg193791#msg193791)
struct { u16 triangle_count; u16 quad_count; u16 texture_page; u16 vertex_count; triangle triangleData[triangle_count]; quad quadData[quad_count]; vertex verticeData[vertex_count]; } model
struct { u8 vertexIndices[3]; u8 semitransp; //Sets semitransparency if bit 0x01 is set u8 texcoords1[2]; u8 texcoords2[2]; u8 texcoords3[2]; u16 CLUT_ID; } triangle
struct { u8 vertexIndices[4]; u8 texcoords1[2]; u8 texcoords2[2]; u8 texcoords3[2]; u8 texcoords4[2]; u16 CLUT_ID; u8 semitransp;//Sets semitransparency if bit 0x01 is set u8 unknown } quad
struct { s16 coordinates[3]; u16 unknown; }vertex
Section 17-19: UNKNOWN
UNKNOWN
Section 20: UNKNOWN
Bunch of AKAO frames headers packed
Section 21: AKAO
Starts with AKAO header
Section 22-28: NULL
4 Bytes NULL
Section 29: UNKNOWN
UNKNOWN
Section 30: NULL
4 Bytes NULL
Section 31: UNKNOWN
UNKNOWN
Section 32: Text- Location names
This section provides location names (probably for Ragnarok landing?)
This section starts with header pointing to relative offsets to dialog/text portions.
Dumped data from wmsetus.obj:
?2344 Forest Garden Garden: Station!9Missile Base7WinhillEdea's House%: 51 Seaside Station1 City1: AirstationLunatic Pandora Laboratory=1 Sorceress MemorialTears' Point1 Seaside Station=Tears' PointTears' PointLunatic Pandora Laboratory1:Airstation1 Sorceress Memorial
Section 33-37: UNKNOWN
UNKNOWN
Section 38: World map textures archive
This section starts with header pointing to relative offsets to .TIM textures. When engine reads offset as 0 (00 00 00 00) then ends reading offsets (so 0 is end of offset list). This is one of the larger sections in file. THIS section is responsible for 1/2 world map textures (Those are really used in-game). There is 36 textures inside as of original release. Also, sea, beach and special effects texture is present.
Offset | Length | Description |
---|---|---|
0 | 4 bytes | Relative offset to texture |
Various (144 originally) | 4 bytes | '00 00 00 00' - offset list end |
Offset pointed by header | Various | .TIM texture (10 00 00 00 08) |
Section 39: Textures - roads, train track, bridge
This section starts with header pointing to relative offsets to .TIM textures. When engine reads offset as 0 (00 00 00 00) then ends reading offsets (so 0 is end of offset list). THIS section is responsible for train track textures, road textures, bridge train track texture (the one that gets through FH).
Offset | Length | Description |
---|---|---|
0 | 4 bytes | Relative offset to texture |
Various (52 originally) | 4 bytes | '00 00 00 00' - offset list end |
Offset pointed by header | Various | .TIM texture (10 00 00 00 08) |
Section 40: One world map texture/NULL
This section starts with header pointing to relative offsets to only one .TIM texture. This is the first texture that is in texl.obj or wmsetxx.obj/Section 38.
Offset | Length | Description |
---|---|---|
0 | 4 bytes | Relative offset to texture |
4 | 4 bytes | '00 00 00 00' - offset list end |
8 | Various (16384 originally) | .TIM texture (10 00 00 00 08) |
After Texture | Next offset-(header+TIM texture) | NULL data |
Section 41: UNKNOWN
UNKNOWN
Section 42: Vehicle and object textures
This section starts with header pointing to relative offsets to .TIM textures. When engine reads offset as 0 (00 00 00 00) then ends reading offsets (so 0 is end of offset list). THIS section is responsible for vehicles, world map objects textures (Balamb mobile, Galbadia mobile, Balamb halo ring, cactuar statue, lunatic pandora...)
Offset | Length | Description |
---|---|---|
0 | 4 bytes | Relative offset to texture |
Various (132 originally) | 4 bytes | '00 00 00 00' - offset list end |
Offset pointed by header | Various | .TIM texture (10 00 00 00 08) |
Section 43-47: UNKNOWN
UNKNOWN
Section 48: AKAO frame
Starts with AKAO