OBD:IDXA AKEV 1: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
mNo edit summary |
||
Line 1: | Line 1: | ||
{{OBD_File_Header | type=IDXA | prev=HPge | next=IGHH | name=Index Array| family=Generic | align=center}} | |||
---- | |||
http://www6.fh-eberswalde.de/user/dkriesch/onistuff/images/idxa_m1a.gif | |||
{{Table}} | |||
{{OBDth}} | |||
{{OBDtr|0x00|res_id|FF0000|01 '''D7 00 00|268| 00268-.IDXA}} | |||
{| | {{OBDtr|0x04|lev_id|FFFF00|01 00 00 '''00|3 | level 3}} | ||
{{OBDtr|0x08|unused[20]|00FF00|AD DE|dead|blank filler}} | |||
{{OBDtr|0x1C|int32|00FFFF|16 00 00 00|22|array size}} | |||
| | {{OBDtrBK}} | ||
{{OBDtr|0x00|int32|00FFFF|00 00 00 80|0, YES|index, high bit}} | |||
| 268 | |||
| | |||
| | |||
| 3 | |||
| | |||
| | |||
| dead | |||
| | |||
| | |||
| 22 | |||
| | |||
| | |||
| | |||
| | |||
|} | |} | ||
;IDXA usage | |||
*Two kinds of IDXA are used in [[AKEV]]: they define quads affected by [[env_show]]. | |||
*Two kinds of IDXA used in [[AKOT]] define the quads and BNVs intersected by a leaf. | |||
*Two kinds of IDXA are used in [[M3GM]]: triangle strips and face normal groups. | |||
*[[ONOA]] uses several similar IDXA, one to store the quad IDs of every object. | |||
;High bit | |||
:The high bit is only used for triangle strips in [[M3GM]]. | |||
:It is set for the first vertex index of every triangle strip. | |||
;AKEV indices | |||
:Both IDXA have the same number of entries, equal to the number of togglable quads. | |||
:The first IDXA lists the quad IDs (index into AGQG, AGQC, AGQR and AGDB arrays). | |||
:The second IDXA assigns a gunk ID to every quad (one or more quads per gunk). | |||
;AKOT indices | |||
:The first IDXA lists the IDs of the quads intersected by octtree leaves, one leaf after another. | |||
:The leaf specifies how many quad IDs Oni should read from the IDXA and where it should start. | |||
:Same thing for the intersected BNVs: the leaf specifies the size and position of the BNV list. | |||
---- | |||
{{OBD_File_Footer | type=IDXA | prev=HPge | next=IGHH | name=Index Array| family=Generic | align=center}} | |||
Revision as of 17:42, 15 August 2007
|
Offset | Type | Raw Hex | Value | Description |
---|---|---|---|---|
0x00 | res_id | 01 D7 00 00 | 268 | 00268-.IDXA |
0x04 | lev_id | 01 00 00 00 | 3 | level 3 |
0x08 | unused[20] | AD DE | dead | blank filler |
0x1C | int32 | 16 00 00 00 | 22 | array size |
First element (black outline) | ||||
0x00 | int32 | 00 00 00 80 | 0, YES | index, high bit |
- IDXA usage
- Two kinds of IDXA are used in AKEV: they define quads affected by env_show.
- Two kinds of IDXA used in AKOT define the quads and BNVs intersected by a leaf.
- Two kinds of IDXA are used in M3GM: triangle strips and face normal groups.
- ONOA uses several similar IDXA, one to store the quad IDs of every object.
- High bit
- The high bit is only used for triangle strips in M3GM.
- It is set for the first vertex index of every triangle strip.
- AKEV indices
- Both IDXA have the same number of entries, equal to the number of togglable quads.
- The first IDXA lists the quad IDs (index into AGQG, AGQC, AGQR and AGDB arrays).
- The second IDXA assigns a gunk ID to every quad (one or more quads per gunk).
- AKOT indices
- The first IDXA lists the IDs of the quads intersected by octtree leaves, one leaf after another.
- The leaf specifies how many quad IDs Oni should read from the IDXA and where it should start.
- Same thing for the intersected BNVs: the leaf specifies the size and position of the BNV list.
ONI BINARY DATA |
---|
HPge << Other file types >> IGHH |
IDXA : Index Array |
Generic file |