Jump to content

OBD:AKVA: Difference between revisions

119 bytes removed ,  6 June 2008
updated
(more cleanup)
(updated)
Line 31: Line 31:
{{OBDtr| 0x44 | float    |E7CEA5| 00 00 19 C4 |-612.000000| AABB Z+ }}
{{OBDtr| 0x44 | float    |E7CEA5| 00 00 19 C4 |-612.000000| AABB Z+ }}
{{OBDtr| 0x48 | int16    |FFDDDD| FE FF      | -2        | grid x origin (in tiles) }}
{{OBDtr| 0x48 | int16    |FFDDDD| FE FF      | -2        | grid x origin (in tiles) }}
{{OBDtr| 0x4a | int16    |FFDDDD| FE FF      | -2        | grid z origin (in tiles) }}
{{OBDtr| 0x4A | int16    |FFDDDD| FE FF      | -2        | grid z origin (in tiles) }}
{{OBDtr| 0x4C | int32    |64AAAA| 00 00 00 00 | 0        | BNV's ID again }}
{{OBDtr| 0x4C | int32    |64AAAA| 00 00 00 00 | 0        | BNV's ID again }}
{{OBDtr| 0x50 | int32    |EBEBEB| 00 00 00 00 | 0        | runtime only }}
{{OBDtr| 0x50 | int32    |EBEBEB| 00 00 00 00 | 0        | runtime only }}
Line 49: Line 49:


;General
;General
:BNVs are volumes that have a [[OBD:AKVA 0|pathfinding grid]] assigned to them. The grid itself is in the RAW, while its overall parameters are in the DAT.
:BNVs are volumes that have a [[OBD:AKVA/0x24|pathfinding grid]] assigned to them. The grid itself is in the RAW, while its overall parameters are in the DAT.
;0x00 - [[OBD:AKBP|AKBP]] tree
;0x00 - [[OBD:AKBP|AKBP]] tree
:This binary space partition (BSP) tree is used to check if a point is inside the BNV. A list of BNVs that can potentially contain a point is found using the environment octree (2nd [[OBD:IDXA_AKOT_2|IDXA]] of the [[OBD:AKOT|AKOT]] + [[OBD:OTLF|OTLF]]).
:This binary space partition (BSP) tree is used to check if a point is inside the BNV. A list of BNVs that can potentially contain a point is found using the environment octree (2nd [[OBD:IDXA_AKOT_2|IDXA]] of the [[OBD:AKOT|AKOT]] + [[OBD:OTLF|OTLF]]).
Line 61: Line 61:
:BNV 165 in level4 (far side of tarmac, behind the fence) has a non-zero X-Z grid size but no RAW data.
:BNV 165 in level4 (far side of tarmac, behind the fence) has a non-zero X-Z grid size but no RAW data.
::Notably, that one BNV also has the 16 flag set at 0x5C (see below).
::Notably, that one BNV also has the 16 flag set at 0x5C (see below).
:The grid usually "bleeds" outside the (x,z) extent of the BNV.
:The grid's alignment on the "floor" of the BNV's AABB is defined by the x and z offsets in tiles (at 0x48 and 0x4A).
:The amount of bleeding is defined by the grid's size (in tiles) and by the size of a tile.
:The grid seems to be always centered of the "floor" of the BNV's AABB (see above).
;0x5C - Floor and ceiling
;0x5C - Floor and ceiling
::(typical environment requiring this feature is compact staircases)
::(typical environment requiring this feature is compact staircases)