diff options
| -rwxr-xr-x | include/game.h | 1 | ||||
| -rw-r--r-- | kamek_pal.x | 3 | ||||
| -rw-r--r-- | src/bonusRoom.cpp | 2 | ||||
| -rw-r--r-- | src/fileselect.S | 4 | ||||
| -rw-r--r-- | src/shyguy.cpp | 7 | 
5 files changed, 11 insertions, 6 deletions
| diff --git a/include/game.h b/include/game.h index 9d126a9..0058319 100755 --- a/include/game.h +++ b/include/game.h @@ -3948,6 +3948,7 @@ class StageE4 {  		void killAllEnemiesAtLevelEnd(int type);
  		// 0=normal, 1=?, 2=kill indiscriminately, for ambush levels
  		// just use 0.
 +		void spawnCoinJump(const VEC3 &pos, int direction, int coinCount, int layer);
  };
  // Some ugly code
 diff --git a/kamek_pal.x b/kamek_pal.x index 0f7bbb4..2976acc 100644 --- a/kamek_pal.x +++ b/kamek_pal.x @@ -1804,6 +1804,9 @@ SECTIONS {  	JrClownDemoWaitState = 0x80999884;  	ClownDemoWaitState = 0x803580DC; +	spawnCoinJump__7StageE4FRC7Point3diii = 0x80066630; + +  	.text : {  		FILL (0) diff --git a/src/bonusRoom.cpp b/src/bonusRoom.cpp index e2c89d0..5438b4f 100644 --- a/src/bonusRoom.cpp +++ b/src/bonusRoom.cpp @@ -1028,7 +1028,7 @@ void dSingAlong::addPowerups() {  	SaveFile *file = GetSaveFile();  	SaveBlock *block = file->GetBlock(file->header.current_file); -	for (int i = 0; i < 7; i++) { // Change this to 8 to support hammers +	for (int i = 0; i < 8; i++) { // Change this to 8 to support hammers  		block->powerups_available[i] = block->powerups_available[i] + this->Powerups[i];  		if (block->powerups_available[i] > 99) { block->powerups_available[i] = 99; } diff --git a/src/fileselect.S b/src/fileselect.S index 25b1805..ad874fd 100644 --- a/src/fileselect.S +++ b/src/fileselect.S @@ -126,8 +126,8 @@ chosenWName:  	lwz r22, 4(r3)  	# Now, subtract the paid star coins -	lhz r3, 0x66(r31) -	sub r21, r21, r3 +	# lhz r3, 0x66(r31) +	# sub r21, r21, r3  	# r21: Star Coin Count  	# r22: Exit Count diff --git a/src/shyguy.cpp b/src/shyguy.cpp index 1e89a8a..5a5dc8d 100644 --- a/src/shyguy.cpp +++ b/src/shyguy.cpp @@ -154,7 +154,6 @@ daShyGuy *daShyGuy::build() {  	extern "C" int SmoothRotation(short* rot, u16 amt, int unk2);  	// extern "C" void addToList(StandOnTopCollider *self); -  	CREATE_STATE(daShyGuy, Walk);  	CREATE_STATE(daShyGuy, Turn);  	CREATE_STATE(daShyGuy, RealWalk); @@ -297,6 +296,7 @@ daShyGuy *daShyGuy::build() {  		return this->collisionCatD_Drill(apThis, apOther);  	}  	bool daShyGuy::collisionCat13_Hammer(ActivePhysics *apThis, ActivePhysics *apOther) { +		StageE4::instance->spawnCoinJump(pos, 0, 2, 0);  		return this->collisionCatD_Drill(apThis, apOther);  	} @@ -324,8 +324,8 @@ daShyGuy *daShyGuy::build() {  				stateVar = &StateID_FireKnockBack;  			}  			else { +				StageE4::instance->spawnCoinJump(pos, 0, 1, 0);  				doStateChange(&StateID_DieSmoke); -				this->_vf14C();	  			}  		}  		else { // Ballooneers @@ -335,8 +335,8 @@ daShyGuy *daShyGuy::build() {  		if (this->damage > 1) {  			nw4r::snd::SoundHandle handle;  			PlaySoundWithFunctionB4(SoundRelatedClass, &handle, SE_EMY_DOWN, 1); +			StageE4::instance->spawnCoinJump(pos, 0, 1, 0);  			doStateChange(&StateID_DieSmoke); -			this->_vf14C();		  		}  		else {  			nw4r::snd::SoundHandle handle; @@ -457,6 +457,7 @@ int daShyGuy::onCreate() {  	allocator.link(-1, GameHeaps[0], 0, 0x20); +	this->deleteForever = 1;  	// Balloon Specifics  	if (type == 6 || type == 7 || type == 8) { | 
