diff options
Diffstat (limited to 'src/koopatlas')
-rw-r--r-- | src/koopatlas/pathmanager.cpp | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/koopatlas/pathmanager.cpp b/src/koopatlas/pathmanager.cpp index 995c906..64e001a 100644 --- a/src/koopatlas/pathmanager.cpp +++ b/src/koopatlas/pathmanager.cpp @@ -142,9 +142,6 @@ void dWMPathManager_c::unlockPaths() { path->setLayerAlpha((path->isAvailable == dKPPath_s::ALWAYS_AVAILABLE) ? 255 : 0); } - for (int i = 0; i < pathLayer->nodeCount; i++) - NodeAvailabilityData[i] = pathLayer->nodes[i]->isUnlocked(); - SaveBlock *save = GetSaveFile()->GetBlock(-1); u8 *in = (u8*)dScKoopatlas_c::instance->mapData.data->unlockData; @@ -189,6 +186,9 @@ void dWMPathManager_c::unlockPaths() { SpammyReport("UNLOCKING PATHS: All complete @ %p\n", in); + for (int i = 0; i < pathLayer->nodeCount; i++) + NodeAvailabilityData[i] = pathLayer->nodes[i]->isUnlocked(); + // did anything become newly available?! newlyAvailablePaths = 0; newlyAvailableNodes = 0; @@ -327,6 +327,17 @@ void dWMPathManager_c::execute() { unlockingAlpha = -1; MapSoundPlayer(SoundRelatedClass, SE_SYS_NEW_POINT_END, 1); waitAfterUnlock = 15; + + for (int i = 0; i < pathLayer->nodeCount; i++) { + dKPNode_s *node = pathLayer->nodes[i]; + + if (node->isNew && node->type == dKPNode_s::LEVEL) { + Vec efPos = {node->x, -node->y, 3300.0f}; + S16Vec efRot = {0x2000,0,0}; + Vec efScale = {0.8f,0.8f,0.8f}; + SpawnEffect("Wm_cs_pointlight", 0, &efPos, &efRot, &efScale); + } + } } return; |