OBD:AKBP: Difference between revisions

From OniGalore
Jump to navigation Jump to search
No edit summary
mNo edit summary
 
(3 intermediate revisions by 2 users not shown)
Line 12: Line 12:
{{OBDtr | 0x1E | int16    |00FFFF| C4 06      | 1732      | array size }}
{{OBDtr | 0x1E | int16    |00FFFF| C4 06      | 1732      | array size }}
{{OBDtrBK}}
{{OBDtrBK}}
{{OBDtr | 0x00 | int32hb  |FFC8C8| 00 00 00 00 |0, high bit| plane index (in the environment plane array, see [[OBD:AKEV|AKEV]]), reverse plane normal if set }}
{{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 }}
{{OBDtr | 0x04 | int32    |FFFFC8| 01 00 00 00 | 1        | front AKBP package number, -1 if none }}
{{OBDtr | 0x04 | int32    |FFFFC8| 01 00 00 00 | 1        | back AKBP package number, -1 if none }}
{{OBDtr | 0x08 | int32    |C8FFC8| FF FF FF FF | -1        | back AKBP package number, -1 if none }}
{{OBDtr | 0x08 | int32    |C8FFC8| FF FF FF FF | -1        | front AKBP package number, -1 if none }}
|}
|}






AKBP contains one [[wikipedia:http://en.wikipedia.org/wiki/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.
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_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