diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/bossSamurshai.cpp | 1 | ||||
-rwxr-xr-x | src/mrsun.cpp | 6 | ||||
-rw-r--r-- | src/shyguy.cpp | 12 | ||||
-rw-r--r-- | src/topman.cpp | 6 |
4 files changed, 19 insertions, 6 deletions
diff --git a/src/bossSamurshai.cpp b/src/bossSamurshai.cpp index 59e8036..12adfeb 100644 --- a/src/bossSamurshai.cpp +++ b/src/bossSamurshai.cpp @@ -264,6 +264,7 @@ daSamurshai *daSamurshai::build() { if (collMgr.isOnTopOfTile()) { isBouncing = true; } + pos.x = direction ? pos.x + speed.x : pos.x - speed.x; return true; } return false; diff --git a/src/mrsun.cpp b/src/mrsun.cpp index 8f8b811..1cdfdc9 100755 --- a/src/mrsun.cpp +++ b/src/mrsun.cpp @@ -54,6 +54,7 @@ class daMrSun_c : public dEn_c { bool collisionCat1_Fireball_E_Explosion(ActivePhysics *apThis, ActivePhysics *apOther); bool collisionCat2_IceBall_15_YoshiIce(ActivePhysics *apThis, ActivePhysics *apOther); bool collisionCat13_Hammer(ActivePhysics *apThis, ActivePhysics *apOther); + bool collisionCatA_PenguinMario(ActivePhysics *apThis, ActivePhysics *apOther); bool collisionCat9_RollingObject(ActivePhysics *apThis, ActivePhysics *apOther); bool collisionCat3_StarPower(ActivePhysics *apThis, ActivePhysics *apOther); bool collisionCatD_Drill(ActivePhysics *apThis, ActivePhysics *apOther); @@ -132,7 +133,10 @@ bool daMrSun_c::collisionCat7_GroundPoundYoshi(ActivePhysics *apThis, ActivePhys DamagePlayer(this, apThis, apOther); return true; } - +bool daMrSun_c::collisionCatA_PenguinMario(ActivePhysics *apThis, ActivePhysics *apOther) { + DamagePlayer(this, apThis, apOther); + return true; +} void daMrSun_c::dieFall_Execute() { diff --git a/src/shyguy.cpp b/src/shyguy.cpp index ee7a1bf..ddd2923 100644 --- a/src/shyguy.cpp +++ b/src/shyguy.cpp @@ -219,7 +219,8 @@ daShyGuy *daShyGuy::build() { if (name == EN_COIN || name == EN_EATCOIN || name == AC_BLOCK_COIN || name == EN_COIN_JUGEM || name == EN_COIN_ANGLE || name == EN_COIN_JUMP || name == EN_COIN_FLOOR || name == EN_COIN_VOLT || name == EN_COIN_WIND - || name == EN_BLUE_COIN || name == EN_COIN_WATER || name == EN_REDCOIN || name == EN_GREENCOIN) + || name == EN_BLUE_COIN || name == EN_COIN_WATER || name == EN_REDCOIN || name == EN_GREENCOIN + || name == EN_JUMPDAI || name == EN_ITEM) { return; } if (acState.getCurrentState() == &StateID_RealWalk) { @@ -381,7 +382,8 @@ daShyGuy *daShyGuy::build() { } // void daShyGuy::collisionCat2_IceBall_15_YoshiIce(ActivePhysics *apThis, ActivePhysics *apOther) { - // doStateChange(&StateID_DieFall); + + // dEn_C::collisionCat2_IceBall_15_YoshiIce(apThis, apOther); // } // These handle the ice crap @@ -761,7 +763,11 @@ int daShyGuy::onDraw() { void daShyGuy::updateModelMatrices() { // This won't work with wrap because I'm lazy. - matrix.translation(pos.x, pos.y - 2.0, pos.z); + + if (this->frzMgr._mstate == 1) + matrix.translation(pos.x, pos.y, pos.z); + else + matrix.translation(pos.x, pos.y - 2.0, pos.z); matrix.applyRotationYXZ(&rot.x, &rot.y, &rot.z); bodyModel.setDrawMatrix(matrix); diff --git a/src/topman.cpp b/src/topman.cpp index 8b99f0d..55123f8 100644 --- a/src/topman.cpp +++ b/src/topman.cpp @@ -433,7 +433,8 @@ void daTopman::updateModelMatrices() { } void daTopman::executeState_Walk() { - PlaySound(this, SE_BOSS_JR_CROWN_JR_RIDE); // 5 + if (!this->isOutOfView()) + PlaySound(this, SE_BOSS_JR_CROWN_JR_RIDE); // 5 bool ret = calculateTileCollisions(); if (ret) { @@ -485,7 +486,8 @@ void daTopman::updateModelMatrices() { } void daTopman::executeState_Wait() { - PlaySound(this, SE_BOSS_JR_CROWN_JR_RIDE); // 5 + if (!this->isOutOfView()) + PlaySound(this, SE_BOSS_JR_CROWN_JR_RIDE); // 5 bool ret = calculateTileCollisions(); if (ret) { |