diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/koopatlas/map.cpp | 12 | ||||
-rw-r--r-- | src/koopatlas/mapdata.cpp | 11 | ||||
-rw-r--r-- | src/koopatlas/mapdata.h | 1 |
3 files changed, 14 insertions, 10 deletions
diff --git a/src/koopatlas/map.cpp b/src/koopatlas/map.cpp index 38610e6..bca294c 100644 --- a/src/koopatlas/map.cpp +++ b/src/koopatlas/map.cpp @@ -312,7 +312,7 @@ void dWMMap_c::renderer_c::renderDoodadLayer(dKPLayer_s *layer) { elapsed = anim->frameCount - 1 - elapsed; if (elapsed >= anim->frameCount) { - if (elapsed >= (anim->frameCount + delay)) { + if (elapsed >= (anim->frameCount + anim->delay)) { // we've reached the end switch (anim->loop) { @@ -419,8 +419,10 @@ void dWMMap_c::renderer_c::renderDoodadLayer(dKPLayer_s *layer) { } void dWMMap_c::renderer_c::renderPathLayer(dKPLayer_s *layer) { + return; + for (int i = 0; i < layer->nodeCount; i++) { - dKPNode_s **node = layer->nodes[i]; + dKPNode_s *node = layer->nodes[i]; int world = node->levelNumber[0]; int level = node->levelNumber[1]; @@ -455,9 +457,9 @@ void dWMMap_c::renderer_c::renderPathLayer(dKPLayer_s *layer) { else node->color.setCurrentFrame(3); // Red - matrix.translation(node->x, node->y, 500.0); } - matrix.applyRotationYXZ(&rot.x, &rot.y, &rot.z); - node->model.setDrawMatrix(matrix); + node->matrix.translation(node->x, node->y, 500.0); + node->matrix.applyRotationYXZ(0, 0, 0); + node->model.setDrawMatrix(node->matrix); node->model.setScale(1.0f, 1.0f, 1.0f); node->model.calcWorld(false); diff --git a/src/koopatlas/mapdata.cpp b/src/koopatlas/mapdata.cpp index 4a51519..524fb4f 100644 --- a/src/koopatlas/mapdata.cpp +++ b/src/koopatlas/mapdata.cpp @@ -50,9 +50,9 @@ bool dKPMapData_c::load(const char *filename) { bool didLoadTilesets = loadTilesets(); bool didLoadBG = (bgLoader.load("/Maps/Water.brres") != 0); - bool nodeLoader.load("/Maps/visCobCourse.brres"); + bool didLoadNode = nodeLoader.load("/Maps/visCobCourse.brres"); - return didLoadTilesets && didLoadBG; + return didLoadTilesets && didLoadBG && didLoadNode; } bool dKPMapData_c::loadTilesets() { @@ -90,13 +90,14 @@ void dKPMapData_c::unloadTilesets() { } bgLoader.unload(); - nodeLoader.unload() + nodeLoader.unload(); } void dKPMapData_c::fixup() { fixedUp = true; fixRef(data->layers); + fixRef(data->tilesets); for (int iLayer = 0; iLayer < data->layerCount; iLayer++) { dKPLayer_s *layer = fixRef(data->layers[iLayer]); @@ -143,6 +144,7 @@ void dKPMapData_c::fixup() { if (node->type == dKPNode_s::CHANGE) fixRef(node->destMap); else if (node->type == dKPNode_s::LEVEL) { + break; node->allocator.link(-1, GameHeaps[0], 0, 0x20); @@ -155,7 +157,7 @@ void dKPMapData_c::fixup() { nw4r::g3d::ResAnmVis anmRes = rf.GetResAnmVis("cobCourse"); node->model.setup(mdl, &node->allocator, 0x224, 1, 0); - node->color.setup(mdl, anmRes, &node->allocator, 0, 1); + node->color.setup(mdl, anmRes, &node->allocator, 0); node->color.bind(&node->model, anmRes, 0); node->model.bindAnim(&node->color, 0.0f); SetupTextures_MapObj(&node->model, 0); @@ -165,7 +167,6 @@ void dKPMapData_c::fixup() { } } - fixRef(data->tilesets); } diff --git a/src/koopatlas/mapdata.h b/src/koopatlas/mapdata.h index c4d16b5..bb9e6c8 100644 --- a/src/koopatlas/mapdata.h +++ b/src/koopatlas/mapdata.h @@ -2,6 +2,7 @@ #define __KOOPATLAS_MAPDATA_H #include <game.h> +#include <g3dhax.h> // forward declarations struct dKPLayer_s; |