comparison 06/std.xhtml @ 13:2925b0e246c6 default tip

Fix a lot of things, and add a TODO.
author Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
date Fri, 17 Feb 2012 12:54:08 +0100
parents 2a7b9d62c0c4
children
comparison
equal deleted inserted replaced
12:79dfd9765a67 13:2925b0e246c6
30 </pre> 30 </pre>
31 31
32 <h2>First section</h2> 32 <h2>First section</h2>
33 <p>This section is responsible for creating objects from the stgxbg.anm file.</p> 33 <p>This section is responsible for creating objects from the stgxbg.anm file.</p>
34 <pre> 34 <pre>
35 struct object_header { 35 typedef struct {
36 uint16_t id; // Always equal to the object's number. Not used by the game. 36 uint16_t id; // Always equal to the object's number. Not used by the game.
37 uint16_t unknown1; //TODO 37 uint16_t unknown; //TODO
38 float unknown2; //TODO 38
39 uint32_t unknown3; //TODO 39 // The bounding box.
40 float unknown4; //TODO 40 float x;
41 float unknown5; //TODO 41 float y;
42 float unknown6; //TODO 42 float z;
43 float unknown7; //TODO 43 float width;
44 }; 44 float height;
45 float depth;
46 } object_header_t;
45 47
46 typedef struct { 48 typedef struct {
47 uint16_t unknown; // 0 means a quad, 0xffff means the end. 49 uint16_t unknown; // 0 means a quad, 0xffff means the end.
48 uint16_t size; // 0x1c for a quad, 4 for the end marker. 50 uint16_t size; // 0x1c for a quad, 4 for the end marker.
49 uint16_t script_index; // Index of a script entry in the corresponding anm file 51 uint16_t script_index; // Index of a script entry in the corresponding anm file
53 float z; // z coordinate of the bottom-left corner of the quad 55 float z; // z coordinate of the bottom-left corner of the quad
54 float width; // If not 0, override the sprite's width (else, use anm info) 56 float width; // If not 0, override the sprite's width (else, use anm info)
55 float height; // If not 0, override the sprite's height (else, use anm info) 57 float height; // If not 0, override the sprite's height (else, use anm info)
56 } thstd_object_t; 58 } thstd_object_t;
57 59
58 struct object { 60 typedef struct {
59 struct object_header header; 61 struct object_header header;
60 struct object_quad quads[]; // Stop when quads.unknown == 0x0004ff 62 struct object_quad quads[]; // Stop when quads.unknown == 0x0004ff
61 }; 63 } object_t;
62 </pre> 64 </pre>
63 65
64 66
65 <h2>Second section</h2> 67 <h2>Second section</h2>
66 <p>This section is responsible for placing objects from section 1 in the space.</p> 68 <p>This section is responsible for placing objects from section 1 in the space.</p>
144 thstd_header_t header; 146 thstd_header_t header;
145 uint32_t* offsets; 147 uint32_t* offsets;
146 list_t objects; 148 list_t objects;
147 list_t faces; 149 list_t faces;
148 list_t messages; 150 list_t messages;
149 } PACK_ATTRIBUTE thstd_t; 151 } thstd_t;
150 </pre> 152 </pre>
151 </body> 153 </body>
152 </html> 154 </html>