OBD:AGQG: Difference between revisions
Jump to navigation
Jump to search
(object id stuff) |
m (cleaning up flags) |
||
Line 24: | Line 24: | ||
{{OBDtr | 0x28 | color |C8FFC8| 02 07 09 00 | 2, 7, 9, 0 | byte-swapped ARGB color for 3rd vertex }} | {{OBDtr | 0x28 | color |C8FFC8| 02 07 09 00 | 2, 7, 9, 0 | byte-swapped ARGB color for 3rd vertex }} | ||
{{OBDtr | 0x2C | color |C8FFC8| 06 15 1E 00 | 6, 21, 30, 0 | byte-swapped ARGB color for 4th vertex }} | {{OBDtr | 0x2C | color |C8FFC8| 06 15 1E 00 | 6, 21, 30, 0 | byte-swapped ARGB color for 4th vertex }} | ||
{{OBDtr | 0x30 |bitset32|C8FFFF| 00 00 08 02 | 0, 0, 8, 2 | flags | {{OBDtr | 0x30 |bitset32|C8FFFF| 00 00 08 02 | 0, 0, 8, 2 | flags; used values: | ||
: | |||
:0x'''01''' 00 00 00 - unknown | :0x'''01''' 00 00 00 - unknown | ||
:0x'''02''' 00 00 00 - ghost (pathfinding volume separator, see [[OBD:AKVA|AKVA]] etc) | :0x'''02''' 00 00 00 - ghost (pathfinding volume separator, see [[OBD:AKVA|AKVA]] etc) | ||
Line 37: | Line 30: | ||
:0x'''08''' 00 00 00 - stairs down | :0x'''08''' 00 00 00 - stairs down | ||
:0x'''10''' 00 00 00 - stairs | :0x'''10''' 00 00 00 - stairs | ||
:0x'''40''' 00 00 00 - triangle (see above) | :0x'''40''' 00 00 00 - triangle (see above) | ||
:0x'''80''' 00 00 00 - transparency (if 0 then alpha is ignored, color is just RGB shading) | :0x'''80''' 00 00 00 - transparency (if 0 then alpha is ignored, color is just RGB shading) | ||
:0x00 '''02''' 00 00 - two-sided | :0x00 '''02''' 00 00 - two-sided | ||
:0x00 '''08''' 00 00 - no collision | :0x00 '''08''' 00 00 - no collision | ||
:0x00 '''20''' 00 00 - invisible | :0x00 '''20''' 00 00 - invisible | ||
:0x00 '''40''' 00 00 - no object collision | :0x00 '''40''' 00 00 - no object collision | ||
Line 50: | Line 39: | ||
:0x00 00 '''01''' 00 - no occlusion | :0x00 00 '''01''' 00 - no occlusion | ||
:0x00 00 '''02''' 00 - danger | :0x00 00 '''02''' 00 - danger | ||
:0x00 00 '''08''' 00 - vertical collision: slope < 70° | :0x00 00 '''08''' 00 - vertical collision: slope < 70° | ||
:0x00 00 '''10''' 00 - horizontal collision: slope > 70° | :0x00 00 '''10''' 00 - horizontal collision: slope > 70° | ||
:0x00 00 '''40''' 00 - ignore grid | :0x00 00 '''40''' 00 - ignore grid | ||
:0x00 00 '''80''' 00 - no decal | :0x00 00 '''80''' 00 - no decal | ||
Line 61: | Line 48: | ||
:0x00 00 00 '''08''' - sound-transparent | :0x00 00 00 '''08''' - sound-transparent | ||
:0x00 00 00 '''10''' - impassable | :0x00 00 00 '''10''' - impassable | ||
: | }} | ||
:0x00 | {{OBDtr | 0x34 | int32 |FFC8FF| FF FF FF FF | -1 | object ID and type to which this quad belongs (see [[ONOA]] for details); -1 if it does not belong to an object }} | ||
: | |} | ||
;Triangles | |||
:Many quads are in fact triangles: the last two vertices have the same [[OBD:PNTA|PNTA]] and [[OBD:TXCA|TXCA]] entries, and the ARGB color is (255, 205, 205, 205) (80% gray, 100% opaque). There is also a flag specifying that. | |||
;Flags | |||
At runtime the following flag values are also used: | |||
:0x00 00 '''04''' 00 - set at runtime for quads hidden with *env_show*, never used in files | |||
:0x'''20''' 00 00 00 - set at runtime for Jell'Oed quads, never used in files | |||
;Projection plane flags | ;Projection plane flags | ||
These 2 flags can be 00, 01, 10 and 11. That means the values 0,1,2 and 3 which have the following meanings: | These 2 flags can be 00, 01, 10 and 11. That means the values 0,1,2 and 3 which have the following meanings: |
Revision as of 06:43, 8 June 2008
|
Offset | Type | Raw Hex | Value | Description |
---|---|---|---|---|
0x00 | res_id | 01 49 02 00 | 585 | 00585-.AGQG |
0x04 | lev_id | 01 00 00 06 | 3 | level 3 |
0x08 | char[20] | AD DE | dead | unused |
0x1C | int32 | 15 A8 00 00 | 35349 | array size |
First element (black outline) | ||||
0x00 | int32 | 00 00 00 00 | 0 | PNTA element for 1st vertex |
0x04 | int32 | 01 00 00 00 | 1 | PNTA element for 2nd vertex |
0x08 | int32 | 02 00 00 00 | 2 | PNTA element for 3rd vertex |
0x0C | int32 | 03 00 00 00 | 3 | PNTA element for 4th vertex |
0x10 | int32 | F5 0F 00 00 | 4085 | TXCA element for 1st vertex |
0x14 | int32 | F3 0F 00 00 | 4083 | TXCA element for 2nd vertex |
0x18 | int32 | F4 0F 00 00 | 4084 | TXCA element for 3rd vertex |
0x1C | int32 | F6 0F 00 00 | 4086 | TXCA element for 4th vertex |
0x20 | color | 00 00 00 00 | 0, 0, 0, 0 | byte-swapped ARGB color for 1st vertex |
0x24 | color | 00 00 00 00 | 0, 0, 0, 0 | byte-swapped ARGB color for 2nd vertex |
0x28 | color | 02 07 09 00 | 2, 7, 9, 0 | byte-swapped ARGB color for 3rd vertex |
0x2C | color | 06 15 1E 00 | 6, 21, 30, 0 | byte-swapped ARGB color for 4th vertex |
0x30 | bitset32 | 00 00 08 02 | 0, 0, 8, 2 | flags; used values:
|
0x34 | int32 | FF FF FF FF | -1 | object ID and type to which this quad belongs (see ONOA for details); -1 if it does not belong to an object |
- Triangles
- Many quads are in fact triangles: the last two vertices have the same PNTA and TXCA entries, and the ARGB color is (255, 205, 205, 205) (80% gray, 100% opaque). There is also a flag specifying that.
- Flags
At runtime the following flag values are also used:
- 0x00 00 04 00 - set at runtime for quads hidden with *env_show*, never used in files
- 0x20 00 00 00 - set at runtime for Jell'Oed quads, never used in files
- Projection plane flags
These 2 flags can be 00, 01, 10 and 11. That means the values 0,1,2 and 3 which have the following meanings:
- 0 - No projection plane specified. One can be computed if needed. Never used in files, may slow down the game if used.
- 1 - Project quad on XY plane.
- 2 - Project quad on XZ plane.
- 3 - Project quad on YZ plane.
- The projection plane is used to determine if a point is in a quad (this point is usually the result of an intersection between a ray and the quad plane).
ONI BINARY DATA |
---|
AGQC << Other file types >> AGQR |
AGQG : Gunk Quad General Array |
Level file |