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