Open DCxDemo opened 4 years ago
format progress so far
It was figured out that water effect is controlled by bit1 in node flags value. Turning that on renders everything as water. Rest is unknown, but bits 3 and 4 somehow affect the subdivision.
bits 3 and 4 reduce 4x4 subdivision down to 4x1 and 4x2 respectively. bit6 correctly hides all invisible meshes
"can point to some data" on the screenshot is assumed to link to another list of nodes for instanced models. this way the game knows how to collide with instances (boxes, signs, etc)
it was figured the general approach is similar to Quake's BSP/PVS, every quad is linked to the chunk of bitstream data that describes what is visible from this point and what not.
At this point we know this array is a kind of BSP tree used to render QuadBlocks. Defines sets of visible quads from every other quad in the level. Every node stores a bounding box. Rendered bounding boxes loosely repeat the level shape. Every node has some flag, denoting node type. Some nodes store links to leaves.