From 97d2062611b086c8ed46467773982b6531dba566 Mon Sep 17 00:00:00 2001 From: Bl00D4NGEL Date: Sun, 29 Sep 2024 01:40:44 +0200 Subject: [PATCH] Document: Clam from TTC --- include/enums.h | 2 +- src/TTC/ch/clam.c | 93 +++++++++++++++++++++--------------------- src/TTC/code_26D0.c | 4 +- src/core2/code_85800.c | 16 ++++---- 4 files changed, 58 insertions(+), 57 deletions(-) diff --git a/include/enums.h b/include/enums.h index efff476c..b607bee1 100644 --- a/include/enums.h +++ b/include/enums.h @@ -3994,7 +3994,7 @@ enum asset_e ASSET_A10_TEXT_TTC_NIPPER_HURT = 0xA10, - ASSET_A14_TEXT_UNKNOWN = 0xA14, + ASSET_A14_TEXT_CLAM_TAUNT = 0xA14, ASSET_A15_TEXT_TTC_LOCKUP_SPAWNED = 0xA15, ASSET_A17_TEXT_BURIED_TREASURE_SPAWNED = 0xa17, diff --git a/src/TTC/ch/clam.c b/src/TTC/ch/clam.c index c3459864..e3ba44d0 100644 --- a/src/TTC/ch/clam.c +++ b/src/TTC/ch/clam.c @@ -6,41 +6,42 @@ extern void spawnQueue_bundle_f32(s32, s32, s32, s32); extern f32 func_80257204(f32, f32, f32, f32); extern ActorProp * func_80320EB0(ActorMarker *, f32, s32); -void chClam_update(Actor *this); +void TTC_Clam_updateFunc(Actor *this); /* .data */ -ActorAnimationInfo chClamAnimations[] = { +ActorAnimationInfo TTC_CLAM_ANIMATIONS[4] = { {0x00, 0.0f}, {ASSET_AA_ANIM_CLAM_IDLE, 2.0f}, {ASSET_24_ANIM_CLAM_HOP, 1.0f}, {ASSET_AB_ANIM_CLAM_EAT, 0.6f} }; -ActorInfo chClam = { +ActorInfo TTC_CLAM_ACTOR = { MARKER_15_CLAM, ACTOR_69_CLAM, ASSET_351_MODEL_CLAM, - 0x1, chClamAnimations, - chClam_update, func_80326224, actor_draw, + 0x1, TTC_CLAM_ANIMATIONS, + TTC_Clam_updateFunc, func_80326224, actor_draw, 4500, 0x366, 1.6f, 0 }; /* .code */ -void __chClam_func_803863F0(enum sfx_e sfx_id, f32 arg1, s32 arg2, f32 position[3], f32 arg4, f32 arg5){ +void TTC_Clam_playSfx(enum sfx_e sfx_id, f32 volume, s32 sampleRate, f32 position[3], f32 minFadeDistance, f32 maxFadeDistance){ if(func_803114B0()){ - arg2 -= 10000; - if(arg2 < 0) - arg2 = 0; + sampleRate -= 10000; + if(sampleRate < 0) + sampleRate = 0; } - func_8030E878(sfx_id, arg1, arg2, position, arg4, arg5); + + func_8030E878(sfx_id, volume, sampleRate, position, minFadeDistance, maxFadeDistance); } -void __chClam_func_80386454(Actor *this){ +void TTC_Clam_func_80386454(Actor *this){ subaddie_set_state_with_direction(this, 1, 0.01f, 1); actor_loopAnimation(this); animctrl_setDuration(this->animctrl, randf2(1.9f, 2.1f)); } -bool __chClam_updateTarget(Actor *this, f32 arg1) { +bool TTC_Clam_updateFuncTarget(Actor *this, f32 arg1) { f32 egg_dist; f32 red_feather_dist; f32 pad; @@ -88,13 +89,13 @@ bool __chClam_updateTarget(Actor *this, f32 arg1) { if ((volatileFlag_get(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE) ? 0 : 0x11) < this->actor_specific_1_f) { this->actor_specific_1_f = (volatileFlag_get(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE) != 0) ? 0.0f : 17.0f; } else if (sp38 == 0) { - __chClam_func_803863F0(SFX_AE_YUMYUM_TALKING, randf2(0.9f, 1.0f), 22000, this->position, 500.0f, 2000.0f); + TTC_Clam_playSfx(SFX_AE_YUMYUM_TALKING, randf2(0.9f, 1.0f), 22000, this->position, 500.0f, 2000.0f); } return TRUE; } -bool __chClam_rotateTowardTarget(Actor *this, s32 arg1) { +bool TTC_Clam_rotateTowardTarget(Actor *this, s32 arg1) { f32 temp_f0_2; s32 position; s32 sp2C; @@ -104,7 +105,7 @@ bool __chClam_rotateTowardTarget(Actor *this, s32 arg1) { animctrl_setDuration(this->animctrl, 1.0f); sp2C = (s32) ((f64) (60.0f / (f32) func_8033DD90()) * 0.5); - if ((this->unk1C[0] != 0.0f) || !__chClam_updateTarget(this, sp2C)) { + if ((this->unk1C[0] != 0.0f) || !__TTC_Clam_updateFuncTarget(this, sp2C)) { if (((f64) animctrl_getAnimTimer(this->animctrl) < 0.1) && ((f64) randf() < 0.5)) { if (this->unk1C[0] != 0.0f) { arg1 *= 2; @@ -136,7 +137,7 @@ bool __chClam_rotateTowardTarget(Actor *this, s32 arg1) { } -void __chClam_particalEmitterInit(ParticleEmitter *pCtrl, f32 position[3]){ +void TTC_Clam_particalEmitterInit(ParticleEmitter *pCtrl, f32 position[3]){ particleEmitter_setPosition(pCtrl, position); func_802EF9F8(pCtrl, 0.7f); func_802EFA18(pCtrl, 3); @@ -156,7 +157,7 @@ void __chClam_emitLargeShellParticles(f32 position[3], s32 count){ ParticleEmitter *pCtrl; pCtrl = partEmitMgr_newEmitter(count); - __chClam_particalEmitterInit(pCtrl, position); + TTC_Clam_particalEmitterInit(pCtrl, position); particleEmitter_setModel(pCtrl, ASSET_37C_MODEL_CLAM_LARGE_SHELL_PIECE); particleEmitter_setVelocityAndAccelerationRanges(pCtrl, &D_8038C3F4); particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); @@ -164,7 +165,7 @@ void __chClam_emitLargeShellParticles(f32 position[3], s32 count){ particleEmitter_emitN(pCtrl, count); } -void __chClam_emitEyeParticles(f32 position[3], s32 count){ +void TTC_Clam_emitEyeParticles(f32 position[3], s32 count){ static struct41s D_8038C424 = { {{-80.0f, 400.0f, -80.0f}, {160.0f, 860.0f, 160.0f}}, {{ 0.0f, -1400.0f, 0.0f}, { 0.0f, -1400.0f, 0.0f}} @@ -172,7 +173,7 @@ void __chClam_emitEyeParticles(f32 position[3], s32 count){ ParticleEmitter *pCtrl; pCtrl = partEmitMgr_newEmitter(count); - __chClam_particalEmitterInit(pCtrl, position); + TTC_Clam_particalEmitterInit(pCtrl, position); particleEmitter_setModel(pCtrl, ASSET_37D_MODEL_CLAM_EYE); particleEmitter_setVelocityAndAccelerationRanges(pCtrl, &D_8038C424); particleEmitter_setAngularVelocityRange(pCtrl, -300.0f, -300.0f, -300.0f, 300.0f, 300.0f, 300.0f); @@ -180,7 +181,7 @@ void __chClam_emitEyeParticles(f32 position[3], s32 count){ particleEmitter_emitN(pCtrl, count); } -void __chClam_emitSmallShellParticles(f32 position[3], s32 count){ +void TTC_Clam_emitSmallShellParticles(f32 position[3], s32 count){ static struct41s D_8038C454 = { {{-200.0f, 850.0f, -200.0f}, {400.0f, 1000.0f, 400.0f}}, {{ 0.0f, -1800.0f, 0.0f}, { 0.0f, -1800.0f, 0.0f}} @@ -188,7 +189,7 @@ void __chClam_emitSmallShellParticles(f32 position[3], s32 count){ ParticleEmitter *pCtrl; pCtrl = partEmitMgr_newEmitter(count); - __chClam_particalEmitterInit(pCtrl, position); + TTC_Clam_particalEmitterInit(pCtrl, position); particleEmitter_setModel(pCtrl, ASSET_37E_MODEL_CLAM_SMALL_SHELL_PIECE); particleEmitter_setVelocityAndAccelerationRanges(pCtrl, &D_8038C454); particleEmitter_setAngularVelocityRange(pCtrl, -800.0f, -800.0f, -800.0f, 800.0f, 800.0f, 800.0f); @@ -196,7 +197,7 @@ void __chClam_emitSmallShellParticles(f32 position[3], s32 count){ particleEmitter_emitN(pCtrl, count); } -void __chClam_emitEatencollectibleParticles(f32 position[3], enum asset_e sprite_id, s32 count){ +void TTC_Clam_emitEatencollectibleParticles(f32 position[3], enum asset_e sprite_id, s32 count){ static ParticleScaleAndLifetimeRanges D_8038C484 = { {0.2f, 0.35f}, {0.0f, 0.0f}, @@ -221,22 +222,22 @@ void __chClam_emitEatencollectibleParticles(f32 position[3], enum asset_e sprite particleEmitter_emitN(pCtrl, count); } -void __chClam_takeDamage(ActorMarker *this_marker, ActorMarker *other_marker){ +void TTC_Clam_takeDamage(ActorMarker *this_marker, ActorMarker *other_marker){ Actor *this; this = marker_getActor(this_marker); this->marker->collidable = FALSE; this->unk138_27 = TRUE; - __chClam_func_803863F0(SFX_1D_HITTING_AN_ENEMY_1, 1.0f, 26000, this->position, 1500.0f, 2000.0f); - __chClam_func_803863F0(SFX_115_BUZZBOMB_DEATH, 1.2f, 26000, this->position, 1500.0f, 2000.0f); - __chClam_emitLargeShellParticles(this->position, 2); - __chClam_emitEyeParticles(this->position, 2); - __chClam_emitSmallShellParticles(this->position, 0xC); + TTC_Clam_playSfx(SFX_1D_HITTING_AN_ENEMY_1, 1.0f, 26000, this->position, 1500.0f, 2000.0f); + TTC_Clam_playSfx(SFX_115_BUZZBOMB_DEATH, 1.2f, 26000, this->position, 1500.0f, 2000.0f); + TTC_Clam_emitLargeShellParticles(this->position, 2); + TTC_Clam_emitEyeParticles(this->position, 2); + TTC_Clam_emitSmallShellParticles(this->position, 0xC); func_803115C4(0xa14); marker_despawn(this->marker); } -void __chClam_playerDropsItem(s32 index, enum item_e item_id){ +void TTC_Clam_playerDropsItem(s32 index, enum item_e item_id){ f32 position[3]; player_getPosition(position); @@ -245,22 +246,22 @@ void __chClam_playerDropsItem(s32 index, enum item_e item_id){ item_dec(item_id); } -void __chClam_attackOther(ActorMarker *this_marker, ActorMarker *other_marker){ +void TTC_Clam_attackOther(ActorMarker *this_marker, ActorMarker *other_marker){ if(func_80297C6C() == 3) return; - if( !mapSpecificFlags_get(5) && gcdialog_showText(ASSET_A14_TEXT_UNKNOWN, 0, NULL, NULL, NULL, NULL)){ + if( !mapSpecificFlags_get(5) && gcdialog_showText(ASSET_A14_TEXT_CLAM_TAUNT, 0, NULL, NULL, NULL, NULL)){ mapSpecificFlags_set(5, TRUE); } if(item_getCount(ITEM_D_EGGS) != 0) - __chClam_playerDropsItem(0xe, ITEM_D_EGGS); + TTC_Clam_playerDropsItem(0xe, ITEM_D_EGGS); if(item_getCount(ITEM_F_RED_FEATHER) != 0) - __chClam_playerDropsItem(0xf, ITEM_F_RED_FEATHER); + TTC_Clam_playerDropsItem(0xf, ITEM_F_RED_FEATHER); } -void chClam_update(Actor *this){ +void TTC_Clam_updateFunc(Actor *this){ ActorProp *sp4C = func_80320EB0(this->marker, 30.0f, 1); f32 sp48; s32 sp44; @@ -273,7 +274,7 @@ void chClam_update(Actor *this){ if(!this->volatile_initialized){ this->volatile_initialized = TRUE; - marker_setCollisionScripts(this->marker, NULL, __chClam_attackOther, __chClam_takeDamage); + marker_setCollisionScripts(this->marker, NULL, TTC_Clam_attackOther, TTC_Clam_takeDamage); } if(this->state != 3){ @@ -292,16 +293,16 @@ void chClam_update(Actor *this){ animctrl_setDuration(this->animctrl, 0.6f); marker_despawn(sp4C->marker); } - }//L80387140 - }//L80387144 + } + } switch(this->state){ case 1://L80387170 - if(__chClam_rotateTowardTarget(this, 140)){ + if(__TTC_Clam_rotateTowardTarget(this, 140)){ subaddie_set_state_with_direction(this, 2, 0.01f, 1); actor_playAnimationOnce(this); animctrl_setDuration(this->animctrl, 1.0f); - __chClam_func_803863F0(SFX_3F2_UNKNOWN, randf2(1.0f, 1.1f), 22000, this->position, 1500.0f, 2000.0f); + TTC_Clam_playSfx(SFX_3F2_UNKNOWN, randf2(1.0f, 1.1f), 22000, this->position, 1500.0f, 2000.0f); } else{ animctrl_setDuration(this->animctrl, 2.0f); @@ -312,13 +313,13 @@ void chClam_update(Actor *this){ this->position_y += this->velocity_y; this->velocity_y += -5.0f; if(actor_animationIsAt(this, 0.63f)){ - __chClam_func_803863F0(SFX_80_YUMYUM_CLACK, 1.0f, 20000, this->position, 1500.0f, 2000.0f); + TTC_Clam_playSfx(SFX_80_YUMYUM_CLACK, 1.0f, 20000, this->position, 1500.0f, 2000.0f); } if(this->position_y <= sp48){ this->position_y = sp48; if(actor_animationIsAt(this, 0.99f) || 0.98 < animctrl_getAnimTimer(this->animctrl)){ - __chClam_func_80386454(this); + TTC_Clam_func_80386454(this); } } else{//L803872D4 @@ -334,12 +335,12 @@ void chClam_update(Actor *this){ } if(3.0f <= this->velocity_x){ - __chClam_func_80386454(this); + TTC_Clam_func_80386454(this); break; } if(actor_animationIsAt(this, 0.8f) && 2.0f == this->velocity_x){ - __chClam_func_803863F0(SFX_4B_GULPING, randf2(0.8f, 0.9f), 22000, this->position, 700.0f, 2000.0f); + TTC_Clam_playSfx(SFX_4B_GULPING, randf2(0.8f, 0.9f), 22000, this->position, 700.0f, 2000.0f); break; }//L803873C4 @@ -347,15 +348,15 @@ void chClam_update(Actor *this){ if(!this->marker->unk14_21) break; - __chClam_func_803863F0(SFX_4C_LIP_SMACK, 1.0f, 20000, this->position, 500.0f, 2000.0f); + TTC_Clam_playSfx(SFX_4C_LIP_SMACK, 1.0f, 20000, this->position, 500.0f, 2000.0f); func_8034A174(this->marker->unk44, 5, sp38); switch(this->unk38_31){ case MARKER_60_BLUE_EGG_COLLECTIBLE: - __chClam_emitEatencollectibleParticles(sp38, ASSET_718_SPRITE_SPARKLE_WHITE_2, 8); + TTC_Clam_emitEatencollectibleParticles(sp38, ASSET_718_SPRITE_SPARKLE_WHITE_2, 8); break; case MARKER_B5_RED_FEATHER_COLLECTIBLE: - __chClam_emitEatencollectibleParticles(sp38, ASSET_715_SPRITE_SPARKLE_RED, 8); + TTC_Clam_emitEatencollectibleParticles(sp38, ASSET_715_SPRITE_SPARKLE_RED, 8); break; } break; diff --git a/src/TTC/code_26D0.c b/src/TTC/code_26D0.c index f7d945dd..ac7a3872 100644 --- a/src/TTC/code_26D0.c +++ b/src/TTC/code_26D0.c @@ -5,7 +5,7 @@ #include "SnS.h" #include "actor.h" -extern ActorInfo chClam; +extern ActorInfo TTC_CLAM_ACTOR; extern ActorInfo TTC_BLUBBER_ACTOR; extern ActorInfo TTC_NIPPER_ACTOR; extern ActorInfo D_8038C5E0; @@ -109,7 +109,7 @@ void TTC_func_80388AC0(void) spawnableActorList_add(&D_8038C694, actor_new, ACTOR_FLAG_UNKNOWN_10); spawnableActorList_add(&D_8038C6B8, actor_new, ACTOR_FLAG_UNKNOWN_10); spawnableActorList_add(&D_8038C6DC, actor_new, ACTOR_FLAG_UNKNOWN_10); - spawnableActorList_add(&chClam, actor_new, ACTOR_FLAG_UNKNOWN_0 | ACTOR_FLAG_UNKNOWN_6 | ACTOR_FLAG_UNKNOWN_25); + spawnableActorList_add(&TTC_CLAM_ACTOR, actor_new, ACTOR_FLAG_UNKNOWN_0 | ACTOR_FLAG_UNKNOWN_6 | ACTOR_FLAG_UNKNOWN_25); } void TTC_func_80388C78(Actor *this){ diff --git a/src/core2/code_85800.c b/src/core2/code_85800.c index 21784de7..efb92208 100644 --- a/src/core2/code_85800.c +++ b/src/core2/code_85800.c @@ -899,7 +899,7 @@ void func_8030E760(enum sfx_e uid, f32 arg1, s32 arg2){ func_8030D6C4(uid, arg1, arg2, 0, 0); } -void sfx_play(enum sfx_e uid, f32 arg1, u32 sampleRate, f32 position[3], f32 minFadeDistance, f32 maxFadeDistance, s32 arg6){ +void sfx_play(enum sfx_e uid, f32 volume, u32 sampleRate, f32 position[3], f32 minFadeDistance, f32 maxFadeDistance, s32 arg6){ u8 sfxsource; f32 player_position[3]; @@ -913,7 +913,7 @@ void sfx_play(enum sfx_e uid, f32 arg1, u32 sampleRate, f32 position[3], f32 min func_8030DD90(sfxsource, arg6); // priority ? sfxsource_setSfxId(sfxsource, uid); sfxsource_setSampleRate(sfxsource, sampleRate); - sfxsource_playSfxAtVolume(sfxsource, arg1); // volume ? + sfxsource_playSfxAtVolume(sfxsource, volume); sfxsource_set_fade_distances(sfxsource, minFadeDistance, maxFadeDistance); sfxsource_set_position(sfxsource, position); func_8030DD14(sfxsource, 1); @@ -922,8 +922,8 @@ void sfx_play(enum sfx_e uid, f32 arg1, u32 sampleRate, f32 position[3], f32 min } } -void func_8030E878(enum sfx_e id, f32 arg1, u32 sampleRate, f32 position[3], f32 minFadeDistance, f32 maxFadeDistance){ - sfx_play(id, arg1, sampleRate, position, minFadeDistance, maxFadeDistance, 2); +void func_8030E878(enum sfx_e id, f32 volume, u32 sampleRate, f32 position[3], f32 minFadeDistance, f32 maxFadeDistance){ + sfx_play(id, volume, sampleRate, position, minFadeDistance, maxFadeDistance, 2); } // fadeDistance is a 32-bit value where the lower 16 bits represent minFadeDistance and the upper 16 bits represent maxFadeDistance. @@ -935,12 +935,12 @@ void func_8030E8B4(u32 arg0, f32 position[3], u32 fadeDistance){ ); } -void func_8030E988(enum sfx_e uid, f32 arg1, u32 sampleRate, f32 position[3], f32 minFadeDistance, f32 maxFadeDistance){ - sfx_play(uid, arg1, sampleRate, position, minFadeDistance, maxFadeDistance, 1); +void func_8030E988(enum sfx_e uid, f32 volume, u32 sampleRate, f32 position[3], f32 minFadeDistance, f32 maxFadeDistance){ + sfx_play(uid, volume, sampleRate, position, minFadeDistance, maxFadeDistance, 1); } -void func_8030E9C4(enum sfx_e uid, f32 arg1, u32 sampleRate, f32 position[3], f32 minFadeDistance, f32 maxFadeDistance){ - sfx_play(uid, arg1, sampleRate, position, minFadeDistance, maxFadeDistance, 0); +void func_8030E9C4(enum sfx_e uid, f32 volume, u32 sampleRate, f32 position[3], f32 minFadeDistance, f32 maxFadeDistance){ + sfx_play(uid, volume, sampleRate, position, minFadeDistance, maxFadeDistance, 0); } void func_8030E9FC(enum sfx_e uid, f32 arg1, f32 arg2, u32 sampleRate, f32 position[3], f32 minFadeDistance, f32 maxFadeDistance){