From 1506d57893fb00fbdd6b93f2a58a604e172258c3 Mon Sep 17 00:00:00 2001 From: Bl00D4NGEL Date: Sat, 28 Sep 2024 22:32:03 +0200 Subject: [PATCH] document: Blubber actor from TTC --- include/enums.h | 14 +++-- include/functions.h | 2 +- include/prop.h | 2 +- manual_syms.pal.txt | 2 +- src/BGS/ch/tanktup.c | 2 +- src/FP/code_ABD0.c | 2 +- src/MM/ch/conga.c | 2 +- src/SM/code_2990.c | 2 +- src/SM/code_44D0.c | 2 +- src/TTC/ch/blubber.c | 128 +++++++++++++++++++++----------------- src/TTC/code_26D0.c | 4 +- src/core2/ba/carriedobj.c | 2 +- src/core2/ch/mole.c | 4 +- src/core2/code_47BD0.c | 4 +- src/core2/code_599E0.c | 4 +- src/core2/code_7AF80.c | 2 +- src/core2/code_85800.c | 10 +-- src/core2/code_9E370.c | 2 +- src/lair/ch/cauldron.c | 2 +- src/lair/code_0.c | 2 +- src/lair/code_C6C0.c | 2 +- 21 files changed, 107 insertions(+), 89 deletions(-) diff --git a/include/enums.h b/include/enums.h index 543185ca..88800112 100644 --- a/include/enums.h +++ b/include/enums.h @@ -828,7 +828,7 @@ enum sfx_e SFX_24_KONGA_NOISE_3, // might be part of Clankers Bolt SFX_25_METAL_SLIDING_OVER_SMTH, - SFX_26_BANJO_LANDING_09, + SFX_26_BANJO_LANDING_09 = 0x26, SFX_27_JINJO_HI, SFX_28_RUSTLING_NOISE, SFX_29_GRUBLIN_NYAHAHA, @@ -1859,6 +1859,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, @@ -3983,9 +3987,9 @@ enum asset_e ASSET_8A0_SPRITE_WATER_DROP = 0x8a0, - ASSET_A0B_TEXT_UNKNOWN = 0xA0B, - ASSET_A0C_TEXT_UNKNOWN = 0xA0C, - ASSET_A0D_TEXT_UNKNOWN = 0xA0D, + ASSET_A0B_FIRST_MEET_BLUBBER = 0xA0B, + ASSET_A0C_BLUBBER_HALF_GOLD = 0xA0C, + ASSET_A0D_BLUBBER_COMPLETE = 0xA0D, ASSET_A14_TEXT_UNKNOWN = 0xA14, @@ -4002,7 +4006,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, diff --git a/include/functions.h b/include/functions.h index 244ecfcf..2d3424a0 100644 --- a/include/functions.h +++ b/include/functions.h @@ -475,7 +475,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 a147b9be..01b29b20 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; diff --git a/manual_syms.pal.txt b/manual_syms.pal.txt index 09228322..d19c2e88 100644 --- a/manual_syms.pal.txt +++ b/manual_syms.pal.txt @@ -201,7 +201,7 @@ func_802F9FD0 = 0x802fa1b0; func_802FA060 = 0x802fa240; func_802FADD4 = 0x802fafb4; cubeList_findNodePropByActorId = 0x80304b6c; -func_80304C38 = 0x80304dd8; +nodeprop_findByActorIdAndActorPosition = 0x80304dd8; nodeprop_getPosition_s32 = 0x80304eec; nodeprop_getPosition = 0x80304f08; func_80309B48 = 0x80309ce8; diff --git a/src/BGS/ch/tanktup.c b/src/BGS/ch/tanktup.c index 25c51d87..df66dbf8 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 1dfee22f..bfe33b33 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 78f748fa..93a4f665 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 c9ad4143..826d8e4f 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 0cb02104..966c9834 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 60b05ed8..0aeb7c01 100644 --- a/src/TTC/ch/blubber.c +++ b/src/TTC/ch/blubber.c @@ -11,16 +11,31 @@ typedef struct { s16 unkE; f32 throw_target_position[3]; s32 throw_target_radius; - NodeProp* unk20; - s32 unk24; + 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); +void TTC_Blubber_updateFunc(Actor *this); +void TTC_Blubber_update2Func(Actor *this); +Actor *TTC_Blubber_drawFunc(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); + +enum ttc_blubber_map_flags_e { + TTC_BLUBBER_MAP_FLAG_0_UNKNOWN = 0, + TTC_BLUBBER_MAP_FLAG_1_UNKNOWN = 1, // If this is not set some things will not run like showing the jiggy collected text + TTC_BLUBBER_MAP_FLAG_2_JIGGY_SPAWNED_TEXT_SHOWN = 2, // Jiggy collected text shown + TTC_BLUBBER_MAP_FLAG_3_SHOW_JIGGY_SPAWNED_TEXT_FLAG = 3 +}; + +enum ttc_blubber_states_e { + TTC_BLUBBER_STATE_1_UNKNOWN = 1, // initial state (80387A84) + TTC_BLUBBER_STATE_2_UNKNOWN = 2, // 80387B10 + TTC_BLUBBER_STATE_3_UNKNOWN = 3, + TTC_BLUBBER_STATE_4_UNKNOWN = 4, // 80387C04 + TTC_BLUBBER_STATE_5_UNKNOWN = 5 // 80387CD4 +}; /* .data */ -ActorAnimationInfo D_8038C4E0[] = { +ActorAnimationInfo TTC_BLUBBER_ACTOR_ANIMATIONS[6] = { {0x00, 0.0f}, {ASSET_B5_ANIM_BLUBBER_WALK, 2.0f}, {ASSET_B6_ANIM_BLUBBER_CRY, 2.0f}, @@ -29,75 +44,74 @@ ActorAnimationInfo D_8038C4E0[] = { {ASSET_B8_ANIM_BLUBBER_RUN, 0.8f} }; -ActorInfo TTC_D_8038C510 = { +ActorInfo TTC_BLUBBER_ACTOR_INFO = { MARKER_A3_BLUBBER, ACTOR_115_BLUBBER, ASSET_370_MODEL_BLUBBER, - 0x1, D_8038C4E0, - func_803878CC, TTC_func_80387CF4, func_80387D6C, + 0x1, TTC_BLUBBER_ACTOR_ANIMATIONS, + TTC_Blubber_updateFunc, TTC_Blubber_update2Func, TTC_Blubber_drawFunc, 0, 0x399, 1.8f, 0 }; /* .code */ -void func_80387490(Actor *this){ +void TTC_Blubber_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){ +void TTC_Blubber_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_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, TTC_BLUBBER_STATE_2_UNKNOWN, 0, 1); } } -void func_80387574(ActorMarker *caller, enum asset_e text_id, s32 arg1){ +void TTC_Blubber_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){ +void TTC_Blubber_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, TTC_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_BLUBBER_MAP_FLAG_2_JIGGY_SPAWNED_TEXT_SHOWN)) { + text_id = jiggyscore_isCollected(JIGGY_14_TTC_BLUBBER) ? ASSET_A2A_BLUBBER_COMPLETE_JIGGY_COLLECTED : ASSET_A0D_BLUBBER_COMPLETE; + gcdialog_showText(text_id, 0xf, this->position, this->marker, TTC_Blubber_showTextCallback, TTC_Blubber_showTextCallback2); + mapSpecificFlags_set(TTC_BLUBBER_MAP_FLAG_2_JIGGY_SPAWNED_TEXT_SHOWN, TRUE); } } -void func_80387678(Actor *this){ - if( !mapSpecificFlags_get(1) ) return; - if( mapSpecificFlags_get(3) ) return; +void TTC_Blubber_checkJiggySpawnedTextAndAdvanceState(Actor *this){ + if( !mapSpecificFlags_get(TTC_BLUBBER_MAP_FLAG_1_UNKNOWN) ) return; + if( mapSpecificFlags_get(TTC_BLUBBER_MAP_FLAG_3_SHOW_JIGGY_SPAWNED_TEXT_FLAG) ) return; this->yaw_ideal = (f32) func_80329784(this); - mapSpecificFlags_set(3, TRUE); + mapSpecificFlags_set(TTC_BLUBBER_MAP_FLAG_3_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)TTC_Blubber_showJiggySpawnedText, (s32)this->marker); + subaddie_set_state_with_direction(this, TTC_BLUBBER_STATE_1_UNKNOWN, 0.0f, 1); } void func_8038771C(Actor *this){ @@ -108,6 +122,7 @@ void func_8038771C(Actor *this){ } } +// probably something related to blubber throwing the bullions void func_80387774(Actor **this_ptr){ ActorLocal_Blubber *local = (ActorLocal_Blubber *)&(*this_ptr)->local; @@ -115,8 +130,8 @@ void func_80387774(Actor **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_BLUBBER_MAP_FLAG_0_UNKNOWN) ? ACTOR_149_TTC_BLUBBER_UNKNOWN : ACTOR_14A_TTC_BLUBBER_UNKNOWN, *this_ptr); (*this_ptr)->has_met_before = TRUE; } @@ -126,21 +141,21 @@ 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){ +void TTC_Blubber_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_BLUBBER_MAP_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 == TTC_BLUBBER_STATE_3_UNKNOWN){ + subaddie_set_state_with_direction(this, TTC_BLUBBER_STATE_2_UNKNOWN, 0.0f, 1); } this->volatile_initialized = TRUE; }//L80387970 @@ -149,44 +164,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_FIRST_MEET_BLUBBER, 0xe, this->position, this->marker, TTC_Blubber_showTextCallback, NULL); this->has_met_before = TRUE; - subaddie_set_state_forward(this, 3); + subaddie_set_state_forward(this, TTC_BLUBBER_STATE_3_UNKNOWN); } - if( mapSpecificFlags_get(0) + if( mapSpecificFlags_get(TTC_BLUBBER_MAP_FLAG_0_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_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 TTC_BLUBBER_STATE_1_UNKNOWN: if(!this->initialized){ actor_collisionOff(this); - func_80387490(this); + TTC_Blubber_initiliaze(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, TTC_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); + TTC_Blubber_checkJiggySpawnedTextAndAdvanceState(this); break; - case 2:// 80387B10 + case TTC_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, TTC_BLUBBER_STATE_1_UNKNOWN, 0.0f, 1, 0.78f) ){ this->actor_specific_1_f = 4.0f; break; @@ -204,18 +218,18 @@ void func_803878CC(Actor * this){ FUNC_8030E8B4(SFX_83_BLUBBER_CRYING, 0.91f, 17000, this->position, 1250, 2500); } - func_80387678(this); + TTC_Blubber_checkJiggySpawnedTextAndAdvanceState(this); break; - case 3: + case TTC_BLUBBER_STATE_3_UNKNOWN: break; - case 4:// 80387C04 + case TTC_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, TTC_BLUBBER_STATE_5_UNKNOWN); this->actor_specific_1_f = 8.0f; } } @@ -231,14 +245,14 @@ void func_803878CC(Actor * this){ } break; - case 5:// 80387CD4 + case TTC_BLUBBER_STATE_5_UNKNOWN: local = (ActorLocal_Blubber*)&this->local; func_8032A95C(this, local->unkE, 0x21c); break; } } -void TTC_func_80387CF4(Actor *this){ +void TTC_Blubber_update2Func(Actor *this){ func_80343DEC(this); if(0.99 <= this->unk48){ func_8028F918(0); @@ -248,7 +262,7 @@ void TTC_func_80387CF4(Actor *this){ func_80387830(this, 0.5f, 0.97f); } -Actor *func_80387D6C(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ +Actor *TTC_Blubber_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/code_26D0.c b/src/TTC/code_26D0.c index 9f8ab9ba..020e2199 100644 --- a/src/TTC/code_26D0.c +++ b/src/TTC/code_26D0.c @@ -6,7 +6,7 @@ #include "actor.h" extern ActorInfo chClam; -extern ActorInfo TTC_D_8038C510; +extern ActorInfo TTC_BLUBBER_ACTOR_INFO; extern ActorInfo D_8038C580; extern ActorInfo D_8038C5E0; extern ActorInfo D_8038C604; @@ -94,7 +94,7 @@ void TTC_func_80388AC0(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(&TTC_BLUBBER_ACTOR_INFO, 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); 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/mole.c b/src/core2/ch/mole.c index 50f4f2f3..63af4bdf 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 06bed9a5..dba28ccc 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 0c524242..b5fe619a 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 e9f3eea6..21784de7 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){ diff --git a/src/core2/code_9E370.c b/src/core2/code_9E370.c index 97643bbf..d79c4bd7 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/lair/ch/cauldron.c b/src/lair/ch/cauldron.c index bfe7a2b8..4aed22da 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 4901b5b3..909097c0 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 d54dc109..1c447534 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;