diff options
Diffstat (limited to '')
| -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; | 
