diff options
Diffstat (limited to '')
| -rw-r--r-- | src/creditsMgr.cpp | 6 | ||||
| -rw-r--r-- | src/koopatlas/pathmanager.cpp | 7 | ||||
| -rw-r--r-- | src/levelinfo.cpp | 5 | 
3 files changed, 13 insertions, 5 deletions
diff --git a/src/creditsMgr.cpp b/src/creditsMgr.cpp index 4f30bc4..e4dafda 100644 --- a/src/creditsMgr.cpp +++ b/src/creditsMgr.cpp @@ -564,7 +564,11 @@ void dCreditsMgr_c::theEnd() {  	GetTheEnd()->willShow = true;  }  void dCreditsMgr_c::exitStage() { -	ExitStage(WORLD_MAP, 0x20000000, BEAT_LEVEL, CIRCLE_WIPE); +	SaveBlock *save = GetSaveFile()->GetBlock(-1); +	bool wasPreviouslyBeat = (save->bitfield & 2) != 0; +	save->bitfield |= 2; + +	ExitStage(WORLD_MAP, wasPreviouslyBeat ? 0 : 0x20000000, BEAT_LEVEL, CIRCLE_WIPE);  }  Vec2 dCreditsMgr_c::_vf70() { diff --git a/src/koopatlas/pathmanager.cpp b/src/koopatlas/pathmanager.cpp index 162084d..ad39c69 100644 --- a/src/koopatlas/pathmanager.cpp +++ b/src/koopatlas/pathmanager.cpp @@ -695,6 +695,8 @@ bool dWMPathManager_c::doingThings() {  }  void dWMPathManager_c::execute() { +	dScKoopatlas_c *wm = dScKoopatlas_c::instance; +  	if (isEnteringLevel) {  		if (levelStartWait > 0) {  			levelStartWait--; @@ -724,7 +726,8 @@ void dWMPathManager_c::execute() {  					waitAfterInitialPlayerAnim = 38;  					nw4r::snd::SoundHandle something; -					PlaySoundWithFunctionB4(SoundRelatedClass, &something, SE_VOC_MA_CS_JUMP, 1); +					if (!wm->isEndingScene) +						PlaySoundWithFunctionB4(SoundRelatedClass, &something, SE_VOC_MA_CS_JUMP, 1);  				}  			}  		} @@ -735,7 +738,7 @@ void dWMPathManager_c::execute() {  		waitAfterInitialPlayerAnim--;  		if (waitAfterInitialPlayerAnim == 0)  			daWMPlayer_c::instance->startAnimation(wait_select, 1.0f, 0.0f, 0.0f); -		if (mustPlayAfterWinAnim && (waitAfterInitialPlayerAnim == 9)) { +		if (mustPlayAfterWinAnim && (waitAfterInitialPlayerAnim == 9) && !wm->isEndingScene) {  			nw4r::snd::SoundHandle something;  			PlaySoundWithFunctionB4(SoundRelatedClass, &something, SE_PLY_LAND_ROCK, 1);  		} diff --git a/src/levelinfo.cpp b/src/levelinfo.cpp index d0ddd9a..1b71e70 100644 --- a/src/levelinfo.cpp +++ b/src/levelinfo.cpp @@ -115,9 +115,10 @@ void UpdateFSStars() {  	bool beatGame = (save->GetLevelCondition(7, 23) & COND_NORMAL) != 0;
 -	save->bitfield &= ~0x3E;
 +//	save->bitfield &= ~0x3E;
 +	save->bitfield &= ~0x3C;
  	save->bitfield |=
 -		(beatGame ? 2 : 0) |
 +//		(beatGame ? 2 : 0) |
  		(exitsNormal ? 4 : 0) |
  		(coinsNormal ? 8 : 0) |
  		(exitsW9 ? 0x10 : 0) |
  | 
