Browse Source

Added loading of nodes and leaves

master
Nico de Poel 3 years ago
parent
commit
06e87e85a2
  1. 21
      main.cpp

21
main.cpp

@ -361,12 +361,33 @@ int load_bsp(const char* bspname, world_t* world)
fseek(f, header->lface.offset, SEEK_SET); fseek(f, header->lface.offset, SEEK_SET);
fread(world->faceList, sizeof(unsigned short), world->faceListLength, f); fread(world->faceList, sizeof(unsigned short), world->faceListLength, f);
// Load nodes
world->numNodes = header->nodes.size / sizeof(node_t);
world->nodes = (node_t*)malloc(header->nodes.size);
if (world->nodes == NULL)
return 0;
fseek(f, header->nodes.offset, SEEK_SET);
fread(world->nodes, sizeof(node_t), world->numNodes, f);
// Load leaves
world->numLeaves = header->leaves.size / sizeof(dleaf_t);
world->leaves = (dleaf_t*)malloc(header->leaves.size);
if (world->leaves == NULL)
return 0;
fseek(f, header->leaves.offset, SEEK_SET);
fread(world->leaves, sizeof(dleaf_t), world->numLeaves, f);
fclose(f); fclose(f);
return 1; return 1;
} }
void free_bsp(world_t* world) void free_bsp(world_t* world)
{ {
free(world->leaves);
free(world->nodes);
free(world->faces); free(world->faces);
free(world->faceList); free(world->faceList);
free(world->edges); free(world->edges);

Loading…
Cancel
Save