summaryrefslogtreecommitdiff
path: root/src/shyguy.cpp
diff options
context:
space:
mode:
authorColin Noga <Tempus@chronometry.ca>2012-03-03 15:41:03 -0600
committerColin Noga <Tempus@chronometry.ca>2012-03-03 15:41:03 -0600
commitb8b1efc008e5ca2c455b8ab225b5d005449de851 (patch)
tree4f9a65ccf18a8b38bbe7144b3de34deed7e3dfb9 /src/shyguy.cpp
parent5dece655469940b4752cb0dc81328c8171e2b5e7 (diff)
downloadkamek-b8b1efc008e5ca2c455b8ab225b5d005449de851.tar.gz
kamek-b8b1efc008e5ca2c455b8ab225b5d005449de851.zip
Lots of boss fixes, working on thwomp - linking error
Diffstat (limited to '')
-rw-r--r--src/shyguy.cpp77
1 files changed, 30 insertions, 47 deletions
diff --git a/src/shyguy.cpp b/src/shyguy.cpp
index bf54c64..36072b8 100644
--- a/src/shyguy.cpp
+++ b/src/shyguy.cpp
@@ -617,6 +617,7 @@ int daShyGuy::onCreate() {
doStateChange(&StateID_RealWalk);
}
else if (type == 1) {
+ bindAnimChr_and_setUpdateRate("c18_EV_WIN_2_R", 1, 0.0, 1.5);
doStateChange(&StateID_Walk);
}
else if (type == 2) {
@@ -668,6 +669,7 @@ int daShyGuy::onCreate() {
doStateChange(&StateID_RealWalk);
}
else if (type == 10) {
+ bindAnimChr_and_setUpdateRate("c18_EV_WIN_2_R", 1, 0.0, 1.5);
doStateChange(&StateID_Walk);
}
@@ -747,7 +749,6 @@ void daShyGuy::updateModelMatrices() {
// Walk State
///////////////
void daShyGuy::beginState_Walk() {
- bindAnimChr_and_setUpdateRate("c18_EV_WIN_2_R", 1, 0.0, 1.5);
this->timer = 0;
this->rot.y = (direction) ? 0xD800 : 0x2800;
@@ -759,13 +760,12 @@ void daShyGuy::updateModelMatrices() {
this->pos.x += (direction) ? -0.5 : 0.5;
+ if (this->timer > (this->distance * 32)) {
+ doStateChange(&StateID_Turn);
+ }
+
if(this->chrAnimation.isAnimationDone())
- if (this->timer > (this->distance * 32)) {
- doStateChange(&StateID_Turn);
- }
- else {
- this->chrAnimation.setCurrentFrame(0.0);
- }
+ this->chrAnimation.setCurrentFrame(0.0);
this->timer = this->timer + 1;
}
@@ -776,12 +776,15 @@ void daShyGuy::updateModelMatrices() {
// Turn State
///////////////
void daShyGuy::beginState_Turn() {
- bindAnimChr_and_setUpdateRate("c18_IDLE_R", 1, 0.0, 1.0);
+ // bindAnimChr_and_setUpdateRate("c18_IDLE_R", 1, 0.0, 1.0);
this->direction ^= 1;
this->speed.x = 0.0;
}
void daShyGuy::executeState_Turn() {
+ if(this->chrAnimation.isAnimationDone())
+ this->chrAnimation.setCurrentFrame(0.0);
+
u16 amt = (this->direction == 0) ? 0x2800 : 0xD800;
int done = SmoothRotation(&this->rot.y, amt, 0x800);
@@ -1109,24 +1112,24 @@ void daShyGuy::updateModelMatrices() {
spawned->speed.y = 2.0;
}
- if (spikeTurn == 0) {
- if (this->spikeA != 0) {
- PlaySound(spikeA, SE_OBJ_ROCK_S_CRASH);
- CreateEffect(&(Vec){this->spikeA->pos.x, this->spikeA->pos.y, 5500.0}, &(S16Vec){0,0,0}, &(Vec){1.0, 1.0, 1.0}, 9);
- this->spikeA->Delete(this->spikeA->_390);
- }
- this->spikeA = spawned;
- spikeTurn = 1;
- }
- else {
- if (this->spikeB != 0) {
- PlaySound(spikeB, SE_OBJ_ROCK_S_CRASH);
- CreateEffect(&(Vec){this->spikeB->pos.x, this->spikeB->pos.y, 5500.0}, &(S16Vec){0,0,0}, &(Vec){1.0, 1.0, 1.0}, 9);
- this->spikeB->Delete(this->spikeB->_390);
- }
- this->spikeB = spawned;
- spikeTurn = 0;
- }
+ // if (spikeTurn == 0) {
+ // if (this->spikeA != 0) {
+ // PlaySound(spikeA, SE_OBJ_ROCK_S_CRASH);
+ // CreateEffect(&(Vec){this->spikeA->pos.x, this->spikeA->pos.y, 5500.0}, &(S16Vec){0,0,0}, &(Vec){1.0, 1.0, 1.0}, 9);
+ // this->spikeA->Delete(this->spikeA->_390);
+ // }
+ // this->spikeA = spawned;
+ // spikeTurn = 1;
+ // }
+ // else {
+ // if (this->spikeB != 0) {
+ // PlaySound(spikeB, SE_OBJ_ROCK_S_CRASH);
+ // CreateEffect(&(Vec){this->spikeB->pos.x, this->spikeB->pos.y, 5500.0}, &(S16Vec){0,0,0}, &(Vec){1.0, 1.0, 1.0}, 9);
+ // this->spikeB->Delete(this->spikeB->_390);
+ // }
+ // this->spikeB = spawned;
+ // spikeTurn = 0;
+ // }
// spawned->_320 = 0.0f;
// spawned->_324 = 8.0f;
@@ -1400,27 +1403,7 @@ void daShyGuy::updateModelMatrices() {
calculateTileCollisions();
if(this->chrAnimation.isAnimationDone()) {
- if (type == 0) {
- doStateChange(&StateID_RealWalk);
- }
- else if (type == 1) {
- doStateChange(&StateID_Walk);
- }
- else if (type == 2) {
- doStateChange(&StateID_RealWalk);
- }
- else if (type == 3) {
- doStateChange(&StateID_Jump);
- }
- else if (type == 4) {
- doStateChange(&StateID_Judo);
- }
- else if (type == 5) {
- doStateChange(&StateID_Spike);
- }
- else {
- doStateChange(&StateID_RealWalk);
- }
+ doStateChange(&StateID_RealWalk);
}
}
void daShyGuy::endState_Recover() {