OBD:AKBP: Difference between revisions

From OniGalore
Jump to navigation Jump to search
m (typo...)
mNo edit summary
 
(8 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{OBD_File_Header | type=AKBP | prev=AKBA | next=AKDA | name=BSP Node Array | family=Level | align=center}}
{{OBD_File_Header | type=AKBP | prev=AKBA | next=AKDA | name=BSP Node Array | family=Level | align=center}}
:
 
{{OBD_File_Image | image=akbp_a.gif}}
 
:
[[Image:akbp_a.gif]]
 
 
{{Table}}
{{Table}}
{{OBD_Table_Header}}
{{OBDth}}
|- ALIGN=CENTER VALIGN=TOP
{{OBDtr | 0x00 | res_id  |FF0000| 01 50 02 00 | 592       | 00592-.AKBP }}
| 0x00 || file id || BGCOLOR="#FF0000" | 01 50 02 00 || 592 || ALIGN=LEFT | 00592-.AKBP
{{OBDtr | 0x04 | lev_id  |FFFF00| 01 00 00 06 | 3         | level 3 }}
|- ALIGN=CENTER VALIGN=TOP
{{OBDtr | 0x08 | char[22] |00FF00| AD DE       | dead     | unused }}
| 0x04 || level id || BGCOLOR="#FFFF00" | 01 00 00 06 || 3 || ALIGN=LEFT | level 3
{{OBDtr | 0x1E | int16    |00FFFF| C4 06       | 1732     | array size }}
|- ALIGN=CENTER VALIGN=TOP
{{OBDtrBK}}
| 0x08 || unused (22) || BGCOLOR="#00FF00" | AD DE || dead || ALIGN=LEFT | not used
{{OBDtr | 0x00 | int32hb  |FFC8C8| 00 00 00 00 |0, high bit| plane index (in the environment [[PLEA|plane array]], see [[OBD:AKEV|AKEV]]), reverse plane normal if set }}
|- ALIGN=CENTER VALIGN=TOP
{{OBDtr | 0x04 | int32    |FFFFC8| 01 00 00 00 | 1         | back AKBP package number, -1 if none }}
| 0x0C || short || BGCOLOR="#00FFFF" | C4 06 || 1732 || ALIGN=LEFT | 1732 packages follow (one package is edged in black)
{{OBDtr | 0x08 | int32    |C8FFC8| FF FF FF FF | -1       | front AKBP package number, -1 if none }}
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#000000"
| COLSPAN=5 | <FONT SIZE=2 COLOR=“#FFFFFF�?>Below follows the first package.</FONT>
|- ALIGN=CENTER VALIGN=TOP
| 0x || long hb || BGCOLOR="#FFC8C8" | 00 00 00 00 || 0,&nbsp;high&nbsp;bit || ALIGN=LEFT | plane index (in the environment plane array, see [[AKEV|AKEV]]), reverse plane normal if set
|- ALIGN=CENTER VALIGN=TOP
| 0x || long || BGCOLOR="#FFFFC8" | 01 00 00 00 || 1 || ALIGN=LEFT | front AKBP package number, -1 if none
|- ALIGN=CENTER VALIGN=TOP
| 0x || long || BGCOLOR="#C8FFC8" | FF&nbsp;FF&nbsp;FF&nbsp;FF || -1 || ALIGN=LEFT | back AKBP package number, -1 if none
|}
|}
:
 
----
 
:
 
{{OBD_File_Footer | type=AKBP | prev=AKBA | next=AKDA | name=BSP Node Array}}
AKBP contains one [[wikipedia:Binary_space_partitioning|BSP tree]] for each [[AKVA|BNV]] (the index of the root of the tree is stored in BNV). Such a tree is used to detect if a point is inside a BNV.
:
 
It should be noted that for convex BNVs the BSP tree degenerates to a list, only concave BNVs (and there aren't many of them) need a "real" tree.
 
 
{{OBD_File_Footer | type=AKBP | prev=AKBA | next=AKDA | name=BSP Node Array | family=Level}}
 
{{OBD}}

Latest revision as of 23:57, 17 July 2010

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


Akbp a.gif


Offset Type Raw Hex Value Description
0x00 res_id 01 50 02 00 592 00592-.AKBP
0x04 lev_id 01 00 00 06 3 level 3
0x08 char[22] AD DE dead unused
0x1E int16 C4 06 1732 array size
First element (black outline)
0x00 int32hb 00 00 00 00 0, high bit plane index (in the environment plane array, see AKEV), reverse plane normal if set
0x04 int32 01 00 00 00 1 back AKBP package number, -1 if none
0x08 int32 FF FF FF FF -1 front AKBP package number, -1 if none


AKBP contains one BSP tree for each BNV (the index of the root of the tree is stored in BNV). Such a tree is used to detect if a point is inside a BNV.

It should be noted that for convex BNVs the BSP tree degenerates to a list, only concave BNVs (and there aren't many of them) need a "real" tree.


ONI BINARY DATA
AKBA << Other file types >> AKDA
AKBP : BSP Node Array
Level file