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; | 
