OBD:IDXA AKEV 1: Difference between revisions

From OniGalore
Jump to navigation Jump to search
No edit summary
mNo edit summary
Line 1: Line 1:
[[Main Page]] >> [[OBD:Oni Binary Data|Oni Binary Data]] >> [[OBD:File types|File Types]] >> IDXA File
{{OBD_File_Header | type=IDXA | prev=HPge | next=IGHH | name=Index Array| family=Generic | align=center}}




<CENTER>[[OBD:HPge|<==]] <FONT SIZE=5>IDXA File</FONT> [[OBD:IGHH|==>]]<BR>
----
<FONT SIZE=2>Index Array - Level 0, Level and Character File</FONT></CENTER>
http://www6.fh-eberswalde.de/user/dkriesch/onistuff/images/idxa_m1a.gif




http://www6.fh-eberswalde.de/user/dkriesch/onistuff/images/idxa_a.gif
{{Table}}
 
{{OBDth}}
 
{{OBDtr|0x00|res_id|FF0000|01 '''D7 00 00|268| 00268-.IDXA}}
{| BORDER=1 WIDTH=100% CELLPADDING=2 CELLSPACING=0
{{OBDtr|0x04|lev_id|FFFF00|01 00 00 '''00|3 | level 3}}
|- ALIGN=CENTER BGCOLOR="#FFDDBB"
{{OBDtr|0x08|unused[20]|00FF00|AD DE|dead|blank filler}}
| WIDTH=15% | <B>Hex</B>
{{OBDtr|0x1C|int32|00FFFF|16 00 00 00|22|array size}}
| WIDTH=15% | <B>Translation</B>
{{OBDtrBK}}
| WIDTH=70% | <B>Meaning</B>
{{OBDtr|0x00|int32|00FFFF|00 00 00 80|0, YES|index, high bit}}
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FF0000" | 01 0C 01 00
| 268
| ALIGN=LEFT | 00268-.IDXA
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FFFF00" | 01 00 00 06
| 3
| ALIGN=LEFT | level 3
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#00FF00" | AD DE
| dead
| ALIGN=LEFT | not used
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#00FFFF" | 16 00 00 00
| 22
| ALIGN=LEFT | 22 packages follow (one package is edged in black)
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#000000"
| COLSPAN=3 | <FONT SIZE=2 COLOR="#FFFFFF">Below follows the first package.</FONT>
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC8C8" | 00 00
| 0
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FFFFC8" | 00 80
| 32768
| ALIGN=LEFT | unknown
|}
|}
;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.




<HR>
----
<CENTER>[[OBD:HPge|<==]] <B>IDXA File</B> [[OBD:IGHH|==>]]</CENTER>
{{OBD_File_Footer | type=IDXA | prev=HPge | next=IGHH | name=Index Array| family=Generic | align=center}}
<HR>
 
 
[[Main Page]] >> [[OBD:Oni Binary Data|Oni Binary Data]] >> [[OBD:File types|File Types]] >> IDXA File

Revision as of 17:42, 15 August 2007

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



idxa_m1a.gif


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