diff options
Diffstat (limited to 'src/shyguyGiants.cpp')
-rw-r--r-- | src/shyguyGiants.cpp | 41 |
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 = ­CollisionCallback; |