OBD:AKVA: Difference between revisions
m (sync++) |
m (minor updates) |
||
| Line 130: | Line 130: | ||
| BGCOLOR="#FF80C0" | 04 00 00 00 | | BGCOLOR="#FF80C0" | 04 00 00 00 | ||
| 4 | | 4 | ||
| ALIGN=LEFT | 4 | | ALIGN=LEFT | bit 4 always set, bit 1 set if floor is sloped, bit 16 see below | ||
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD" | |- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD" | ||
| BGCOLOR="#D0C0AF" | 00 00 00 00 | | BGCOLOR="#D0C0AF" | 00 00 00 00 | ||
| Line 163: | Line 163: | ||
::[[User:Geyser|geyser]] 20:02, 28 December 2006 (CET) | ::[[User:Geyser|geyser]] 20:02, 28 December 2006 (CET) | ||
:What about them, really? Maybe some of the "unknown; always 0" fields? | :What about them, really? Maybe some of the "unknown; always 0" fields? | ||
:... (much later) well, they could also be 0 by default (hardcoded) | |||
::[[User:Geyser|geyser]] 23:20, 16 April 2007 (CEST) | |||
;Floor normal | ;Floor normal | ||
:ssg's observations; didn't check. [[User:Geyser|geyser]] | :ssg's observations; didn't check. [[User:Geyser|geyser]] | ||
;Children and siblings | |||
:Those occur when smaller BNVs are included into larger ones. | |||
:The bigger BNV only links to its first child. If there are several children, the sibling link is used to define the series. | |||
;No raw part | |||
:Only one example of a BNV that has an x-z grid size but no grid data: BNV 165 in level4 (far side of tarmac, behind the fence) | |||
:Notably, that one BNV also has the 16 flag set (see above, before the floor normal). | |||
---- | ---- | ||
{{OBD_File_Footer|align=center|type=AKVA|prev=AKOT|next=BINA|name=BNV Node Array|family=Level|onistuff=akva}} | {{OBD_File_Footer|align=center|type=AKVA|prev=AKOT|next=BINA|name=BNV Node Array|family=Level|onistuff=akva}} | ||
Revision as of 21:20, 16 April 2007
|
|
|
- BNVs are volumes that have a pathfinding grid assigned to them.
- The grid itself is in the RAW, while its overall parameters are in the DAT.
| Hex | Translation | Meaning |
| 01 4E 02 00 | 590 | 00590-.AKVA |
| 01 00 00 06 | 3 | level 3 |
| AD DE | dead | not used |
| 1E 01 00 00 | 286 | 286 BNV nodes in array |
| First BNV node (black outline) | ||
| 00 00 00 00 | 0 | index into AKBP array |
| 00 00 00 00 | 0 | BNV's ID (same as index in array) |
| 00 00 00 00 | 0 | index into AKBA array ("from"?) |
| 06 00 00 00 | 6 | index into AKBA array ("to"?) |
| FF FF FF FF | unknown | index in array of child BNV |
| FF FF FF FF | unknown | index in array of sibling BNV |
| FF FF FF FF | unknown | unknown, always -1 |
| C9 00 00 00 | 201 | size of the pathfinding grid along x : 201 tiles |
| 16 00 00 00 | 22 | size of the pathfinding grid along z : 22 tiles |
| A0 3A 47 00 | 47 3A A0 | offset of the pathfinding grid data in the RAW file |
| F7 01 00 00 | 503 | size of the pathfinding grid data in the RAW file (in bytes) |
| 00 00 80 40 | 4.000000 | tile size of the pathfinding grid |
| 00 00 20 41 | 10.000000 | xmin |
| 00 00 58 C1 | -13.500000 | ymin |
| 00 80 2A C4 | -682.000000 | zmin |
| 00 40 47 44 | 797.000000 | xmax |
| 00 00 22 42 | 40.500000 | ymax |
| 00 00 19 C4 | 612.000000 | zmax |
| FE FF | 64534 | unknown, always -2 |
| FE FF | 64534 | unknown, always -2 |
| 00 00 00 00 | 0 | BNV's ID again |
| 00 00 00 00 | 0 | unknown, always 0 |
| 00 00 00 00 | 0 | unknown, always 0 |
| 00 00 00 00 | 0 | unknown, always 0, was a raw file offset once |
| 04 00 00 00 | 4 | bit 4 always set, bit 1 set if floor is sloped, bit 16 see below |
| 00 00 00 00 | 0.000000 | x-component of floor normal if sloped, 0 if horizontal |
| 00 00 00 00 | 0.000000 | y-component of floor normal if sloped, 0 if horizontal |
| 00 00 00 00 | 0.000000 | z-component of floor normal if sloped, 0 if horizontal |
| 00 00 00 00 | 0.000000 | unknown |
| 00 00 00 00 | 0.000000 | unknown |
- xmin, ymin, zmin, xmax, ymax, zmax
- BNVs are axis-aligned boxes, so the coordinates of two opposed corners define a BNV completely.
- It makes sense to specify a "minimal" corner and a "maximal" corner, in that order.
- Still unknown and probably important
- The grid usually "bleeds" outside the (x,z) extent of the BNV.
- The amount of bleeding is defined by the grid's size (in tiles) and by the size of a tile.
- The only unknown is the offset of the grid with respect to the center of the BNV's base.
- I suppose it's specified by some of the unknown floats. Didn't check.
- I don't remember seeing a rotated BNV, but there could be some of those.
- geyser 20:02, 28 December 2006 (CET)
- What about them, really? Maybe some of the "unknown; always 0" fields?
- ... (much later) well, they could also be 0 by default (hardcoded)
- geyser 23:20, 16 April 2007 (CEST)
- Floor normal
- ssg's observations; didn't check. geyser
- Children and siblings
- Those occur when smaller BNVs are included into larger ones.
- The bigger BNV only links to its first child. If there are several children, the sibling link is used to define the series.
- No raw part
- Only one example of a BNV that has an x-z grid size but no grid data: BNV 165 in level4 (far side of tarmac, behind the fence)
- Notably, that one BNV also has the 16 flag set (see above, before the floor normal).
| ONI BINARY DATA |
|---|
| AKOT << Other file types >> BINA |
| AKVA : BNV Node Array |
| Level file |
