BVB Format - DustStormPettigrew/LibLR1 GitHub Wiki
BVB — Collision Mesh
Physics collision geometry — simpler than GDB (positions only, no UVs or colors).
Top-Level Blocks
| Block ID | Hex | Type |
|---|---|---|
| Materials | 0x27 |
string[] |
| Polygons | 0x2D |
BVB_Polygon[] |
| Vertices | 0x34 |
LRVector3[] |
| Polygon Ranges | 0x8E |
BVB_PolygonRange[] |
BVB_Polygon
| Field | Type | Description |
|---|---|---|
| V0 | int (integral) | Vertex index 0 |
| V1 | int (integral) | Vertex index 1 |
| V2 | int (integral) | Vertex index 2 |
| Material | int (integral) | Material index |
Unlike GDB polygons (byte indices), BVB uses
ReadIntegralWithHeader()allowing larger meshes.
BVB_PolygonRange
| Field | Description |
|---|---|
| i0–i4 | Unknown (i2–i4 may be color?) |
| FirstPoly | First polygon index (suspected) |
| NumPolys | Polygon count (suspected) |
Read/Write Support
Read only (BVB_Polygon has Write; BVB_PolygonRange does not).