STB crap [message #7527] |
Fri, 14 April 2006 01:09 |
|
Keshire
Messages: 1266 Registered: July 2005
|
Administrator
|
|
|
36 bytes header
2048 bytes for DDS
4 bytes Size Chunk
[Size Chunk] Unknown (SOF x01 / EOF x80)
4 trailing Chunks of data:
2 bytes Coord
2 bytes Tile Size??
2 bytes Another Coord?
3 bytes Unknown
4 bytes Size Chunk
[Size Chunk] Unknown (SOF x01 / EOF x80)
12 bytes Unknown/NULL
Apathy Cannot Inspire.
Ambivalence cannot lead.
Loved me. Feared me.
Changed me. Killed me.
Anything would be something.
But nothing is worst of all.
|
|
|
|
|
Re: STB crap [message #10616 is a reply to message #7527] |
Sat, 05 August 2006 06:32 |
Hunter
Messages: 108 Registered: September 2005 Location: San Jose, CA
|
Idle Hands of the Devil
|
|
|
X File of arena section 2
Note: degenerate triangles that would usually not pass de-stripification are not removed, though they should be. Each frame corresponds to a subsection.
-
Attachment: meshtest.x
(Size: 40.23KB, Downloaded 961 times)
[Updated on: Sat, 05 August 2006 06:36] Report message to a moderator
|
|
|
|
|
|
Re: STB crap [message #10755 is a reply to message #7527] |
Tue, 08 August 2006 02:23 |
Hunter
Messages: 108 Registered: September 2005 Location: San Jose, CA
|
Idle Hands of the Devil
|
|
|
No idea what data means. Cant even use hw to read it all.
*Update: It gets even better... One more embedded array and different entry types.
struct Unknown_Array_1
{
dword Unknown[4];
};
struct Unknown_Array_2
{
float x;
float y;
float z;
dword unknown;
};
struct Unknown_Array_3
{
dword unk;
dword unk;
};
struct Unknown_Array_4
{
float x[4];
float y[4];
float z[4];
float r[4];
byte Unknown[16];
};
struct Unknown_Array_5
{
dword Unknown;
dword Unknown;
dword Unknown;
dword Unknown;
dword Unknown;
dword Unknown;
dword Unknown;
dword Unknown;
dword Unknown;
float xyz_3[3];
dword Unknown;
float xyz_3[3];
float Unknown;
};
struct Unknown_Array_6
{
float x;
float y;
float z;
float r;
};
struct DataType0
{
dword Unknown[9];
struct Unknown_Array_2 Unknown;
};
struct DataType1
{
dword Array_1;
dword Unknown;
struct Unknown_Array_1 Unknown[Array_1];
struct Unknown_Array_2 Unknown[Array_1];
byte Unknown; //always 1*
dword unknown[Array_1];
can't read this with hw, next section must align with end of byte* above on a 16byte boundary
dword unknown[Array_1];
can't read this with hw, next section must align with end of byte* above on a 16byte boundary
float unknown[Array_1];
can't read this with hw, next section must align with end of byte* above on a 16byte boundary
byte Unknown;
byte Unknown[Array_1];
byte Unknown;
dword Array_2;
struct Unknown_Array_4 Unknown[Array_2];
};
struct DataType2
{
dword Array_1;
struct Unknown_Array_5 Unknown[Array_1];
struct Unknown_Array_6 Unknown[Array_1];
};
struct DataEntry
{
dword EntryType; // 0, 1, 2 so far... all different....
float xyz_1[3];
float xyz_2[3];
float xyz_3[3];
float Unknown_Float;
***depending on type...***
struct DataType0 Data
or
struct DataType1 Data
or
struct DataType2 Data
};
struct Data
{
dword Unknown;
dword FloraType; // lookup from static map header table
dword EntryCount;
struct DataEntry Entries[EntryCount];
};
struct Start
{
dword NumberSections;
struct Data Main_Array[NumberSections];
};
[Updated on: Mon, 14 August 2006 00:33] Report message to a moderator
|
|
|
|
|
|
|
|
Re: STB crap [message #10854 is a reply to message #7527] |
Tue, 08 August 2006 21:59 |
|
Keshire
Messages: 1266 Registered: July 2005
|
Administrator
|
|
|
The Array+1 is not always true....
The //Always 1 are not always 1. In such a case an entire section was missing.
Of the 4 beginning dwords. The second looks to be count.
The other 3 look to be controlling the arrays that appear.
Apathy Cannot Inspire.
Ambivalence cannot lead.
Loved me. Feared me.
Changed me. Killed me.
Anything would be something.
But nothing is worst of all.
[Updated on: Tue, 08 August 2006 22:46] Report message to a moderator
|
|
|
|
Re: STB crap [message #11139 is a reply to message #7527] |
Mon, 14 August 2006 03:20 |
Hunter
Messages: 108 Registered: September 2005 Location: San Jose, CA
|
Idle Hands of the Devil
|
|
|
Awesome! Looks like our mystery dword type is a custom type...
Here are binary representations of several values.
Update: Based on pattern, I assumed its a floating point value type. Especially since the first 16 bits match their existing 16bit floating point type.
1bit sign, 4bits exponent, 27bits mantissa
value = (-1^s)*(2^(e-7))*(f/0x8000000)
(this assumes denormalized)
s eeee fff ffffffff ffffffff ffffffff value
0 0111 100 00100110 11010110 11010100 0.5189644396305084228515625
0 0111 011 10011100 11000011 11110010 0.45154561102390289306640625
0 0111 000 10100000 11010110 01001001 0.078533716499805450439453125
1 0111 100 00100110 11000100 10101001 -0.518929786980152130126953125
0 0111 011 10011100 10011011 00110000 0.45146787166595458984375
0 0111 001 11000100 10001101 10010110 0.22097317874431610107421875
0 0111 001 10100000 11001111 10101001 0.203521080315113067626953125
1 0111 001 01101111 11100110 11100001 -0.179639585316181182861328125
0 0111 100 00111000 00111010 10001101 0.527455426752567291259765625
0 0111 011 01110001 00111100 11110011 0.430292032659053802490234375
1 0111 100 00000001 10000100 01011111 -0.500740759074687957763671875
0 0111 010 10111000 00110110 10110101 0.339948095381259918212890625
0 0111 100 00000010 00011000 01011010 0.50102300941944122314453125
0 0111 011 01111001 11101000 10000110 0.43452553451061248779296875
0 0111 010 00101010 11011000 00111011 0.270920239388942718505859375
1 0111 010 10011011 11111011 10001000 -0.326163351535797119140625
0 0111 010 10000010 00000001 01011100 0.3134791553020477294921875
0 0111 100 00001110 01111000 10011110 0.50706599652767181396484375
[Updated on: Mon, 14 August 2006 03:57] Report message to a moderator
|
|
|
|
|
|
Re: STB crap [message #17921 is a reply to message #7527] |
Mon, 09 April 2007 17:21 |
|
BayStone
Messages: 144 Registered: October 2005 Location: HMQ
|
|
|
|
The idea that I had was basically make the STB and LEV meshes the same thing... only one single mesh, generated from a heightfield. The LEV walkable areas and navigation could be applied as a texture stage, kinda like how it was in AE. You could then paint on the textures. I've already done quite a lot of this and so the only thing I don't have is what does the STB require and how it relates to the LEV...
Couple more questions:
So the flora are completely separate from the terrain? Are they like any other object (houses, etc.)? Just simplified?
How about the ground textures? Multiple texture stages, etc.? Texture coordinates in the STB?
Busy!
[Updated on: Mon, 09 April 2007 17:22] Report message to a moderator
|
|
|
|
Re: STB crap [message #17947 is a reply to message #7527] |
Tue, 10 April 2007 15:18 |
Hunter
Messages: 108 Registered: September 2005 Location: San Jose, CA
|
Idle Hands of the Devil
|
|
|
For more info on the stb's mesh structure, just look at my dump above.
|
|
|