OBD:IDXA AKEV 1

From OniGalore
Revision as of 13:38, 15 September 2007 by 89.48.112.223 (talk) (design; unfinished)
Jump to navigation Jump to search
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 (Can't upload images right now. (Reason: Wiki error.))


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 unused
0x1C int32 91 01 00 00 401 array size
First element (black outline)
0x00 int32 15 50 00 00 20501 AGQG element ID (used for: AKEV 2 needs it)


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