OBD:AGQG: Difference between revisions
Jump to navigation
Jump to search
m (slopes revisited) |
m (wiki code) |
||
Line 1: | Line 1: | ||
{{OBD_File_Header | type=AGQG | prev=AGQC | next=AGQR | name=Gunk Quad General Array | family=Level | align=center}} | {{OBD_File_Header | type=AGQG | prev=AGQC | next=AGQR | name=Gunk Quad General Array | family=Level | align=center}} | ||
{{OBD_File_Image | image=agqg_a.gif}} | {{OBD_File_Image | image=agqg_a.gif}} | ||
{{Table}} | {{Table}} | ||
{{ | {{OBDth}} | ||
{{OBDtr | 0x00 | res_id |FF0000| 01 49 02 00 | 585 | 00585-.AGQG }} | |||
| 0x00 || | {{OBDtr | 0x04 | lev_id |FFFF00| 01 00 00 06 | 3 | level 3 }} | ||
{{OBDtr | 0x08 |char[20]|00FF00| AD DE | dead | unused }} | |||
| 0x04 || | {{OBDtr | 0x1C | int32 |00FFFF| 15 A8 00 00 | 35349 | array size }} | ||
{{OBDtrBK}} | |||
| 0x08 | | {{OBDtr | 0x00 | int32 |FFC8C8| 00 00 00 00 | 0 | [[OBD:PNTA|PNTA]] element for 1st vertex }} | ||
{{OBDtr | 0x04 | int32 |FFC8C8| 01 00 00 00 | 1 | [[OBD:PNTA|PNTA]] element for 2nd vertex }} | |||
| 0x1C | {{OBDtr | 0x08 | int32 |FFC8C8| 02 00 00 00 | 2 | [[OBD:PNTA|PNTA]] element for 3rd vertex }} | ||
{{OBDtr | 0x0C | int32 |FFC8C8| 03 00 00 00 | 3 | [[OBD:PNTA|PNTA]] element for 4th vertex }} | |||
{{OBDtr | 0x10 | int32 |FFFFC8| F5 0F 00 00 | 4085 | [[OBD:TXCA|TXCA]] element for 1st vertex }} | |||
{{OBDtr | 0x14 | int32 |FFFFC8| F3 0F 00 00 | 4083 | [[OBD:TXCA|TXCA]] element for 2nd vertex }} | |||
| 0x00 | {{OBDtr | 0x18 | int32 |FFFFC8| F4 0F 00 00 | 4084 | [[OBD:TXCA|TXCA]] element for 3rd vertex }} | ||
{{OBDtr | 0x1C | int32 |FFFFC8| F6 0F 00 00 | 4086 | [[OBD:TXCA|TXCA]] element for 4th vertex }} | |||
| 0x04 | {{OBDtr | 0x20 | color |C8FFC8| 00 00 00 00 | 0, 0, 0, 0 | byte-swapped ARGB color for 1st vertex }} | ||
{{OBDtr | 0x24 | color |C8FFC8| 00 00 00 00 | 0, 0, 0, 0 | byte-swapped ARGB color for 2nd vertex }} | |||
| 0x08 | {{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 }} | |||
| 0x0C | {{OBDtr | 0x30 |bitset32|C8FFFF| 00 00 08 02 | 0, 0, 8, 2 | flags (see below this table) }} | ||
{{OBDtr | 0x34 | int16 |FFC8FF| FF FF | -1 | object ID (obsolete?) }} | |||
| 0x10 | {{OBDtr | 0x36 | int16 |FFC8FF| FF FF | -1 | object type (obsolete?) }} | ||
| 0x14 | |||
| 0x18 | |||
| 0x1C | |||
| 0x20 | |||
| 0x24 | |||
| 0x28 | |||
| 0x2C | |||
| 0x30 || | |||
| 0x34 | |||
| 0x36 | |||
|} | |} | ||
;Objects | ;Objects | ||
:Those IDs and types also appear in [[ONOA]]. Types are: | :Those IDs and types also appear in [[OBD:ONOA|ONOA]]. Types are: | ||
*0x00 03 - door | *0x00 03 - door | ||
*0x00 05 - furniture | *0x00 05 - furniture | ||
Line 55: | Line 39: | ||
:They seem obsolete (but may be useful for selective viewing/extracting of environment) | :They seem obsolete (but may be useful for selective viewing/extracting of environment) | ||
;Triangles | ;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 (see below). | :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 (see below). | ||
;Flags | ;Flags | ||
:0x'''01''' 00 00 00 - | :0x'''01''' 00 00 00 - unknown | ||
:0x'''02''' 00 00 00 - ghost (pathfinding volume separator, see [[AKVA]] etc) | :0x'''02''' 00 00 00 - ghost (pathfinding volume separator, see [[OBD:AKVA|AKVA]] etc) | ||
:0x'''04''' 00 00 00 - stairs up | :0x'''04''' 00 00 00 - stairs up | ||
:0x'''08''' 00 00 00 - stairs down | :0x'''08''' 00 00 00 - stairs down | ||
Line 75: | Line 59: | ||
:0x00 00 '''01''' 00 - no occlusion | :0x00 00 '''01''' 00 - no occlusion | ||
:0x00 00 '''02''' 00 - danger | :0x00 00 '''02''' 00 - danger | ||
:0x00 00 '''04''' 00 - set at runtime for quads hidden with | :0x00 00 '''04''' 00 - set at runtime for quads hidden with *env_show*, never used in files | ||
: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° | ||
Line 97: | Line 81: | ||
: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). | ||
{{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}} | |||
Revision as of 13:29, 19 September 2007
|
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 (see below this table) |
0x34 | int16 | FF FF | -1 | object ID (obsolete?) |
0x36 | int16 | FF FF | -1 | object type (obsolete?) |
- Objects
- Those IDs and types also appear in ONOA. Types are:
- 0x00 03 - door
- 0x00 05 - furniture
- 0x00 13 - trigger
- 0x00 14 - turret
- 0x00 15 - console
- They seem obsolete (but may be useful for selective viewing/extracting of environment)
- 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 (see below).
- Flags
- 0x01 00 00 00 - unknown
- 0x02 00 00 00 - ghost (pathfinding volume separator, see AKVA etc)
- 0x04 00 00 00 - stairs up
- 0x08 00 00 00 - stairs down
- 0x10 00 00 00 - stairs
- 0x20 00 00 00 - set at runtime for Jell'Oed quads, never used in files
- 0x40 00 00 00 - triangle (see above)
- 0x80 00 00 00 - transparency (if 0 then alpha is ignored, color is just RGB shading)
- 0x00 01 00 00 - unknown, never used in files
- 0x00 02 00 00 - two-sided
- 0x00 04 00 00 - unknown, never used in files
- 0x00 08 00 00 - no collision
- 0x00 10 00 00 - unknown, never used in files
- 0x00 20 00 00 - invisible
- 0x00 40 00 00 - no object collision
- 0x00 80 00 00 - no character collision
- 0x00 00 01 00 - no occlusion
- 0x00 00 02 00 - danger
- 0x00 00 04 00 - set at runtime for quads hidden with *env_show*, never used in files
- 0x00 00 08 00 - vertical collision: slope < 70°
- 0x00 00 10 00 - horizontal collision: slope > 70°
- 0x00 00 20 00 - unknown, never used in files
- 0x00 00 40 00 - ignore grid
- 0x00 00 80 00 - no decal
- 0x00 00 00 01 - furniture
- 0x00 00 00 02 - projection plan bit 0, see below
- 0x00 00 00 04 - projection plan bit 1, see below
- 0x00 00 00 08 - sound-transparent
- 0x00 00 00 10 - impassable
- 0x00 00 00 20 - unknown, never used in files
- 0x00 00 00 40 - unknown, never used in files
- 0x00 00 00 80 - unknown, 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 |