From 41f5312d9c627b512456dde5099659fb72fb24d3 Mon Sep 17 00:00:00 2001 From: Bl00D4NGEL Date: Sun, 29 Sep 2024 01:13:07 +0200 Subject: [PATCH] document: Treasurehunt from TTC --- include/enums.h | 2 + src/TTC/ch/nipper.c | 2 +- src/TTC/ch/treasurehunt.c | 180 +++++++++++++++++++------------------- src/TTC/code_26D0.c | 12 +-- src/core2/ch/gameSelect.c | 2 +- src/core2/code_9A740.c | 2 +- src/core2/code_AD110.c | 16 ++-- 7 files changed, 109 insertions(+), 107 deletions(-) diff --git a/include/enums.h b/include/enums.h index d1233827..efff476c 100644 --- a/include/enums.h +++ b/include/enums.h @@ -3998,6 +3998,8 @@ enum asset_e 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_A1F_DIALOG_SHOCKJUMP_LEARN = VER_SELECT(0xa1f, 0x91f, 0, 0), ASSET_A20_DIALOG_FLY_LEARN, diff --git a/src/TTC/ch/nipper.c b/src/TTC/ch/nipper.c index 8351d1a9..1d1fcc58 100644 --- a/src/TTC/ch/nipper.c +++ b/src/TTC/ch/nipper.c @@ -25,7 +25,7 @@ ActorInfo TTC_NIPPER_ACTOR = { 0, 0x299, 10.0f, 0 }; -enum ttc_lockup_states_e { +enum ttc_nipper_states_e { TTC_NIPPER_STATE_1_UNKNOWN = 1, // L80388578 TTC_NIPPER_STATE_2_UNKNOWN = 2, // L8038872C TTC_NIPPER_STATE_3_UNKNOWN = 3, // L803887B4 diff --git a/src/TTC/ch/treasurehunt.c b/src/TTC/ch/treasurehunt.c index a8d7490f..b10792df 100644 --- a/src/TTC/ch/treasurehunt.c +++ b/src/TTC/ch/treasurehunt.c @@ -9,13 +9,13 @@ typedef struct { s32 unk0; }ActorLocal_TreasureHunt; -void TTC_func_80389E90(Actor *this); -Actor *func_8038A0D0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); +void TTC_Treasurehunt_updateFunc(Actor *this); +Actor *TTC_Treasurehunt_animFunc(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); -extern u32 D_8037DCB4; +extern u32 TTC_TREASUREHUNT_PUZZLE_CURRENT_STEP; /* .data */ -f32 D_8038C820[6][3] = { +f32 TTC_TREASUREHUNT_STEP_POSITIONS[6][3] = { {2904.0f, 2458.0f, -7351.0f}, {-7007.0f, 2013.0f, 401.0f}, {-3388.0f, 1519.0f, 5939.0f}, @@ -24,40 +24,41 @@ f32 D_8038C820[6][3] = { {7667.0f, 717.0f, 1676.0f} }; -f32 D_8038C868[6] = { 300.0f, 180.0f, 220.0f, 270.0f, 330.0f, 255.0f}; -s32 D_8038C880[6] = {0x6E, 0xD2, 0x10E, 0x145, 0x14A, 0}; -s32 D_8038C898[6] = { +f32 TTC_TREASUREHUNT_STEP_RED_X_YAWS[6] = { 300.0f, 180.0f, 220.0f, 270.0f, 330.0f, 255.0f }; +s32 TTC_TREASUREHUNT_STEP_YAWS[6] = { 0x6E, 0xD2, 0x10E, 0x145, 0x14A, 0 }; +s32 TTC_TREASUREHUNT_STEP_ACTORS[6] = { ACTOR_53_RED_ARROW, ACTOR_53_RED_ARROW, ACTOR_53_RED_ARROW, ACTOR_53_RED_ARROW, ACTOR_54_RED_QUESTION_MARK, - 0x46 -}; //enum actor_e + ACTOR_46_JIGGY +}; -ActorInfo D_8038C8B0 = { +ActorInfo TTC_TREASUREHUNT_ACTOR_RED_ARROW = { MARKER_62_RED_ARROW, ACTOR_53_RED_ARROW, ASSET_3E9_MODEL_RED_ARROW, 0, NULL, - TTC_func_80389E90, func_80326224, func_8038A0D0, + TTC_Treasurehunt_updateFunc, func_80326224, TTC_Treasurehunt_animFunc, 0, 0x400, 0.0f, 0 }; -ActorInfo D_8038C8D4 = { +ActorInfo TTC_TREASUREHUNT_ACTOR_RED_QUESTION_MARK = { MARKER_63_RED_QUESTION_MARK, ACTOR_54_RED_QUESTION_MARK, ASSET_3EB_MODEL_RED_QUESTION_MARK, 0, NULL, - TTC_func_80389E90, func_80326224, func_8038A0D0, + TTC_Treasurehunt_updateFunc, func_80326224, TTC_Treasurehunt_animFunc, 0, 0x400, 0.0f, 0 }; -ActorInfo D_8038C8F8 = { +ActorInfo TTC_TREASUREHUNT_ACTOR_RED_X = { MARKER_64_RED_X, ACTOR_55_RED_X, ASSET_3EA_MODEL_RED_X, 0, NULL, - TTC_func_80389E90, func_80326224, func_8038A0D0, + TTC_Treasurehunt_updateFunc, func_80326224, TTC_Treasurehunt_animFunc, 0, 0x400, 0.0f, 0 }; -s32 D_8038C91C[3] = {160, 120, 20}; -ParticleScaleAndLifetimeRanges D_8038C928 = { +s32 TTC_TREASUREHUNT_PARTICLE_RGB[3] = {160, 120, 20}; + +ParticleScaleAndLifetimeRanges TTC_TREASUREHUNT_PARTICLE_SCALE_AND_LIFETIME_RANGES = { {1.1f, 1.5f}, {4.0f, 4.6f}, {0.0f, 0.01f}, @@ -65,121 +66,120 @@ ParticleScaleAndLifetimeRanges D_8038C928 = { 0.0f, 0.01f }; -struct42s D_8038C950 = { +struct42s TTC_TREASUREHUNT_VELOCITY_RANGES = { {{-230.0f, 30.0f, -230.0f}, {230.0f, 110.0f, 230.0f}}, {{-60.0f, 0.0f, -60.0f}, {60.0f, 30.0f, 60.0f}}, }; /* .code */ -bool TTC_func_803899C0(void) { - enum comusic_e phi_a0; - s32 phi_a1; +bool TTC_Treasurehunt_isActiveHitboxBeakBusterHitbox(void) { + enum comusic_e comusic_id; + s32 music_volume; if (player_getActiveHitbox(0) == HITBOX_1_BEAK_BUSTER) { - phi_a0 = COMUSIC_2B_DING_B; - phi_a1 = 28000; - if (D_8037DCB4 == 5) { - phi_a0 = COMUSIC_2D_PUZZLE_SOLVED_FANFARE; - phi_a1 = 0x7FFF; + comusic_id = COMUSIC_2B_DING_B; + music_volume = 28000; + if (TTC_TREASUREHUNT_PUZZLE_CURRENT_STEP == 5) { + comusic_id = COMUSIC_2D_PUZZLE_SOLVED_FANFARE; + music_volume = 0x7FFF; } - func_8025A6EC(phi_a0, phi_a1); + func_8025A6EC(comusic_id, music_volume); return TRUE; } return FALSE; } -void func_80389A1C(void) { +void TTC_Treasurehunt_spawnRedXForNextStep(void) { Actor *actor; ActorLocal_TreasureHunt *local; - actor = actor_spawnWithYaw_f32(0x55, D_8038C820[D_8037DCB4], 0); + actor = actor_spawnWithYaw_f32(ACTOR_55_RED_X, TTC_TREASUREHUNT_STEP_POSITIONS[TTC_TREASUREHUNT_PUZZLE_CURRENT_STEP], 0); local = (ActorLocal_TreasureHunt *)&actor->local; - actor->yaw = D_8038C868[D_8037DCB4]; - local->unk0 = D_8037DCB4; + actor->yaw = TTC_TREASUREHUNT_STEP_RED_X_YAWS[TTC_TREASUREHUNT_PUZZLE_CURRENT_STEP]; + local->unk0 = TTC_TREASUREHUNT_PUZZLE_CURRENT_STEP; actor->lifetime_value = 0.0f; actor->state = 0; } -void func_80389A9C(void) { +void TTC_Treasurehunt_spawnActorForNextStep(void) { Actor *actor; ActorLocal_TreasureHunt *local; - s32 actor_id; - actor = actor_spawnWithYaw_f32((D_8038C898 - 1)[D_8037DCB4], D_8038C820[D_8037DCB4 - 1], 0); + actor = actor_spawnWithYaw_f32((TTC_TREASUREHUNT_STEP_ACTORS - 1)[TTC_TREASUREHUNT_PUZZLE_CURRENT_STEP], TTC_TREASUREHUNT_STEP_POSITIONS[TTC_TREASUREHUNT_PUZZLE_CURRENT_STEP - 1], 0); local = (ActorLocal_TreasureHunt *)&actor->local; - actor->yaw = D_8038C880[D_8037DCB4 - 1]; - local->unk0 = D_8037DCB4; + actor->yaw = TTC_TREASUREHUNT_STEP_YAWS[TTC_TREASUREHUNT_PUZZLE_CURRENT_STEP - 1]; + local->unk0 = TTC_TREASUREHUNT_PUZZLE_CURRENT_STEP; actor->lifetime_value = 0.0f; actor->state = 0; } -void func_80389B38(s32 arg0){ - if(D_8037DCB4 == arg0 && TTC_func_803899C0()){ - if(arg0 == 0 && !jiggyscore_isCollected(JIGGY_11_TTC_RED_X)){ - gcdialog_showText(0xA18, 4, NULL, NULL, NULL, NULL); +void TTC_Treasurehunt_checkStepProgress(s32 currentStep){ + if(TTC_TREASUREHUNT_PUZZLE_CURRENT_STEP == currentStep && TTC_Treasurehunt_isActiveHitboxBeakBusterHitbox()){ + if(currentStep == 0 && !jiggyscore_isCollected(JIGGY_11_TTC_RED_X)){ + gcdialog_showText(ASSET_A18_TEXT_TREASUREHUNT_FOLLOW_CLUES, 4, NULL, NULL, NULL, NULL); } - else if(arg0 == 4){ - gcdialog_showText(0xA19, 4, NULL, NULL, NULL, NULL); + else if(currentStep == 4){ + gcdialog_showText(ASSET_A19_TEXT_TREASUREHUNT_SECOND_STEP, 4, NULL, NULL, NULL, NULL); } - D_8037DCB4++; - __spawnQueue_add_0(func_80389A9C); - __spawnQueue_add_0(func_80389A1C); + TTC_TREASUREHUNT_PUZZLE_CURRENT_STEP++; + __spawnQueue_add_0(TTC_Treasurehunt_spawnActorForNextStep); + __spawnQueue_add_0(TTC_Treasurehunt_spawnRedXForNextStep); } } -void TTC_func_80389BFC(ActorMarker *this, ActorMarker *arg1){\ - func_80389B38(0); +void TTC_Treasurehunt_checkStepProgress0(ActorMarker *this, ActorMarker *arg1){\ + TTC_Treasurehunt_checkStepProgress(0); } -void func_80389C24(ActorMarker *this, ActorMarker *arg1){\ - func_80389B38(1); +void TTC_Treasurehunt_checkStepProgress1(ActorMarker *this, ActorMarker *arg1){\ + TTC_Treasurehunt_checkStepProgress(1); } -void func_80389C4C(ActorMarker *this, ActorMarker *arg1){\ - func_80389B38(2); +void TTC_Treasurehunt_checkStepProgress2(ActorMarker *this, ActorMarker *arg1){\ + TTC_Treasurehunt_checkStepProgress(2); } -void func_80389C74(ActorMarker *this, ActorMarker *arg1){\ - func_80389B38(3); +void TTC_Treasurehunt_checkStepProgress3(ActorMarker *this, ActorMarker *arg1){\ + TTC_Treasurehunt_checkStepProgress(3); } -void func_80389C9C(ActorMarker *this, ActorMarker *arg1){\ - func_80389B38(4); +void TTC_Treasurehunt_checkStepProgress4(ActorMarker *this, ActorMarker *arg1){\ + TTC_Treasurehunt_checkStepProgress(4); } -void func_80389CC4(s16 arg0[3], s32 arg1){ - static ParticleEmitter *D_8038D700; - static f32 D_8038D708[3]; +void TTC_Treasurehunt_checkStepProgress5(s16 arg0[3], s32 arg1){ + static ParticleEmitter *particleEmitter; + static f32 particleTargetPosition[3]; - if(D_8037DCB4 == 5 && TTC_func_803899C0()){ - D_8038D708[0] = (f32)arg0[0]; - D_8038D708[1] = (f32)arg0[1]; - D_8038D708[2] = (f32)arg0[2]; - D_8038D708[1] = mapModel_getFloorY(D_8038D708); - __spawnQueue_add_4((GenFunction_4)spawnQueue_actor_f32, 0xF4, reinterpret_cast(s32, D_8038D708[0]), reinterpret_cast(s32, D_8038D708[1]), reinterpret_cast(s32, D_8038D708[2])); - D_8038D700 = partEmitMgr_newEmitter(3); - particleEmitter_setRGB(D_8038D700, D_8038C91C); - particleEmitter_setSprite(D_8038D700, ASSET_700_SPRITE_DUST); - particleEmitter_setStartingFrameRange(D_8038D700, 0, 7); - particleEmitter_setPosition(D_8038D700, D_8038D708); - particleEmitter_setPositionAndVelocityRanges(D_8038D700, &D_8038C950); - particleEmitter_setScaleAndLifetimeRanges(D_8038D700, &D_8038C928); - particleEmitter_emitN(D_8038D700, 5); - D_8038D708[2] += 300.0f; + if(TTC_TREASUREHUNT_PUZZLE_CURRENT_STEP == 5 && TTC_Treasurehunt_isActiveHitboxBeakBusterHitbox()){ + particleTargetPosition[0] = (f32)arg0[0]; + particleTargetPosition[1] = (f32)arg0[1]; + particleTargetPosition[2] = (f32)arg0[2]; + particleTargetPosition[1] = mapModel_getFloorY(particleTargetPosition); + __spawnQueue_add_4((GenFunction_4)spawnQueue_actor_f32, 0xF4, reinterpret_cast(s32, particleTargetPosition[0]), reinterpret_cast(s32, particleTargetPosition[1]), reinterpret_cast(s32, particleTargetPosition[2])); + particleEmitter = partEmitMgr_newEmitter(3); + particleEmitter_setRGB(particleEmitter, TTC_TREASUREHUNT_PARTICLE_RGB); + particleEmitter_setSprite(particleEmitter, ASSET_700_SPRITE_DUST); + particleEmitter_setStartingFrameRange(particleEmitter, 0, 7); + particleEmitter_setPosition(particleEmitter, particleTargetPosition); + particleEmitter_setPositionAndVelocityRanges(particleEmitter, &TTC_TREASUREHUNT_VELOCITY_RANGES); + particleEmitter_setScaleAndLifetimeRanges(particleEmitter, &TTC_TREASUREHUNT_PARTICLE_SCALE_AND_LIFETIME_RANGES); + particleEmitter_emitN(particleEmitter, 5); + particleTargetPosition[2] += 300.0f; gcpausemenu_80314AC8(0); - timedFunc_set_2(0.1f, (GenFunction_2) func_8028F45C, 9, (s32)&D_8038D708); + timedFunc_set_2(0.1f, (GenFunction_2) func_8028F45C, 9, (s32)&particleTargetPosition); timedFunc_set_1(0.1f, (GenFunction_1) gcpausemenu_80314AC8, 1); gcdialog_showText(ASSET_A17_TEXT_BURIED_TREASURE_SPAWNED, 4, NULL, NULL, NULL, NULL); - D_8037DCB4++; - }//L80389E70 + TTC_TREASUREHUNT_PUZZLE_CURRENT_STEP++; + } } -void ttc_resetTresureHunt(void){ - D_8037DCB4 = 0; +void TTC_Treasurehunt_resetProgress(void){ + TTC_TREASUREHUNT_PUZZLE_CURRENT_STEP = 0; } -void TTC_func_80389E90(Actor *this){ +void TTC_Treasurehunt_updateFunc(Actor *this){ f32 tick = time_getDelta(); ActorLocal_TreasureHunt *local = (ActorLocal_TreasureHunt*)&this->local; f64 tmp_f12; @@ -191,28 +191,28 @@ void TTC_func_80389E90(Actor *this){ } switch(this->state){ - case 0://L80389F20 + case 0: this->lifetime_value = MIN(255.0, this->lifetime_value + tick*150.0); if(255.0 == this->lifetime_value){ this->state = 1; } break; - case 1://L80389F94 - if(local->unk0 < D_8037DCB4){ + case 1: + if(local->unk0 < TTC_TREASUREHUNT_PUZZLE_CURRENT_STEP){ this->state = 2; } break; - case 2://L80389FC4 + case 2: this->lifetime_value = MAX(0.0, this->lifetime_value - tick*((this->marker->modelId == ASSET_3EA_MODEL_RED_X)? 200.0 : 150.0)); if(0.0 == this->lifetime_value) marker_despawn(this->marker); break; - }//L8038A094 + } actor_setOpacity(this, (s32)this->lifetime_value); this->depth_mode = 2; } -Actor *func_8038A0D0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ +Actor *TTC_Treasurehunt_animFunc(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ f32 sp4C[3]; f32 sp40[3]; f32 sp3C; @@ -221,19 +221,19 @@ Actor *func_8038A0D0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ actor = marker_getActorAndRotation(marker, sp4C); switch(marker->modelId){ - case ASSET_3E9_MODEL_RED_ARROW://L8038A12C + case ASSET_3E9_MODEL_RED_ARROW: sp3C = 1.0f; sp38 = 8.0f; break; - case ASSET_3EB_MODEL_RED_QUESTION_MARK: //L8038A14C + case ASSET_3EB_MODEL_RED_QUESTION_MARK: sp3C = 1.0f; sp38 = 8.0f; break; - case ASSET_3EA_MODEL_RED_X://L8038A164 - sp3C = (((ActorLocal_TreasureHunt *)&actor->local)->unk0 == 5)? 0.8f : 0.4f; + case ASSET_3EA_MODEL_RED_X: + sp3C = (((ActorLocal_TreasureHunt *)&actor->local)->unk0 == 5) ? 0.8f : 0.4f; sp38 = 4.0f; break; - }//L8038A1A0 + } sp40[0] = actor->position[0]; sp40[1] = actor->position[1] + sp38; sp40[2] = actor->position[2]; diff --git a/src/TTC/code_26D0.c b/src/TTC/code_26D0.c index 4e625588..f7d945dd 100644 --- a/src/TTC/code_26D0.c +++ b/src/TTC/code_26D0.c @@ -20,9 +20,9 @@ extern ActorInfo D_8038C718; extern ActorInfo TTC_LOCKUP_ACTOR_SLOW; extern ActorInfo TTC_LOCKUP_ACTOR_MEDIUM; extern ActorInfo TTC_LOCKUP_ACTOR_FAST; -extern ActorInfo D_8038C8B0; -extern ActorInfo D_8038C8D4; -extern ActorInfo D_8038C8F8; +extern ActorInfo TTC_TREASUREHUNT_ACTOR_RED_ARROW; +extern ActorInfo TTC_TREASUREHUNT_ACTOR_RED_QUESTION_MARK; +extern ActorInfo TTC_TREASUREHUNT_ACTOR_RED_X; extern ActorInfo gChTreasureInfo; void TTC_func_80388C78(Actor *this); @@ -99,9 +99,9 @@ void TTC_func_80388AC0(void) spawnableActorList_add(&TTC_LOCKUP_ACTOR_SLOW, actor_new, ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_6 | ACTOR_FLAG_UNKNOWN_8); spawnableActorList_add(&TTC_LOCKUP_ACTOR_MEDIUM, actor_new, ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_6 | ACTOR_FLAG_UNKNOWN_8); spawnableActorList_add(&TTC_LOCKUP_ACTOR_FAST, actor_new, ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_6 | ACTOR_FLAG_UNKNOWN_8); - spawnableActorList_add(&D_8038C8B0, actor_new, ACTOR_FLAG_UNKNOWN_10); - spawnableActorList_add(&D_8038C8D4, actor_new, ACTOR_FLAG_UNKNOWN_10); - spawnableActorList_add(&D_8038C8F8, actor_new, ACTOR_FLAG_UNKNOWN_10); + spawnableActorList_add(&TTC_TREASUREHUNT_ACTOR_RED_ARROW, actor_new, ACTOR_FLAG_UNKNOWN_10); + spawnableActorList_add(&TTC_TREASUREHUNT_ACTOR_RED_QUESTION_MARK, actor_new, ACTOR_FLAG_UNKNOWN_10); + spawnableActorList_add(&TTC_TREASUREHUNT_ACTOR_RED_X, actor_new, ACTOR_FLAG_UNKNOWN_10); spawnableActorList_add(&gChTreasureInfo, actor_new, ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_6 | ACTOR_FLAG_UNKNOWN_25); spawnableActorList_add(&D_8038C628, actor_new, ACTOR_FLAG_UNKNOWN_7 | ACTOR_FLAG_UNKNOWN_9 | ACTOR_FLAG_UNKNOWN_10 | ACTOR_FLAG_UNKNOWN_15); spawnableActorList_add(&D_8038C64C, actor_new, ACTOR_FLAG_UNKNOWN_10); diff --git a/src/core2/ch/gameSelect.c b/src/core2/ch/gameSelect.c index 570c89cb..ef261c86 100644 --- a/src/core2/ch/gameSelect.c +++ b/src/core2/ch/gameSelect.c @@ -80,7 +80,7 @@ ActorInfo D_80365F00 = { 0xE6, 0x197, 0x532, 0x1, D_80365ED0, func_802C4C14, fun /* .bss */ s32 mm_hut_smash_count; -u32 D_8037DCB4; +u32 TTC_TREASUREHUNT_PUZZLE_CURRENT_STEP; struct FF_StorageStruct* D_8037DCB8; s32 D_8037DCBC; u8 D_8037DCC0[7]; diff --git a/src/core2/code_9A740.c b/src/core2/code_9A740.c index 9fb56644..bd4cff13 100644 --- a/src/core2/code_9A740.c +++ b/src/core2/code_9A740.c @@ -54,7 +54,7 @@ void func_803216D0(enum map_e map){ mm_resetHuts(); break; case MAP_7_TTC_TREASURE_TROVE_COVE: - ttc_resetTresureHunt(); + TTC_Treasurehunt_resetProgress(); break; case MAP_1B_MMM_MAD_MONSTER_MANSION: mmm_resetFlowerPots(); diff --git a/src/core2/code_AD110.c b/src/core2/code_AD110.c index 78b689b1..18bbdb5e 100644 --- a/src/core2/code_AD110.c +++ b/src/core2/code_AD110.c @@ -291,12 +291,12 @@ extern void warp_lairEnterLairFromSMLevel(s32, s32); extern void func_802C1674(s32, s32); extern void func_802C169C(s32, s32); -extern void TTC_func_80389BFC(s32, s32); -extern void func_80389C24(s32, s32); -extern void func_80389C4C(s32, s32); -extern void func_80389C74(s32, s32); -extern void func_80389C9C(s32, s32); -extern void func_80389CC4(s32, s32); +extern void TTC_Treasurehunt_checkStepProgress0(s32, s32); +extern void TTC_Treasurehunt_checkStepProgress1(s32, s32); +extern void TTC_Treasurehunt_checkStepProgress2(s32, s32); +extern void TTC_Treasurehunt_checkStepProgress3(s32, s32); +extern void TTC_Treasurehunt_checkStepProgress4(s32, s32); +extern void TTC_Treasurehunt_checkStepProgress5(s32, s32); extern void chMumbo_detransformWarn(s32, s32); extern void chMumbo_detransformTrigger(s32, s32); extern void func_8033443C(s32, s32); @@ -413,8 +413,8 @@ Method_core2_AD110 D_8036FE5C[] ={ func_8033443C, func_8033443C, func_8033443C, func_8033443C, func_8033443C, func_8033443C, func_8033443C, func_8033443C, func_8033443C, func_8033443C, func_8033443C, func_8033443C, - func_8033443C, TTC_func_80389BFC, func_80389C24, func_80389C4C, - func_80389C74, func_80389C9C, func_80389CC4, chMumbo_detransformWarn, + func_8033443C, TTC_Treasurehunt_checkStepProgress0, TTC_Treasurehunt_checkStepProgress1, TTC_Treasurehunt_checkStepProgress2, + TTC_Treasurehunt_checkStepProgress3, TTC_Treasurehunt_checkStepProgress4, TTC_Treasurehunt_checkStepProgress5, chMumbo_detransformWarn, chMumbo_detransformTrigger, func_8033443C, func_8033443C, func_8033443C, func_8033443C, func_8033443C, func_8033443C, func_8033443C, func_8033443C, func_8033443C, func_8033443C, func_8033443C,