diff --git a/include/enums.h b/include/enums.h index eab59293..819f7c9a 100644 --- a/include/enums.h +++ b/include/enums.h @@ -1736,6 +1736,8 @@ enum actor_e ACTOR_E_BULL_INTRO, ACTOR_F_CHIMPY = 0xF, + ACTOR_10E_BLUBBER_SHIP_TOP_HATCH = 0x10e, + ACTOR_11_JUJU_CTRL = 0x11, ACTOR_12_BEEHIVE, //ACTOR_13_SINKING_BOBBER @@ -1914,6 +1916,10 @@ enum actor_e ACTOR_146_GV_KAZOOIE_TARGET, ACTOR_147_ANCIENT_ONE, + ACTOR_149_TTC_BLUBBER_UNKNOWN = 0x149, + ACTOR_14A_TTC_BLUBBER_UNKNOWN = 0x14a, + ACTOR_14B_TTC_BLUBBER_UNKNOWN = 0x14b, + ACTOR_14E_BGS_ELEVATED_WALKWAY_SWITCH = 0x14E, ACTOR_14F_DESTROYED_JIGGY, @@ -2071,6 +2077,11 @@ enum actor_e ACTOR_2DB_DINGPOT = 0x2DB, + ACTOR_2DF_LIGHTHOUSE_B = 0x2DF, + ACTOR_2E0_TTC_STAIRS_1, + ACTOR_2E1_TTC_STAIRS_2, + ACTOR_2E2_LIGHTHOUSE_A, + ACTOR_2E5_DOOR_OF_GRUNTY = 0x2e5, ACTOR_30D_BOOM_BOX_FAST = 0x30D, @@ -2404,6 +2415,18 @@ enum mm_specific_flags { MM_SPECIFIC_FLAG_A_UNKNOWN }; + +enum ttc_specific_flags { + TTC_SPECIFIC_FLAG_0_BLUBBER_UNKNOWN, + TTC_SPECIFIC_FLAG_1_UNKNOWN, // something related to the sand castle + TTC_SPECIFIC_FLAG_2_BLUBBER_JIGGY_SPAWNED_TEXT_SHOWN, + TTC_SPECIFIC_FLAG_3_BLUBBER_SHOW_JIGGY_SPAWNED_TEXT_FLAG, + // unused + TTC_SPECIFIC_FLAG_5_CLAM_FIRST_MEET_TEXT_SHOWN = 0x5, + // unused + TTC_SPECIFIC_FLAG_7_NIPPER_FIRST_MEET_TEXT_SHOWN = 0x7 +}; + enum item_e { ITEM_0_HOURGLASS_TIMER = 0x0, @@ -2856,7 +2879,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, @@ -3110,16 +3133,16 @@ enum asset_e // 3b3 Mumbo's Hut // Unused // Unused - // 3b6 TTC Stairs 1 - // 3b7 TTC Stairs 2 + ASSET_3B6_MODEL_TTC_STAIRS_1 = 0x3B6, + ASSET_3B7_MODEL_TTC_STAIRS_1, // Unused // Unused // Unused ASSET_3BB_MODEL_JINJO_YELLOW = 0x3BB, ASSET_3BC_MODEL_JINJO_ORANGE, - // 3bd TTC Lighthouse A - // 3be TTC Lighthouse B - ASSET_3BF_MODEL_PLAYER_SHADOW = 0x3BF, + ASSET_3BD_MODEL_LIGHTHOUSE_A, + ASSET_3BE_MODEL_LIGHTHOUSE_B, + ASSET_3BF_MODEL_PLAYER_SHADOW, ASSET_3C0_MODEL_JINJO_BLUE, ASSET_3C1_MODEL_JINJO_PINK, ASSET_3C2_MODEL_JINJO_GREEN, @@ -3138,7 +3161,7 @@ enum asset_e // 3cf MMM Cellar Hatch // 3d0 MMM Locked Gate (Lock On Left) // 3d1 MMM Locked Gate (Lock On Right) 1 - // 3d2 TTC Blubber's Ship Top Hatch + ASSET_3D2_MODEL_BLUBBER_SHIP_TOP_HATCH = 0x3d2, // 3d3 MMM Church Door // 3d4 Lockup ASSET_3D4_MODEL_LOCKUP = 0x3d4, @@ -4080,17 +4103,24 @@ enum asset_e ASSET_896_MODEL_GOLD_ROCK = 0x896, - ASSET_89D_ZOOMBOX_SPRITE = 0x89d, + ASSET_89D_ZOOMBOX_SPRITE = 0x89D, - ASSET_8A0_SPRITE_WATER_DROP = 0x8a0, + ASSET_8A0_SPRITE_WATER_DROP = 0x8A0, - ASSET_A0B_TEXT_UNKNOWN = 0xA0B, - ASSET_A0C_TEXT_UNKNOWN = 0xA0C, - ASSET_A0D_TEXT_UNKNOWN = 0xA0D, + ASSET_A0B_TEXT_BLUBBER_FIRST_MEET = 0xA0B, + ASSET_A0C_TEXT_BLUBBER_HALF_GOLD, + ASSET_A0D_TEXT_BLUBBER_COMPLETE, + ASSET_A0E_TEXT_NIPPER_SPAWNED, - ASSET_A14_TEXT_UNKNOWN = 0xA14, + ASSET_A10_TEXT_TTC_NIPPER_HURT = 0xa10, - ASSET_A17_TEXT_BURIED_TREASURE_SPAWNED = 0xa17, + ASSET_A14_TEXT_CLAM_TAUNT = 0xA14, + ASSET_A15_TEXT_TTC_LOCKUP_SPAWNED, + + ASSET_A17_TEXT_BURIED_TREASURE_SPAWNED = 0xA17, + ASSET_A18_TEXT_TREASUREHUNT_FOLLOW_CLUES, + ASSET_A19_TEXT_TREASUREHUNT_SECOND_STEP, + ASSET_A1A_TEXT_LEAKY_FIRST_MEET, ASSET_A1F_DIALOG_SHOCKJUMP_LEARN = VER_SELECT(0xa1f, 0x91f, 0, 0), ASSET_A20_DIALOG_FLY_LEARN, @@ -4103,7 +4133,7 @@ enum asset_e ASSET_A27_TEXT_BOTTLES_ALL_TTC_MOVES_LEARNED, ASSET_A28_TEXT_LEAKY_DONE, - ASSET_A2A_TEXT_UNKNOWN = 0xA2A, + ASSET_A2A_BLUBBER_COMPLETE_JIGGY_COLLECTED = 0xA2A, ASSET_A6F_TEXT_CHARMER_MEET = 0xA6F, ASSET_A70_TEXT_CHARMER_HELPED, @@ -4668,6 +4698,8 @@ enum marker_e{ MARKER_99_TEEHEE = 0x99, + MARKER_A1_BLUBBER_SHIP_TOP_HATCH = 0xa1, + MARKER_A3_BLUBBER = 0xA3, MARKER_A4_LOCKUP_SLOW, MARKER_A5_NIPPER, @@ -4773,6 +4805,7 @@ enum marker_e{ MARKER_169_SNS_EGG, MARKER_16B_SNIPPET_UPSIDEDOWN = 0x16B, + MARKER_16C_NIPPER, MARKER_173_CHUMP_FISH_2 = 0x173, MARKER_174_GAME_OVER = 0x174, @@ -4905,6 +4938,11 @@ enum marker_e{ MARKER_261_FIGHT_FLIGHT_PAD = 0x261, + MARKER_267_LIGHTHOUSE_A = 0x267, + MARKER_268_STAIRS_1, + MARKER_269_STAIRS_2, + MARKER_26A_LIGHTHOUSE_B, + MARKER_276_STONE_JINJO = 0x276, MARKER_27A_JINJO_STATUE_BASE = 0x27A, diff --git a/include/functions.h b/include/functions.h index ca092d0a..561e36a0 100644 --- a/include/functions.h +++ b/include/functions.h @@ -450,7 +450,7 @@ void func_80352CF4(f32 *, f32 *, f32, f32); AnimCtrl *baanim_getAnimCtrlPtr(void); void player_setYPosition(f32); -NodeProp *func_80304C38(enum actor_e arg0, Actor *arg1); +NodeProp *nodeprop_findByActorIdAndActorPosition(enum actor_e arg0, Actor *arg1); NodeProp *func_80304CAC(s32 arg0, f32 position[3]); Actor *actorArray_findClosestActorFromActorId(f32 position[3], enum actor_e actor_id, s32 arg2, f32 *min_distance_ptr); Actor *subaddie_getLinkedActor(Actor *); diff --git a/include/prop.h b/include/prop.h index d9b28afb..04989dbc 100644 --- a/include/prop.h +++ b/include/prop.h @@ -165,7 +165,7 @@ typedef struct actor_s{ u32 is_bundle:1; AnimCtrl *animctrl; ActorAnimationInfo *unk18; - TUPLE(f32, unk1C); + TUPLE(f32, unk1C); // actor position? f32 actor_specific_1_f; //used in cheggs TUPLE(f32, velocity); u32 unk38_31:10; // hit count for jinjo base in fight diff --git a/level_symbols.us.v10.txt b/level_symbols.us.v10.txt index ee1488c5..38e962ff 100644 --- a/level_symbols.us.v10.txt +++ b/level_symbols.us.v10.txt @@ -1,6 +1,6 @@ sm_func_80386810 = 0x80386810; mm_func_803888B0 = 0x803888B0; -ttc_func_80388AC0 = 0x80388AC0; +TTC_resetSpawnableActors = 0x80388AC0; ttc_func_8038BF8C = 0x8038BF8C; cc_func_803870E0 = 0x803870E0; cc_func_80387DA0 = 0x80387DA0; diff --git a/manual_syms.pal.txt b/manual_syms.pal.txt index ce2734a2..2fa6f976 100644 --- a/manual_syms.pal.txt +++ b/manual_syms.pal.txt @@ -260,7 +260,7 @@ func_802F9FD0 = 0x802fa1b0; func_802FA060 = 0x802fa240; func_802FADD4 = 0x802fafb4; cubeList_findNodePropByActorId = 0x80304b6c; -func_80304C38 = 0x80304dd8; +nodeprop_findByActorIdAndActorPosition = 0x80304dd8; func_80304CAC = 0x80304e4c; nodeprop_getPosition_s32 = 0x80304eec; nodeprop_getPosition = 0x80304f08; diff --git a/src/BGS/ch/tanktup.c b/src/BGS/ch/tanktup.c index 8c37d887..9f862bed 100644 --- a/src/BGS/ch/tanktup.c +++ b/src/BGS/ch/tanktup.c @@ -100,7 +100,7 @@ void func_8038F6A4(Actor *this) NodeProp *temp_v0; if (!this->initialized) { - temp_v0 = func_80304C38(ACTOR_32B_UNKNOWN, this); + temp_v0 = nodeprop_findByActorIdAndActorPosition(ACTOR_32B_UNKNOWN, this); if (temp_v0 == 0) { local->unk18[0] = 3672.0f; diff --git a/src/FP/code_ABD0.c b/src/FP/code_ABD0.c index ed34be0e..a377e63b 100644 --- a/src/FP/code_ABD0.c +++ b/src/FP/code_ABD0.c @@ -211,7 +211,7 @@ void func_80391744(Actor *this, Actor* other){ void *sp24; f32 tmp_f0; - sp24 = func_80304C38(0x22A, this); + sp24 = nodeprop_findByActorIdAndActorPosition(0x22A, this); tmp_f0 = (f32)func_80304DA8(sp24); other->yaw = tmp_f0; this->yaw = tmp_f0; diff --git a/src/MM/ch/conga.c b/src/MM/ch/conga.c index 24659a85..60cfb28e 100644 --- a/src/MM/ch/conga.c +++ b/src/MM/ch/conga.c @@ -221,7 +221,7 @@ void func_803876D0(Actor *this){ this->initialized = TRUE; this->velocity_x = 0.0f; this->actor_specific_1_f = 0.0f; - node_prop = func_80304C38(0x150, this); + node_prop = nodeprop_findByActorIdAndActorPosition(0x150, this); ((ActorLocal_Conga *)&this->local)->unk1C = nodeprop_getRadius(node_prop); nodeprop_getPosition_s32(node_prop, &((ActorLocal_Conga *)&this->local)->unk10); } diff --git a/src/SM/code_2990.c b/src/SM/code_2990.c index a09f6dfb..940eaf46 100644 --- a/src/SM/code_2990.c +++ b/src/SM/code_2990.c @@ -409,7 +409,7 @@ void chsmmole_Update(Actor * this){ this->initialized = TRUE; marker_setFreeMethod(this->marker, func_80389984); if(this->unkF4_8 == 1 || this->unkF4_8 == 8){//L80389A30 - sp40 = func_80304C38(0x349, this); + sp40 = nodeprop_findByActorIdAndActorPosition(0x349, this); if(!sp40){ this->unk1C_x = this->position_x; this->unk1C_y = this->position_y; diff --git a/src/SM/code_44D0.c b/src/SM/code_44D0.c index 1e486a34..9607b6ba 100644 --- a/src/SM/code_44D0.c +++ b/src/SM/code_44D0.c @@ -28,7 +28,7 @@ void func_8038A8F8(Actor *this){ NodeProp *other; if(!this->volatile_initialized){ - other = func_80304C38(0x3be, this); + other = nodeprop_findByActorIdAndActorPosition(0x3be, this); if(!other){ this->unk1C_x = this->position_x; this->unk1C_y = this->position_y; diff --git a/src/TTC/ch/blubber.c b/src/TTC/ch/blubber.c index 30683088..d73a1b50 100644 --- a/src/TTC/ch/blubber.c +++ b/src/TTC/ch/blubber.c @@ -2,26 +2,34 @@ #include "functions.h" #include "variables.h" -extern void func_8028E668(f32[3], f32, f32, f32); +extern void func_8028E668(f32 arg0[3], f32 arg1, f32 arg2, f32 arg3); extern void func_8028FA34(s32, Actor*); extern s32 func_802E0970(s32, f32, f32, f32, s32, s32, f32[3]); typedef struct { - u8 unk0[0xE]; - s16 unkE; + u8 unk0[0xE]; // unused? + s16 unkE; // some sort of index f32 throw_target_position[3]; s32 throw_target_radius; - NodeProp* unk20; - s32 unk24; -}ActorLocal_Blubber; + NodeProp* gold_bullion_throw_target_node_prop; + s32 unk24; // bullions left to collect ? (changes from 4 to 0) +} ActorLocal_Blubber; -void func_803878CC(Actor *this); -void TTC_func_80387CF4(Actor *this); -Actor *func_80387D6C(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); +static void __chBlubber_updateFunc(Actor *this); +static void __chBlubber_update2Func(Actor *this); +static Actor *__chBlubber_drawFunc(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); + +enum ch_blubber_states_e { + CH_BLUBBER_STATE_1_UNKNOWN = 1, // initial state (80387A84) + CH_BLUBBER_STATE_2_UNKNOWN = 2, // 80387B10 + CH_BLUBBER_STATE_3_UNKNOWN = 3, + CH_BLUBBER_STATE_4_UNKNOWN = 4, // 80387C04 + CH_BLUBBER_STATE_5_UNKNOWN = 5 // 80387CD4 +}; /* .data */ -ActorAnimationInfo D_8038C4E0[] = { - {0x00, 0.0f}, +ActorAnimationInfo gChBlubberAnimations[6] = { + {NULL, NULL}, {ASSET_B5_ANIM_BLUBBER_WALK, 2.0f}, {ASSET_B6_ANIM_BLUBBER_CRY, 2.0f}, {ASSET_B6_ANIM_BLUBBER_CRY, 2.0f}, @@ -29,78 +37,77 @@ ActorAnimationInfo D_8038C4E0[] = { {ASSET_B8_ANIM_BLUBBER_RUN, 0.8f} }; -ActorInfo TTC_D_8038C510 = { +ActorInfo gChBlubber = { MARKER_A3_BLUBBER, ACTOR_115_BLUBBER, ASSET_370_MODEL_BLUBBER, - 0x1, D_8038C4E0, - func_803878CC, TTC_func_80387CF4, func_80387D6C, + 0x1, gChBlubberAnimations, + __chBlubber_updateFunc, __chBlubber_update2Func, __chBlubber_drawFunc, 0, 0x399, 1.8f, 0 }; /* .code */ -void func_80387490(Actor *this){ +static void __chBlubber_initiliaze(Actor *this){ ActorLocal_Blubber *local = (ActorLocal_Blubber *)&this->local; animctrl_setTransitionDuration(this->animctrl, 0.2f); this->initialized = TRUE; - local->unk20 = func_80304C38(ACTOR_2B_GOLD_BULLION_THROW_TARGET, this); - if(local->unk20){ - - nodeprop_getPosition(local->unk20, local->throw_target_position); - local->throw_target_radius = nodeprop_getRadius(local->unk20); + local->gold_bullion_throw_target_node_prop = nodeprop_findByActorIdAndActorPosition(ACTOR_2B_GOLD_BULLION_THROW_TARGET, this); + if(local->gold_bullion_throw_target_node_prop){ + nodeprop_getPosition(local->gold_bullion_throw_target_node_prop, local->throw_target_position); + local->throw_target_radius = nodeprop_getRadius(local->gold_bullion_throw_target_node_prop); } local->unk24 = 4; func_8032A82C(this, 0x14C); } -void func_80387520(ActorMarker *caller, enum asset_e text_id, s32 arg1){ +static void __chBlubber_showTextCallback(ActorMarker *caller, enum asset_e text_id, s32 arg1){ Actor *this = marker_getActor(caller); ActorLocal_Blubber *local = (ActorLocal_Blubber*)&this->local; - if(text_id == 0xa0d || text_id == 0xa2a){ + if(text_id == ASSET_A0D_TEXT_BLUBBER_COMPLETE || text_id == ASSET_A2A_BLUBBER_COMPLETE_JIGGY_COLLECTED){ local->unk24 = 0; } else{ - subaddie_set_state_with_direction(this, 2, 0, 1); + subaddie_set_state_with_direction(this, CH_BLUBBER_STATE_2_UNKNOWN, 0, 1); } } -void func_80387574(ActorMarker *caller, enum asset_e text_id, s32 arg1){ +static void __chBlubber_showTextCallback2(ActorMarker *caller, enum asset_e text_id, s32 arg1){ f32 sp24[3]; - if(nodeProp_findPositionFromActorId(0x14b, sp24)){ + if(nodeProp_findPositionFromActorId(ACTOR_14B_TTC_BLUBBER_UNKNOWN, sp24)){ jiggy_spawn(JIGGY_14_TTC_BLUBBER, sp24); __spawnQueue_add_4((GenFunction_4)spawnQueue_actor_f32, ACTOR_4C_STEAM, reinterpret_cast(s32, sp24[0]), reinterpret_cast(s32, sp24[1]), reinterpret_cast(s32, sp24[2])); } } -void func_803875D4(ActorMarker *marker){ +static void __chBlubber_showJiggySpawnedText(ActorMarker *marker){ Actor *this = marker_getActor(reinterpret_cast(ActorMarker *, marker)); enum asset_e text_id; - subaddie_set_state(this, 4); + subaddie_set_state(this, CH_BLUBBER_STATE_4_UNKNOWN); actor_loopAnimation(this); this->actor_specific_1_f = 0.0f; - if(!mapSpecificFlags_get(2)) { - text_id = jiggyscore_isCollected(JIGGY_14_TTC_BLUBBER) ? ASSET_A2A_TEXT_UNKNOWN : ASSET_A0D_TEXT_UNKNOWN; - gcdialog_showText(text_id, 0xf, this->position, this->marker, func_80387520, func_80387574); - mapSpecificFlags_set(2, TRUE); + if(!mapSpecificFlags_get(TTC_SPECIFIC_FLAG_2_BLUBBER_JIGGY_SPAWNED_TEXT_SHOWN)) { + 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(TTC_SPECIFIC_FLAG_2_BLUBBER_JIGGY_SPAWNED_TEXT_SHOWN, TRUE); } } -void func_80387678(Actor *this){ - if( !mapSpecificFlags_get(1) ) return; - if( mapSpecificFlags_get(3) ) return; +static void __chBlubber_checkJiggySpawnedTextAndAdvanceState(Actor *this){ + if( !mapSpecificFlags_get(TTC_SPECIFIC_FLAG_1_UNKNOWN) ) return; + if( mapSpecificFlags_get(TTC_SPECIFIC_FLAG_3_BLUBBER_SHOW_JIGGY_SPAWNED_TEXT_FLAG) ) return; this->yaw_ideal = (f32) func_80329784(this); - mapSpecificFlags_set(3, TRUE); + mapSpecificFlags_set(TTC_SPECIFIC_FLAG_3_BLUBBER_SHOW_JIGGY_SPAWNED_TEXT_FLAG, TRUE); func_8028F918(2); timed_setStaticCameraToNode(0.0f, 4); - timedFunc_set_1(1.0f, (GenFunction_1)func_803875D4, (s32)this->marker); - subaddie_set_state_with_direction(this, 1, 0.0f, 1); + timedFunc_set_1(1.0f, (GenFunction_1)__chBlubber_showJiggySpawnedText, (s32)this->marker); + subaddie_set_state_with_direction(this, CH_BLUBBER_STATE_1_UNKNOWN, 0.0f, 1); } -void func_8038771C(Actor *this){ +static void __func_8038771C(Actor *this){ if( !func_80329030(this, 0) && func_80329480(this) ){ @@ -108,39 +115,40 @@ void func_8038771C(Actor *this){ } } -void func_80387774(Actor **this_ptr){ +// probably something related to blubber throwing the bullions +static void __func_80387774(Actor **this_ptr){ ActorLocal_Blubber *local = (ActorLocal_Blubber *)&(*this_ptr)->local; player_setCarryObjectPoseInCylinder(local->throw_target_position, local->throw_target_radius, 100.0f, ACTOR_2A_GOLD_BULLION, this_ptr); if( func_80329530(*this_ptr, 200) && bacarry_get_markerId() == MARKER_37_GOLD_BULLION && player_throwCarriedObject() - ){ - func_8028FA34(!mapSpecificFlags_get(0)? 0x149 : 0x14a, *this_ptr); + ) { + func_8028FA34(!mapSpecificFlags_get(TTC_SPECIFIC_FLAG_0_BLUBBER_UNKNOWN) ? ACTOR_149_TTC_BLUBBER_UNKNOWN : ACTOR_14A_TTC_BLUBBER_UNKNOWN, *this_ptr); (*this_ptr)->has_met_before = TRUE; } } -void func_80387830(Actor *this , f32 arg1, f32 arg2){ +static void __func_80387830(Actor *this , f32 arg1, f32 arg2){ if( actor_animationIsAt(this, arg1) || actor_animationIsAt(this, arg2) ){ - this->unk10_12 = func_802E0970(0x26, 0.75f, 0.85f, 0.05f, 11000, this->unk10_12, this->position); + this->unk10_12 = func_802E0970(SFX_26_BANJO_LANDING_09, 0.75f, 0.85f, 0.05f, 11000, this->unk10_12, this->position); } } -void func_803878CC(Actor * this){ +static void __chBlubber_updateFunc(Actor *this){ ActorLocal_Blubber *local; this->marker->propPtr->unk8_3 = TRUE; func_8028E668(this->position, 90.0f, -10.0f, 110.0f); - if(!mapSpecificFlags_get(1) && !func_80329530(this, 2500)) + if(!mapSpecificFlags_get(TTC_SPECIFIC_FLAG_1_UNKNOWN) && !func_80329530(this, 2500)) return; if(!this->volatile_initialized){ - if(this->state == 3){ - subaddie_set_state_with_direction(this, 2, 0.0f, 1); + if(this->state == CH_BLUBBER_STATE_3_UNKNOWN){ + subaddie_set_state_with_direction(this, CH_BLUBBER_STATE_2_UNKNOWN, 0.0f, 1); } this->volatile_initialized = TRUE; }//L80387970 @@ -149,44 +157,43 @@ void func_803878CC(Actor * this){ && !this->has_met_before && item_getCount(ITEM_18_GOLD_BULLIONS) == 0 ){ - gcdialog_showText(ASSET_A0B_TEXT_UNKNOWN, 0xe, this->position, this->marker, func_80387520, 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, 3); + subaddie_set_state_forward(this, CH_BLUBBER_STATE_3_UNKNOWN); } - if( mapSpecificFlags_get(0) + if( mapSpecificFlags_get(TTC_SPECIFIC_FLAG_0_BLUBBER_UNKNOWN) && !this->unk138_23 ){ if (item_getCount(ITEM_18_GOLD_BULLIONS) == 0) { - gcdialog_showText(ASSET_A0C_TEXT_UNKNOWN, 4, NULL, NULL, NULL, NULL); + gcdialog_showText(ASSET_A0C_TEXT_BLUBBER_HALF_GOLD, 4, NULL, NULL, NULL, NULL); } this->unk138_23 = TRUE; this->has_met_before = TRUE; - }//L80387A54 switch(this->state){//D_8038CD40 - case 1:// 80387A84 + case CH_BLUBBER_STATE_1_UNKNOWN: if(!this->initialized){ actor_collisionOff(this); - func_80387490(this); + __chBlubber_initiliaze(this); } - func_80387774(&this); + __func_80387774(&this); - if(subaddie_maybe_set_state_position_direction(this, 2, 0.0f, 1, 0.007f)) + if(subaddie_maybe_set_state_position_direction(this, CH_BLUBBER_STATE_2_UNKNOWN, 0.0f, 1, 0.007f)) break; func_80328FB0(this, 3.0f); - func_8038771C(this); - func_80387830(this, 0.14f, 0.68f); - func_80387678(this); + __func_8038771C(this); + __func_80387830(this, 0.14f, 0.68f); + __chBlubber_checkJiggySpawnedTextAndAdvanceState(this); break; - case 2:// 80387B10 - func_80387774(&this); + case CH_BLUBBER_STATE_2_UNKNOWN: + __func_80387774(&this); if( actor_animationIsAt(this, 0.99f) - && subaddie_maybe_set_state_position_direction(this, 1, 0.0f, 1, 0.78f) + && subaddie_maybe_set_state_position_direction(this, CH_BLUBBER_STATE_1_UNKNOWN, 0.0f, 1, 0.78f) ){ this->actor_specific_1_f = 4.0f; break; @@ -204,18 +211,18 @@ void func_803878CC(Actor * this){ FUNC_8030E8B4(SFX_83_BLUBBER_CRYING, 0.91f, 17000, this->position, 1250, 2500); } - func_80387678(this); + __chBlubber_checkJiggySpawnedTextAndAdvanceState(this); break; - case 3: + case CH_BLUBBER_STATE_3_UNKNOWN: break; - case 4:// 80387C04 + case CH_BLUBBER_STATE_4_UNKNOWN: { func_80328FB0(this, 3.0f); local = (ActorLocal_Blubber*)&this->local; if(actor_animationIsAt(this, 0.99f) && !local->unk24){ - subaddie_set_state(this, 5); + subaddie_set_state(this, CH_BLUBBER_STATE_5_UNKNOWN); this->actor_specific_1_f = 8.0f; } } @@ -231,24 +238,24 @@ void func_803878CC(Actor * this){ } break; - case 5:// 80387CD4 + case CH_BLUBBER_STATE_5_UNKNOWN: local = (ActorLocal_Blubber*)&this->local; func_8032A95C(this, local->unkE, 0x21c); break; } } -void TTC_func_80387CF4(Actor *this){ +static void __chBlubber_update2Func(Actor *this){ func_80343DEC(this); if(0.99 <= this->unk48){ func_8028F918(0); timed_exitStaticCamera(0.0f); marker_despawn(this->marker); } - func_80387830(this, 0.5f, 0.97f); + __func_80387830(this, 0.5f, 0.97f); } -Actor *func_80387D6C(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ +static Actor *__chBlubber_drawFunc(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ func_8033A45C(4, 0); return actor_draw(marker, gfx, mtx, vtx); } diff --git a/src/TTC/ch/clam.c b/src/TTC/ch/clam.c index 81b23fe9..417ccf92 100644 --- a/src/TTC/ch/clam.c +++ b/src/TTC/ch/clam.c @@ -6,41 +6,41 @@ extern Actor *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); +static void __chClam_updateFunc(Actor *this); /* .data */ -ActorAnimationInfo chClamAnimations[] = { - {0x00, 0.0f}, +ActorAnimationInfo gChClamAnimations[4] = { + {NULL, NULL}, {ASSET_AA_ANIM_CLAM_IDLE, 2.0f}, {ASSET_24_ANIM_CLAM_HOP, 1.0f}, {ASSET_AB_ANIM_CLAM_EAT, 0.6f} }; -ActorInfo chClam = { +ActorInfo gChClam = { MARKER_15_CLAM, ACTOR_69_CLAM, ASSET_351_MODEL_CLAM, - 0x1, chClamAnimations, - chClam_update, actor_update_func_80326224, actor_draw, + 0x1, gChClamAnimations, + __chClam_updateFunc, actor_update_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){ +static void __chClam_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){ +static void __chClam_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) { +static bool __chClam_updateFuncTarget(Actor *this, f32 arg1) { f32 egg_dist; f32 red_feather_dist; f32 pad; @@ -84,13 +84,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); + __chClam_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) { +static bool __chClam_rotateTowardTarget(Actor *this, s32 arg1) { f32 temp_f0_2; s32 position; s32 sp2C; @@ -100,7 +100,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) || !__chClam_updateFuncTarget(this, sp2C)) { if (((f64) animctrl_getAnimTimer(this->animctrl) < 0.1) && ((f64) randf() < 0.5)) { if (this->unk1C[0] != 0.0f) { arg1 *= 2; @@ -132,7 +132,7 @@ bool __chClam_rotateTowardTarget(Actor *this, s32 arg1) { } -void __chClam_particalEmitterInit(ParticleEmitter *pCtrl, f32 position[3]){ +static void __chClam_particalEmitterInit(ParticleEmitter *pCtrl, f32 position[3]){ particleEmitter_setPosition(pCtrl, position); particleEmitter_func_802EF9F8(pCtrl, 0.7f); particleEmitter_func_802EFA18(pCtrl, 3); @@ -144,7 +144,7 @@ void __chClam_particalEmitterInit(ParticleEmitter *pCtrl, f32 position[3]){ particleEmitter_setDrawMode(pCtrl, 2); } -void __chClam_emitLargeShellParticles(f32 position[3], s32 count){ +static void __chClam_emitLargeShellParticles(f32 position[3], s32 count){ static ParticleSettingsVelocityAcceleration D_8038C3F4 = { {{-50.0f, 750.0f, -50.0f}, {120.0f, 900.0f, 120.0f}}, {{ 0.0f, -1800.0f, 0.0f}, { 0.0f, -1800.0f, 0.0f}} @@ -160,7 +160,7 @@ void __chClam_emitLargeShellParticles(f32 position[3], s32 count){ particleEmitter_emitN(pCtrl, count); } -void __chClam_emitEyeParticles(f32 position[3], s32 count){ +static void __chClam_emitEyeParticles(f32 position[3], s32 count){ static ParticleSettingsVelocityAcceleration 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}} @@ -176,7 +176,7 @@ void __chClam_emitEyeParticles(f32 position[3], s32 count){ particleEmitter_emitN(pCtrl, count); } -void __chClam_emitSmallShellParticles(f32 position[3], s32 count){ +static void __chClam_emitSmallShellParticles(f32 position[3], s32 count){ static ParticleSettingsVelocityAcceleration 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}} @@ -192,7 +192,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){ +static void __chClam_emitEatencollectibleParticles(f32 position[3], enum asset_e sprite_id, s32 count){ static ParticleScaleAndLifetimeRanges D_8038C484 = { {0.2f, 0.35f}, {0.0f, 0.0f}, @@ -217,14 +217,14 @@ void __chClam_emitEatencollectibleParticles(f32 position[3], enum asset_e sprite particleEmitter_emitN(pCtrl, count); } -void __chClam_takeDamage(ActorMarker *this_marker, ActorMarker *other_marker){ +static void __chClam_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_playSfx(SFX_1D_HITTING_AN_ENEMY_1, 1.0f, 26000, this->position, 1500.0f, 2000.0f); + __chClam_playSfx(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); @@ -232,7 +232,7 @@ void __chClam_takeDamage(ActorMarker *this_marker, ActorMarker *other_marker){ marker_despawn(this->marker); } -void __chClam_playerDropsItem(enum bundle_e bundle_id, enum item_e item_id){ +static void __chClam_playerDropsItem(enum bundle_e bundle_id, enum item_e item_id){ f32 position[3]; player_getPosition(position); @@ -241,12 +241,12 @@ void __chClam_playerDropsItem(enum bundle_e bundle_id, enum item_e item_id){ item_dec(item_id); } -void __chClam_attackOther(ActorMarker *this_marker, ActorMarker *other_marker){ +static void __chClam_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)){ - mapSpecificFlags_set(5, TRUE); + if( !mapSpecificFlags_get(TTC_SPECIFIC_FLAG_5_CLAM_FIRST_MEET_TEXT_SHOWN) && gcdialog_showText(ASSET_A14_TEXT_CLAM_TAUNT, 0, NULL, NULL, NULL, NULL)){ + mapSpecificFlags_set(TTC_SPECIFIC_FLAG_5_CLAM_FIRST_MEET_TEXT_SHOWN, TRUE); } if (item_getCount(ITEM_D_EGGS) != 0) { @@ -258,7 +258,7 @@ void __chClam_attackOther(ActorMarker *this_marker, ActorMarker *other_marker){ } } -void chClam_update(Actor *this){ +static void __chClam_updateFunc(Actor *this){ ActorProp *sp4C = func_80320EB0(this->marker, 30.0f, 1); f32 sp48; s32 sp44; @@ -290,8 +290,8 @@ void chClam_update(Actor *this){ animctrl_setDuration(this->animctrl, 0.6f); marker_despawn(sp4C->marker); } - }//L80387140 - }//L80387144 + } + } switch(this->state){ case 1://L80387170 @@ -299,7 +299,7 @@ void chClam_update(Actor *this){ 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); + __chClam_playSfx(SFX_3F2_UNKNOWN, randf2(1.0f, 1.1f), 22000, this->position, 1500.0f, 2000.0f); } else{ animctrl_setDuration(this->animctrl, 2.0f); @@ -310,7 +310,7 @@ 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); + __chClam_playSfx(SFX_80_YUMYUM_CLACK, 1.0f, 20000, this->position, 1500.0f, 2000.0f); } if(this->position_y <= sp48){ @@ -337,7 +337,7 @@ void chClam_update(Actor *this){ } 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); + __chClam_playSfx(SFX_4B_GULPING, randf2(0.8f, 0.9f), 22000, this->position, 700.0f, 2000.0f); break; }//L803873C4 @@ -345,7 +345,7 @@ 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); + __chClam_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){ diff --git a/src/TTC/ch/leaky.c b/src/TTC/ch/leaky.c index 425ba525..528e23fc 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); +static void __chLeaky_updateFunc(Actor *this); /* .data */ -ActorAnimationInfo D_8038C700[] = { - {0x000, 0.0f}, - {0x239, 2.5f}, - {0x239, 2.5f} +ActorAnimationInfo gChLeakyAnimations[3] = { + {NULL, NULL}, + {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, actor_update_func_80326224, actor_draw, + 0x1, gChLeakyAnimations, + __chLeaky_updateFunc, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0 }; /* .code */ -bool TTC_func_80388F70(Actor *this){ +static bool __chLeaky_isCurrentModelShrapnel(Actor *this){ return this->modelCacheIndex == ACTOR_56_SHRAPNEL; } -void func_80388F88(void){ +static 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) { +static void __chLeaky_updateFunc(Actor *this) { void *temp_v0_2; func_8028E668(this->position, 100.0f, -20.0f, 100.0f); @@ -55,21 +55,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) @@ -77,12 +79,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){ +static 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); @@ -93,7 +95,7 @@ void __chLeaky_startCutscene(ActorMarker *caller, enum asset_e text_id, s32 arg2 func_80324E38(0.0f, 3); timed_setStaticCameraToNode(0.5f, 7); - timedFunc_set_0(1.0f, func_80388F88); + timedFunc_set_0(1.0f, __func_80388F88); func_80324E38(2.5f, 0); timedFunc_set_1(2.5f, func_8028F9DC, 2); timedFunc_set_3(2.5f, (GenFunction_3)func_802E4078, MAP_A_TTC_SANDCASTLE, 0, 0); @@ -114,8 +116,8 @@ bool chLeaky_eggCollision(ActorMarker *marker){ return TRUE; } - levelSpecificFlags_set(LEVEL_FLAG_2_TTC_UNKNOWN, TRUE); - levelSpecificFlags_set(LEVEL_FLAG_5_TTC_UNKNOWN, TRUE); - gcdialog_showText(ASSET_A28_TEXT_LEAKY_DONE, 0x2a, this->position, this->marker, __chLeaky_startCutscene, NULL); + levelSpecificFlags_set(2, TRUE); + levelSpecificFlags_set(5, TRUE); + gcdialog_showText(ASSET_A28_TEXT_LEAKY_DONE, 0x2a, this->position, this->marker, __chLeaky_showDoneText, NULL); return TRUE; } diff --git a/src/TTC/ch/lockup.c b/src/TTC/ch/lockup.c index b4c14a1a..574ae5d6 100644 --- a/src/TTC/ch/lockup.c +++ b/src/TTC/ch/lockup.c @@ -5,16 +5,24 @@ extern void func_802EE6CC(f32[3], s32[4], s32[4], s32, f32, f32, s32, s32, s32); typedef struct { - s32 unk0; - s32 unk4; -}ActorLocal_Lockup; + s32 closed_ticks_counter; + s32 open_ticks_counter; +} ActorLocal_Lockup; -Actor *func_803894C0(ActorMarker *this, Gfx **gfx, Mtx **mtx, Vtx **vtx); -void func_80389600(Actor *this); +static Actor *__chLockup_drawFunc(ActorMarker *this, Gfx **gfx, Mtx **mtx, Vtx **vtx); +static void __chLockup_updateFunc(Actor *this); + +enum ch_lockup_states_e { + CH_LOCKUP_STATE_CLOSED = 1, // L803896F0 + CH_LOCKUP_STATE_OPENING = 2, // L803897DC + CH_LOCKUP_STATE_OPEN = 3, // L80389864 + CH_LOCKUP_STATE_CLOSING = 4, // L803898F4 + CH_LOCKUP_STATE_CLOSING2 = 5 // L803898F4 +}; /* .data */ -ActorAnimationInfo D_8038C760[] ={ - {0, 0.0f}, +ActorAnimationInfo gChLockupAnimations[6] ={ + {NULL, NULL}, {ASSET_BC_ANIM_LOCKUP, 8000000.0f}, {ASSET_BC_ANIM_LOCKUP, 4.0f}, {ASSET_BC_ANIM_LOCKUP, 8000000.0f}, @@ -22,55 +30,53 @@ ActorAnimationInfo D_8038C760[] ={ {ASSET_BC_ANIM_LOCKUP, 8000000.0f} }; -ActorInfo D_8038C790 = { +ActorInfo gChLockupSlow = { MARKER_A4_LOCKUP_SLOW, ACTOR_151_LOCKUP_SLOW, ASSET_3D4_MODEL_LOCKUP, - 1, D_8038C760, - func_80389600, actor_update_func_80326224, func_803894C0, + 1, gChLockupAnimations, + __chLockup_updateFunc, actor_update_func_80326224, __chLockup_drawFunc, 2500, 0x366, 0.0f, 0 }; -ActorInfo D_8038C7B4 = { +ActorInfo gChLockupMedium = { MARKER_F6_LOCKUP_MEDIUM, ACTOR_152_LOCKUP_MEDIUM, ASSET_3D4_MODEL_LOCKUP, - 1, D_8038C760, - func_80389600, actor_update_func_80326224, func_803894C0, + 1, gChLockupAnimations, + __chLockup_updateFunc, actor_update_func_80326224, __chLockup_drawFunc, 2500, 0x366, 0.0f, 0 }; -ActorInfo D_8038C7D8 = { +ActorInfo gChLockupFast = { MARKER_F7_LOCKUP_FAST, ACTOR_153_LOCKUP_FAST, ASSET_3D4_MODEL_LOCKUP, - 1, D_8038C760, - func_80389600, actor_update_func_80326224, func_803894C0, + 1, gChLockupAnimations, + __chLockup_updateFunc, actor_update_func_80326224, __chLockup_drawFunc, 2500, 0x366, 0.0f, 0 }; -s32 D_8038C7FC[4] = {120, 120, 120, 120}; -s32 D_8038C80C[4] = {0,0,0,0}; +static s32 sLockup_CloseColor[4] = {120, 120, 120, 120}; +static s32 sLockup_CloseVelocity[3] = {0,0,0}; /* .code */ -Actor *func_803894C0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ +static Actor *__chLockup_drawFunc(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ Actor * actor = marker_getActor(marker); func_8033A45C(3, actor->unk38_31); func_8033A45C(4, actor->unk38_31); actor_draw(marker, gfx, mtx, vtx); - } -void TTC_func_80389530(Actor *this){ - subaddie_set_state_with_direction(this, 1, 0.2f, 1); +static void __chLockup_close(Actor *this){ + subaddie_set_state_with_direction(this, CH_LOCKUP_STATE_CLOSED, 0.2f, 1); this->marker->collidable = FALSE; this->unk38_31 = 0; FUNC_8030E8B4(SFX_6C_LOCKUP_CLOSING, 1.0f, 32000, this->position, 1250, 2500); - } -void func_8038959C(Actor *this){ +static void __chLockup_open(Actor *this){ func_80389468(); - subaddie_set_state_with_direction(this, 2, 0.2f, 1); + subaddie_set_state_with_direction(this, CH_LOCKUP_STATE_OPENING, 0.2f, 1); this->unk38_31 = 1; FUNC_8030E8B4(SFX_6B_LOCKUP_OPENING, 1.0f, 32000, this->position, 1250, 2500); } -void func_80389600(Actor *this){ +static void __chLockup_updateFunc(Actor *this){ ActorLocal_Lockup *local = (ActorLocal_Lockup *)&this->local; s32 tmp_v1; int i; @@ -81,25 +87,25 @@ void func_80389600(Actor *this){ && func_80329530(this, 320) && !func_80329530(this, 160) && !func_8028ECAC() - && gcdialog_showText(0xA15, 0, NULL, NULL, NULL, NULL) + && gcdialog_showText(ASSET_A15_TEXT_TTC_LOCKUP_SPAWNED, 0, NULL, NULL, NULL, NULL) ){ this->has_met_before = TRUE; - }//L803896AC + } if(!this->volatile_initialized){ this->volatile_initialized = TRUE; } switch(this->state){ - case 1: //L803896F0 + case CH_LOCKUP_STATE_CLOSED: if(!this->initialized){ this->marker->propPtr->unk8_3 = TRUE; - subaddie_set_state_with_direction(this, 1, 0.2f, 1); + subaddie_set_state_with_direction(this, CH_LOCKUP_STATE_CLOSED, 0.2f, 1); this->marker->collidable = FALSE; this->unk38_31 = 0; this->initialized = TRUE; - }//L80389758 - local->unk0++; + } + local->closed_ticks_counter++; tmp_v1 = (this->modelCacheIndex == ACTOR_151_LOCKUP_SLOW) ? 0x1E : (this->modelCacheIndex == ACTOR_152_LOCKUP_MEDIUM) ? 0x14 : @@ -107,47 +113,47 @@ void func_80389600(Actor *this){ 10000; - if(!(local->unk0 < tmp_v1)){ - local->unk0 = 0; - func_8038959C(this); + if(!(local->closed_ticks_counter < tmp_v1)){ + local->closed_ticks_counter = 0; + __chLockup_open(this); } break; - case 2: //L803897DC + case CH_LOCKUP_STATE_OPENING: if(subaddie_playerIsWithinSphere(this, 400) && func_8028FB48(0x8000000)){ func_8028F428(0xA, this->marker); } if(actor_animationIsAt(this, 0.5f)){ - subaddie_set_state_with_direction(this, 3, 0.5f, 1); + subaddie_set_state_with_direction(this, CH_LOCKUP_STATE_OPEN, 0.5f, 1); } if(0.15 < animctrl_getAnimTimer(this->animctrl)){ this->marker->collidable = TRUE; } break; - case 3: //L80389864 - local->unk4++; + case CH_LOCKUP_STATE_OPEN: + local->open_ticks_counter++; tmp_v1 = (this->modelCacheIndex == ACTOR_151_LOCKUP_SLOW) ? 0x1E : (this->modelCacheIndex == ACTOR_152_LOCKUP_MEDIUM) ? 0x14 : (this->modelCacheIndex == ACTOR_153_LOCKUP_FAST) ? 0xA : 10000; - if(!(local->unk4 < tmp_v1)){ - local->unk4 = 0; - subaddie_set_state_with_direction(this, 4, 0.5f, 1); + if(!(local->open_ticks_counter < tmp_v1)){ + local->open_ticks_counter = 0; + subaddie_set_state_with_direction(this, CH_LOCKUP_STATE_CLOSING, 0.5f, 1); } break; - case 4: //L803898F4 - case 5: //L803898F4 + case CH_LOCKUP_STATE_CLOSING: + case CH_LOCKUP_STATE_CLOSING2: if(this->marker->unk14_21 && actor_animationIsAt(this, 0.99f)){ - TTC_func_80389530(this); + __chLockup_close(this); for(i = 5; i < 0xe; i++){ func_8034A174(this->marker->unk44, i, this->unk1C); - func_802EE6CC(this->unk1C, D_8038C80C, D_8038C7FC, 1, 0.4f, 50.0f, 0xb4, 0xa0, 0); + func_802EE6CC(this->unk1C, sLockup_CloseVelocity, sLockup_CloseColor, 1, 0.4f, 50.0f, 0xb4, 0xa0, 0); } } break; - }//L8038999C + } } diff --git a/src/TTC/ch/nipper.c b/src/TTC/ch/nipper.c index 3aebd7f9..ec5c51ab 100644 --- a/src/TTC/ch/nipper.c +++ b/src/TTC/ch/nipper.c @@ -2,33 +2,40 @@ #include "functions.h" #include "variables.h" -void func_80388434(Actor *this); -Actor *func_80387EB0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); +static void __chNipper_updateFunc(Actor *this); +static Actor *__chNipper_animFunc(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); +enum ch_nipper_states_e { + CH_NIPPER_STATE_1_UNKNOWN = 1, // L80388578 + CH_NIPPER_STATE_2_UNKNOWN, // L8038872C + CH_NIPPER_STATE_3_UNKNOWN, // L803887B4 + CH_NIPPER_STATE_4_DIEING, // L80388910 + CH_NIPPER_STATE_5_SPAWNED, // L80388938 + CH_NIPPER_STATE_6_DEAD, // L803889A8 + CH_NIPPER_STATE_7_UNKNOWN // already dead? L80388A20 +}; /* .data */ -ActorAnimationInfo D_8038C540[] = { - {0x00, 0.0f}, +ActorAnimationInfo gChNipperAnimations[8] = { + {NULL, NULL}, {ASSET_C0_ANIM_NIPPER_IDLE, 2.0f}, {ASSET_BD_ANIM_NIPPER_VULNERABLE, 1.5f}, {ASSET_BF_ANIM_NIPPER_ATTACK, 1.2f}, {ASSET_BE_ANIM_NIPPER_OW, 1.3f}, {ASSET_C0_ANIM_NIPPER_IDLE, 2.0f}, {ASSET_133_ANIM_NIPPER_DIE, 3.0f}, - {0x00, 0.0f} + {NULL, NULL} }; -ActorInfo D_8038C580 = { +ActorInfo gChNipper = { MARKER_A5_NIPPER, ACTOR_117_NIPPER, ASSET_3D5_MODEL_NIPPER, - 0x1, D_8038C540, - func_80388434, actor_update_func_80326224, func_80387EB0, + 0x1, gChNipperAnimations, + __chNipper_updateFunc, actor_update_func_80326224, __chNipper_animFunc, 0, 0x299, 10.0f, 0 }; - - /* .code */ -void func_80387DC0(f32 *position, s32 count) { +static void __chNipper_drawParticlesAtPosition(f32 *position, s32 count) { static s32 D_8038C5A4[3] = {180, 180, 180}; static ParticleScaleAndLifetimeRanges D_8038C5B0 = { {0.1f, 0.5f}, @@ -57,7 +64,7 @@ void func_80387DC0(f32 *position, s32 count) { particleEmitter_emitN(pCtrl, count); } -Actor *func_80387EB0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) { +static Actor *__chNipper_animFunc(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) { Actor *this; this = marker_getActor(marker); @@ -65,43 +72,45 @@ Actor *func_80387EB0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) { return actor_draw(marker, gfx, mtx, vtx); } -void TTC_func_80387F18(Actor *this) { - subaddie_set_state_looped(this, 3); +static void __chNipper_setAnimationDuration(Actor *this) { + subaddie_set_state_looped(this, CH_NIPPER_STATE_3_UNKNOWN); this->unk1C[0] = 0.0f; switch((s32)this->lifetime_value){ - case 0x78: + case 120: animctrl_setDuration(this->animctrl, 1.2f); break; - case 0x50: + case 80: animctrl_setDuration(this->animctrl, 1.05f); break; - case 0x28: + case 40: animctrl_setDuration(this->animctrl, 0.9f); break; } } -void TTC_func_80387FB0(ActorMarker *caller, enum asset_e text_id, s32 arg2){ +static void __chNipper_spawnedShowTextCallback(ActorMarker *caller, enum asset_e text_id, s32 arg2){ Actor *this; this = marker_getActor(caller); - TTC_func_80387F18(this); + __chNipper_setAnimationDuration(this); ncStaticCamera_exit(); comusic_8025AB44(COMUSIC_12_TTC_NIPPER, -1, 300); } -void TTC_func_80387FF4(Actor *this) { +static void __chNipper_playDeathAnimation(Actor *this) { s32 i; - subaddie_set_state_with_direction(this, 4, 0.01f, 1); + subaddie_set_state_with_direction(this, CH_NIPPER_STATE_4_DIEING, 0.01f, 1); actor_playAnimationOnce(this); for(i = 0; i < 3; i ++){ FUNC_8030E8B4(SFX_79_TICKER_DEATH, 0.5f, 17000, this->position, 1500, 3000); }; } -bool func_80388088(Actor *this){ +// if player too far away -> false +// otherwise return whether sp2C is within -35 and 35? +static bool __func_80388088(Actor *this){ f32 sp2C; f32 sp20[3]; bool out; @@ -115,11 +124,11 @@ bool func_80388088(Actor *this){ return BOOL(-35.0f < sp2C && sp2C < 35.0f); } -bool func_8038812C(Actor *this){ - return BOOL(func_80329530(this, 1300) && func_80388088(this)); +static bool __chNipper_shouldShowActor(Actor *this){ + return BOOL(func_80329530(this, 1300) && __func_80388088(this)); } -void func_80388178(ActorMarker *this_marker, ActorMarker *other_marker) { +static void __chNipper_dieFunc(ActorMarker *this_marker, ActorMarker *other_marker) { Actor *this; s32 i; @@ -127,33 +136,33 @@ void func_80388178(ActorMarker *this_marker, ActorMarker *other_marker) { func_8032B4DC(this, other_marker, 7); if (this->lifetime_value == 40.0f) { - subaddie_set_state_with_direction(this, 6, 0.01f, 1); + subaddie_set_state_with_direction(this, CH_NIPPER_STATE_6_DEAD, 0.01f, 1); actor_playAnimationOnce(this); for(i = 0; i < 3; i++){ FUNC_8030E8B4(SFX_78_EAGLECRY, 0.7f, 20000, this->position, 1500, 3000); }; comusic_8025AB44(COMUSIC_12_TTC_NIPPER, 0, 300); - func_8025AABC(0x12); + func_8025AABC(COMUSIC_12_TTC_NIPPER); func_8032BB88(this, -1, 300); func_802BAFE4(0x1C); return; } if (this->lifetime_value == 80.0f) { - TTC_func_80387FF4(this); + __chNipper_playDeathAnimation(this); this->lifetime_value = 40.0f; return; } - TTC_func_80387FF4(this); + __chNipper_playDeathAnimation(this); this->lifetime_value = 80.0f; - gcdialog_showText(0xA10, 4, NULL, NULL, NULL, NULL); + gcdialog_showText(ASSET_A10_TEXT_TTC_NIPPER_HURT, 4, NULL, NULL, NULL, NULL); return; } -bool func_803882E4(ActorMarker * this_marker, ActorMarker * other_marker){ +static bool __chNipper_determineMarkerId(ActorMarker * this_marker, ActorMarker * other_marker){ if(this_marker->unk40_31 == 1){ - this_marker->id = 0x16C; + this_marker->id = MARKER_16C_NIPPER; } else{ this_marker->id = MARKER_A5_NIPPER; @@ -161,21 +170,21 @@ bool func_803882E4(ActorMarker * this_marker, ActorMarker * other_marker){ return TRUE; } -void func_80388344(ActorMarker * this_marker, ActorMarker *other_marker){ +static void __chNipper_ow2Func(ActorMarker * this_marker, ActorMarker *other_marker){ Actor *this; if(other_marker->id == 1){ this = marker_getActor(this_marker); - if( !mapSpecificFlags_get(7) + if( !mapSpecificFlags_get(TTC_SPECIFIC_FLAG_7_NIPPER_FIRST_MEET_TEXT_SHOWN) && this->has_met_before && gcdialog_showText(0xa0f, 0, NULL, NULL, NULL, NULL) ){ - mapSpecificFlags_set(7, TRUE); + mapSpecificFlags_set(TTC_SPECIFIC_FLAG_7_NIPPER_FIRST_MEET_TEXT_SHOWN, TRUE); } } } -void func_803883C8(ActorMarker * this_marker, ActorMarker *other_marker){ +static void __chNipper_owFunc(ActorMarker * this_marker, ActorMarker *other_marker){ Actor *this = marker_getActor(this_marker); if( !this->unk138_23 && this->has_met_before @@ -185,68 +194,67 @@ void func_803883C8(ActorMarker * this_marker, ActorMarker *other_marker){ } } -void func_80388434(Actor *this){ - f32 sp4C[3]; +static void __chNipper_updateFunc(Actor *this){ + f32 particlePosition[3]; s32 sp48; - s32 sp44; - f32 sp38[3]; + s32 xVelocity; + f32 playerPosition[3]; s32 temp_v0; - player_getPosition(sp38); - sp44 = func_80309D58(sp38, 1); + player_getPosition(playerPosition); + xVelocity = func_80309D58(playerPosition, 1); if(!this->volatile_initialized){ this->volatile_initialized = TRUE; - this->velocity_x = sp44; + this->velocity_x = xVelocity; func_8032BC18(this); } - if(this->state != 7){ - // sp30 = sp44; - if(0.0f == this->velocity_x && sp44){ + if(this->state != CH_NIPPER_STATE_7_UNKNOWN){ + if(0.0f == this->velocity_x && xVelocity){ comusic_8025AB44(COMUSIC_12_TTC_NIPPER, -1, 5000); func_8032BB88(this, 0, 4000); func_8024BD08(0); } - else if(!sp44 && 0.0f != this->velocity_x){ + else if(!xVelocity && 0.0f != this->velocity_x){ comusic_8025AB44(COMUSIC_12_TTC_NIPPER, 0, 300); func_8025AABC(COMUSIC_12_TTC_NIPPER); func_8032BB88(this, -1, 300); func_8024BD08(1); } - this->velocity_x = sp44; - }//L80388554 + this->velocity_x = xVelocity; + } switch(this->state){ - case 1:// L80388578 + case CH_NIPPER_STATE_1_UNKNOWN: if(!this->initialized){ animctrl_setTransitionDuration(this->animctrl, 0.35f); - subaddie_set_state_with_direction(this, 1, 0.01f, 1); + subaddie_set_state_with_direction(this, CH_NIPPER_STATE_1_UNKNOWN, 0.01f, 1); this->lifetime_value = 120.0f; this->marker->propPtr->unk8_3 = TRUE; - marker_setCollisionScripts(this->marker, func_803883C8, func_80388344, func_80388178); - func_803300C0(this->marker, func_803882E4); + marker_setCollisionScripts(this->marker, __chNipper_owFunc, __chNipper_ow2Func, __chNipper_dieFunc); + func_803300C0(this->marker, __chNipper_determineMarkerId); this->initialized = TRUE; - }//L8038860C - if(func_8038812C(this)){ + } + + if(__chNipper_shouldShowActor(this)){ temp_v0 = func_8028ECAC(); if( !this->has_met_before && temp_v0 != 1 && temp_v0 != 10 ){ - subaddie_set_state_with_direction(this, 5, 0.01f, 1); - if(gcdialog_showText(0xa0e, 0xf, this->position, this->marker, TTC_func_80387FB0, NULL)){ + subaddie_set_state_with_direction(this, CH_NIPPER_STATE_5_SPAWNED, 0.01f, 1); + 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); ncStaticCamera_setToNode(11); } - else{//L803886B0 - TTC_func_80387F18(this); + else{ + __chNipper_setAnimationDuration(this); } break; } - //L803886C0 if( actor_animationIsAt(this, 0.2f) || actor_animationIsAt(this, 0.2f) || actor_animationIsAt(this, 0.6f) @@ -256,35 +264,35 @@ void func_80388434(Actor *this){ } break; - case 2:// L8038872C - if(!func_8038812C(this)){ - subaddie_set_state_looped(this, 1); + case CH_NIPPER_STATE_2_UNKNOWN: + if(!__chNipper_shouldShowActor(this)){ + subaddie_set_state_looped(this, CH_NIPPER_STATE_1_UNKNOWN); break; } if(this->lifetime_value <= this->unk38_31){ - TTC_func_80387F18(this); + __chNipper_setAnimationDuration(this); break; } this->unk38_31++; break; - case 3:// L803887B4 + case CH_NIPPER_STATE_3_UNKNOWN: if(actor_animationIsAt(this, 0.5f) && this->marker->unk14_21){ - func_8034A174(this->marker->unk44, 6, sp4C); - func_80387DC0(sp4C, 2); + func_8034A174(this->marker->unk44, 6, particlePosition); + __chNipper_drawParticlesAtPosition(particlePosition, 2); } else if(actor_animationIsAt(this, 0.95f) && this->marker->unk14_21){//L80388800 - func_8034A174(this->marker->unk44, 5, sp4C); - func_80387DC0(sp4C, 2); - }//L80388848 + func_8034A174(this->marker->unk44, 5, particlePosition); + __chNipper_drawParticlesAtPosition(particlePosition, 2); + } if(actor_animationIsAt(this, 0.99f)){ this->unk1C[0] += 1.0f; } if(2.0f <= this->unk1C[0]){ - subaddie_set_state_looped(this, 2); + subaddie_set_state_looped(this, CH_NIPPER_STATE_2_UNKNOWN); this->unk38_31 = 0; break; } @@ -298,13 +306,13 @@ void func_80388434(Actor *this){ } break; - case 4:// L80388910 + case CH_NIPPER_STATE_4_DIEING: if(actor_animationIsAt(this, 0.99f)){ - TTC_func_80387F18(this); + __chNipper_setAnimationDuration(this); } break; - case 5:// L80388938 + case CH_NIPPER_STATE_5_SPAWNED: if( actor_animationIsAt(this, 0.2f) || actor_animationIsAt(this, 0.2f) || actor_animationIsAt(this, 0.6f) @@ -314,7 +322,7 @@ void func_80388434(Actor *this){ } break; - case 6:// L803889A8 + case CH_NIPPER_STATE_6_DEAD: this->marker->collidable = FALSE; if(actor_animationIsAt(this, 0.6f)){ FUNC_8030E8B4(SFX_7C_CHEBOOF, 0.9f, 20000, this->position, 1500, 3000); @@ -322,18 +330,17 @@ void func_80388434(Actor *this){ } if(actor_animationIsAt(this, 0.99f)){ - subaddie_set_state_with_direction(this, 7, 0.01f, 1); + subaddie_set_state_with_direction(this, CH_NIPPER_STATE_7_UNKNOWN, 0.01f, 1); } break; - case 7:// L80388A20 + case CH_NIPPER_STATE_7_UNKNOWN: this->marker->collidable = FALSE; break; - - }//L80388A30 + } } -bool func_80388A44(s16 arg0[3]){ +bool chNipper_isInState7(s16 arg0[3]){ f32 sp1C[3]; Actor *nipper; @@ -342,5 +349,5 @@ bool func_80388A44(s16 arg0[3]){ sp1C[2] = (f32) arg0[2]; nipper = actorArray_findClosestActorFromActorId(sp1C, ACTOR_117_NIPPER, -1, NULL); - return nipper->state == 7; + return nipper->state == CH_NIPPER_STATE_7_UNKNOWN; } diff --git a/src/TTC/ch/treasure.c b/src/TTC/ch/treasure.c index 2aa24368..aece984e 100644 --- a/src/TTC/ch/treasure.c +++ b/src/TTC/ch/treasure.c @@ -2,25 +2,25 @@ #include "functions.h" #include "variables.h" -void chtreasure_update(Actor *this); +static void __chTreasure_updateFunc(Actor *this); /* .data */ -ActorAnimationInfo gChTreasureAnim[]={ - {0, 0.0f}, +ActorAnimationInfo gChTreasureAnimations[4] = { + {NULL, NULL}, {ASSET_153_ANIM_BURIED_TREASURE_APPEAR, 2.0f}, {ASSET_166_ANIM_BURIED_TREASURE_BOUNCE, 0.33f}, - {0, 0.0} + {NULL, NULL} }; -ActorInfo gChTreasureInfo = { +ActorInfo gChTreasure = { MARKER_DB_BURIED_TREASURE, ACTOR_F4_BURIED_TREASURE, ASSET_42C_MODEL_BURIED_TREASURE, - 1, gChTreasureAnim, - chtreasure_update, actor_update_func_80326224, actor_draw, + 1, gChTreasureAnimations, + __chTreasure_updateFunc, actor_update_func_80326224, actor_draw, 0, 0, 1.7f, 0 }; /* .code */ -void __chtreasure_die(ActorMarker *marker, ActorMarker *otherMarker){ +static void __chTreasure_die(ActorMarker *marker, ActorMarker *otherMarker){ Actor *this = marker_getActor(marker); __spawnQueue_add_4((GenFunction_4) spawnQueue_actor_f32, 0x4C, reinterpret_cast(s32, this->position[0]), reinterpret_cast(s32, this->position[1]), reinterpret_cast(s32, this->position[2])); func_802EE278(this, 3, 0xf, 0x3C, 0.2f, 1.2f); @@ -29,7 +29,7 @@ void __chtreasure_die(ActorMarker *marker, ActorMarker *otherMarker){ marker_despawn(marker); } -void __chtreasure_updatePosition(Actor *this){ +static void __chTreasure_updateFuncPosition(Actor *this){ this->position[0] = this->unk1C[0];\ this->position[1] = this->unk1C[1];\ this->position[2] = this->unk1C[2]; @@ -42,7 +42,7 @@ void __chtreasure_updatePosition(Actor *this){ this->yaw = this->lifetime_value*180.0/M_PI; } -void chtreasure_update(Actor *this){ +static void __chTreasure_updateFunc(Actor *this){ f32 sp3C[3]; s16 sp34[3]; @@ -61,9 +61,9 @@ void chtreasure_update(Actor *this){ this->unk1C[2] = this->position[2]; actor_playAnimationOnce(this); - marker_setCollisionScripts(this->marker, NULL, NULL, __chtreasure_die); - }//L8038C214 - __chtreasure_updatePosition(this); + marker_setCollisionScripts(this->marker, NULL, NULL, __chTreasure_die); + } + __chTreasure_updateFuncPosition(this); func_8034A174(this->marker->unk44, 5, sp3C); sp34[0] = (s16)sp3C[0]; sp34[1] = (s16)sp3C[1]; diff --git a/src/TTC/ch/treasurehunt.c b/src/TTC/ch/treasurehunt.c index 66918f13..aeee0923 100644 --- a/src/TTC/ch/treasurehunt.c +++ b/src/TTC/ch/treasurehunt.c @@ -7,15 +7,15 @@ extern void func_8028F45C(s32, f32[3]); typedef struct { s32 unk0; -}ActorLocal_TreasureHunt; +} ActorLocal_TreasureHunt; -void TTC_func_80389E90(Actor *this); -Actor *func_8038A0D0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); +static void __chTreasurehunt_updateFunc(Actor *this); +static Actor *__chTreasurehunt_animFunc(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); -extern u32 D_8037DCB4; +extern u32 CH_TREASUREHUNT_PUZZLE_CURRENT_STEP; /* .data */ -f32 D_8038C820[6][3] = { +static f32 sChTreasurehunt_stepPositions[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] = { +static f32 sChTreasurehunt_StepRedXYaws[6] = { 300.0f, 180.0f, 220.0f, 270.0f, 330.0f, 255.0f }; +static s32 sChTreasurehunt_StepYaws[6] = { 0x6E, 0xD2, 0x10E, 0x145, 0x14A, 0 }; +static s32 sChTreasurehunt_StepActors[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 gChTreasurehuntRedArrow = { MARKER_62_RED_ARROW, ACTOR_53_RED_ARROW, ASSET_3E9_MODEL_RED_ARROW, 0, NULL, - TTC_func_80389E90, actor_update_func_80326224, func_8038A0D0, + __chTreasurehunt_updateFunc, actor_update_func_80326224, __chTreasurehunt_animFunc, 0, 0x400, 0.0f, 0 }; -ActorInfo D_8038C8D4 = { +ActorInfo gChTreasurehuntRedQuestionMark = { MARKER_63_RED_QUESTION_MARK, ACTOR_54_RED_QUESTION_MARK, ASSET_3EB_MODEL_RED_QUESTION_MARK, 0, NULL, - TTC_func_80389E90, actor_update_func_80326224, func_8038A0D0, + __chTreasurehunt_updateFunc, actor_update_func_80326224, __chTreasurehunt_animFunc, 0, 0x400, 0.0f, 0 }; -ActorInfo D_8038C8F8 = { +ActorInfo gChTreasurehuntRedX = { MARKER_64_RED_X, ACTOR_55_RED_X, ASSET_3EA_MODEL_RED_X, 0, NULL, - TTC_func_80389E90, actor_update_func_80326224, func_8038A0D0, + __chTreasurehunt_updateFunc, actor_update_func_80326224, __chTreasurehunt_animFunc, 0, 0x400, 0.0f, 0 }; -s32 D_8038C91C[3] = {160, 120, 20}; -ParticleScaleAndLifetimeRanges D_8038C928 = { +static s32 sChTreasurehuntParticleRGB[3] = {160, 120, 20}; + +ParticleScaleAndLifetimeRanges CH_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 }; -ParticleSettingsVelocityPosition D_8038C950 = { +ParticleSettingsVelocityPosition CH_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; +static bool __chTreasurehunt_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 (CH_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) { +static void __chTreasurehunt_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, sChTreasurehunt_stepPositions[CH_TREASUREHUNT_PUZZLE_CURRENT_STEP], 0); local = (ActorLocal_TreasureHunt *)&actor->local; - actor->yaw = D_8038C868[D_8037DCB4]; - local->unk0 = D_8037DCB4; + actor->yaw = sChTreasurehunt_StepRedXYaws[CH_TREASUREHUNT_PUZZLE_CURRENT_STEP]; + local->unk0 = CH_TREASUREHUNT_PUZZLE_CURRENT_STEP; actor->lifetime_value = 0.0f; actor->state = 0; } -void func_80389A9C(void) { +static void __chTreasurehunt_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((sChTreasurehunt_StepActors - 1)[CH_TREASUREHUNT_PUZZLE_CURRENT_STEP], sChTreasurehunt_stepPositions[CH_TREASUREHUNT_PUZZLE_CURRENT_STEP - 1], 0); local = (ActorLocal_TreasureHunt *)&actor->local; - actor->yaw = D_8038C880[D_8037DCB4 - 1]; - local->unk0 = D_8037DCB4; + actor->yaw = sChTreasurehunt_StepYaws[CH_TREASUREHUNT_PUZZLE_CURRENT_STEP - 1]; + local->unk0 = CH_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); +static void __chTreasurehunt_checkStepProgress(s32 currentStep){ + if(CH_TREASUREHUNT_PUZZLE_CURRENT_STEP == currentStep && __chTreasurehunt_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); + CH_TREASUREHUNT_PUZZLE_CURRENT_STEP++; + __spawnQueue_add_0(__chTreasurehunt_spawnActorForNextStep); + __spawnQueue_add_0(__chTreasurehunt_spawnRedXForNextStep); } } -void TTC_func_80389BFC(ActorMarker *this, ActorMarker *arg1){\ - func_80389B38(0); +void chTreasurehunt_checkStepProgress0(ActorMarker *this, ActorMarker *arg1){\ + __chTreasurehunt_checkStepProgress(0); } -void func_80389C24(ActorMarker *this, ActorMarker *arg1){\ - func_80389B38(1); +void chTreasurehunt_checkStepProgress1(ActorMarker *this, ActorMarker *arg1){\ + __chTreasurehunt_checkStepProgress(1); } -void func_80389C4C(ActorMarker *this, ActorMarker *arg1){\ - func_80389B38(2); +void chTreasurehunt_checkStepProgress2(ActorMarker *this, ActorMarker *arg1){\ + __chTreasurehunt_checkStepProgress(2); } -void func_80389C74(ActorMarker *this, ActorMarker *arg1){\ - func_80389B38(3); +void chTreasurehunt_checkStepProgress3(ActorMarker *this, ActorMarker *arg1){\ + __chTreasurehunt_checkStepProgress(3); } -void func_80389C9C(ActorMarker *this, ActorMarker *arg1){\ - func_80389B38(4); +void chTreasurehunt_checkStepProgress4(ActorMarker *this, ActorMarker *arg1){\ + __chTreasurehunt_checkStepProgress(4); } -void func_80389CC4(s16 arg0[3], s32 arg1){ - static ParticleEmitter *D_8038D700; - static f32 D_8038D708[3]; +void chTreasurehunt_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(CH_TREASUREHUNT_PUZZLE_CURRENT_STEP == 5 && __chTreasurehunt_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, sChTreasurehuntParticleRGB); + particleEmitter_setSprite(particleEmitter, ASSET_700_SPRITE_DUST); + particleEmitter_setStartingFrameRange(particleEmitter, 0, 7); + particleEmitter_setPosition(particleEmitter, particleTargetPosition); + particleEmitter_setPositionAndVelocityRanges(particleEmitter, &CH_TREASUREHUNT_VELOCITY_RANGES); + particleEmitter_setScaleAndLifetimeRanges(particleEmitter, &CH_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 + CH_TREASUREHUNT_PUZZLE_CURRENT_STEP++; + } } -void ttc_resetTresureHunt(void){ - D_8037DCB4 = 0; +void chTreasurehunt_resetProgress(void){ + CH_TREASUREHUNT_PUZZLE_CURRENT_STEP = 0; } -void TTC_func_80389E90(Actor *this){ +static void __chTreasurehunt_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 < CH_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){ +static Actor *__chTreasurehunt_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 1775055d..55759d90 100644 --- a/src/TTC/code_26D0.c +++ b/src/TTC/code_26D0.c @@ -5,121 +5,121 @@ #include "SnS.h" #include "actor.h" -extern ActorInfo chClam; -extern ActorInfo TTC_D_8038C510; -extern ActorInfo D_8038C580; -extern ActorInfo D_8038C5E0; -extern ActorInfo D_8038C604; -extern ActorInfo D_8038C628; -extern ActorInfo D_8038C64C; -extern ActorInfo D_8038C670; -extern ActorInfo D_8038C694; -extern ActorInfo D_8038C6B8; -extern ActorInfo D_8038C6DC; -extern ActorInfo D_8038C718; -extern ActorInfo D_8038C790; -extern ActorInfo D_8038C7B4; -extern ActorInfo D_8038C7D8; -extern ActorInfo D_8038C8B0; -extern ActorInfo D_8038C8D4; -extern ActorInfo D_8038C8F8; -extern ActorInfo gChTreasureInfo; +extern ActorInfo gChClam; +extern ActorInfo gChBlubber; +extern ActorInfo gChNipper; +extern ActorInfo gBlubberShipTopHatch; +extern ActorInfo gLighthouseDoor; +extern ActorInfo gSharkfoodIsland; +extern ActorInfo gLighthouseA; +extern ActorInfo gLighthouseB; +extern ActorInfo gStairs1; +extern ActorInfo gStairs2; +extern ActorInfo gPalmTree; +extern ActorInfo gChLeaky; +extern ActorInfo gChLockupSlow; +extern ActorInfo gChLockupMedium; +extern ActorInfo gChLockupFast; +extern ActorInfo gChTreasurehuntRedArrow; +extern ActorInfo gChTreasurehuntRedQuestionMark; +extern ActorInfo gChTreasurehuntRedX; +extern ActorInfo gChTreasure; -void TTC_func_80388C78(Actor *this); -void func_80388CB8(Actor *this); -void func_80388D34(Actor *this); +void code26D0_genericUpdateFunc(Actor *this); +void code26D0_palmTreeUpdateFunc(Actor *this); +void code26D0_lighthouseAUpdateFunc(Actor *this); void func_802D3D54(Actor *this); -void func_80388D8C(Actor *this); +void code26D0_sharkfoodIslandUpdateFunc(Actor *this); /* .data */ -ActorInfo D_8038C5E0 = { - 0xA1, 0x10E, 0x3D2, +ActorInfo gBlubberShipTopHatch = { + MARKER_A1_BLUBBER_SHIP_TOP_HATCH, ACTOR_10E_BLUBBER_SHIP_TOP_HATCH, ASSET_3D2_MODEL_BLUBBER_SHIP_TOP_HATCH, 0x1, NULL, func_802D3D54, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0 }; -ActorInfo D_8038C604 = { +ActorInfo gLighthouseDoor = { MARKER_EA_LIGHTHOUSE_DOOR, ACTOR_13E_LIGHTHOUSE_DOOR, ASSET_3D6_MODEL_LIGHTHOUSE_DOOR, 0x1, NULL, func_802D3D54, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0 }; -ActorInfo D_8038C628 = { +ActorInfo gSharkfoodIsland = { MARKER_167_SHARKFOOD_ISLAND, ACTOR_25C_SHARKFOOD_ISLAND, ASSET_50A_MODEL_SHARKFOOD_ISLAND, 0x1, NULL, - func_80388D8C, actor_update_func_80326224, actor_drawFullDepth, + code26D0_sharkfoodIslandUpdateFunc, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0 }; -ActorInfo D_8038C64C = { - 0x267, 0x2E2, 0x3BD, +ActorInfo gLighthouseA = { + MARKER_267_LIGHTHOUSE_A, ACTOR_2E2_LIGHTHOUSE_A, ASSET_3BD_MODEL_LIGHTHOUSE_A, 0x1, NULL, - func_80388D34, actor_update_func_80326224, actor_drawFullDepth, + code26D0_lighthouseAUpdateFunc, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0 }; -ActorInfo D_8038C670 = { - 0x26A, 0x2DF, 0x3BE, +ActorInfo gLighthouseB = { + MARKER_26A_LIGHTHOUSE_B, ACTOR_2DF_LIGHTHOUSE_B, ASSET_3BE_MODEL_LIGHTHOUSE_B, 0x1, NULL, - TTC_func_80388C78, actor_update_func_80326224, actor_drawFullDepth, + code26D0_genericUpdateFunc, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0 }; -ActorInfo D_8038C694 = { - 0x268, 0x2E0, 0x3B6, +ActorInfo gStairs1 = { + MARKER_268_STAIRS_1, ACTOR_2E0_TTC_STAIRS_1, ASSET_3B6_MODEL_TTC_STAIRS_1, 0x1, NULL, - TTC_func_80388C78, actor_update_func_80326224, actor_drawFullDepth, + code26D0_genericUpdateFunc, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0 }; -ActorInfo D_8038C6B8 = { - 0x269, 0x2E1, 0x3B7, +ActorInfo gStairs2 = { + MARKER_269_STAIRS_2, ACTOR_2E1_TTC_STAIRS_2, ASSET_3B7_MODEL_TTC_STAIRS_1, 0x1, NULL, - TTC_func_80388C78, actor_update_func_80326224, actor_drawFullDepth, + code26D0_genericUpdateFunc, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0 }; -ActorInfo D_8038C6DC = { +ActorInfo gPalmTree = { MARKER_1D5_PALM_TREE, ACTOR_31E_PALM_TREE, ASSET_3A9_MODEL_PALM_TREE, 0x1, NULL, - func_80388CB8, actor_update_func_80326224, actor_drawFullDepth, + code26D0_palmTreeUpdateFunc, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0 }; /* .code */ -void TTC_func_80388AC0(void) +void TTC_resetSpawnableActors(void) { - spawnableActorList_add(&D_8038C5E0, actor_new, ACTOR_FLAG_NONE); - spawnableActorList_add(&D_8038C604, actor_new, ACTOR_FLAG_NONE); - spawnableActorList_add(&D_8038C580, 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(&TTC_D_8038C510, 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(&D_8038C790, actor_new, ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_6 | ACTOR_FLAG_UNKNOWN_8); - spawnableActorList_add(&D_8038C7B4, actor_new, ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_6 | ACTOR_FLAG_UNKNOWN_8); - spawnableActorList_add(&D_8038C7D8, 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(&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); - spawnableActorList_add(&D_8038C670, actor_new, ACTOR_FLAG_UNKNOWN_2 | ACTOR_FLAG_UNKNOWN_10 | ACTOR_FLAG_UNKNOWN_17); - 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(&gBlubberShipTopHatch, actor_new, ACTOR_FLAG_NONE); + spawnableActorList_add(&gLighthouseDoor, 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(&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); + spawnableActorList_add(&gChTreasurehuntRedArrow, actor_new, ACTOR_FLAG_UNKNOWN_10); + spawnableActorList_add(&gChTreasurehuntRedQuestionMark, actor_new, ACTOR_FLAG_UNKNOWN_10); + spawnableActorList_add(&gChTreasurehuntRedX, actor_new, ACTOR_FLAG_UNKNOWN_10); + spawnableActorList_add(&gChTreasure, actor_new, ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_6 | ACTOR_FLAG_UNKNOWN_25); + spawnableActorList_add(&gSharkfoodIsland, actor_new, ACTOR_FLAG_UNKNOWN_7 | ACTOR_FLAG_UNKNOWN_9 | ACTOR_FLAG_UNKNOWN_10 | ACTOR_FLAG_UNKNOWN_15); + spawnableActorList_add(&gLighthouseA, actor_new, ACTOR_FLAG_UNKNOWN_10); + spawnableActorList_add(&gLighthouseB, actor_new, ACTOR_FLAG_UNKNOWN_2 | ACTOR_FLAG_UNKNOWN_10 | ACTOR_FLAG_UNKNOWN_17); + spawnableActorList_add(&gStairs1, actor_new, ACTOR_FLAG_UNKNOWN_10); + spawnableActorList_add(&gStairs2, actor_new, ACTOR_FLAG_UNKNOWN_10); + spawnableActorList_add(&gPalmTree, actor_new, ACTOR_FLAG_UNKNOWN_10); + spawnableActorList_add(&gChClam, actor_new, ACTOR_FLAG_UNKNOWN_0 | ACTOR_FLAG_UNKNOWN_6 | ACTOR_FLAG_UNKNOWN_25); } -void TTC_func_80388C78(Actor *this){ +void code26D0_genericUpdateFunc(Actor *this){ if(!this->initialized){ func_802D3D74(this); this->initialized = TRUE; } } -void func_80388CB8(Actor *this){ +void code26D0_palmTreeUpdateFunc(Actor *this){ if(!this->initialized){ func_802D3D74(this); this->initialized = TRUE; @@ -127,22 +127,22 @@ void func_80388CB8(Actor *this){ } } -void func_80388D04(s32 arg0){ +void code26D0_spawnLighthouseB(s32 arg0){ ActorMarker *marker = reinterpret_cast(ActorMarker *, arg0); Actor *this = marker_getActor(marker); - spawn_child_actor(0x2df, &this); + spawn_child_actor(ACTOR_2DF_LIGHTHOUSE_B, &this); } -void func_80388D34(Actor *this){ - TTC_func_80388C78(this); +void code26D0_lighthouseAUpdateFunc(Actor *this){ + code26D0_genericUpdateFunc(this); if(!this->volatile_initialized){ - __spawnQueue_add_1((GenFunction_1)func_80388D04, (s32)this->marker); + __spawnQueue_add_1((GenFunction_1)code26D0_spawnLighthouseB, (s32)this->marker); this->volatile_initialized = TRUE; } } -void func_80388D8C(Actor *this){ - f32 sp1C[3]; +void code26D0_sharkfoodIslandUpdateFunc(Actor *this){ + f32 player_position[3]; if(!this->initialized){ func_802D3CE8(this); @@ -163,12 +163,12 @@ void func_80388D8C(Actor *this){ }//L80388E7C if(this->position_y == 700.0f){ - player_getPosition(sp1C); - if( 695.0f <= sp1C[1] && sp1C[1] < 1000.0f - && (sp1C[0] - 5542.0f)*(sp1C[0] - 5542.0f) + (sp1C[2] - 8687.0f)*(sp1C[2] - 8687.0f) < 96100.0f - && (sp1C[0] - 6837.0f)*(sp1C[0] - 6837.0f) + (sp1C[2] - 12714.0f)*(sp1C[2] - 12714.0f) < 17640000.0f + player_getPosition(player_position); + if( 695.0f <= player_position[1] && player_position[1] < 1000.0f + && (player_position[0] - 5542.0f)*(player_position[0] - 5542.0f) + (player_position[2] - 8687.0f)*(player_position[2] - 8687.0f) < 96100.0f + && (player_position[0] - 6837.0f)*(player_position[0] - 6837.0f) + (player_position[2] - 12714.0f)*(player_position[2] - 12714.0f) < 17640000.0f ){ - func_8031D04C(0x8f, 1); + func_8031D04C(MAP_8F_TTC_SHARKFOOD_ISLAND, 1); } } } diff --git a/src/TTC/code_3E30.c b/src/TTC/code_3E30.c index 23bb11b5..f3da8cd8 100644 --- a/src/TTC/code_3E30.c +++ b/src/TTC/code_3E30.c @@ -147,7 +147,7 @@ void func_8038A328(void) { i_ptr->unk3 = 2; i_ptr->unk4 = 0.0f; } - mapSpecificFlags_set(1, FALSE); + mapSpecificFlags_set(TTC_SPECIFIC_FLAG_1_UNKNOWN, FALSE); } void func_8038A37C(s32 arg0, BKVtxRef *ref, Vtx *dst, s32 arg3) { @@ -318,7 +318,7 @@ void func_8038AC48(LetterFloorTile *arg0) { if (var_v0 & 1) { D_8038D720.unk8 = 2U; D_8038D720.unkC = 0.0f; - mapSpecificFlags_set(1, TRUE); + mapSpecificFlags_set(TTC_SPECIFIC_FLAG_1_UNKNOWN, TRUE); fileProgressFlag_set(0xFA, TRUE); func_8030E2C4(D_8038D720.sfxsourceIdx); func_8038A258(2); diff --git a/src/core2/ba/carriedobj.c b/src/core2/ba/carriedobj.c index 94ed884f..80c7a81e 100644 --- a/src/core2/ba/carriedobj.c +++ b/src/core2/ba/carriedobj.c @@ -56,7 +56,7 @@ void bacarriedobj_spawn(enum actor_e actor_id){ void func_8028DEEC(enum actor_e actor_id, Actor *actor){ f32 sp1C[3]; - nodeprop_getPosition(func_80304C38(actor_id, actor), sp1C); + nodeprop_getPosition(nodeprop_findByActorIdAndActorPosition(actor_id, actor), sp1C); set_throw_target_position(sp1C); } diff --git a/src/core2/ch/gameSelect.c b/src/core2/ch/gameSelect.c index e48258cf..9f10f34d 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, act /* .bss */ s32 mm_hut_smash_count; -u32 D_8037DCB4; +u32 CH_TREASUREHUNT_PUZZLE_CURRENT_STEP; struct FF_StorageStruct* D_8037DCB8; s32 D_8037DCBC; u8 D_8037DCC0[7]; diff --git a/src/core2/ch/mole.c b/src/core2/ch/mole.c index 87388e1a..ac327701 100644 --- a/src/core2/ch/mole.c +++ b/src/core2/ch/mole.c @@ -349,7 +349,7 @@ void chmole_update(Actor *this){ if(!this->initialized){ // Checks if player is within radius of a specific actor exists within the same cube // If actor exists and player is within radius, force trigger conversation - node_prop = func_80304C38(0x372, this); + node_prop = nodeprop_findByActorIdAndActorPosition(0x372, this); if(node_prop == NULL){ this->unk38_0 = FALSE; } @@ -363,7 +363,7 @@ void chmole_update(Actor *this){ this->marker->collidable = FALSE; this->initialized = TRUE; if(this->unkF4_8 == 0x12){ - node_prop = func_80304C38(0x349, this); + node_prop = nodeprop_findByActorIdAndActorPosition(0x349, this); if(node_prop == NULL){ this->velocity[0] = this->position[0]; this->velocity[1] = this->position[1]; diff --git a/src/core2/code_47BD0.c b/src/core2/code_47BD0.c index 1f27832b..9fdbe23f 100644 --- a/src/core2/code_47BD0.c +++ b/src/core2/code_47BD0.c @@ -142,7 +142,7 @@ void func_802CEEA4(Actor *this, Struct_core2_47BD0_0 *arg1) { } -void func_802CEF54(Actor *this, f32 arg1[3], f32 arg2){ +void func_802CEF54(Actor *this, f32 arg1[3], f32 distance){ f32 sp34[3]; s32 phi_v1; s32 phi_v0; @@ -153,7 +153,7 @@ void func_802CEF54(Actor *this, f32 arg1[3], f32 arg2){ phi_v1 = (this->state == 5) ? 200 : 50; phi_v0 = (this->state == 5) ? 200 : 100; - func_802CEDE4(sp34, this->unk1C, arg2, &this->actor_specific_1_f, (f32) phi_v1, (f32) phi_v0); + func_802CEDE4(sp34, this->unk1C, distance, &this->actor_specific_1_f, (f32) phi_v1, (f32) phi_v0); this->unk1C[0] = this->unk1C[0] + arg1[0]; this->unk1C[1] = this->unk1C[1] + arg1[1]; this->unk1C[2] = this->unk1C[2] + arg1[2]; diff --git a/src/core2/code_599E0.c b/src/core2/code_599E0.c index 4859fe94..c70bb9b8 100644 --- a/src/core2/code_599E0.c +++ b/src/core2/code_599E0.c @@ -2,13 +2,13 @@ #include "functions.h" #include "variables.h" -s32 func_802E0970(s32 arg0, f32 arg1, f32 arg2, f32 arg3, s32 arg4, bool arg5, f32 arg6[3]) { +s32 func_802E0970(enum sfx_e sfxId, f32 arg1, f32 arg2, f32 arg3, s32 sampleRate, bool arg5, f32 position[3]) { f32 temp_f0; f32 phi_f2; phi_f2 = (arg5) ? arg1 : arg2; temp_f0 = arg3 * 0.5; - func_8030E878(arg0, randf2(phi_f2 - temp_f0, phi_f2 + temp_f0), arg4, arg6, 1000.0f, 2300.0f); + func_8030E878(sfxId, randf2(phi_f2 - temp_f0, phi_f2 + temp_f0), sampleRate, position, 1000.0f, 2300.0f); return NOT(arg5); } diff --git a/src/core2/code_7AF80.c b/src/core2/code_7AF80.c index 2c04e9b3..7d2ef178 100644 --- a/src/core2/code_7AF80.c +++ b/src/core2/code_7AF80.c @@ -995,7 +995,7 @@ NodeProp *cubeList_findNodePropByActorId(enum actor_e actor_id, s32 position[3]) return NULL; } -NodeProp *func_80304C38(enum actor_e actor_id, Actor *actor){ +NodeProp *nodeprop_findByActorIdAndActorPosition(enum actor_e actor_id, Actor *actor){ s32 tmp_position[3]; s32 *position; diff --git a/src/core2/code_85800.c b/src/core2/code_85800.c index 3a60c9af..169dadd7 100644 --- a/src/core2/code_85800.c +++ b/src/core2/code_85800.c @@ -39,7 +39,7 @@ typedef struct { u8 unk40; u8 unk41; u8 busy; - u8 unk43_7:3; + u8 unk43_7:3; // value is set to 1, 2 or 3 u8 unk43_4:3; u8 unk43_1:2; }SfxSource; @@ -420,11 +420,11 @@ void func_8030D644(void){ } } -void func_8030D6C4(enum sfx_e uid, f32 arg1, s32 arg2, s32 arg3, s32 arg4){ +void func_8030D6C4(enum sfx_e uid, f32 arg1, s32 sampleRate, s32 arg3, s32 arg4){ u8 indx = sfxsource_createSfxsourceAndReturnIndex(); if(indx){ sfxsource_setSfxId(indx, uid); - sfxsource_setSampleRate(indx, arg2); + sfxsource_setSampleRate(indx, sampleRate); sfxsource_playSfxAtVolume(indx, arg1); func_8030DCCC(indx, arg3); func_8030DD14(indx, 1); @@ -850,8 +850,8 @@ void func_8030E4E4(enum sfx_e uid){ func_8030D6C4(uid, 1.0f, 22000, 0, 0); } -void sfxsource_play(enum sfx_e uid, s32 sample_rate){ - func_8030D6C4(uid, 1.0f, sample_rate, 0, 2); +void sfxsource_play(enum sfx_e uid, s32 sampleRate){ + func_8030D6C4(uid, 1.0f, sampleRate, 0, 2); } void func_8030E540(enum sfx_e uid){ @@ -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){ diff --git a/src/core2/code_956B0.c b/src/core2/code_956B0.c index 35b85a1c..b4b663c8 100644 --- a/src/core2/code_956B0.c +++ b/src/core2/code_956B0.c @@ -4,14 +4,14 @@ extern void func_8028F3D8(f32 *, f32, void(*)(ActorMarker *), ActorMarker *); extern void func_8028F760(s32, f32, f32); -extern void func_8031CE70(f32 *arg0, s32 arg1, s32 arg2); +extern void func_8031CE70(f32 *arg0, enum map_e arg1, s32 arg2); extern s32 fileProgressFlag_get(s32); extern s32 fileProgressFlag_getN(s32 offset, s32 numBits); extern void func_8031FFAC(void); extern void fileProgressFlag_set(s32 index, s32 set); extern void ml_vec3h_to_vec3f(f32 *, s32); extern NodeProp *func_80304ED0(void*, f32 *); -extern void func_8031CD44(s32, s32, f32, f32, s32); +extern void func_8031CD44(enum map_e, s32, f32, f32, s32); extern void func_80256E24(f32 *, f32, f32, f32, f32, f32); extern void mapSpecificFlags_set(s32, s32); @@ -170,7 +170,7 @@ void func_8031CD20(s32 arg0, s32 arg1, s32 arg2) { func_8031CC8C(arg0, (arg1 << 8) + arg2); } -void func_8031CD44(s32 arg0, s32 arg1, f32 arg2, f32 arg3, s32 arg4) { +void func_8031CD44(enum map_e arg0, s32 arg1, f32 arg2, f32 arg3, s32 arg4) { f32 sp3C[3]; f32 sp30[3]; f32 sp24[3]; @@ -195,7 +195,7 @@ void func_8031CE28(s32 arg0, s32 arg1, f32 arg2) { func_8031CD44(arg0, arg1, vec[1], arg2, 0x25); } -void func_8031CE70(f32 *arg0, s32 arg1, s32 arg2) { +void func_8031CE70(f32 *arg0, enum map_e arg1, s32 arg2) { f32 playerPos[3]; f32 sp38[3]; NodeProp *phi_s0; @@ -231,12 +231,12 @@ void func_8031CE70(f32 *arg0, s32 arg1, s32 arg2) { } } -void func_8031D04C(s32 arg0, s32 arg1) { +void func_8031D04C(enum map_e arg0, s32 arg1) { func_8031CB50(arg0, arg1, 0); } -void func_8031D06C(s32 arg0, s32 arg1) { - func_8031CB50(0x20, 0, 0); +void func_8031D06C(enum map_e arg0, s32 arg1) { + func_8031CB50(MAP_20_CS_END_NOT_100, 0, 0); } void func_8031D09C(s32 arg0, s32 arg1) { @@ -402,7 +402,7 @@ void func_8031D628(s32 arg0, s32 arg1) { if (actor) { marker_despawn(actor->marker); } - func_8031CB50(7, 0xC, 0); + func_8031CB50(MAP_7_TTC_TREASURE_TROVE_COVE, 0xC, 0); } void warp_mmmEnterDiningRoomDoor(s32 arg0, s32 arg1) { @@ -527,7 +527,7 @@ void warp_mmmEnterChurchSecretRoom(s32 arg0, s32 arg1) { func_8031CC8C(arg0, 0x2B01); } -void func_8031DAA8(s32 arg0, s32 arg1) { +void func_8031DAA8(enum map_e arg0, s32 arg1) { func_8028F918(0); func_8031CB50(arg0, arg1, 0); } @@ -560,7 +560,7 @@ void warp_mmmEnterRainBarrel(s32 arg0, s32 arg1) { } void func_8031DBE8(void) { - func_8031CB50(0x2F, 1, 1); + func_8031CB50(MAP_2F_MMM_WATERDRAIN_BARREL, 1, 1); } void func_8031DC10(s32 arg0, s32 arg1) { @@ -598,7 +598,7 @@ void warp_bgsEnterTanktupConditional(s32 arg0, s32 arg1) { } void warp_ttcEnterNippersShell(s32 arg0, s32 arg1) { - if (func_80388A44() != 0) { + if (chNipper_isInState7() != 0) { func_8031CC8C(arg0, 0x601); } } diff --git a/src/core2/code_9A740.c b/src/core2/code_9A740.c index 9fb56644..204277af 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(); + chTreasurehunt_resetProgress(); break; case MAP_1B_MMM_MAD_MONSTER_MANSION: mmm_resetFlowerPots(); diff --git a/src/core2/code_9E370.c b/src/core2/code_9E370.c index 0b499a46..fe4a3546 100644 --- a/src/core2/code_9E370.c +++ b/src/core2/code_9E370.c @@ -1932,7 +1932,7 @@ void func_8032A82C(Actor *arg0, s32 arg1) { Actorlocal_Core2_9E370 *sp1C; sp1C = &arg0->local; - sp24 = func_80304C38(arg1, arg0); + sp24 = nodeprop_findByActorIdAndActorPosition(arg1, arg0); if (sp24 != NULL) { sp1C->unkC = func_80304DA8(sp24); nodeprop_getPosition(sp24, sp1C->unk0); diff --git a/src/core2/code_AD110.c b/src/core2/code_AD110.c index 78b689b1..c45c3ffa 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 chTreasurehunt_checkStepProgress0(s32, s32); +extern void chTreasurehunt_checkStepProgress1(s32, s32); +extern void chTreasurehunt_checkStepProgress2(s32, s32); +extern void chTreasurehunt_checkStepProgress3(s32, s32); +extern void chTreasurehunt_checkStepProgress4(s32, s32); +extern void chTreasurehunt_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, chTreasurehunt_checkStepProgress0, chTreasurehunt_checkStepProgress1, chTreasurehunt_checkStepProgress2, + chTreasurehunt_checkStepProgress3, chTreasurehunt_checkStepProgress4, chTreasurehunt_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, diff --git a/src/core2/spawnqueue.c b/src/core2/spawnqueue.c index fe035eb1..7b1b9859 100644 --- a/src/core2/spawnqueue.c +++ b/src/core2/spawnqueue.c @@ -374,7 +374,7 @@ void spawnQueue_reset(void){ GV_func_8038F154(); break; case OVERLAY_5_BEACH: - TTC_func_80388AC0(); + TTC_resetSpawnableActors(); break; case OVERLAY_6_JUNGLE: MM_func_803888B0(); diff --git a/src/lair/ch/cauldron.c b/src/lair/ch/cauldron.c index e8200e6d..86e292a2 100644 --- a/src/lair/ch/cauldron.c +++ b/src/lair/ch/cauldron.c @@ -357,7 +357,7 @@ void chWarpCauldron_update(Actor *this) { volatileFlag_set(VOLATILE_FLAG_1E, 0); func_802D677C(0); func_8028FCAC(); - nodeprop_getPosition(func_80304C38(D_80393620[this->unkF4_8 - 1].unk6, this), sp54); + nodeprop_getPosition(nodeprop_findByActorIdAndActorPosition(D_80393620[this->unkF4_8 - 1].unk6, this), sp54); if (this->unkF4_8 == 7) { func_8028F66C(BS_INTR_36_DINGPOT); func_802BAFE4(0x82); diff --git a/src/lair/code_0.c b/src/lair/code_0.c index 5f9a0c9b..fe7fe818 100644 --- a/src/lair/code_0.c +++ b/src/lair/code_0.c @@ -978,7 +978,7 @@ void func_80388450(Actor *actor1, Actor *actor2) { f32 vec1[3]; f32 vec2[3]; - void *actor3 = func_80304C38(0x22A, actor1); + void *actor3 = nodeprop_findByActorIdAndActorPosition(0x22A, actor1); s32 val = func_80304DA8(actor3); actor2->yaw = val; diff --git a/src/lair/code_C6C0.c b/src/lair/code_C6C0.c index 7d965c81..f70aac98 100644 --- a/src/lair/code_C6C0.c +++ b/src/lair/code_C6C0.c @@ -35,7 +35,7 @@ void func_80392B6C(Actor *this) { marker_despawn(this->marker); return; } - phi_a0 = func_80304C38(0x3BE, this); + phi_a0 = nodeprop_findByActorIdAndActorPosition(0x3BE, this); if (this == NULL) { this->unk1C[0] = -1300.0f; this->unk1C[1] = 250.0f;