OBD:IDXA AKEV 1: Difference between revisions

From OniGalore
(increased "&nbsp" to 10)
m (...)
 
(6 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{OBD_File_Header | type=IDXA | prev=HPge | next=IGHH | name=Index Array| family=Generic | align=center}}
{{OBD_File_Header | type=IDXA | prev=HPge | next=IGHH | name=Index Array| family=General | align=center}}




Line 7: Line 7:




[[image:idxa_a1a.gif]] (Can't upload images right now. (Reason: Wiki error.))
[[image:idxa_a1a.gif]]




Line 14: Line 14:
{{OBDtr| 0x00 | res_id  |FF0000| 01 53 02 00 | 595        | 00595-.IDXA }}
{{OBDtr| 0x00 | res_id  |FF0000| 01 53 02 00 | 595        | 00595-.IDXA }}
{{OBDtr| 0x04 | lev_id  |FFFF00| 01 00 00 00 | 3          | level 3 }}
{{OBDtr| 0x04 | lev_id  |FFFF00| 01 00 00 00 | 3          | level 3 }}
{{OBDtr| 0x08 | char[20]|00FF00| AD DE      | dead      | unused }}
{{OBDtr| 0x08 | char[20]|00FF00| AD DE      | dead      | padding }}
{{OBDtr| 0x1C | int32   |00FFFF| 91 01 00 00 | 401        | array size }}
{{OBDtr| 0x1C | uint32   |00FFFF| 91 01 00 00 | 401        | array size }}
{{OBDtrBK}}
{{OBDtrBK}}
{{OBDtr| 0x00 | int32   |FFC8C8| 15 50 00 00 | 20501      | AGQG element ID (used for: [[OBD:IDXA_AKEV_2|AKEV 2]] needs it)}}
{{OBDtr| 0x00 | uint32   |FFC8C8| 15 50 00 00 | 20501      | [[AGQG]] element ID (used for: [[OBD:IDXA_AKEV_2|AKEV 2]] needs it)}}
|}
|}




;IDXA usage
{{OBD_File_Footer | type=IDXA | prev=HPge | next=IGHH | name=Index Array| family=General}}
*Two kinds of IDXA are used in [[OBD:AKEV|AKEV]]: they define quads affected by [[env_show]].
*Two kinds of IDXA used in [[OBD:AKOT|AKOT]] define the quads and BNVs intersected by a leaf.
*Two kinds of IDXA are used in [[OBD:M3GM|M3GM]]: triangle strips and face normal groups.
*[[OBD:ONOA|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 [[OBD:M3GM|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}}
{{OBD_File_Footer | type=IDXA | prev=HPge | next=IGHH | name=Index Array| family=Generic}}

Latest revision as of 10:23, 12 May 2025

ONI BINARY DATA
HPge << Other file types >> IGHH
IDXA : Index Array
switch to XML:IDXA page
Overview @ Oni Stuff
OBD.png



AKEV 1          AKEV 2          AKOT 1          AKOT 2          M3GM 1          M3GM 2          ONOA


Idxa a1a.gif


Offset Type Raw Hex Value Description
0x00 res_id 01 53 02 00 595 00595-.IDXA
0x04 lev_id 01 00 00 00 3 level 3
0x08 char[20] AD DE dead padding
0x1C uint32 91 01 00 00 401 array size
First element (black outline)
0x00 uint32 15 50 00 00 20501 AGQG element ID (used for: AKEV 2 needs it)


ONI BINARY DATA
HPge << Other file types >> IGHH
IDXA : Index Array
General file