summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorColin Noga <Tempus@chronometry.ca>2012-09-12 13:11:32 -0500
committerColin Noga <Tempus@chronometry.ca>2012-09-12 13:11:32 -0500
commit1294e7a96b7011c713be5515359b41338dafee04 (patch)
treeefc4779750ae700dcef1a96da3561fcd0f4b8b13 /src
parent9483344fcecf669e2be98b61d1fdb6c6e3aa5520 (diff)
downloadkamek-1294e7a96b7011c713be5515359b41338dafee04.tar.gz
kamek-1294e7a96b7011c713be5515359b41338dafee04.zip
shy guy fixes, Mega Goomba fixes
Diffstat (limited to '')
-rw-r--r--src/bossMegaGoomba.cpp14
-rw-r--r--src/shyguy.cpp29
2 files changed, 15 insertions, 28 deletions
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 = &shyCollisionCallback;
@@ -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;