From 1294e7a96b7011c713be5515359b41338dafee04 Mon Sep 17 00:00:00 2001 From: Colin Noga Date: Wed, 12 Sep 2012 13:11:32 -0500 Subject: shy guy fixes, Mega Goomba fixes --- src/bossMegaGoomba.cpp | 14 -------------- src/shyguy.cpp | 29 +++++++++++++++-------------- 2 files changed, 15 insertions(+), 28 deletions(-) (limited to 'src') diff --git a/src/bossMegaGoomba.cpp b/src/bossMegaGoomba.cpp index 3dde8a6..9b6f577 100644 --- a/src/bossMegaGoomba.cpp +++ b/src/bossMegaGoomba.cpp @@ -55,8 +55,6 @@ class daMegaGoomba_c : public dEn_c { nw4r::g3d::ResFile resFile; m3d::mdl_c bodyModel; m3d::anmChr_c animationChr; - nw4r::g3d::ResAnmTexPat resTexPat; - m3d::anmTexPat_c animationPat; float timer; float dying; @@ -309,15 +307,6 @@ void daMegaGoomba_c::setupBodyModel() { ret = this->animationChr.setup(mdl, anmChr, &this->allocator, 0); this->bindAnimChr_and_setUpdateRate("walk", 1, 0.0, 0.2); - nw4r::g3d::ResAnmTexPat anmPat = this->resFile.GetResAnmTexPat("walk"); - this->resTexPat = anmPat; - ret = this->animationPat.setup(mdl, anmPat, &this->allocator, 0, 1); - this->animationPat.bindEntry(&this->bodyModel, &anmPat, 0, 0); - this->bodyModel.bindAnim(&this->animationPat, 0.0); - this->animationPat.setFrameForEntry(1.0, 0); - this->animationPat.setUpdateRateForEntry(1.0, 0); - this->animationPat.setEntryByte34(0, 0); - allocator.unlink(); } @@ -433,7 +422,6 @@ int daMegaGoomba_c::onDraw() { //DONT DO REST HERE// #if 0 bodyModel._vf1C(); - animationPat.process(); #endif return true; } @@ -645,7 +633,6 @@ void daMegaGoomba_c::beginState_Turn() { } void daMegaGoomba_c::executeState_Turn() { this->bodyModel._vf1C(); - this->animationPat.process(); this->HandleYSpeed(); this->doSpriteMovement(); @@ -697,7 +684,6 @@ void daMegaGoomba_c::beginState_Walk() { void daMegaGoomba_c::executeState_Walk() { /* 800345e0 - daEnLkuribo_c::executeState_Walk() */ this->bodyModel._vf1C(); - this->animationPat.process(); //HOMEMADE// this->HandleXSpeed(); this->HandleYSpeed(); diff --git a/src/shyguy.cpp b/src/shyguy.cpp index 2c71252..213caa8 100644 --- a/src/shyguy.cpp +++ b/src/shyguy.cpp @@ -195,6 +195,7 @@ daShyGuy *daShyGuy::build() { } void ChucklesAndKnuckles(ActivePhysics *apThis, ActivePhysics *apOther) { + if (apOther->owner->name != PLAYER) { return; } ((dEn_c*)apThis->owner)->_vf220(apOther->owner); } @@ -289,9 +290,9 @@ daShyGuy *daShyGuy::build() { } void daShyGuy::yoshiCollision(ActivePhysics *apThis, ActivePhysics *apOther) { this->playerCollision(apThis, apOther); } - void daShyGuy::collisionCatD_GroundPound(ActivePhysics *apThis, ActivePhysics *apOther) { doStateChange(&StateID_Die); } - void daShyGuy::collisionCat7_WMWaggleWater(ActivePhysics *apThis, ActivePhysics *apOther) { doStateChange(&StateID_Die); } - void daShyGuy::collisionCat7_WMWaggleWaterYoshi(ActivePhysics *apThis, ActivePhysics *apOther) { doStateChange(&StateID_Die); } + void daShyGuy::collisionCatD_GroundPound(ActivePhysics *apThis, ActivePhysics *apOther) { PlaySound(this, SE_EMY_DOWN); doStateChange(&StateID_Die); } + void daShyGuy::collisionCat7_WMWaggleWater(ActivePhysics *apThis, ActivePhysics *apOther) { PlaySound(this, SE_EMY_DOWN); doStateChange(&StateID_Die); } + void daShyGuy::collisionCat7_WMWaggleWaterYoshi(ActivePhysics *apThis, ActivePhysics *apOther) { PlaySound(this, SE_EMY_DOWN); doStateChange(&StateID_Die); } void daShyGuy::collisionCat9_RollingObject(ActivePhysics *apThis, ActivePhysics *apOther) { doStateChange(&StateID_Die); } void daShyGuy::collisionCatA_PenguinMario(ActivePhysics *apThis, ActivePhysics *apOther){ doStateChange(&StateID_Die); } @@ -313,6 +314,7 @@ daShyGuy *daShyGuy::build() { this->damage += 1; dStateBase_c *stateVar; + stateVar = &StateID_DieSmoke; if (this->type < 6) { // Regular Shy Guys Except Jumper @@ -556,7 +558,7 @@ int daShyGuy::onCreate() { this->scale = (Vec){20.0, 20.0, 20.0}; - this->pos.y = this->pos.y + 40.0; + this->pos.y += 32.0; this->rot.x = 0; // X is vertical axis this->rot.y = 0xD800; // Y is horizontal axis this->rot.z = 0; // Z is ... an axis >.> @@ -601,7 +603,7 @@ int daShyGuy::onCreate() { HitMeBaby.category1 = 0x3; HitMeBaby.category2 = 0x0; - HitMeBaby.bitfield1 = 0x4F; + HitMeBaby.bitfield1 = 0x6F; HitMeBaby.bitfield2 = 0xffbafffe; HitMeBaby.unkShort1C = 0; HitMeBaby.callback = ­CollisionCallback; @@ -668,7 +670,7 @@ int daShyGuy::onCreate() { iKnuckles.category1 = iChuckles.category1 = 0x3; iKnuckles.category2 = iChuckles.category2 = 0x0; iKnuckles.bitfield1 = iChuckles.bitfield1 = 0x4F; - iKnuckles.bitfield2 = iChuckles.bitfield2 = 0x6; + iKnuckles.bitfield2 = iChuckles.bitfield2 = 0x0; iKnuckles.unkShort1C = iChuckles.unkShort1C = 0x0; iKnuckles.callback = iChuckles.callback = ChucklesAndKnuckles; @@ -1116,18 +1118,18 @@ void daShyGuy::updateModelMatrices() { if (this->direction == 1) { spawned = CreateActor(89, 0x2, pos, 0, 0); - spawned->scale.x = 0.75; - spawned->scale.y = 0.75; - spawned->scale.z = 0.75; + spawned->scale.x = 0.9; + spawned->scale.y = 0.9; + spawned->scale.z = 0.9; spawned->speed.x = -2.0; spawned->speed.y = 2.0; } else { spawned = CreateActor(89, 0x12, pos, 0, 0); - spawned->scale.x = 0.75; - spawned->scale.y = 0.75; - spawned->scale.z = 0.75; + spawned->scale.x = 0.9; + spawned->scale.y = 0.9; + spawned->scale.z = 0.9; spawned->speed.x = 2.0; spawned->speed.y = 2.0; @@ -1264,8 +1266,6 @@ void daShyGuy::updateModelMatrices() { } void daShyGuy::executeState_GoDizzy() { calculateTileCollisions(); - - // Needs tile collision shit here, because jumpers can get hit and fall downwards. effect.spawn("Wm_en_spindamage", 0, &(Vec){this->pos.x, this->pos.y + 24.0, 0}, &(S16Vec){0,0,0}, &(Vec){1.0, 1.0, 1.0}); @@ -1425,6 +1425,7 @@ void daShyGuy::updateModelMatrices() { /////////////// void daShyGuy::beginState_Die() { // dEn_c::dieFall_Begin(); + this->removeMyActivePhysics(); bindAnimChr_and_setUpdateRate("c18_C_BLOCK_BREAK_R", 1, 0.0, 2.0); this->timer = 0; -- cgit v1.2.3