Difference between revisions of "FF8/WorldMap wmset"

From Final Fantasy Inside
< FF8
Jump to navigation Jump to search
my_wiki>MaKiPL
(Created page with "*DISCLAIMER: This page can be edited as the info actually presented here is still in-research and may be faulty. ===File general info=== wmset.obj is a file containing model...")
 
m (7 revisions imported)
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
*DISCLAIMER: This page can be edited as the info actually presented here is still in-research and may be faulty.  
+
==File general info==
 +
Please reefer to [[FF8/WorldMap wmsetxx|WmsetXX.obj]] for more specific info.
  
===File general info===
+
==Models section==
wmset.obj is a file containing models and textures. Up to 83 [[PSX/TIM_file|TIMs textures]]. They vary from 1/2 size terrain textures (the same as texl.obj, but 1/2 smaller), train textures, moon and sky texture. First texture starts at 0x1CDF8. This contains also Balamb mobile texture and Ragnarok.
 
  
Models TODO.  
+
Researched by: Vehek (http://forums.qhimm.com/index.php?topic=13799.msg193791#msg193791)
  
===File structure===
+
struct
TODO
+
{
 +
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
 +
 
 +
==Generic Wmset.obj models  offsets==
 +
GAME USES wmsetXX.obj file instead of THIS. This is list with models offsets FYI:
 +
 
 +
 
 +
15612
 +
18980
 +
19376
 +
20940
 +
21256
 +
22820
 +
23136
 +
24100
 +
24336
 +
24492
 +
26088
 +
27700
 +
29288
 +
29444
 +
31140
 +
33172
 +
36484
 +
36880
 +
38320
 +
39712
 +
41144
 +
42604
 +
43904
 +
44884
 +
45968
 +
49360
 +
55100
 +
60808
 +
65588
 +
66640
 +
67036
 +
67896
 +
68388
 +
 
 +
Texture offsets for above models, where index 0 is the first model listed here, and 32 is the last one (68388).
 +
 
 +
            switch(index)
 +
            {
 +
                case 0:
 +
                    return 413048;
 +
                case 1:
 +
                    return 429980;
 +
                case 2:
 +
                    return 446912;
 +
                case 3:
 +
                    return 451076;
 +
                case 4:
 +
                    return 453192;
 +
                case 5:
 +
                    return 457356;
 +
                case 6:
 +
                    return 459472;
 +
                case 7:
 +
                    return 463636;
 +
                case 8:
 +
                    return 465752;
 +
                case 9:
 +
                    return 467868;
 +
                case 10:
 +
                    return 470016;
 +
                case 11:
 +
                    return 472164;
 +
                case 12:
 +
                    return 474312;
 +
                case 13:
 +
                    return 474508;
 +
                case 14:
 +
                    return 478768;
 +
                case 15:
 +
                    return 483028;
 +
                case 16:
 +
                    return 491384;
 +
                case 17:
 +
                    return 499740;
 +
                case 18:
 +
                    return 501888;
 +
                case 19:
 +
                    return 504036;
 +
                case 20:
 +
                    return 506184;
 +
                case 21:
 +
                    return 508332;
 +
                case 22:
 +
                    return 510480;
 +
                case 23:
 +
                    return 512628;
 +
                case 24:
 +
                    return 514776;
 +
                case 25:
 +
                    return 523132;
 +
                case 26:
 +
                    return 531488;
 +
                case 27:
 +
                    return 539844;
 +
                case 28:
 +
                    return 548200;
 +
                case 29:
 +
                    return 550316;
 +
                case 30:
 +
                    return 551440;
 +
                case 31:
 +
                    return 551636;
 +
                case 32:
 +
                    return 552728;
 +
                default:
 +
                    return 0; //For compiler
 +
            }

Latest revision as of 05:25, 23 May 2019

File general info

Please reefer to WmsetXX.obj for more specific info.

Models section

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

Generic Wmset.obj models offsets

GAME USES wmsetXX.obj file instead of THIS. This is list with models offsets FYI:


15612
18980
19376
20940
21256
22820
23136
24100
24336
24492
26088
27700
29288
29444
31140
33172
36484
36880
38320
39712
41144
42604
43904
44884
45968
49360
55100
60808
65588
66640
67036
67896
68388

Texture offsets for above models, where index 0 is the first model listed here, and 32 is the last one (68388).

           switch(index)
           {
               case 0:
                   return 413048;
               case 1:
                   return 429980;
               case 2:
                   return 446912;
               case 3:
                   return 451076;
               case 4:
                   return 453192;
               case 5:
                   return 457356;
               case 6:
                   return 459472;
               case 7:
                   return 463636;
               case 8:
                   return 465752;
               case 9:
                   return 467868;
               case 10:
                   return 470016;
               case 11:
                   return 472164;
               case 12:
                   return 474312;
               case 13:
                   return 474508;
               case 14:
                   return 478768;
               case 15:
                   return 483028;
               case 16:
                   return 491384;
               case 17:
                   return 499740;
               case 18:
                   return 501888;
               case 19:
                   return 504036;
               case 20:
                   return 506184;
               case 21:
                   return 508332;
               case 22:
                   return 510480;
               case 23:
                   return 512628;
               case 24:
                   return 514776;
               case 25:
                   return 523132;
               case 26:
                   return 531488;
               case 27:
                   return 539844;
               case 28:
                   return 548200;
               case 29:
                   return 550316;
               case 30:
                   return 551440;
               case 31:
                   return 551636;
               case 32:
                   return 552728;
               default:
                   return 0; //For compiler
           }