|
|
(4 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 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}} | |