OBD:AKBP: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
mNo edit summary |
||
(11 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}} | ||
: | |||
[[Image:akbp_a.gif]] | |||
{{Table}} | {{Table}} | ||
{{ | {{OBDth}} | ||
{{OBDtr | 0x00 | res_id |FF0000| 01 50 02 00 | 592 | 00592-.AKBP }} | |||
| 0x00 || | {{OBDtr | 0x04 | lev_id |FFFF00| 01 00 00 06 | 3 | level 3 }} | ||
{{OBDtr | 0x08 | char[22] |00FF00| AD DE | dead | unused }} | |||
| 0x04 || | {{OBDtr | 0x1E | int16 |00FFFF| C4 06 | 1732 | array size }} | ||
{{OBDtrBK}} | |||
| 0x08 | | {{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 | back AKBP package number, -1 if none }} | ||
{{OBDtr | 0x08 | int32 |C8FFC8| FF FF FF FF | -1 | front 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
|
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 |