From 41cfc6aeac131a36a163b9f7645d86e80216bc67 Mon Sep 17 00:00:00 2001 From: Bl00D4NGEL Date: Sun, 29 Sep 2024 02:27:48 +0200 Subject: [PATCH] document: Leaky from TTC --- include/enums.h | 17 +++++++++-------- src/TTC/ch/blubber.c | 8 ++++---- src/TTC/ch/leaky.c | 34 ++++++++++++++++++---------------- src/TTC/ch/nipper.c | 2 +- src/TTC/code_26D0.c | 4 ++-- 5 files changed, 34 insertions(+), 31 deletions(-) diff --git a/include/enums.h b/include/enums.h index b607bee1..9313e022 100644 --- a/include/enums.h +++ b/include/enums.h @@ -2761,7 +2761,7 @@ enum asset_e ASSET_236_ANIM_BSPUMPKIN_REBOUND = 0x236, ASSET_238_ANIM_LOGGO_IDLE = 0x238, - + ASSET_239_ANIM_LEAKY_IDLE = 0x239, ASSET_240_ANIM_LOGGO_FLUSH = 0x240, ASSET_242_ANIM_GOBI_RELAXING = 0x242, @@ -3987,19 +3987,20 @@ enum asset_e ASSET_8A0_SPRITE_WATER_DROP = 0x8a0, - ASSET_A0B_FIRST_MEET_BLUBBER = 0xA0B, - ASSET_A0C_BLUBBER_HALF_GOLD = 0xA0C, - ASSET_A0D_BLUBBER_COMPLETE = 0xA0D, - ASSET_A0E_NIPPER_SPAWNED = 0xA0E, + ASSET_A0B_TEXT_BLUBBER_FIRST_MEET = 0xa0b, + ASSET_A0C_TEXT_BLUBBER_HALF_GOLD = 0xa0c, + ASSET_A0D_TEXT_BLUBBER_COMPLETE = 0xa0d, + ASSET_A0E_TEXT_NIPPER_SPAWNED = 0xa0e, - ASSET_A10_TEXT_TTC_NIPPER_HURT = 0xA10, + ASSET_A10_TEXT_TTC_NIPPER_HURT = 0xa10, - ASSET_A14_TEXT_CLAM_TAUNT = 0xA14, - ASSET_A15_TEXT_TTC_LOCKUP_SPAWNED = 0xA15, + ASSET_A14_TEXT_CLAM_TAUNT = 0xa14, + ASSET_A15_TEXT_TTC_LOCKUP_SPAWNED = 0xa15, ASSET_A17_TEXT_BURIED_TREASURE_SPAWNED = 0xa17, ASSET_A18_TEXT_TREASUREHUNT_FOLLOW_CLUES = 0xa18, ASSET_A19_TEXT_TREASUREHUNT_SECOND_STEP = 0xa19, + ASSET_A1A_TEXT_LEAKY_FIRST_MEET = 0xa1a, ASSET_A1F_DIALOG_SHOCKJUMP_LEARN = VER_SELECT(0xa1f, 0x91f, 0, 0), ASSET_A20_DIALOG_FLY_LEARN, diff --git a/src/TTC/ch/blubber.c b/src/TTC/ch/blubber.c index e3d004bf..9d7b1640 100644 --- a/src/TTC/ch/blubber.c +++ b/src/TTC/ch/blubber.c @@ -70,7 +70,7 @@ void chBlubber_showTextCallback(ActorMarker *caller, enum asset_e text_id, s32 a Actor *this = marker_getActor(caller); ActorLocal_Blubber *local = (ActorLocal_Blubber*)&this->local; - if(text_id == ASSET_A0D_BLUBBER_COMPLETE || text_id == ASSET_A2A_BLUBBER_COMPLETE_JIGGY_COLLECTED){ + if(text_id == ASSET_A0D_TEXT_BLUBBER_COMPLETE || text_id == ASSET_A2A_BLUBBER_COMPLETE_JIGGY_COLLECTED){ local->unk24 = 0; } else{ @@ -96,7 +96,7 @@ void chBlubber_showJiggySpawnedText(ActorMarker *marker){ this->actor_specific_1_f = 0.0f; if(!mapSpecificFlags_get(CH_BLUBBER_MAP_FLAG_2_JIGGY_SPAWNED_TEXT_SHOWN)) { - text_id = jiggyscore_isCollected(JIGGY_14_TTC_BLUBBER) ? ASSET_A2A_BLUBBER_COMPLETE_JIGGY_COLLECTED : ASSET_A0D_BLUBBER_COMPLETE; + text_id = jiggyscore_isCollected(JIGGY_14_TTC_BLUBBER) ? ASSET_A2A_BLUBBER_COMPLETE_JIGGY_COLLECTED : ASSET_A0D_TEXT_BLUBBER_COMPLETE; gcdialog_showText(text_id, 0xf, this->position, this->marker, chBlubber_showTextCallback, chBlubber_showTextCallback2); mapSpecificFlags_set(CH_BLUBBER_MAP_FLAG_2_JIGGY_SPAWNED_TEXT_SHOWN, TRUE); } @@ -164,7 +164,7 @@ void chBlubber_updateFunc(Actor * this){ && !this->has_met_before && item_getCount(ITEM_18_GOLD_BULLIONS) == 0 ){ - gcdialog_showText(ASSET_A0B_FIRST_MEET_BLUBBER, 0xe, this->position, this->marker, chBlubber_showTextCallback, NULL); + gcdialog_showText(ASSET_A0B_TEXT_BLUBBER_FIRST_MEET, 0xe, this->position, this->marker, chBlubber_showTextCallback, NULL); this->has_met_before = TRUE; subaddie_set_state_forward(this, CH_BLUBBER_STATE_3_UNKNOWN); } @@ -173,7 +173,7 @@ void chBlubber_updateFunc(Actor * this){ && !this->unk138_23 ){ if (item_getCount(ITEM_18_GOLD_BULLIONS) == 0) { - gcdialog_showText(ASSET_A0C_BLUBBER_HALF_GOLD, 4, NULL, NULL, NULL, NULL); + gcdialog_showText(ASSET_A0C_TEXT_BLUBBER_HALF_GOLD, 4, NULL, NULL, NULL, NULL); } this->unk138_23 = TRUE; diff --git a/src/TTC/ch/leaky.c b/src/TTC/ch/leaky.c index e8c715c3..153cdd42 100644 --- a/src/TTC/ch/leaky.c +++ b/src/TTC/ch/leaky.c @@ -6,33 +6,33 @@ extern void func_8028E668(f32 [3], f32, f32, f32); extern void func_8028F9DC(s32); extern void func_803272D0(f32 arg0[3], f32 arg1, s32 arg2, int (*arg3)(Actor *)); -void chLeaky_update(Actor *this); +void chLeaky_updateFunc(Actor *this); /* .data */ -ActorAnimationInfo D_8038C700[] = { +ActorAnimationInfo gChLeakyAnimations[3] = { {0x000, 0.0f}, - {0x239, 2.5f}, - {0x239, 2.5f} + {ASSET_239_ANIM_LEAKY_IDLE, 2.5f}, + {ASSET_239_ANIM_LEAKY_IDLE, 2.5f} }; -ActorInfo D_8038C718 = { +ActorInfo gChLeaky = { MARKER_33_LEAKY, ACTOR_1E_LEAKY, ASSET_51A_MODEL_LEAKY, - 0x1, D_8038C700, - chLeaky_update, func_80326224, actor_draw, + 0x1, gChLeakyAnimations, + chLeaky_updateFunc, func_80326224, actor_draw, 0, 0, 0.0f, 0 }; /* .code */ -bool TTC_func_80388F70(Actor *this){ +bool chLeaky_isCurrentModelShrapnel(Actor *this){ return this->modelCacheIndex == ACTOR_56_SHRAPNEL; } void func_80388F88(void){ static f32 D_8038C73C[3] = {2500.0f, 250.0f, 4600.0f}; - func_803272D0(D_8038C73C, 2000.0f, 2, TTC_func_80388F70); + func_803272D0(D_8038C73C, 2000.0f, 2, chLeaky_isCurrentModelShrapnel); } -void chLeaky_update(Actor *this) { +void chLeaky_updateFunc(Actor *this) { void *temp_v0_2; func_8028E668(this->position, 100.0f, -20.0f, 100.0f); @@ -53,21 +53,23 @@ void chLeaky_update(Actor *this) { this->state = 1; } } + if( this->state == 1 && !this->has_met_before && func_80329530(this, 250) && !func_80329530(this, 160) && !func_8028ECAC() - && gcdialog_showText(0xA1A, 0, NULL, NULL, NULL, NULL) + && gcdialog_showText(ASSET_A1A_TEXT_LEAKY_FIRST_MEET, 0, NULL, NULL, NULL, NULL) ){ this->has_met_before = TRUE; } + if (func_803114B0() == 0) { if (actor_animationIsAt(this, 0.83f)) { - func_8030E878(0x109, randf2(0.775f, 0.825f), 22000, this->position, 400.0f, 1000.0f); + func_8030E878(SFX_109_LOGGO_LID_CLAP, randf2(0.775f, 0.825f), 22000, this->position, 400.0f, 1000.0f); return; } if (actor_animationIsAt(this, 0.01f)) { - func_8030E878(0x109, randf2(1.025f, 1.075f), 18000, this->position, 400.0f, 1000.0f); + func_8030E878(SFX_109_LOGGO_LID_CLAP, randf2(1.025f, 1.075f), 18000, this->position, 400.0f, 1000.0f); return; } if( actor_animationIsAt(this, 0.15f) @@ -75,12 +77,12 @@ void chLeaky_update(Actor *this) { || actor_animationIsAt(this, 0.53f) || actor_animationIsAt(this, 0.66f) ){ - func_8030E878(0x109, randf2(1.225f, 1.275f), 14000, this->position, 400.0f, 1000.0f); + func_8030E878(SFX_109_LOGGO_LID_CLAP, randf2(1.225f, 1.275f), 14000, this->position, 400.0f, 1000.0f); } } } -void __chLeaky_startCutscene(ActorMarker *caller, enum asset_e text_id, s32 arg2){ +void chLeaky_showDoneText(ActorMarker *caller, enum asset_e text_id, s32 arg2){ Actor *this = marker_getActor(caller); Struct73s *temp_v0; subaddie_set_state(this, 2); @@ -111,6 +113,6 @@ bool chLeaky_eggCollision(ActorMarker *marker){ levelSpecificFlags_set(2, TRUE); levelSpecificFlags_set(5, TRUE); - gcdialog_showText(ASSET_A28_TEXT_LEAKY_DONE, 0x2a, this->position, this->marker, __chLeaky_startCutscene, NULL); + gcdialog_showText(ASSET_A28_TEXT_LEAKY_DONE, 0x2a, this->position, this->marker, chLeaky_showDoneText, NULL); return TRUE; } diff --git a/src/TTC/ch/nipper.c b/src/TTC/ch/nipper.c index 7a04a969..62b1fdb0 100644 --- a/src/TTC/ch/nipper.c +++ b/src/TTC/ch/nipper.c @@ -243,7 +243,7 @@ void chNipper_updateFunc(Actor *this){ && temp_v0 != 10 ){ subaddie_set_state_with_direction(this, CH_NIPPER_STATE_SPAWNED, 0.01f, 1); - if(gcdialog_showText(ASSET_A0E_NIPPER_SPAWNED, 0xf, this->position, this->marker, chNipper_spawnedShowTextCallback, NULL)){ + if(gcdialog_showText(ASSET_A0E_TEXT_NIPPER_SPAWNED, 0xf, this->position, this->marker, chNipper_spawnedShowTextCallback, NULL)){ this->has_met_before = TRUE; } comusic_8025AB44(COMUSIC_12_TTC_NIPPER, 5000, 300); diff --git a/src/TTC/code_26D0.c b/src/TTC/code_26D0.c index c0d5d50d..93e87b70 100644 --- a/src/TTC/code_26D0.c +++ b/src/TTC/code_26D0.c @@ -16,7 +16,7 @@ extern ActorInfo D_8038C670; extern ActorInfo D_8038C694; extern ActorInfo D_8038C6B8; extern ActorInfo D_8038C6DC; -extern ActorInfo D_8038C718; +extern ActorInfo gChLeaky; extern ActorInfo gChLockupSlow; extern ActorInfo gChLockupMedium; extern ActorInfo gChLockupFast; @@ -95,7 +95,7 @@ void TTC_func_80388AC0(void) spawnableActorList_add(&D_8038C604, actor_new, ACTOR_FLAG_NONE); spawnableActorList_add(&gChNipper, actor_new, ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_5 | ACTOR_FLAG_UNKNOWN_6 | ACTOR_FLAG_UNKNOWN_8 | ACTOR_FLAG_UNKNOWN_20 | ACTOR_FLAG_UNKNOWN_26); spawnableActorList_add(&gChBlubber, actor_new, ACTOR_FLAG_UNKNOWN_0 | ACTOR_FLAG_UNKNOWN_8 | ACTOR_FLAG_UNKNOWN_26); - spawnableActorList_add(&D_8038C718, actor_new, ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_7 | ACTOR_FLAG_UNKNOWN_8); + spawnableActorList_add(&gChLeaky, actor_new, ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_7 | ACTOR_FLAG_UNKNOWN_8); spawnableActorList_add(&gChLockupSlow, actor_new, ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_6 | ACTOR_FLAG_UNKNOWN_8); spawnableActorList_add(&gChLockupMedium, actor_new, ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_6 | ACTOR_FLAG_UNKNOWN_8); spawnableActorList_add(&gChLockupFast, actor_new, ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_6 | ACTOR_FLAG_UNKNOWN_8);