OBD:AGQG: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 54: | Line 54: | ||
;Triangles | ;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. | :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. | ||
;Stairs up/down | ;Stairs up/down | ||
Line 76: | Line 71: | ||
:*3 - Project quad on YZ 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). | :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). | ||
;Runtime 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 | |||
{{OBD_File_Footer | type=AGQG | prev=AGQC | next=AGQR | name=Gunk Quad General Array | family=Level}} | {{OBD_File_Footer | type=AGQG | prev=AGQC | next=AGQR | name=Gunk Quad General Array | family=Level}} |
Revision as of 08:52, 21 April 2009
|
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.
- Stairs up/down
These 2 flags are used instead of the ghost flag when the pathfinding separator is placed at the bottom/top of the stairs.
- Stairs
This is applied to the invisible ramp quad that covers the stairs. In general this flag is also applied to the visible stairs geometry but there are some exceptions (errors? see level 19 stairs).
- No occlusion
This flag tells the octtree raycaster to ignore the quad when doing ray/quad intersections. This is tipically used for small quads that are unlikely to affect the overall environment visibility.
- 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).
- Runtime 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
ONI BINARY DATA |
---|
AGQC << Other file types >> AGQR |
AGQG : Gunk Quad General Array |
Level file |