From bcaf929a03cf7608c2a9975dc6448eed2a5c5214 Mon Sep 17 00:00:00 2001 From: Colin Noga Date: Sat, 8 Dec 2012 14:43:03 -0600 Subject: giga goomba bugs fixed - hammers, bitfields, gp timer --- src/bossMegaGoomba.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/bossMegaGoomba.cpp b/src/bossMegaGoomba.cpp index c2ef1c7..f2f66be 100644 --- a/src/bossMegaGoomba.cpp +++ b/src/bossMegaGoomba.cpp @@ -137,7 +137,8 @@ void setNewActivePhysicsRect(daMegaGoomba_c *actor, Vec *scale) { actor->adjacentSensor.lineB = s32((amtY * 32.0f) * 4096.0f); actor->adjacentSensor.distanceFromCenter = s32((amtX * 46.0f) * 4096.0f); - u8 cat1 = 3, cat2 = 0, bitfield1 = 0x6f, bitfield2 = 0xffbafffe; + u8 cat1 = 3, cat2 = 0; + u32 bitfield1 = 0x6f, bitfield2 = 0xffbafffe; ActivePhysics::Info info = { 0.0f, amtY*57.0f, amtX*20.0f, amtY*31.0f, @@ -269,15 +270,18 @@ void daMegaGoomba_c::playerCollision(ActivePhysics *apThis, ActivePhysics *apOth } else if(ret == 0) { this->dEn_c::playerCollision(apThis, apOther); this->_vf220(apOther->owner); + this->counter_504[apOther->owner->which_player] = 180; } else if(ret == 2) { } else { } } void daMegaGoomba_c::collisionCat7_GroundPound(ActivePhysics *apThis, ActivePhysics *apOther) { + if (this->counter_504[apOther->owner->which_player] > 0) { return; } VEC2 eSpeed = {speed.x, speed.y}; killWithSpecifiedState(apOther->owner, &eSpeed, &dEn_c::StateID_DieOther); } void daMegaGoomba_c::collisionCat7_GroundPoundYoshi(ActivePhysics *apThis, ActivePhysics *apOther) { + if (this->counter_504[apOther->owner->which_player] > 0) { return; } VEC2 eSpeed = {speed.x, speed.y}; killWithSpecifiedState(apOther->owner, &eSpeed, &dEn_c::StateID_DieOther); } -- cgit v1.2.3