OBD:AKBA: Difference between revisions

From OniGalore
Jump to navigation Jump to search
No edit summary
(Adding info about ignored fields (ref. - BFW_Akira.h, lines 483-487))
 
(7 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{OBD_File_Header | type=AKBA | prev=AKAA | next=AKBP | name=Side Array | family=Level | align=center}}
{{OBD_File_Header | type=AKBA | prev=AKAA | next=AKBP | name=Side Array | family=Level | align=center}}
:
 
{{OBD_File_Image | image=akba_a.gif}}
 
:
[[image:akba_a.gif]]
 
 
{{Table}}
{{Table}}
{{OBD_Table_Header}}
{{OBDth}}
|- ALIGN=CENTER VALIGN=TOP
{{OBDtr | 0x00 | res_id  |FF0000| 01 4F 02 00 | 591     | 00591-.AKBA }}
| 0x00 || file id || BGCOLOR="#FF0000" | 01 4F 02 00 || 591 || ALIGN=LEFT | 00591-.AKBA
{{OBDtr | 0x04 | lev_id  |FFFF00| 01 00 00 06 | 3       | level 3 }}
|- ALIGN=CENTER VALIGN=TOP
{{OBDtr | 0x08 | char[20] |00FF00| AD DE       | dead     | unused }}
| 0x04 || level id || BGCOLOR="#FFFF00" | 01 00 00 06 || 3 || ALIGN=LEFT | level 3
{{OBDtr | 0x1C | int32    |00FFFF| B7 06 00 00 | 1719     | array size }}
|- ALIGN=CENTER VALIGN=TOP
{{OBDtrBK}}
| 0x08 || unused (20) || BGCOLOR="#00FF00" | AD DE || dead || ALIGN=LEFT | not used
{{OBDtr | 0x00 | int32hb  |FFC8C8| 00 00 00 00 |0, hig bit| plane index for this "side" (see [[OBD:AKEV|AKEV]] / [[OBD:PLEA|PLEA]]); high bit flips the plane }}
|- ALIGN=CENTER VALIGN=TOP
{{OBDtr | 0x04 | int32    |FFFFC8| 00 00 00 00 | 0       | [[OBD:AKAA|AKAA]] range start (adjacencies for this side) }}
| 0x1C || long || BGCOLOR="#00FFFF" | B7 06 00 00 || 1719 || ALIGN=LEFT | 1719 packages follow (one package is edged in black)
{{OBDtr | 0x08 | int32    |C8FFC8| 01 00 00 00 | 1       | [[OBD:AKAA|AKAA]] range end (adjacencies for this side) }}
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#000000"
{{OBDtr | 0x0C | int32    |C8FFFF| 00 00 00 00 | 0       | ignored <code>(originally as Ghost GQ Start Index)</code> }}
| COLSPAN=5 | <FONT SIZE=2 COLOR=“#FFFFFF�?>Below follows the first package.</FONT>
{{OBDtr | 0x10 | int32    |FFC8FF| 01 00 00 00 | 1       | ignored <code>(originally as Ghost GQ End Index)</code> }}
|- ALIGN=CENTER VALIGN=TOP
{{OBDtr | 0x14 | int32    |FFC800| 00 00 00 00 | 0       | ignored <code>(originally as BNV Quad Start Index)</code> }}
| 0x00 || long hb || BGCOLOR="#FFC8C8" | 00 00 00 00 || 0,&nbsp;high&nbsp;bit || ALIGN=LEFT | plane index for this "side" (in the environment plane array, see [[AKEV]]), reverse plane normal if set
{{OBDtr | 0x18 | int32    |C800C8| 01 00 00 00 | 1       | ignored <code>(originally as BNV Quad End Index)</code> }}
|- ALIGN=CENTER VALIGN=TOP
| 0x04 || long || BGCOLOR="#FFFFC8" | 00 00 00 00 || 0 || ALIGN=LEFT | first [[OBD:AKAA | AKAA]] (side) package number
|- ALIGN=CENTER VALIGN=TOP
| 0x08 || long || BGCOLOR="#C8FFC8" | 01 00 00 00 || 1 || ALIGN=LEFT | last [[OBD:AKAA | AKAA]] (side) package number + 1
|- ALIGN=CENTER VALIGN=TOP
| 0x0C || long || BGCOLOR="#C8FFFF" | 00 00 00 00 || 0 || ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP
| 0x10 || long || BGCOLOR="#FFC8FF" | 01 00 00 00 || 1 || ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP
| 0x14 || long || BGCOLOR="#FFC800" | 00 00 00 00 || 0 || ALIGN=LEFT | [[OBD:AKBP | AKBP]] package number ? (because the highest value is 1723)
|- ALIGN=CENTER VALIGN=TOP
| 0x18 || long || BGCOLOR="#C800C8" | 01 00 00 00 || 1 || ALIGN=LEFT | [[OBD:AKBP | AKBP]] package number ? (because the highest value is 1724)
|}
|}
:
 
;AKAA fields
;Plane
:These 2 fields make up a list of sides (see [[AKAA|AKAA]]). If the fields are equal then the list is empty.
It appears that the plane is ignored by the engine. In particular if a side has adjacencies then it has ghost quads and any quad has an associated plane. Sometimes the ghost quads are inside the BNV (instead of being on the edge) and in that case the quad plane is different from the side plane.
;Unknown fields
 
:Altough in most cases the 2 unknown fields have values that seem to indicate that they are AKAA package numbers in the last level there are values that are higher than the number of AKAA packages (+2).
;[[OBD:AKAA|AKAA]] range
;Used fields
:These 2 fields make up a range of "adjacencies" (see [[OBD:AKAA|AKAA]]). If the fields are equal then the range is empty.
:The only used fields appear to be the ones used for the side list. For all the reset setting any value (0, -1, value bigger than AKBP or AKAA count etc.) appears to have no effect on the game.
 
----
 
:
{{OBD_File_Footer | type=AKBA | prev=AKAA | next=AKBP | name=Side Array | family=Level}}
{{OBD_File_Footer | type=AKBA | prev=AKAA | next=AKBP | name=Side Array}}
 
:
{{OBD}}

Latest revision as of 14:21, 27 September 2022

ONI BINARY DATA
AKAA << Other file types >> AKBP
AKBA : Side Array
switch to XML:AKBA page
Overview @ Oni Stuff
OBD.png


Akba a.gif


Offset Type Raw Hex Value Description
0x00 res_id 01 4F 02 00 591 00591-.AKBA
0x04 lev_id 01 00 00 06 3 level 3
0x08 char[20] AD DE dead unused
0x1C int32 B7 06 00 00 1719 array size
First element (black outline)
0x00 int32hb 00 00 00 00 0, hig bit plane index for this "side" (see AKEV / PLEA); high bit flips the plane
0x04 int32 00 00 00 00 0 AKAA range start (adjacencies for this side)
0x08 int32 01 00 00 00 1 AKAA range end (adjacencies for this side)
0x0C int32 00 00 00 00 0 ignored (originally as Ghost GQ Start Index)
0x10 int32 01 00 00 00 1 ignored (originally as Ghost GQ End Index)
0x14 int32 00 00 00 00 0 ignored (originally as BNV Quad Start Index)
0x18 int32 01 00 00 00 1 ignored (originally as BNV Quad End Index)
Plane

It appears that the plane is ignored by the engine. In particular if a side has adjacencies then it has ghost quads and any quad has an associated plane. Sometimes the ghost quads are inside the BNV (instead of being on the edge) and in that case the quad plane is different from the side plane.

AKAA range
These 2 fields make up a range of "adjacencies" (see AKAA). If the fields are equal then the range is empty.


ONI BINARY DATA
AKAA << Other file types >> AKBP
AKBA : Side Array
Level file