summaryrefslogtreecommitdiff
path: root/src/shyguyGiants.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/shyguyGiants.cpp')
-rw-r--r--src/shyguyGiants.cpp41
1 files changed, 33 insertions, 8 deletions
diff --git a/src/shyguyGiants.cpp b/src/shyguyGiants.cpp
index 21529fc..e6789d8 100644
--- a/src/shyguyGiants.cpp
+++ b/src/shyguyGiants.cpp
@@ -80,6 +80,17 @@ class daShyGuyGiant : public dEn_c {
void addScoreWhenHit(void *other);
void bouncePlayerWhenJumpedOn(void *player);
+ void spawnHitEffectAtPosition(Vec2 pos);
+ void doSomethingWithHardHitAndSoftHitEffects(Vec pos);
+ void playEnemyDownSound2();
+ void playHpdpSound1(); // plays PLAYER_SE_EMY/GROUP_BOOT/SE_EMY_DOWN_HPDP_S or _H
+ void playEnemyDownSound1();
+ void playEnemyDownComboSound(void *player); // AcPy_c/daPlBase_c?
+ void playHpdpSound2(); // plays PLAYER_SE_EMY/GROUP_BOOT/SE_EMY_DOWN_HPDP_S or _H
+ void _vf260(void *other); // AcPy/PlBase? plays the SE_EMY_FUMU_%d sounds based on some value
+ void _vf264(dStageActor_c *other); // if other is player or yoshi, do Wm_en_hit and a few other things
+ void _vf268(void *other); // AcPy/PlBase? plays the SE_EMY_DOWN_SPIN_%d sounds based on some value
+
USING_STATES(daShyGuyGiant);
DECLARE_STATE(RealWalk);
DECLARE_STATE(RealTurn);
@@ -128,11 +139,11 @@ daShyGuyGiant *daShyGuyGiant::build() {
hitType = usedForDeterminingStatePress_or_playerCollision(this, apThis, apOther, 0);
if (hitType == 1) { // regular jump
PlaySound(this, SE_EMY_CMN_STEP);
- this->counter_504[apOther->owner->which_player] = 0x1C;
+ this->counter_504[apOther->owner->which_player] = 0xA;
}
else if(hitType == 3){
PlaySound(this, SE_EMY_CMN_STEP);
- this->counter_504[apOther->owner->which_player] = 0x1C;
+ this->counter_504[apOther->owner->which_player] = 0xA;
}
else if(hitType == 0) {
this->dEn_c::playerCollision(apThis, apOther);
@@ -188,6 +199,18 @@ daShyGuyGiant *daShyGuyGiant::build() {
void daShyGuyGiant::addScoreWhenHit(void *other) { }
+ void daShyGuyGiant::spawnHitEffectAtPosition(Vec2 pos) { }
+ void daShyGuyGiant::doSomethingWithHardHitAndSoftHitEffects(Vec pos) { }
+ void daShyGuyGiant::playEnemyDownSound2() { }
+ void daShyGuyGiant::playHpdpSound1() { } // plays PLAYER_SE_EMY/GROUP_BOOT/SE_EMY_DOWN_HPDP_S or _H
+ void daShyGuyGiant::playEnemyDownSound1() { }
+ void daShyGuyGiant::playEnemyDownComboSound(void *player) { } // AcPy_c/daPlBase_c?
+ void daShyGuyGiant::playHpdpSound2() { } // plays PLAYER_SE_EMY/GROUP_BOOT/SE_EMY_DOWN_HPDP_S or _H
+ void daShyGuyGiant::_vf260(void *other) { } // AcPy/PlBase? plays the SE_EMY_FUMU_%d sounds based on some value
+ void daShyGuyGiant::_vf264(dStageActor_c *other) { } // if other is player or yoshi, do Wm_en_hit and a few other things
+ void daShyGuyGiant::_vf268(void *other) { } // AcPy/PlBase? plays the SE_EMY_DOWN_SPIN_%d sounds based on some value
+
+
bool daShyGuyGiant::calculateTileCollisions() {
// Returns true if sprite should turn, false if not.
@@ -267,21 +290,23 @@ void daShyGuyGiant::bindAnimChr_and_setUpdateRate(const char* name, int unk, flo
int daShyGuyGiant::onCreate() {
OSReport("Spawning Shy Guy");
- this->type = this->settings >> 28 & 0xF;
+ this->type = (this->settings >> 28) & 0xF;
allocator.link(-1, GameHeaps[0], 0, 0x20);
+ u32 colour = (this->settings >> 24) & 0xF;
+
// Shy Guy Colours
- if (this->settings >> 24 & 0xF == 1) {
+ if (colour == 1) {
this->resFile.data = getResource("shyguy", "g3d/ShyGuyBlue.brres");
}
- else if (this->settings >> 24 & 0xF == 2) {
+ else if (colour == 2) {
this->resFile.data = getResource("shyguy", "g3d/ShyGuyGreen.brres");
}
- else if (this->settings >> 24 & 0xF == 3) {
+ else if (colour == 3) {
this->resFile.data = getResource("shyguy", "g3d/ShyGuyCyan.brres");
}
- else if (this->settings >> 24 & 0xF == 4) {
+ else if (colour == 4) {
this->resFile.data = getResource("shyguy", "g3d/ShyGuyPurple.brres");
}
else {
@@ -365,7 +390,7 @@ int daShyGuyGiant::onCreate() {
HitMeBaby.category1 = 0x3;
HitMeBaby.category2 = 0x9;
HitMeBaby.bitfield1 = 0x4F;
- HitMeBaby.bitfield2 = 0xffbafffe;
+ HitMeBaby.bitfield2 = 0xffba7ffe;
HitMeBaby.unkShort1C = 0x20000;
HitMeBaby.callback = &shyCollisionCallback;