From ef39f6fb58203212959b88103e65e39ecac99e91 Mon Sep 17 00:00:00 2001 From: SuperZambezi Date: Fri, 28 Nov 2025 19:03:32 +0000 Subject: [PATCH] Document: FP xmas tree and twinkly minigame --- include/enums.h | 58 ++++++++++++++------- include/functions.h | 2 +- src/BGS/ch/yellowflibbit.c | 2 +- src/CCW/code_61E0.c | 2 +- src/FP/ch/bearcub.c | 6 +-- src/FP/ch/boggy2.c | 14 +++--- src/FP/ch/boggy3.c | 2 +- src/FP/ch/cavewozza.c | 4 +- src/FP/ch/present.c | 6 +-- src/FP/ch/snowmanbutton.c | 2 +- src/FP/ch/twinkly.c | 68 ++++++++++++------------- src/FP/ch/twinklybox.c | 78 ++++++++++++++-------------- src/FP/ch/twinklymuncher.c | 52 +++++++++---------- src/FP/ch/wozza.c | 4 +- src/FP/ch/wozzasjig.c | 2 +- src/FP/ch/xmastree.c | 83 +++++++++++++++--------------- src/FP/ch/xmastreeice.c | 36 ++++++------- src/FP/ch/xmastreestar.c | 32 ++++++------ src/FP/ch/xmastreeswitch.c | 36 ++++++------- src/FP/code_ABD0.c | 84 +++++++++++++++---------------- src/GV/code_9C10.c | 2 +- src/GV/waterctrl.c | 2 +- src/MM/ch/lmonkey.c | 2 +- src/RBB/ch/anchorctrl.c | 2 +- src/RBB/ch/anchorswitch.c | 2 +- src/RBB/ch/propellor.c | 2 +- src/RBB/ch/propellorswitch.c | 2 +- src/SM/ch/vegetables.c | 2 +- src/TTC/ch/clam.c | 2 +- src/TTC/ch/leaky.c | 2 +- src/TTC/ch/treasure.c | 4 +- src/TTC/ma/castle.c | 2 +- src/core2/ch/bottlesbonuscursor.c | 2 +- src/core2/ch/jiggy.c | 2 +- src/core2/ch/snowman.c | 2 +- src/core2/ch/wadingboots.c | 4 +- src/core2/code_41FB0.c | 2 +- src/core2/code_4C020.c | 6 +-- src/core2/code_509D0.c | 2 +- src/core2/code_57C70.c | 2 +- src/core2/code_6D490.c | 2 +- src/core2/code_9A9D0.c | 4 +- src/core2/code_9B650.c | 2 +- src/core2/gc/parade.c | 6 +-- src/core2/gc/zoombox.c | 2 +- src/fight/chspellbarrier.c | 2 +- 46 files changed, 330 insertions(+), 309 deletions(-) diff --git a/include/enums.h b/include/enums.h index 73595594..54c77232 100644 --- a/include/enums.h +++ b/include/enums.h @@ -453,7 +453,7 @@ enum level_flags_e LEVEL_FLAG_26_FP_UNKNOWN, LEVEL_FLAG_27_RBB_UNKNOWN, LEVEL_FLAG_28_RBB_UNKNOWN, - LEVEL_FLAG_29_FP_UNKNOWN, + LEVEL_FLAG_29_FP_XMAS_TREE_COMPLETE, LEVEL_FLAG_2A_FP_UNKNOWN, LEVEL_FLAG_2B_FP_UNKNOWN, LEVEL_FLAG_2C_FP_UNKNOWN, @@ -1458,7 +1458,7 @@ enum sfx_e SFX_3EF, SFX_3F0_FLIBBIT_TALKING, SFX_3F1_UNKNOWN, //bsstand - SFX_3F2_UNKNOWN, //gold_chest_ttc + SFX_3F2_BOING, //gold_chest_ttc SFX_3F5_UNKNOWN = 0x3F5, //RBB/code_5F80 SFX_3F6_RUBBING, //lair/code_0 func_803880BC @@ -1483,8 +1483,8 @@ enum sfx_e SFX_412_FREEZING_WATER_TALKING = 0x412, SFX_413_WATER_RIPPLE, SFX_414_XMAS_GIFT_TALKING, - SFX_415_UNKNOWN, //xmas tree - SFX_416, + SFX_415_XMAS_LIGHTS_FLICKERING, + SFX_416_ELECTRIC_ZAP, SFX_417_DOUBLE_HEALTH_UPGRADE, SFX_419_UNKNOWN = 0x419, @@ -2154,15 +2154,16 @@ enum actor_e ACTOR_333_TWINKLY_GREEN, ACTOR_334_TWINKLY_ORANGE, ACTOR_335_TWINKLY_RED, - - ACTOR_337_TWINKLY_MUNCHER = 0x337, + ACTOR_336_TWINKLY_BOX, + ACTOR_337_TWINKLY_MUNCHER, ACTOR_338_XMAS_TREE_SWITCH, - - ACTOR_33A_BLUE_PRESENT = 0x33A, + ACTOR_339_XMAS_TREE_STAR, + ACTOR_33A_BLUE_PRESENT, ACTOR_33B_GREEN_PRESENT, ACTOR_33C_RED_PRESENT, - ACTOR_33F_WOZZA_IN_CAVE = 0x33F, + ACTOR_33F_WOZZA_IN_CAVE = 0x33F, + ACTOR_340_XMAS_TREE_ICE, ACTOR_349_UNKNOWN = 0x349, @@ -2483,7 +2484,7 @@ enum mm_specific_flags { MM_SPECIFIC_FLAG_0_CHIMPY_STUMP_RAISED, MM_SPECIFIC_FLAG_1_ORANGE_HAS_BEEN_COLLECTED, MM_SPECIFIC_FLAG_2_ORANGE_HAS_BEEN_RETURNED, - MM_SPECIFIC_FLAG_3_CHIMPY_HAS_LEAVED, + MM_SPECIFIC_FLAG_3_CHIMPY_HAS_LEFT, MM_SPECIFIC_FLAG_4_SHAKE, MM_SPECIFIC_FLAG_CONGA_WARNED_BLOCKS = 0x6, @@ -2519,6 +2520,23 @@ enum bgs_specific_flags { BGS_SPECIFIC_FLAG_MAZE_JIGGY = 0xD }; +enum fp_specific_flags { + FP_SPECIFIC_FLAG_0_XMAS_TREE_LIGHTS_ON = 0, + FP_SPECIFIC_FLAG_1_UNKNOWN, + FP_SPECIFIC_FLAG_2_XMAS_TREE_SWITCH, + FP_SPECIFIC_FLAG_3_XMAS_TREE_STAR_COMPLETE, + FP_SPECIFIC_FLAG_4_UNKNOWN, + FP_SPECIFIC_FLAG_5_WALRUS_RACE_FAILED, + FP_SPECIFIC_FLAG_6_BANJO_RACE_FAILED, + FP_SPECIFIC_FLAG_7_UNKNOWN, + FP_SPECIFIC_FLAG_8_UNKNOWN, + FP_SPECIFIC_FLAG_9_UNKNOWN, + FP_SPECIFIC_FLAG_A_FIRST_TWINKLY_EATEN, + FP_SPECIFIC_FLAG_B_UNKNOWN, + FP_SPECIFIC_FLAG_C_UNKNOWN, + FP_SPECIFIC_FLAG_D_UNKNOWN +}; + enum mmm_specific_flags { MMM_SPECIFIC_FLAG_0_UNKNOWN, MMM_SPECIFIC_FLAG_TUMBLAR_BROKEN, @@ -3362,7 +3380,7 @@ enum asset_e // Unused // 424 GV Cactus ASSET_425_MODEL_CROCTUS = 0x425, - // 426 FP Christmas Tree Star + ASSET_426_MODEL_XMAS_TREE_STAR, // 427 (Wooden Plank) ASSET_428_MODEL_BOSS_BOOM_BOX = 0x428, ASSET_429_MODEL_CC_KEY, @@ -3391,7 +3409,7 @@ enum asset_e // 43f (White Star?) ASSET_440_MODEL_SNAREBEAR = 0x440, // 441 (Sir Slush Snowball?) - // 442 FP Twinklies Box + ASSET_442_MODEL_TWINKLY_BOX = 0x442, // 443 CCW Zubba Honey Lump // 444 (CCW Zubba Entrance Lid?) // 445 (CCW Zubba Entrance Lid?) @@ -3537,8 +3555,10 @@ enum asset_e ASSET_4D0_MODEL_LIMBO_BONE, // Unused // 4d2 FP Christmas Tree Glass Container - // 4d3 FP Christmas Tree Glass Container Fragment - ASSET_4D4_MODEL_TWINKLY_BOX_PAPER_SHARD = 0x4D4, + ASSET_4D2_MODEL_XMAS_TREE_ICE = 0x4D2, + + ASSET_4D4_MODEL_XMAS_ICE_FRAGMENT = 0x4D3, + ASSET_4D4_MODEL_TWINKLY_BOX_PAPER_SHARD, ASSET_4D5_MODEL_WALL_COBWEB, // 4d6 Click Clock Wood Entrance Door // 4d7 Freezeezy Peak Entrance Left Door @@ -5354,16 +5374,18 @@ enum marker_e{ MARKER_201_TWINKLY_GREEN, MARKER_202_TWINKLY_ORANGE, MARKER_203_TWINKLY_RED, - - MARKER_205_TWINKLY_MUNCHER = 0x205, - - MARKER_208_BLUE_PRESENT = 0x208, + MARKER_204_TWINKLY_BOX, + MARKER_205_TWINKLY_MUNCHER, + MARKER_206_XMAS_TREE_SWITCH, + MARKER_207_XMAS_TREE_STAR, + MARKER_208_BLUE_PRESENT, MARKER_209_GREEN_PRESENT, MARKER_20A_RED_PRESENT, MARKER_20B_WOZZA, MARKER_20C_WOZZAS_JIGGY, MARKER_20F_WOZZA_IN_CAVE = 0x20F, + MARKER_210_XMAS_TREE_ICE, MARKER_217_BEE_SWARM = 0x217, MARKER_218_LIMBO, diff --git a/include/functions.h b/include/functions.h index f744fd4f..e0f230c0 100644 --- a/include/functions.h +++ b/include/functions.h @@ -452,7 +452,7 @@ void func_8030DB04(u8, s32, f32 position[3], f32, f32); void transitionToMap(enum map_e map, s32 exit, s32 transition); void levelSpecificFlags_set(s32, s32); -void func_803228D8(void); +void musicKeepsPlaying(void); void actor_predrawMethod(Actor *); void mapSpecificFlags_set(s32, s32); diff --git a/src/BGS/ch/yellowflibbit.c b/src/BGS/ch/yellowflibbit.c index 40f8de9c..22c92914 100644 --- a/src/BGS/ch/yellowflibbit.c +++ b/src/BGS/ch/yellowflibbit.c @@ -63,7 +63,7 @@ s32 func_8038D2F4(Actor *this, f32 *arg1, bool arg2) { local->unkA[1] = (s16) (s32) mapModel_getFloorY(arg1); skeletalAnim_set(this->unk148, ASSET_DB_ANIM_FLIBBIT_HOP, 0.2f, (arg2) ? randf2(0.7f, 0.8f) : randf2(0.7f, 0.8f)); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE); - func_80324D54(0.2f, SFX_3F2_UNKNOWN, randf2(0.7f, 1.3f), randi2(25000, 27000), this->position, 500.0f, 2500.0f); + func_80324D54(0.2f, SFX_3F2_BOING, randf2(0.7f, 1.3f), randi2(25000, 27000), this->position, 500.0f, 2500.0f); return TRUE; } diff --git a/src/CCW/code_61E0.c b/src/CCW/code_61E0.c index 6ec292b9..0eda500c 100644 --- a/src/CCW/code_61E0.c +++ b/src/CCW/code_61E0.c @@ -18,7 +18,7 @@ ActorInfo D_8038F460 = { 0x1BC, 0x2A9, 0x48E, 0x0, NULL, func_8038C7A8, NULL, ac /* .code */ void CCW_func_8038C5D0(ActorMarker* marker) { Actor* actor = marker_getActor(marker); - func_8030E878(SFX_3F2_UNKNOWN, randf2(0.95f, 1.05f), 26000, actor->position, 500.0f, 1000.0f); + func_8030E878(SFX_3F2_BOING, randf2(0.95f, 1.05f), 26000, actor->position, 500.0f, 1000.0f); } void CCW_func_8038C638(ActorMarker* marker) { diff --git a/src/FP/ch/bearcub.c b/src/FP/ch/bearcub.c index d058145a..d93c52cd 100644 --- a/src/FP/ch/bearcub.c +++ b/src/FP/ch/bearcub.c @@ -21,19 +21,19 @@ ActorAnimationInfo D_80391DF0[] = { {ASSET_17D_ANIM_POLAR_BEAR_CUB_HAPPY, 2.5f} }; -ActorInfo D_80391E08 = { MARKER_1FA_POLAR_BEAR_CUB_BLUE, ACTOR_1EA_POLAR_BEAR_CUB_BLUE, ASSET_44C_MODEL_POLAR_BEAR_CUB_BLUE, +ActorInfo gChCubMoggy = { MARKER_1FA_POLAR_BEAR_CUB_BLUE, ACTOR_1EA_POLAR_BEAR_CUB_BLUE, ASSET_44C_MODEL_POLAR_BEAR_CUB_BLUE, 0x1, D_80391DF0, func_8038A384, actor_update_func_80326224, actor_draw, 2500, 0, 1.2f, 0 }; -ActorInfo FP_D_80391E2C = { MARKER_1FB_POLAR_BEAR_CUB_GREEN, ACTOR_1EB_POLAR_BEAR_CUB_GREEN, ASSET_44D_MODEL_POLAR_BEAR_CUB_GREEN, +ActorInfo gChCubSoggy = { MARKER_1FB_POLAR_BEAR_CUB_GREEN, ACTOR_1EB_POLAR_BEAR_CUB_GREEN, ASSET_44D_MODEL_POLAR_BEAR_CUB_GREEN, 0x1, D_80391DF0, func_8038A384, actor_update_func_80326224, actor_draw, 2500, 0, 1.2f, 0 }; -ActorInfo D_80391E50 = { MARKER_1FC_POLAR_BEAR_CUB_RED, ACTOR_1EC_POLAR_BEAR_CUB_RED, ASSET_44E_MODEL_POLAR_BEAR_CUB_RED, +ActorInfo gChCubGroggy = { MARKER_1FC_POLAR_BEAR_CUB_RED, ACTOR_1EC_POLAR_BEAR_CUB_RED, ASSET_44E_MODEL_POLAR_BEAR_CUB_RED, 0x1, D_80391DF0, func_8038A384, actor_update_func_80326224, actor_draw, 2500, 0, 1.2f, 0 diff --git a/src/FP/ch/boggy2.c b/src/FP/ch/boggy2.c index ee4bcca8..136a9d60 100644 --- a/src/FP/ch/boggy2.c +++ b/src/FP/ch/boggy2.c @@ -46,7 +46,7 @@ ActorAnimationInfo D_80391C80[] = { {0x150, 0.6f} }; -ActorInfo D_80391CE8 = { MARKER_97_BOGGY_2, ACTOR_C8_BOGGY_2, ASSET_38A_MODEL_BOGGY_1, +ActorInfo gChBoggySled = { MARKER_97_BOGGY_2, ACTOR_C8_BOGGY_2, ASSET_38A_MODEL_BOGGY_1, 0x1, D_80391C80, FP_func_80388F4C, func_803896FC, func_80388740, 0, 0, 1.4f, 0 @@ -93,7 +93,7 @@ void FP_func_803888E4(Actor *this){ static f32 D_80391D18[3] = {1463.0f, 635.0f, 5193.0f}; subaddie_set_state_with_direction(this, 0xC, 0.0001f, 1); if(!jiggyscore_isSpawned(JIGGY_30_FP_BOGGY_2)){ - if(mapSpecificFlags_get(5)){ + if(mapSpecificFlags_get(FP_SPECIFIC_FLAG_5_WALRUS_RACE_FAILED)){ func_80324DBC(0.1f, ASSET_C06_DIALOG_BOGGY_SLED_WALRUS_SECOND_START, 0x2a, D_80391D18, this->marker, func_80388D70, NULL); } else{//L80388964 @@ -102,14 +102,14 @@ void FP_func_803888E4(Actor *this){ } else{//L803889A0 func_8028F490(D_80391D0C); - if(mapSpecificFlags_get(6)){ + if(mapSpecificFlags_get(FP_SPECIFIC_FLAG_6_BANJO_RACE_FAILED)){ func_80324DBC(0.1f, ASSET_C29_DIALOG_BOGGY_SLED_BEAR_SECOND_START, 0x2a, D_80391D18, this->marker, func_80388D70, NULL); } else{ func_80324DBC(0.1f, ASSET_C28_DIALOG_BOGGY_SLED_BEAR_START, 0x2a, D_80391D18, this->marker, func_80388D70, NULL); } }//L80388A30 - mapSpecificFlags_set(5, TRUE); + mapSpecificFlags_set(FP_SPECIFIC_FLAG_5_WALRUS_RACE_FAILED, TRUE); maSlalom_start(); } @@ -123,7 +123,7 @@ void func_80388A50(Actor *this){ void func_80388A94(Actor *this){ func_80388A50(this); - if(mapSpecificFlags_get(6)){ + if(mapSpecificFlags_get(FP_SPECIFIC_FLAG_6_BANJO_RACE_FAILED)){ gcdialog_showDialog(ASSET_C0A_DIALOG_BOGGY_SLED_BEAR_MISS_RETRY, 0xe, this->position, this->marker, func_80388D70, NULL); } else{ @@ -135,7 +135,7 @@ void func_80388B18(Actor *this, u8 arg1){ if(arg1 == TRUE){ if(player_getTransformation() == TRANSFORM_4_WALRUS){ func_80388A50(this); - if(mapSpecificFlags_get(5)){ + if(mapSpecificFlags_get(FP_SPECIFIC_FLAG_5_WALRUS_RACE_FAILED)){ gcdialog_showDialog(ASSET_C05_DIALOG_BOGGY_SLED_WALRUS_MISS_RETRY, 0xf, this->position, this->marker, func_80388D70, NULL); } else{ @@ -215,7 +215,7 @@ void func_80388D70(ActorMarker *caller, enum asset_e text_id, s32 arg2){ switch(arg2){ case 1: FP_func_803888E4(this); - mapSpecificFlags_set(6, TRUE); + mapSpecificFlags_set(FP_SPECIFIC_FLAG_6_BANJO_RACE_FAILED, TRUE); break; case 0: subaddie_set_state_with_direction(this, 1, 0.0001f, 1); diff --git a/src/FP/ch/boggy3.c b/src/FP/ch/boggy3.c index 4886c84e..35347bb3 100644 --- a/src/FP/ch/boggy3.c +++ b/src/FP/ch/boggy3.c @@ -11,7 +11,7 @@ ActorAnimationInfo D_80392680[] = { {0x222, 2.0f} }; -ActorInfo D_80392690 = { 0x20D, 0x33D, 0x38A, +ActorInfo gChBoggyHome = { 0x20D, 0x33D, 0x38A, 0x1, D_80392680, func_80390388, actor_update_func_80326224, func_80390290, 2500, 0, 1.0f, 0 diff --git a/src/FP/ch/cavewozza.c b/src/FP/ch/cavewozza.c index b7816810..3954a9c5 100644 --- a/src/FP/ch/cavewozza.c +++ b/src/FP/ch/cavewozza.c @@ -12,7 +12,7 @@ extern ActorAnimationInfo D_803926F0[]= { {ASSET_221_ANIM_WOZZA_IN_CAVE, 5.0f} }; -extern ActorInfo D_80392700 = { MARKER_20F_WOZZA_IN_CAVE, ACTOR_33F_WOZZA_IN_CAVE, ASSET_494_MODEL_WOZZA, +extern ActorInfo gChWozzaCave = { MARKER_20F_WOZZA_IN_CAVE, ACTOR_33F_WOZZA_IN_CAVE, ASSET_494_MODEL_WOZZA, 0x1, D_803926F0, func_80390630, actor_update_func_80326224, actor_draw, 2500, 0, 1.6f, 0 @@ -62,7 +62,7 @@ void func_80390630(Actor *this){ || actor_animationIsAt(this, 0.92f) ){ - sfx_playFadeShorthandDefault(SFX_3F2_UNKNOWN, 0.8f, 24000, this->position, 500, 2000); + sfx_playFadeShorthandDefault(SFX_3F2_BOING, 0.8f, 24000, this->position, 500, 2000); } } diff --git a/src/FP/ch/present.c b/src/FP/ch/present.c index 34cdcf69..116827b7 100644 --- a/src/FP/ch/present.c +++ b/src/FP/ch/present.c @@ -10,19 +10,19 @@ ActorAnimationInfo D_803924A0[] = { {ASSET_18A_ANIM_XMAS_GIFT, 1.5f} }; -ActorInfo D_803924B0 = { MARKER_208_BLUE_PRESENT, ACTOR_33A_BLUE_PRESENT, ASSET_47F_MODEL_XMAS_GIFT_BLUE, +ActorInfo gChPresentBlue = { MARKER_208_BLUE_PRESENT, ACTOR_33A_BLUE_PRESENT, ASSET_47F_MODEL_XMAS_GIFT_BLUE, 0x1, D_803924A0, func_8038F144, actor_update_func_80326224, func_8038F0F0, 2500, 0, 1.2f, 0 }; -ActorInfo D_803924D4 = { MARKER_209_GREEN_PRESENT, ACTOR_33B_GREEN_PRESENT, ASSET_480_MODEL_XMAS_GIFT_GREEN, +ActorInfo gChPresentGreen = { MARKER_209_GREEN_PRESENT, ACTOR_33B_GREEN_PRESENT, ASSET_480_MODEL_XMAS_GIFT_GREEN, 0x1, D_803924A0, func_8038F144, actor_update_func_80326224, func_8038F0F0, 2500, 0, 1.2f, 0 }; -ActorInfo D_803924F8 = { MARKER_20A_RED_PRESENT, ACTOR_33C_RED_PRESENT, ASSET_481_MODEL_XMAS_GIFT_RED, +ActorInfo gChPresentRed = { MARKER_20A_RED_PRESENT, ACTOR_33C_RED_PRESENT, ASSET_481_MODEL_XMAS_GIFT_RED, 0x1, D_803924A0, func_8038F144, actor_update_func_80326224, func_8038F0F0, 2500, 0, 1.2f, 0 diff --git a/src/FP/ch/snowmanbutton.c b/src/FP/ch/snowmanbutton.c index 8390f402..b479dcfa 100644 --- a/src/FP/ch/snowmanbutton.c +++ b/src/FP/ch/snowmanbutton.c @@ -13,7 +13,7 @@ ActorAnimationInfo FP_D_80391A90[] ={ {ASSET_143_ANIM_SNOWMAN_BUTTON, 800000.0f} }; -ActorInfo FP_D_80391AB0 = { +ActorInfo gSnowmanButton = { MARKER_B9_FP_SNOWMAN_BUTTON, ACTOR_116_FP_SNOWMAN_BUTTON, ASSET_421_MODEL_FP_SNOWMAN_BUTTON, 0x1, FP_D_80391A90, FP_func_80386CF8, actor_update_func_80326224, func_80386B80, diff --git a/src/FP/ch/twinkly.c b/src/FP/ch/twinkly.c index 786869bd..d2790aea 100644 --- a/src/FP/ch/twinkly.c +++ b/src/FP/ch/twinkly.c @@ -5,8 +5,8 @@ extern Actor *func_802EBAE0(UNK_TYPE(s32), f32 position[3], f32 rotation[3], f32 scale, UNK_TYPE(s32), UNK_TYPE(s32), UNK_TYPE(s32), f32, UNK_TYPE(s32)); Actor *func_8038C0B0(ActorMarker *marker, UNK_TYPE(s32) arg1, f32 arg2, UNK_TYPE(s32) arg3); -Actor *func_8038C1F8(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); -void func_8038C9A0(Actor *this); +Actor *chTwinkly_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); +void chTwinkly_update(Actor *this); /* .data */ ActorAnimationInfo D_80391F50[] = { @@ -19,27 +19,27 @@ ActorAnimationInfo D_80391F50[] = { {0x17C, 2.0f} }; -ActorInfo D_80391F88 = { MARKER_200_TWINKLY_BLUE, ACTOR_332_TWINKLY_BLUE, ASSET_448_MODEL_TWINKLY_BLUE, +ActorInfo gChTwinklyBlue = { MARKER_200_TWINKLY_BLUE, ACTOR_332_TWINKLY_BLUE, ASSET_448_MODEL_TWINKLY_BLUE, 0x1, D_80391F50, - func_8038C9A0, actor_update_func_80326224, func_8038C1F8, + chTwinkly_update, actor_update_func_80326224, chTwinkly_draw, 0, 0, 1.0f, 0 }; -ActorInfo D_80391FAC = { MARKER_201_TWINKLY_GREEN, ACTOR_333_TWINKLY_GREEN, ASSET_449_MODEL_TWINKLY_GREEN, +ActorInfo gChTwinklyGreen = { MARKER_201_TWINKLY_GREEN, ACTOR_333_TWINKLY_GREEN, ASSET_449_MODEL_TWINKLY_GREEN, 0x1, D_80391F50, - func_8038C9A0, actor_update_func_80326224, func_8038C1F8, + chTwinkly_update, actor_update_func_80326224, chTwinkly_draw, 0, 0, 1.0f, 0 }; -ActorInfo D_80391FD0 = { MARKER_202_TWINKLY_ORANGE, ACTOR_334_TWINKLY_ORANGE, ASSET_44A_MODEL_TWINKLY_ORANGE, +ActorInfo gChTwinklyOrange = { MARKER_202_TWINKLY_ORANGE, ACTOR_334_TWINKLY_ORANGE, ASSET_44A_MODEL_TWINKLY_ORANGE, 0x1, D_80391F50, - func_8038C9A0, actor_update_func_80326224, func_8038C1F8, + chTwinkly_update, actor_update_func_80326224, chTwinkly_draw, 0, 0, 1.0f, 0 }; -ActorInfo D_80391FF4 = { MARKER_203_TWINKLY_RED, ACTOR_335_TWINKLY_RED, ASSET_44B_MODEL_TWINKLY_RED, +ActorInfo gChTwinklyRed = { MARKER_203_TWINKLY_RED, ACTOR_335_TWINKLY_RED, ASSET_44B_MODEL_TWINKLY_RED, 0x1, D_80391F50, - func_8038C9A0, actor_update_func_80326224, func_8038C1F8, + chTwinkly_update, actor_update_func_80326224, chTwinkly_draw, 0, 0, 1.0f, 0 }; @@ -82,14 +82,14 @@ Actor *func_8038C0B0(ActorMarker *marker, UNK_TYPE(s32) arg1, f32 arg2, UNK_TYPE } } -Actor *func_8038C1F8(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ +Actor *chTwinkly_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ Actor *this = marker_getActor(marker); func_8033A45C(2, this->unk38_31); func_8033A45C(1, func_8033A0F0(2) ^ 1); return actor_draw(marker, gfx, mtx, vtx); } -void func_8038C260(f32 position[3], s32 count, enum asset_e model_id){ +void chTwinkly_shatterEffect(f32 position[3], s32 count, enum asset_e model_id){ ParticleEmitter *pCtrl; pCtrl = partEmitMgr_newEmitter(count); @@ -111,7 +111,7 @@ void func_8038C260(f32 position[3], s32 count, enum asset_e model_id){ particleEmitter_emitN(pCtrl, count); } -void func_8038C398(f32 position[3], enum marker_e marker_id){ +void chTwinkly_decideShatterColor(f32 position[3], enum marker_e marker_id){ enum asset_e sp1C; switch(marker_id){ case MARKER_200_TWINKLY_BLUE: @@ -130,11 +130,11 @@ void func_8038C398(f32 position[3], enum marker_e marker_id){ sp1C = ASSET_49B_MODEL_TWINKLY_SHARD_RED; break; } - func_8038C260(position, 12, sp1C); - func_8038C260(position, 4, ASSET_498_MODEL_TWINKLY_SHARD_YELLOW); + chTwinkly_shatterEffect(position, 12, sp1C); + chTwinkly_shatterEffect(position, 4, ASSET_498_MODEL_TWINKLY_SHARD_YELLOW); } -void func_8038C428(Actor *arg0, f32 arg1[3], f32 arg2) +void chTwinkly_hopToTree(Actor *arg0, f32 arg1[3], f32 arg2) { u8 sp7F; s32 sp78; @@ -189,14 +189,14 @@ void func_8038C428(Actor *arg0, f32 arg1[3], f32 arg2) arg0->velocity[0] = (f32) (var_f22 / temp_f0); arg0->velocity[2] = (f32) (var_f24 / temp_f0); if (sp7F) { - func_8030E878(SFX_3F2_UNKNOWN, randf2(1.2f, 1.3f), 0x7D00U, arg0->position, 1750.0f, 3500.0f); + func_8030E878(SFX_3F2_BOING, randf2(1.2f, 1.3f), 0x7D00U, arg0->position, 1750.0f, 3500.0f); } else { func_8030E878(SFX_53_BANJO_HUIII, randf2(1.4f, 1.5f), 0x7D00U, arg0->position, 1750.0f, 3500.0f); } } -bool func_8038C718(Actor *this, f32 arg1){ +bool chTwinkly_hopOutBox(Actor *this, f32 arg1){ f32 tmp; this->position[0] += this->velocity[0]; @@ -215,7 +215,7 @@ bool func_8038C718(Actor *this, f32 arg1){ return TRUE; } -bool func_8038C844(f32 arg0[3], f32 arg1[3]){ +bool func_8038C844(f32 arg0[3], f32 arg1[3]){ //connected to twinklies entering tree and interacting with munchers if( (arg0[0] - arg1[0] < 26.0f && -26.0f < arg0[0] - arg1[0]) && (arg0[1] - arg1[1] < 26.0f && -26.0f < arg0[1] - arg1[1]) && (arg0[2] - arg1[2] < 26.0f && -26.0f < arg0[2] - arg1[2]) @@ -225,7 +225,7 @@ bool func_8038C844(f32 arg0[3], f32 arg1[3]){ return FALSE; } -void func_8038C8F0(ActorMarker *marker){ +void chTwinkly_spawnFirstMuncher(ActorMarker *marker){ Actor *this; Actor *muncher; Actor *other; @@ -240,15 +240,15 @@ void func_8038C8F0(ActorMarker *marker){ if(pad); } -void func_8038C94C(ActorMarker *caller, enum asset_e text_id, s32 arg2){ +void chTwinkly_setUpMinigame(ActorMarker *caller, enum asset_e text_id, s32 arg2){ Actor *this = marker_getActor(caller); if(!volatileFlag_get(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE)){ subaddie_set_state(this, 6); - __spawnQueue_add_1((GenFunction_1)func_8038C8F0, reinterpret_cast(s32, this->marker)); + __spawnQueue_add_1((GenFunction_1)chTwinkly_spawnFirstMuncher, reinterpret_cast(s32, this->marker)); } } -void func_8038C9A0(Actor *this){ +void chTwinkly_update(Actor *this){ Actor *other; //sp34 void * sp30; @@ -272,13 +272,13 @@ void func_8038C9A0(Actor *this){ this->velocity_z = 0.0f; this->unk1C[0] = 0.0f; anctrl_setAnimTimer(this->anctrl, 0.0f); - func_8038C428(this, D_8039207C, 0); + chTwinkly_hopToTree(this, D_8039207C, 0); return; } }//L8038CA9C if(1.0f == other->unk1C[1]){ - func_8038C398(this->position, this->marker->id); + chTwinkly_decideShatterColor(this->position, this->marker->id); sfx_playFadeShorthandDefault(SFX_7B_ICE_BREAKING_1, 1.0f, 32000, this->position, 0x6d6, 0xdac);\ marker_despawn(this->marker); return; @@ -286,9 +286,9 @@ void func_8038C9A0(Actor *this){ switch(this->state){ case 1:// 8038CB2C - if(!func_8038C718(this, 0)){ + if(!chTwinkly_hopOutBox(this, 0)){ subaddie_set_state_with_direction(this, 2, 0.001f, 1); - func_8038C428(this, D_80392088, randf2(20.0f, 24.0f)); + chTwinkly_hopToTree(this, D_80392088, randf2(20.0f, 24.0f)); this->lifetime_value = this->yaw; } break; @@ -310,19 +310,19 @@ void func_8038C9A0(Actor *this){ this->unk38_31 = FALSE; } - if(!func_8038C718(this, 0.0f)){ + if(!chTwinkly_hopOutBox(this, 0.0f)){ if(func_8038C844(this->position, D_80392088)){ subaddie_set_state_with_direction(this, 3, 0.001f, 1); - func_8038C428(this, D_80392094, 0.0f); + chTwinkly_hopToTree(this, D_80392094, 0.0f); } else{ - func_8038C428(this, D_80392088, randf2(20.0f, 24.0f)); + chTwinkly_hopToTree(this, D_80392088, randf2(20.0f, 24.0f)); } } break; case 3:// 8038CCFC - if(!func_8038C718(this, 0.0f)){ + if(!chTwinkly_hopOutBox(this, 0.0f)){ if(other->unk38_31 != 0){ other->unk38_31--; } @@ -336,11 +336,11 @@ void func_8038C9A0(Actor *this){ if(this->unk1C[1] <= this->position_y){ this->position_y = this->unk1C[1]; if(!fileProgressFlag_get(FILEPROG_82_MET_TWINKLIES)){ - gcdialog_showDialog(ASSET_C12_DIALOG_TWINKLIE_MINIGAME_START, 0x2a, this->position, this->marker, func_8038C94C, NULL); + gcdialog_showDialog(ASSET_C12_DIALOG_TWINKLIE_MINIGAME_START, 0x2a, this->position, this->marker, chTwinkly_setUpMinigame, NULL); fileProgressFlag_set(FILEPROG_82_MET_TWINKLIES, TRUE); } else{ - gcdialog_showDialog(ASSET_C25_DIALOG_TWINKLIE_MINIGAME_RETRY, 0x2b, this->position, this->marker, func_8038C94C, NULL); + gcdialog_showDialog(ASSET_C25_DIALOG_TWINKLIE_MINIGAME_RETRY, 0x2b, this->position, this->marker, chTwinkly_setUpMinigame, NULL); } subaddie_set_state(this, 5); this->pitch -= 3.0f; @@ -350,7 +350,7 @@ void func_8038C9A0(Actor *this){ case 5:// 8038CE14 this->yaw_ideal = (f32)func_80329784(this); func_80328FB0(this, 8.0f); - if(!func_8038C718(this, this->unk1C[1])){ + if(!chTwinkly_hopOutBox(this, this->unk1C[1])){ this->velocity[1] = randf2(14.0f, 20.0f); } break; diff --git a/src/FP/ch/twinklybox.c b/src/FP/ch/twinklybox.c index 64efbfd5..275076ac 100644 --- a/src/FP/ch/twinklybox.c +++ b/src/FP/ch/twinklybox.c @@ -5,8 +5,8 @@ extern void func_80324CD8(f32); extern Actor *actor_spawnWithYaw_f32(enum actor_e, f32[3], s32); -Actor *FP_func_8038CED0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); -void func_8038D6C8(Actor *this); +Actor *chTwinklyBox_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); +void chTwinklyBox_update(Actor *this); /* .data */ ActorAnimationInfo D_803920C0[] ={ @@ -17,14 +17,14 @@ ActorAnimationInfo D_803920C0[] ={ {0x16D, 0.8f} }; -ActorInfo D_803920E8 = { 0x204, 0x336, 0x442, +ActorInfo gChTwinklyBox = { MARKER_204_TWINKLY_BOX, ACTOR_336_TWINKLY_BOX, ASSET_442_MODEL_TWINKLY_BOX, 0x1, D_803920C0, - func_8038D6C8, actor_update_func_80326224, FP_func_8038CED0, + chTwinklyBox_update, actor_update_func_80326224, chTwinklyBox_draw, 0, 0, 0.0f, 0 }; /* .code */ -Actor *FP_func_8038CED0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ +Actor *chTwinklyBox_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ Actor *this = marker_getActor(marker); if( maSlalom_isActive() || fileProgressFlag_get(FILEPROG_13_COMPLETED_TWINKLIES_MINIGAME) ){ if(0.0f == this->velocity[1]) @@ -33,7 +33,7 @@ Actor *FP_func_8038CED0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ return actor_draw(marker, gfx, mtx, vtx); } -void func_8038CF54(f32 position[3], s32 count, enum asset_e model_id){ +void chTwinklyBox_destroyBoxShards(f32 position[3], s32 count, enum asset_e model_id){ static ParticleScaleAndLifetimeRanges D_8039210C = { { 0.4f, 0.8f }, {-1.0f, -1.0f }, @@ -63,7 +63,7 @@ void func_8038CF54(f32 position[3], s32 count, enum asset_e model_id){ particleEmitter_emitN(pCtrl, count); } -void func_8038D01C(f32 position[3], s32 count, enum asset_e sprite_id){ +void chTwinklyBox_destroyBoxDust(f32 position[3], s32 count, enum asset_e sprite_id){ static ParticleScaleAndLifetimeRanges D_8039217C = { {0.8f, 1.2f }, {1.4f, 2.0f }, @@ -90,7 +90,7 @@ void func_8038D01C(f32 position[3], s32 count, enum asset_e sprite_id){ particleEmitter_emitN(pCtrl, count); } -void func_8038D0A8(f32 position[3], s32 count, enum asset_e model_id){ +void chTwinklyBox_openBoxShards(f32 position[3], s32 count, enum asset_e model_id){ static ParticleScaleAndLifetimeRanges D_803921F8 = { { 0.2f, 0.3f }, {-1.0f, -1.0f }, @@ -120,7 +120,7 @@ void func_8038D0A8(f32 position[3], s32 count, enum asset_e model_id){ particleEmitter_emitN(pCtrl, count); } -void func_8038D170(f32 position[3], s32 count, enum asset_e sprite_id){ +void chTwinklyBox_openBoxSparkles(f32 position[3], s32 count, enum asset_e sprite_id){ static ParticleScaleAndLifetimeRanges D_80392268 ={ { 0.4f, 0.6f }, {-1.0f, -1.0f }, @@ -146,7 +146,7 @@ void func_8038D170(f32 position[3], s32 count, enum asset_e sprite_id){ particleEmitter_emitN(pCtrl, count); } -void func_8038D208(f32 position[3], s32 count, enum asset_e sprite_id){ +void chTwinklyBox_openBoxDust(f32 position[3], s32 count, enum asset_e sprite_id){ static ParticleScaleAndLifetimeRanges D_803922D8 = { {0.5f, 0.7f }, {1.4f, 1.7f }, @@ -171,27 +171,27 @@ void func_8038D208(f32 position[3], s32 count, enum asset_e sprite_id){ particleEmitter_emitN(pCtrl, count); } -void func_8038D294(ActorMarker *marker){ +void chTwinklyBox_destroyBox(ActorMarker *marker){ Actor *this = marker_getActor(marker); - func_8038CF54(this->position, 12, ASSET_4D4_MODEL_TWINKLY_BOX_PAPER_SHARD); - func_8038D01C(this->position, 12, ASSET_700_SPRITE_DUST); + chTwinklyBox_destroyBoxShards(this->position, 12, ASSET_4D4_MODEL_TWINKLY_BOX_PAPER_SHARD); + chTwinklyBox_destroyBoxDust(this->position, 12, ASSET_700_SPRITE_DUST); this->velocity[1] = 0.0f; sfx_playFadeShorthandDefault(SFX_30_MAGIC_POOF, 1.0f, 32000, this->position, 1000, 3500); gcdialog_showDialog(ASSET_C13_DIALOG_TWINKLIE_MINIGAME_COMPLETE, 0, NULL, NULL, NULL, NULL); } -void func_8038D324(Actor *this){ +void chTwinklyBox_openBox(Actor *this){ int i; - func_8038D0A8(this->position, 24, ASSET_4D4_MODEL_TWINKLY_BOX_PAPER_SHARD); + chTwinklyBox_openBoxShards(this->position, 24, ASSET_4D4_MODEL_TWINKLY_BOX_PAPER_SHARD); for(i = 0; i < 24; i++){ - func_8038D170(this->position, 1, ASSET_710_SPRITE_SPARKLE_PURPLE + randi2(0, 10)); + chTwinklyBox_openBoxSparkles(this->position, 1, ASSET_710_SPRITE_SPARKLE_PURPLE + randi2(0, 10)); } - func_8038D208(this->position, 8, ASSET_700_SPRITE_DUST); + chTwinklyBox_openBoxDust(this->position, 8, ASSET_700_SPRITE_DUST); FUNC_8030E624(SFX_30_MAGIC_POOF, 1.0f, 32000); } -void func_8038D3B0(Actor *arg0){ +void chTwinklyBox_free(Actor *arg0){ item_set(ITEM_6_HOURGLASS, FALSE); } @@ -202,7 +202,7 @@ void func_8038D3D8(void){ core1_ce60_incOrDecCounter(TRUE); } -void func_8038D41C(ActorMarker *marker){ +void chTwinklyBox_spawnSecondAndThirdMuncher(ActorMarker *marker){ static f32 D_80392354[3] = {-4165.0f, 73.0f, 4483.0f}; static f32 D_80392360[3] = {-4292.0f, 73.0f, 5054.0f}; s32 pad[2]; @@ -216,7 +216,7 @@ void func_8038D41C(ActorMarker *marker){ if(pad[0]); } -void func_8038D474(ActorMarker *marker){ +void chTwinklyBox_spawnTwinkly(ActorMarker *marker){ static enum actor_e D_8039236C[4] = { ACTOR_332_TWINKLY_BLUE, ACTOR_333_TWINKLY_GREEN, @@ -236,21 +236,21 @@ void func_8038D474(ActorMarker *marker){ child->partnerActor = actor->marker; } -void func_8038D51C(ActorMarker *marker){ +void chTwinklyBox_completeMinigame(ActorMarker *marker){ Actor *this = marker_getActor(marker); item_set(ITEM_6_HOURGLASS, FALSE); fileProgressFlag_set(FILEPROG_13_COMPLETED_TWINKLIES_MINIGAME, TRUE); - FUNC_8030E624(SFX_416, 0.8f, 32000); + FUNC_8030E624(SFX_416_ELECTRIC_ZAP, 0.8f, 32000); func_8028F8F8(7, 0); this->unk1C[1] = 1.0f; timed_exitStaticCamera(1.7f); func_80324E38(1.7f, 0); - timedFunc_set_1(2.3f, (GenFunction_1)func_8038D294, (s32)this->marker); + timedFunc_set_1(2.3f, (GenFunction_1)chTwinklyBox_destroyBox, (s32)this->marker); this->velocity[1] = 1.0f; } -void func_8038D5C8(ActorMarker *this_marker, ActorMarker *other_marker){ +void chTwinklyBox_activateBox(ActorMarker *this_marker, ActorMarker *other_marker){ static f32 D_8039237C[3] = {-3940.0f, 69.0f, 3570.0f}; Actor *this = marker_getActor(this_marker); @@ -274,12 +274,12 @@ void func_8038D5C8(ActorMarker *this_marker, ActorMarker *other_marker){ }//L8038D6B8 } -void func_8038D6C8(Actor *this){ +void chTwinklyBox_update(Actor *this){ f32 sp24; bool sp20; sp24 = time_getDelta(); - mapSpecificFlags_set(0xd, BOOL(this->state != 1 && this->state != 2)); + mapSpecificFlags_set(FP_SPECIFIC_FLAG_D_UNKNOWN, BOOL(this->state != 1 && this->state != 2)); if(maSlalom_isActive() || fileProgressFlag_get(FILEPROG_13_COMPLETED_TWINKLIES_MINIGAME)){ this->marker->propPtr->unk8_3 = FALSE; @@ -294,8 +294,8 @@ void func_8038D6C8(Actor *this){ if(!this->volatile_initialized){ this->volatile_initialized = TRUE; - marker_setFreeMethod(this->marker, func_8038D3B0); - marker_setCollisionScripts(this->marker, NULL, func_8038D5C8, NULL); + marker_setFreeMethod(this->marker, chTwinklyBox_free); + marker_setCollisionScripts(this->marker, NULL, chTwinklyBox_activateBox, NULL); this->unk38_31 = 0; this->unk1C[1] = 0.0f; this->velocity[0] = 0.0f; @@ -315,7 +315,7 @@ void func_8038D6C8(Actor *this){ switch (this->state) { - case 1: //L8038D89C + case 1: //L8038D89C, before standing nearby box if(!subaddie_playerIsWithinSphereAndActive(this, 800)) break; @@ -329,7 +329,7 @@ void func_8038D6C8(Actor *this){ break; - case 2: //L8038D91C + case 2: //L8038D91C, shaking before getting hit open sp20 = anctrl_isPlayedForwards(this->anctrl); anctrl_setDuration(this->anctrl, this->velocity[2]); if( ( sp20 == TRUE && actor_animationIsAt(this, 0.999f) ) @@ -350,12 +350,12 @@ void func_8038D6C8(Actor *this){ } break; - case 3: //L8038DA24 + case 3: //L8038DA24, after hitting box if(actor_animationIsAt(this, 0.3f)) - func_8038D324(this); + chTwinklyBox_openBox(this); if(actor_animationIsAt(this, 0.999f)) - __spawnQueue_add_1((GenFunction_1)func_8038D474, (s32)this->marker); + __spawnQueue_add_1((GenFunction_1)chTwinklyBox_spawnTwinkly, (s32)this->marker); if(this->velocity[0] != 0.0f) break; @@ -368,13 +368,13 @@ void func_8038D6C8(Actor *this){ item_set(ITEM_6_HOURGLASS, TRUE); this->unk38_31 = 0xA; item_set(ITEM_24_TWINKLY_SCORE, this->unk38_31); - __spawnQueue_add_1((GenFunction_1)func_8038D41C, (s32)this->marker); + __spawnQueue_add_1((GenFunction_1)chTwinklyBox_spawnSecondAndThirdMuncher, (s32)this->marker); this->lifetime_value = 0.0f; func_80347A14(0); func_802FAD64(ITEM_14_HEALTH); break; - case 4: //L8038DB18 + case 4: //L8038DB18, winning or losing minigame this->unk1C[2] += (sp24*-195238.0f)/80.0f; if(this->unk1C[2] < 233333.0f) this->unk1C[2] = 233333.0f; @@ -385,7 +385,7 @@ void func_8038D6C8(Actor *this){ coMusicPlayer_playMusic(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000); func_8038D3D8(); func_80324E38(0.0f, 3); - timedFunc_set_1(1.3f, (GenFunction_1)func_8038D51C, (s32)this->marker); + timedFunc_set_1(1.3f, (GenFunction_1)chTwinklyBox_completeMinigame, (s32)this->marker); timed_setStaticCameraToNode(0.9f, 0xC); item_set(ITEM_24_TWINKLY_SCORE, this->unk38_31); func_80347A14(1); @@ -408,7 +408,7 @@ void func_8038D6C8(Actor *this){ if(0.96 < anctrl_getAnimTimer(this->anctrl)){ if(this->lifetime_value <= 0.0){ - __spawnQueue_add_1((GenFunction_1)func_8038D474, (s32)this->marker); + __spawnQueue_add_1((GenFunction_1)chTwinklyBox_spawnTwinkly, (s32)this->marker); this->lifetime_value = 2.9f; } else{ @@ -421,10 +421,10 @@ void func_8038D6C8(Actor *this){ } bool func_8038DD14(void){ - return mapSpecificFlags_get(0xD); + return mapSpecificFlags_get(FP_SPECIFIC_FLAG_D_UNKNOWN); } -bool func_8038DD34(ActorMarker *marker){ +bool preventSnowmanAttack(ActorMarker *marker){ Actor *this = marker_getActor(marker); if(subaddie_playerIsWithinSphereAndActive(this, 800)) return TRUE; diff --git a/src/FP/ch/twinklymuncher.c b/src/FP/ch/twinklymuncher.c index e7dd583b..17ad06ee 100644 --- a/src/FP/ch/twinklymuncher.c +++ b/src/FP/ch/twinklymuncher.c @@ -4,8 +4,8 @@ extern ActorProp *func_80320EB0(ActorMarker *, f32, s32); -Actor *func_8038DD70(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); -void func_8038E094(Actor *this); +Actor *chTwinklyMuncher_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); +void chTwinklyMuncher_update(Actor *this); /* .data */ extern ActorAnimationInfo D_80392390[] ={ @@ -19,46 +19,46 @@ extern ActorAnimationInfo D_80392390[] ={ {ASSET_1AF_ANIM_TWINKLY_MUNCHER_APPEAR, 0.667f} }; -extern ActorInfo D_803923D0 = { MARKER_205_TWINKLY_MUNCHER, ACTOR_337_TWINKLY_MUNCHER, ASSET_496_MODEL_TWINKLY_MUNCHER, +extern ActorInfo gChTwinklyMuncher = { MARKER_205_TWINKLY_MUNCHER, ACTOR_337_TWINKLY_MUNCHER, ASSET_496_MODEL_TWINKLY_MUNCHER, 0x1, D_80392390, - func_8038E094, actor_update_func_80326224, func_8038DD70, + chTwinklyMuncher_update, actor_update_func_80326224, chTwinklyMuncher_draw, 2500, 0, 1.0f, 0 }; /* .code */ -Actor *func_8038DD70(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ +Actor *chTwinklyMuncher_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ Actor *this = marker_getActor(marker); if(this->state == 1) return this; return actor_draw(marker, gfx, mtx, vtx); } -void func_8038DDC8(Actor *this){ +void chTwinklyMuncher_setSpawnState(Actor *this){ actor_collisionOn(this); subaddie_set_state_with_direction(this, 2, 0.03f, 1); actor_playAnimationOnce(this); } -void func_8038DE08(Actor *this){ +void chTwinklyMuncher_setPostFirstAttackState(Actor *this){ subaddie_set_state_with_direction(this, 3, 0.03f, 1); actor_loopAnimation(this); } -void func_8038DE40(Actor *this){ +void chTwinklyMuncher_setFirstAttackState(Actor *this){ subaddie_set_state_with_direction(this, 4, 0.03f, 1); actor_playAnimationOnce(this); } -void func_8038DE78(Actor *this){ +void chTwinklyMuncher_setDespawnState(Actor *this){ actor_collisionOff(this); subaddie_set_state_with_direction(this, 5, 0.03f, 1); actor_playAnimationOnce(this); } -void func_8038DEB8(ActorMarker *this_marker, ActorMarker *other_marker){ +void chTwinklyMuncher_hit(ActorMarker *this_marker, ActorMarker *other_marker){ Actor *this = marker_getActor(this_marker); if(this->state != 1 && this->state != 5){ - func_8038DE78(this); + chTwinklyMuncher_setDespawnState(this); sfx_playFadeShorthandDefault(SFX_87_TANKTUP_OOOHW, 1.6f, 32000, this->position, 1250, 2500); sfx_playFadeShorthandDefault(SFX_1D_HITTING_AN_ENEMY_1, 1.0f, 26000, this->position, 1250, 2500); } @@ -90,30 +90,30 @@ Actor *func_8038DF34(Actor *this){ return NULL; } -void func_8038E040(ActorMarker *caller, enum asset_e text_id, s32 arg2){ +void chTwinklyMuncher_failMinigameExit(ActorMarker *caller, enum asset_e text_id, s32 arg2){ Actor *this = marker_getActor(caller); timed_exitStaticCamera(0.5f); subaddie_set_state_with_direction(this, 7, 0.03f, 1); actor_playAnimationOnce(this); } -void func_8038E094(Actor *this){ +void chTwinklyMuncher_update(Actor *this){ s32 sp3C; Actor *sp38; f32 sp34 = time_getDelta(); if(!this->volatile_initialized){ this->volatile_initialized = TRUE; - marker_setCollisionScripts(this->marker, NULL, func_8038DEB8, NULL); + marker_setCollisionScripts(this->marker, NULL, chTwinklyMuncher_hit, NULL); this->marker->propPtr->unk8_3 = TRUE; anctrl_setAnimTimer(this->anctrl, 0.99999f); this->lifetime_value = 0.0f; if(this->actorTypeSpecificField == 1){ - func_8038DDC8(this); + chTwinklyMuncher_setSpawnState(this); } if(this->actorTypeSpecificField == 2){ if(volatileFlag_get(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE) && gcparade_8031B4F4() == -2){ - func_8038DDC8(this); + chTwinklyMuncher_setSpawnState(this); } else{ marker_despawn(this->marker); @@ -127,7 +127,7 @@ void func_8038E094(Actor *this){ if(this->actorTypeSpecificField == 1 && !fileProgressFlag_get(FILEPROG_13_COMPLETED_TWINKLIES_MINIGAME)){ if(this->state != 6 && this->state != 7 && 0.0f == this->velocity[0]){ timed_setStaticCameraToNode(0.5f, 0xd); - gcdialog_showDialog(ASSET_C15_DIALOG_TWINKLIE_MINIGAME_MISS, 0x2b, this->position, this->marker, func_8038E040, NULL); + gcdialog_showDialog(ASSET_C15_DIALOG_TWINKLIE_MINIGAME_MISS, 0x2b, this->position, this->marker, chTwinklyMuncher_failMinigameExit, NULL); this->velocity[0] = 1.0f; subaddie_set_state_with_direction(this, 6, 0.03f, 1); actor_loopAnimation(this); @@ -138,7 +138,7 @@ void func_8038E094(Actor *this){ marker_despawn(this->marker); } else if( this->state != 1 && this->state != 5){ - func_8038DE78(this); + chTwinklyMuncher_setDespawnState(this); } } } @@ -155,7 +155,7 @@ void func_8038E094(Actor *this){ if(10.0 <= this->lifetime_value || randf() < this->lifetime_value/10.0){ if(!func_8038DF34(this)){ this->lifetime_value = 0.0f; - func_8038DDC8(this); + chTwinklyMuncher_setSpawnState(this); break; } } @@ -167,7 +167,7 @@ void func_8038E094(Actor *this){ this->marker->propPtr->unk8_3 = TRUE; sp38 = func_8038DF34(this); if(sp38){ - func_8038DE40(this); + chTwinklyMuncher_setFirstAttackState(this); this->unk38_31 = sp38->marker->id; break; } @@ -179,14 +179,14 @@ void func_8038E094(Actor *this){ sfx_playFadeShorthandDefault(SFX_C4_TWINKLY_MUNCHER_GRR, 1.2f, 32000, this->position, 1250, 2500); if(actor_animationIsAt(this, 0.97f)) - func_8038DE08(this); + chTwinklyMuncher_setPostFirstAttackState(this); break; case 3: //L8038E498 this->marker->propPtr->unk8_3 = TRUE; sp38 = func_8038DF34(this); if(sp38){ - func_8038DE40(this); + chTwinklyMuncher_setFirstAttackState(this); this->unk38_31 = sp38->marker->id; } break; @@ -196,18 +196,18 @@ void func_8038E094(Actor *this){ sp38 = func_8038DF34(this); if(sp38 && sp38->marker->id == this->unk38_31){ if(actor_animationIsAt(this, 0.23)){ - func_8038C398(sp38->position, sp38->marker->id); + chTwinkly_decideShatterColor(sp38->position, sp38->marker->id); sfx_playFadeShorthandDefault(SFX_110_TWINKLY_DEATH, 1.0f, 32000, this->position, 1250, 2500); sfx_playFadeShorthandDefault(SFX_27_JINJO_HI, 1.6f, 32000, this->position, 1250, 2500); func_80324D54(0.35f, SFX_110_TWINKLY_DEATH, 1.0f, 32000, this->position, 1250.0f, 2500.0f); marker_despawn(sp38->marker); - if( !mapSpecificFlags_get(0xa) && gcdialog_showDialog(0xc16, 0, NULL, NULL, NULL, NULL)){ - mapSpecificFlags_set(0xa, TRUE); + if( !mapSpecificFlags_get(FP_SPECIFIC_FLAG_A_FIRST_TWINKLY_EATEN) && gcdialog_showDialog(ASSET_C16_DIALOG_TWINKLIE_MINIGAME_EATEN, 0, NULL, NULL, NULL, NULL)){ + mapSpecificFlags_set(FP_SPECIFIC_FLAG_A_FIRST_TWINKLY_EATEN, TRUE); } } }//L8038E620 if(actor_animationIsAt(this, 0.97f)){ - func_8038DE08(this); + chTwinklyMuncher_setPostFirstAttackState(this); } break; diff --git a/src/FP/ch/wozza.c b/src/FP/ch/wozza.c index d4df8c12..751de804 100644 --- a/src/FP/ch/wozza.c +++ b/src/FP/ch/wozza.c @@ -30,7 +30,7 @@ ActorAnimationInfo D_80392520[] ={ {0x1AE, 0.55f} }; -ActorInfo D_80392588 = { MARKER_20B_WOZZA, ACTOR_1F3_WOZZA, ASSET_494_MODEL_WOZZA, +ActorInfo gChWozza = { MARKER_20B_WOZZA, ACTOR_1F3_WOZZA, ASSET_494_MODEL_WOZZA, 0x1, D_80392520, FP_func_8038F7AC, actor_update_func_80326224, func_8038F210, 0, 0, 1.6f, 0 @@ -136,7 +136,7 @@ bool func_8038F5D4(Actor *this, f32 arg1[3], f32 arg2, f32 arg3, s32 arg4){ this->yaw_ideal = (f32) func_803297C8(this, arg1); func_80328FB0(this, arg3); if(actor_animationIsAt(this, 0.9f)){ - sfx_playFadeShorthandDefault(SFX_3F2_UNKNOWN, 0.8f, 24000, this->position, 500, 2000); + sfx_playFadeShorthandDefault(SFX_3F2_BOING, 0.8f, 24000, this->position, 500, 2000); } this->actor_specific_1_f = (1.0f- sp24)*arg2; func_80329054(this, 2); diff --git a/src/FP/ch/wozzasjig.c b/src/FP/ch/wozzasjig.c index b5152d1c..73d14b83 100644 --- a/src/FP/ch/wozzasjig.c +++ b/src/FP/ch/wozzasjig.c @@ -22,7 +22,7 @@ ActorAnimationInfo D_803925C0[] = { {0x1AE, 0.55f} }; -ActorInfo D_80392628 = { MARKER_20C_WOZZAS_JIGGY, ACTOR_1F4_WOZZAS_JIGGY, ASSET_495_MODEL_WOZZAS_JIGGY, +ActorInfo gWozzaJiggy = { MARKER_20C_WOZZAS_JIGGY, ACTOR_1F4_WOZZAS_JIGGY, ASSET_495_MODEL_WOZZAS_JIGGY, 0x1, D_803925C0, func_8038FF54, actor_update_func_80326224, func_8038FF00, 0, 0, 0.0f, 0 diff --git a/src/FP/ch/xmastree.c b/src/FP/ch/xmastree.c index 7160dc91..441155d1 100644 --- a/src/FP/ch/xmastree.c +++ b/src/FP/ch/xmastree.c @@ -22,7 +22,7 @@ Actor *chXmasTree_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ return actor_draw(marker, gfx, mtx, vtx); } -void __chXmasTree_free(Actor *this){ +void chXmasTree_free(Actor *this){ u8 tmp_a0; item_set(ITEM_6_HOURGLASS, FALSE); @@ -33,30 +33,29 @@ void __chXmasTree_free(Actor *this){ } } -void __chXmasTree_80386EF4(Actor *this, int arg1){ +void chXmasTree_setState(Actor *this, int arg1){ this->unk38_31 = arg1; - mapSpecificFlags_set(0, this->unk38_31); - + mapSpecificFlags_set(FP_SPECIFIC_FLAG_0_XMAS_TREE_LIGHTS_ON, this->unk38_31); } -void __chXmasTree_80386F3C(void){ - levelSpecificFlags_set(LEVEL_FLAG_29_FP_UNKNOWN, TRUE); - func_803228D8(); +void chXmasTree_swapCameraToIce(void){ + levelSpecificFlags_set(LEVEL_FLAG_29_FP_XMAS_TREE_COMPLETE, TRUE); + musicKeepsPlaying(); volatileFlag_set(VOLATILE_FLAG_E, 1); transitionToMap(MAP_53_FP_CHRISTMAS_TREE, 1, 0); } -void __chXmasTree_80386F84(Actor * this){ +void chXmasTree_setLightsOn(Actor * this){ subaddie_set_state(this, 2); - __chXmasTree_80386EF4(this, 0); + chXmasTree_setState(this, 0); } -void __chXmasTree_spawnSwitch(void){ +void chXmasTree_spawnSwitch(void){ static s32 chXmasTree_switch_spawn_position[3] = {-0x1220, 0x6A, 0x1945}; actor_spawnWithYaw_s32(ACTOR_338_XMAS_TREE_SWITCH, chXmasTree_switch_spawn_position, 350); } -void __chXmasTree_spawnStar(void *marker){ +void chXmasTree_spawnStar(void *marker){ Actor *this = marker_getActor(reinterpret_cast(ActorMarker *, marker)); Actor *child = spawn_child_actor(0x339, &this); s32 pad; @@ -65,22 +64,22 @@ void __chXmasTree_spawnStar(void *marker){ child->position_z += 25.0f; } -void __chXmasTree_80387038(Actor *this){ +void chXmasTree_lightsDeactivatedSounds(Actor *this){ if(func_8030E3FC(this->unk44_31)) sfxSource_triggerCallbackByIndex(this->unk44_31); sfxsource_playSfxAtVolume(this->unk44_31, randf2(0.9f, 1.1f)); sfxSource_func_8030E2C4(this->unk44_31); } -void __chXmasTree_8038709C(Actor *this){ +void chXmasTree_setLightsOff(Actor *this){ if(this->state == 5){ - if(!mapSpecificFlags_get(0)) - __chXmasTree_80387038(this); + if(!mapSpecificFlags_get(FP_SPECIFIC_FLAG_0_XMAS_TREE_LIGHTS_ON)) + chXmasTree_lightsDeactivatedSounds(this); return; } - if(mapSpecificFlags_get(0) && !func_8030E3FC(this->unk44_31)) - __chXmasTree_80387038(this); + if(mapSpecificFlags_get(FP_SPECIFIC_FLAG_0_XMAS_TREE_LIGHTS_ON) && !func_8030E3FC(this->unk44_31)) + chXmasTree_lightsDeactivatedSounds(this); } void chXmasTree_update(Actor *this){ @@ -91,38 +90,38 @@ void chXmasTree_update(Actor *this){ this->volatile_initialized = TRUE; this->marker->propPtr->unk8_3 = TRUE; this->marker->collidable = FALSE; - marker_setFreeMethod(this->marker, __chXmasTree_free); + marker_setFreeMethod(this->marker, chXmasTree_free); if(this->unk44_31 == 0){ this->unk44_31 = sfxsource_createSfxsourceAndReturnIndex(); - sfxsource_setSfxId(this->unk44_31, SFX_415_UNKNOWN); + sfxsource_setSfxId(this->unk44_31, SFX_415_XMAS_LIGHTS_FLICKERING); sfxSource_setunk43_7ByIndex(this->unk44_31, 3); sfxsource_setSampleRate(this->unk44_31, 28000); } - __spawnQueue_add_0(__chXmasTree_spawnSwitch); - __spawnQueue_add_1((GenFunction_1)__chXmasTree_spawnStar, reinterpret_cast(s32, this->marker)); + __spawnQueue_add_0(chXmasTree_spawnSwitch); + __spawnQueue_add_1((GenFunction_1)chXmasTree_spawnStar, reinterpret_cast(s32, this->marker)); if(fileProgressFlag_get(FILEPROG_13_COMPLETED_TWINKLIES_MINIGAME)){ - __chXmasTree_80386F84(this); - mapSpecificFlags_set(2, FALSE); + chXmasTree_setLightsOn(this); + mapSpecificFlags_set(FP_SPECIFIC_FLAG_2_XMAS_TREE_SWITCH, FALSE); } } this->depth_mode = 1; - if (jiggyscore_isCollected(JIGGY_2F_FP_XMAS_TREE) || levelSpecificFlags_get(LEVEL_FLAG_29_FP_UNKNOWN)) { - __chXmasTree_80386EF4(this, 1); + if (jiggyscore_isCollected(JIGGY_2F_FP_XMAS_TREE) || levelSpecificFlags_get(LEVEL_FLAG_29_FP_XMAS_TREE_COMPLETE)) { + chXmasTree_setState(this, 1); return; } switch(this->state){ case 1: // L80387268 - __chXmasTree_80386EF4(this, 0); + chXmasTree_setState(this, 0); if(fileProgressFlag_get(FILEPROG_13_COMPLETED_TWINKLIES_MINIGAME)){ - __chXmasTree_80386F84(this); + chXmasTree_setLightsOn(this); } break; case 2: // L80387294 - if(!mapSpecificFlags_get(2)) break; + if(!mapSpecificFlags_get(FP_SPECIFIC_FLAG_2_XMAS_TREE_SWITCH)) break; subaddie_set_state(this, 3); this->lifetime_value = 2.0f; @@ -134,15 +133,15 @@ void chXmasTree_update(Actor *this){ case 3: // L803872F0 if(0.0 <= this->lifetime_value){ if( 1.8 < this->lifetime_value){ - __chXmasTree_80386EF4(this, 0); + chXmasTree_setState(this, 0); } else if(this->lifetime_value < 0.2){//L80387340 - __chXmasTree_80386EF4(this, 1); + chXmasTree_setState(this, 1); } else{ if(randf() < 0.2){ - __chXmasTree_80386EF4(this, this->unk38_31 ^ 1); - __chXmasTree_8038709C(this); + chXmasTree_setState(this, this->unk38_31 ^ 1); + chXmasTree_setLightsOff(this); } }//L803873AC this->lifetime_value -= sp2C; @@ -150,7 +149,7 @@ void chXmasTree_update(Actor *this){ else{//L803873BC if(func_802BB270()){ subaddie_set_state(this, 4); - __chXmasTree_80386EF4(this, 1); + chXmasTree_setState(this, 1); item_set(ITEM_0_HOURGLASS_TIMER, 3600 - 1); item_set(ITEM_6_HOURGLASS, TRUE); @@ -159,9 +158,9 @@ void chXmasTree_update(Actor *this){ break; case 4: // L80387400 - if(mapSpecificFlags_get(3)){ + if(mapSpecificFlags_get(FP_SPECIFIC_FLAG_3_XMAS_TREE_STAR_COMPLETE)){ subaddie_set_state(this, 6); - __chXmasTree_80386EF4(this, 1); + chXmasTree_setState(this, 1); item_set(ITEM_6_HOURGLASS, FALSE); tmp_a0 = this->unk44_31; if(tmp_a0){ @@ -169,12 +168,12 @@ void chXmasTree_update(Actor *this){ this->unk44_31 = 0; } func_80324E38(0.0f, 3); - timedFunc_set_0(0.5f, __chXmasTree_80386F3C); + timedFunc_set_0(0.5f, chXmasTree_swapCameraToIce); } else{//L80387470 if(item_empty(ITEM_6_HOURGLASS)){ subaddie_set_state(this, 5); - mapSpecificFlags_set(2, FALSE); + mapSpecificFlags_set(FP_SPECIFIC_FLAG_2_XMAS_TREE_SWITCH, FALSE); this->lifetime_value = 0.1f; if(!maSlalom_isActive()){ if(!mapSpecificFlags_get(9) || mapSpecificFlags_get(1)){ @@ -190,21 +189,21 @@ void chXmasTree_update(Actor *this){ case 5: // L803874EC if(0.0 <= this->lifetime_value){ if( 1.8 < this->lifetime_value){ - __chXmasTree_80386EF4(this, 1); + chXmasTree_setState(this, 1); } else if(this->lifetime_value < 0.2){ - __chXmasTree_80386EF4(this, 0); + chXmasTree_setState(this, 0); } else{ if(randf() < 0.2){ - __chXmasTree_80386EF4(this, this->unk38_31 ^ 1); - __chXmasTree_8038709C(this); + chXmasTree_setState(this, this->unk38_31 ^ 1); + chXmasTree_setLightsOff(this); } } this->lifetime_value -= sp2C; } else{ - __chXmasTree_80386F84(this); + chXmasTree_setLightsOn(this); } break; } diff --git a/src/FP/ch/xmastreeice.c b/src/FP/ch/xmastreeice.c index c7d995e7..5752fdd4 100644 --- a/src/FP/ch/xmastreeice.c +++ b/src/FP/ch/xmastreeice.c @@ -2,25 +2,25 @@ #include "functions.h" #include "variables.h" -Actor *func_803908F0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); -void func_80390BDC(Actor *this); +Actor *chXmasTreeIce_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); +void chXmasTreeIce_update(Actor *this); /* .data */ -ActorInfo D_80392730 = { 0x210, 0x340, 0x4D2, +ActorInfo gXmasTreeIce = { MARKER_210_XMAS_TREE_ICE, ACTOR_340_XMAS_TREE_ICE, ASSET_4D2_MODEL_XMAS_TREE_ICE, 0x0, NULL, - func_80390BDC, actor_update_func_80326224, func_803908F0, + chXmasTreeIce_update, actor_update_func_80326224, chXmasTreeIce_draw, 0, 0, 1.0f, 0 }; /* .code */ -Actor *func_803908F0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ +Actor *chXmasTreeIce_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ Actor *this = marker_getActor(marker); if(this->unk38_31 != 0) return this; return actor_draw(marker, gfx, mtx, vtx); } -void func_80390944(f32 position[3], s32 cnt, enum asset_e model_id){ +void chXmasTreeIce_shatterEffect(f32 position[3], s32 cnt, enum asset_e model_id){ static ParticleScaleAndLifetimeRanges D_80392754 = {{0.2f, 0.4f}, {-1.0f, -1.0f}, {0.0f, 0.02f}, {2.2f, 2.2f}, 0.0f, 0.3f}; static ParticleSettingsVelocityAccelerationPosition D_8039277C = { {{-300.0f, 350.0f, -300.0f}, {300.0f, 600.0f, 300.0f}}, /*position*/ @@ -43,7 +43,7 @@ void func_80390944(f32 position[3], s32 cnt, enum asset_e model_id){ particleEmitter_emitN(pCtrl, cnt); } -void func_80390A30(f32 position[3], s32 cnt, enum asset_e sprite_id){ +void chXmasTreeIce_emitDust(f32 position[3], s32 cnt, enum asset_e sprite_id){ static ParticleScaleAndLifetimeRanges D_803927C4 = {{0.6f, 0.8f}, {1.0f, 1.4f}, {0.0f, 0.01f}, {1.2f, 1.8f}, 0.0f, 0.01f}; static ParticleSettingsVelocityAccelerationPosition D_803927EC = { {{-200.0f, 0.0f, -200.0f}, {200.0f, 200.0f, 200.0f}}, /*position*/ @@ -60,30 +60,30 @@ void func_80390A30(f32 position[3], s32 cnt, enum asset_e sprite_id){ particleEmitter_emitN(pCtrl, cnt); } -void func_80390ABC(ActorMarker *marker){ +void chXmasTreeIce_shatterIce(ActorMarker *marker){ Actor *this = marker_getActor(marker); - func_80390944(this->position, 0xA, 0x4D3); - func_80390A30(this->position, 6, ASSET_700_SPRITE_DUST); + chXmasTreeIce_shatterEffect(this->position, 0xA, ASSET_4D4_MODEL_XMAS_ICE_FRAGMENT); + chXmasTreeIce_emitDust(this->position, 6, ASSET_700_SPRITE_DUST); func_8030E6D4(SFX_B6_GLASS_BREAKING_1); coMusicPlayer_playMusic(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000); this->unk38_31 = 1; } -void func_80390B2C(ActorMarker *marker){ +void chXmasTreeIce_returnCameraToBanjo(ActorMarker *marker){ Actor *this = marker_getActor(marker); - func_803228D8(); + musicKeepsPlaying(); transitionToMap(MAP_27_FP_FREEZEEZY_PEAK, 0xd, 0); marker_despawn(this->marker); } -void func_80390B70(Actor *this){ +void chXmasTreeIce_initiateShatter(Actor *this){ func_80324E38(0.0f, 3); timed_setStaticCameraToNode(0.0f, 0); - timedFunc_set_1(0.6f, (GenFunction_1)func_80390ABC, reinterpret_cast(s32, this->marker)); - timedFunc_set_1(2.5f, (GenFunction_1)func_80390B2C, reinterpret_cast(s32, this->marker)); + timedFunc_set_1(0.6f, (GenFunction_1)chXmasTreeIce_shatterIce, reinterpret_cast(s32, this->marker)); + timedFunc_set_1(2.5f, (GenFunction_1)chXmasTreeIce_returnCameraToBanjo, reinterpret_cast(s32, this->marker)); } -void func_80390BDC(Actor *this) { +void chXmasTreeIce_update(Actor *this) { this->marker->propPtr->unk8_3 = TRUE; actor_collisionOff(this); @@ -93,8 +93,8 @@ void func_80390BDC(Actor *this) { if (jiggyscore_isCollected(JIGGY_2F_FP_XMAS_TREE)) { marker_despawn(this->marker); } - else if (levelSpecificFlags_get(LEVEL_FLAG_29_FP_UNKNOWN)) { - func_80390B70(this); + else if (levelSpecificFlags_get(LEVEL_FLAG_29_FP_XMAS_TREE_COMPLETE)) { + chXmasTreeIce_initiateShatter(this); } } } diff --git a/src/FP/ch/xmastreestar.c b/src/FP/ch/xmastreestar.c index e00dc212..f6df9232 100644 --- a/src/FP/ch/xmastreestar.c +++ b/src/FP/ch/xmastreestar.c @@ -11,13 +11,13 @@ typedef struct { u8 unk1B; } ActorLocal_FP_87E0; -Actor *func_8038EBD0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); -void func_8038ECD8(Actor *this); +Actor *chXmasTreeStar_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); +void chXmasTreeStar_update(Actor *this); /* .data */ -ActorInfo D_80392470 = { 0x207, 0x339, 0x426, +ActorInfo gXmasTreeStar = { MARKER_207_XMAS_TREE_STAR, ACTOR_339_XMAS_TREE_STAR, ASSET_426_MODEL_XMAS_TREE_STAR, 0x1, NULL, - func_8038ECD8, actor_update_func_80326224, func_8038EBD0, + chXmasTreeStar_update, actor_update_func_80326224, chXmasTreeStar_draw, 0, 0, 0.0f, 0 }; @@ -25,19 +25,19 @@ ActorInfo D_80392470 = { 0x207, 0x339, 0x426, f32 D_803935D0[3]; /* .code */ -Actor *func_8038EBD0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ - func_8033A45C( 2, mapSpecificFlags_get(0)); - func_8033A45C( 1, mapSpecificFlags_get(0) ^ 1); +Actor *chXmasTreeStar_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ + func_8033A45C( 2, mapSpecificFlags_get(FP_SPECIFIC_FLAG_0_XMAS_TREE_LIGHTS_ON)); + func_8033A45C( 1, mapSpecificFlags_get(FP_SPECIFIC_FLAG_0_XMAS_TREE_LIGHTS_ON) ^ 1); return actor_draw(marker, gfx, mtx, vtx); } -void func_8038EC34(ActorMarker *this_marker, ActorMarker *other_marker){ +void chXmasTreeStar_hitCollision(ActorMarker *this_marker, ActorMarker *other_marker){ Actor *this = marker_getActor(this_marker); ActorLocal_FP_87E0 *local = (ActorLocal_FP_87E0 *)&this->local; local->unk1B = TRUE; } -void func_8038EC5C(Actor *this){ +void chXmasTreeStar_successfulStarPass(Actor *this){ if(0.0f == this->lifetime_value){ this->unk38_31++; this->lifetime_value = 0.33f; @@ -48,7 +48,7 @@ void func_8038EC5C(Actor *this){ } } -void func_8038ECD8(Actor *this){ +void chXmasTreeStar_update(Actor *this){ ActorLocal_FP_87E0 *local = (ActorLocal_FP_87E0 *)&this->local; f32 sp68[3]; s32 sp64; @@ -65,7 +65,7 @@ void func_8038ECD8(Actor *this){ if(!this->volatile_initialized){ this->volatile_initialized = TRUE; - marker_setCollisionScripts(this->marker, NULL, func_8038EC34, NULL); + marker_setCollisionScripts(this->marker, NULL, chXmasTreeStar_hitCollision, NULL); this->marker->propPtr->unk8_3 = TRUE; player_getPosition(D_803935D0); local->unk1B = 0; @@ -101,8 +101,8 @@ void func_8038ECD8(Actor *this){ switch(this->state){ case 1: //L8038EF10 this->marker->collidable = FALSE; - if(!mapSpecificFlags_get(2)) break; - if(mapSpecificFlags_get(3)) break; + if(!mapSpecificFlags_get(FP_SPECIFIC_FLAG_2_XMAS_TREE_SWITCH)) break; + if(mapSpecificFlags_get(FP_SPECIFIC_FLAG_3_XMAS_TREE_STAR_COMPLETE)) break; subaddie_set_state(this, 2); this->unk38_31 = 0; @@ -123,21 +123,21 @@ void func_8038ECD8(Actor *this){ if(sp64 == (local->unk18 ^ 1)){ local->unk19 = TRUE; if(local->unk1B){ - func_8038EC5C(this); + chXmasTreeStar_successfulStarPass(this); } else{ player_getPosition(sp68); sp3C = func_80320B98(D_803935D0, sp68, sp30, 0); if(sp3C){ if(*(s32 *)(sp3C + 8) << 9 < 0) - func_8038EC5C(this); + chXmasTreeStar_successfulStarPass(this); } } }//L8038F090 if(!(this->unk38_31 < 3)){ subaddie_set_state(this, 1); - mapSpecificFlags_set(3, 1); + mapSpecificFlags_set(FP_SPECIFIC_FLAG_3_XMAS_TREE_STAR_COMPLETE, 1); } } break; diff --git a/src/FP/ch/xmastreeswitch.c b/src/FP/ch/xmastreeswitch.c index d053502b..2bc69e30 100644 --- a/src/FP/ch/xmastreeswitch.c +++ b/src/FP/ch/xmastreeswitch.c @@ -2,8 +2,8 @@ #include "functions.h" #include "variables.h" -Actor *func_8038E720(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); -void func_8038E940(Actor *this); +Actor *chXmasTreeSwitch_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); +void chXmasTreeSwitch_update(Actor *this); /* .data */ ActorAnimationInfo D_80392400[] = { @@ -13,28 +13,28 @@ ActorAnimationInfo D_80392400[] = { {0x143, 1.0f}, }; -ActorInfo D_80392420 = { 0x206, 0x338, 0x486, +ActorInfo gXmasTreeSwitch = { MARKER_206_XMAS_TREE_SWITCH, ACTOR_338_XMAS_TREE_SWITCH, ASSET_486_MODEL_XMAS_TREE_SWITCH, 0x1, D_80392400, - func_8038E940, actor_update_func_80326224, func_8038E720, + chXmasTreeSwitch_update, actor_update_func_80326224, chXmasTreeSwitch_draw, 4500, 0, 0.0f, 0 }; /* .code */ -Actor *func_8038E720(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ +Actor *chXmasTreeSwitch_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ func_8033A45C(1, 0); func_8033A45C(2, 1); return actor_draw(marker, gfx, mtx, vtx); } -void func_8038E774(Actor *this){ +void chXmasTreeSwitch_moveSwitch(Actor *this){ subaddie_set_state_with_direction(this, 2, 0.05f, 1); actor_playAnimationOnce(this); this->marker->collidable = TRUE; this->unk38_31 = 0; } -void func_8038E7CC(ActorMarker *this_marker, ActorMarker *other_marker){ +void chXmasTreeSwitch_hitSwitch(ActorMarker *this_marker, ActorMarker *other_marker){ Actor *this = marker_getActor(this_marker); if(this->state == 2){ @@ -45,7 +45,7 @@ void func_8038E7CC(ActorMarker *this_marker, ActorMarker *other_marker){ } } -void func_8038E840(f32 position[3], s32 cnt, enum asset_e sprite_id){ +void chXmasTreeSwitch_emitSparkles(f32 position[3], s32 cnt, enum asset_e sprite_id){ static ParticleScaleAndLifetimeRanges D_80392444 = {{0.4f, 0.6f}, {0.8f, 1.8f}, {0.0f, 0.01f}, {0.5f, 1.4f}, 0.0f, 0.01f}; ParticleEmitter *pCtrl = partEmitMgr_newEmitter(cnt); particleEmitter_setSprite(pCtrl, sprite_id); @@ -66,8 +66,8 @@ void func_8038E840(f32 position[3], s32 cnt, enum asset_e sprite_id){ particleEmitter_emitN(pCtrl, cnt); } -void func_8038E940(Actor *this){ - if (jiggyscore_isCollected(JIGGY_2F_FP_XMAS_TREE) || levelSpecificFlags_get(LEVEL_FLAG_29_FP_UNKNOWN)) { +void chXmasTreeSwitch_update(Actor *this){ + if (jiggyscore_isCollected(JIGGY_2F_FP_XMAS_TREE) || levelSpecificFlags_get(LEVEL_FLAG_29_FP_XMAS_TREE_COMPLETE)) { this->marker->propPtr->unk8_3 = TRUE; this->marker->collidable = FALSE; subaddie_set_state_with_direction(this, 3, 0.95f, 0); @@ -78,7 +78,7 @@ void func_8038E940(Actor *this){ this->volatile_initialized = TRUE; this->marker->propPtr->unk8_3 = TRUE; this->marker->collidable = FALSE; - marker_setCollisionScripts(this->marker, NULL, func_8038E7CC, NULL); + marker_setCollisionScripts(this->marker, NULL, chXmasTreeSwitch_hitSwitch, NULL); subaddie_set_state_with_direction(this, 1, 0.05f, 1); this->unk38_31 = 0; this->lifetime_value = 0.0f; @@ -88,31 +88,31 @@ void func_8038E940(Actor *this){ switch(this->state){ case 1: //L8038EA98 - if(fileProgressFlag_get(FILEPROG_13_COMPLETED_TWINKLIES_MINIGAME) && !mapSpecificFlags_get(2)) - func_8038E774(this); + if(fileProgressFlag_get(FILEPROG_13_COMPLETED_TWINKLIES_MINIGAME) && !mapSpecificFlags_get(FP_SPECIFIC_FLAG_2_XMAS_TREE_SWITCH)) + chXmasTreeSwitch_moveSwitch(this); break; case 2: //L8038EAC8 if(actor_animationIsAt(this, 0.2f)) - func_8038E840(this->position, 0x20, ASSET_717_SPRITE_SPARKLE_YELLOW_2); + chXmasTreeSwitch_emitSparkles(this->position, 0x20, ASSET_717_SPRITE_SPARKLE_YELLOW_2); if(this->unk38_31 < 3) break; subaddie_set_state_with_direction(this, 3, 0.05f, 1); actor_playAnimationOnce(this); - FUNC_8030E624(SFX_416, 0.8f, 32000); + FUNC_8030E624(SFX_416_ELECTRIC_ZAP, 0.8f, 32000); this->marker->collidable = FALSE; this->lifetime_value = 0.0f; break; case 3: //L8038EB44 if(this->lifetime_value == 0.0f && actor_animationIsAt(this, 0.95f)){ this->lifetime_value = 1.0f; - mapSpecificFlags_set(2, TRUE); + mapSpecificFlags_set(FP_SPECIFIC_FLAG_2_XMAS_TREE_SWITCH, TRUE); break; } - if(this->lifetime_value != 0.0f && !mapSpecificFlags_get(2)){ - func_8038E774(this); + if(this->lifetime_value != 0.0f && !mapSpecificFlags_get(FP_SPECIFIC_FLAG_2_XMAS_TREE_SWITCH)){ + chXmasTreeSwitch_moveSwitch(this); } break; }//L8038EBC0 diff --git a/src/FP/code_ABD0.c b/src/FP/code_ABD0.c index 6c5dfc17..b07627ea 100644 --- a/src/FP/code_ABD0.c +++ b/src/FP/code_ABD0.c @@ -9,32 +9,32 @@ extern ActorInfo D_80367FE0; extern ActorInfo chScarfSled; extern ActorInfo chRaceSled; -extern ActorInfo FP_D_80391AB0; +extern ActorInfo gSnowmanButton; extern ActorInfo chXmasTree; extern ActorInfo D_80391BB0; extern ActorInfo D_80391C18; extern ActorInfo D_80391C58; -extern ActorInfo D_80391CE8; -extern ActorInfo D_80391E08; -extern ActorInfo FP_D_80391E2C; -extern ActorInfo D_80391E50; -extern ActorInfo D_80391F88; -extern ActorInfo D_80391FAC; -extern ActorInfo D_80391FD0; -extern ActorInfo D_80391FF4; -extern ActorInfo D_803920E8; -extern ActorInfo D_803923D0; -extern ActorInfo D_80392420; -extern ActorInfo D_80392470; -extern ActorInfo D_803924B0; -extern ActorInfo D_803924D4; -extern ActorInfo D_803924F8; -extern ActorInfo D_80392588; -extern ActorInfo D_80392628; -extern ActorInfo D_80392690; +extern ActorInfo gChBoggySled; +extern ActorInfo gChCubMoggy; +extern ActorInfo gChCubSoggy; +extern ActorInfo gChCubGroggy; +extern ActorInfo gChTwinklyBlue; +extern ActorInfo gChTwinklyGreen; +extern ActorInfo gChTwinklyOrange; +extern ActorInfo gChTwinklyRed; +extern ActorInfo gChTwinklyBox; +extern ActorInfo gChTwinklyMuncher; +extern ActorInfo gXmasTreeSwitch; +extern ActorInfo gXmasTreeStar; +extern ActorInfo gChPresentBlue; +extern ActorInfo gChPresentGreen; +extern ActorInfo gChPresentRed; +extern ActorInfo gChWozza; +extern ActorInfo gWozzaJiggy; +extern ActorInfo gChBoggyHome; extern ActorInfo D_803926C0; -extern ActorInfo D_80392700; -extern ActorInfo D_80392730; +extern ActorInfo gChWozzaCave; +extern ActorInfo gXmasTreeIce; extern ActorInfo FP_D_80392840; void func_80391040(Actor *this); @@ -154,35 +154,35 @@ void func_803912EC(Actor *this){ void FP_func_80391324(void) { - spawnableActorList_add(&FP_D_80391AB0, actor_new, ACTOR_FLAG_UNKNOWN_9 | ACTOR_FLAG_UNKNOWN_10); + spawnableActorList_add(&gSnowmanButton, actor_new, ACTOR_FLAG_UNKNOWN_9 | ACTOR_FLAG_UNKNOWN_10); spawnableActorList_add(&D_80391BB0, actor_new, ACTOR_FLAG_UNKNOWN_1 | ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_5); spawnableActorList_add(&D_80391C18, actor_new, ACTOR_FLAG_UNKNOWN_2 | ACTOR_FLAG_UNKNOWN_7 | ACTOR_FLAG_UNKNOWN_19 | ACTOR_FLAG_UNKNOWN_20); spawnableActorList_add(&D_80391C58, actor_new, ACTOR_FLAG_UNKNOWN_2 | ACTOR_FLAG_UNKNOWN_7 | ACTOR_FLAG_UNKNOWN_19 | ACTOR_FLAG_UNKNOWN_20); - spawnableActorList_add(&D_80391CE8, actor_new, ACTOR_FLAG_UNKNOWN_1 | ACTOR_FLAG_UNKNOWN_2 | ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_5 | ACTOR_FLAG_UNKNOWN_17); - spawnableActorList_add(&D_80391E08, actor_new, ACTOR_FLAG_UNKNOWN_8); - spawnableActorList_add(&FP_D_80391E2C, actor_new, ACTOR_FLAG_UNKNOWN_8); - spawnableActorList_add(&D_80391E50, actor_new, ACTOR_FLAG_UNKNOWN_8); - spawnableActorList_add(&D_80391F88, actor_new, ACTOR_FLAG_UNKNOWN_2 | ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_12 | ACTOR_FLAG_UNKNOWN_17); - spawnableActorList_add(&D_80391FAC, actor_new, ACTOR_FLAG_UNKNOWN_2 | ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_12 | ACTOR_FLAG_UNKNOWN_17); - spawnableActorList_add(&D_80391FD0, actor_new, ACTOR_FLAG_UNKNOWN_2 | ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_12 | ACTOR_FLAG_UNKNOWN_17); - spawnableActorList_add(&D_80391FF4, actor_new, ACTOR_FLAG_UNKNOWN_2 | ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_12 | ACTOR_FLAG_UNKNOWN_17); - spawnableActorList_add(&D_803920E8, actor_new, ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_10); - spawnableActorList_add(&D_803923D0, actor_new, ACTOR_FLAG_UNKNOWN_2 | ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_5 | ACTOR_FLAG_UNKNOWN_6 | ACTOR_FLAG_UNKNOWN_24); + spawnableActorList_add(&gChBoggySled, actor_new, ACTOR_FLAG_UNKNOWN_1 | ACTOR_FLAG_UNKNOWN_2 | ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_5 | ACTOR_FLAG_UNKNOWN_17); + spawnableActorList_add(&gChCubMoggy, actor_new, ACTOR_FLAG_UNKNOWN_8); + spawnableActorList_add(&gChCubSoggy, actor_new, ACTOR_FLAG_UNKNOWN_8); + spawnableActorList_add(&gChCubGroggy, actor_new, ACTOR_FLAG_UNKNOWN_8); + spawnableActorList_add(&gChTwinklyBlue, actor_new, ACTOR_FLAG_UNKNOWN_2 | ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_12 | ACTOR_FLAG_UNKNOWN_17); + spawnableActorList_add(&gChTwinklyGreen, actor_new, ACTOR_FLAG_UNKNOWN_2 | ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_12 | ACTOR_FLAG_UNKNOWN_17); + spawnableActorList_add(&gChTwinklyOrange, actor_new, ACTOR_FLAG_UNKNOWN_2 | ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_12 | ACTOR_FLAG_UNKNOWN_17); + spawnableActorList_add(&gChTwinklyRed, actor_new, ACTOR_FLAG_UNKNOWN_2 | ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_12 | ACTOR_FLAG_UNKNOWN_17); + spawnableActorList_add(&gChTwinklyBox, actor_new, ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_10); + spawnableActorList_add(&gChTwinklyMuncher, actor_new, ACTOR_FLAG_UNKNOWN_2 | ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_5 | ACTOR_FLAG_UNKNOWN_6 | ACTOR_FLAG_UNKNOWN_24); spawnableActorList_add(&chXmasTree, actor_new, ACTOR_FLAG_UNKNOWN_10 | ACTOR_FLAG_UNKNOWN_17); - spawnableActorList_add(&D_80392420, actor_new, ACTOR_FLAG_UNKNOWN_2); - spawnableActorList_add(&D_80392470, actor_new, ACTOR_FLAG_UNKNOWN_2 | ACTOR_FLAG_UNKNOWN_6 | ACTOR_FLAG_UNKNOWN_10); - spawnableActorList_add(&D_803924B0, actor_new, ACTOR_FLAG_UNKNOWN_3); - spawnableActorList_add(&D_803924D4, actor_new, ACTOR_FLAG_UNKNOWN_3); - spawnableActorList_add(&D_803924F8, actor_new, ACTOR_FLAG_UNKNOWN_3); + spawnableActorList_add(&gXmasTreeSwitch, actor_new, ACTOR_FLAG_UNKNOWN_2); + spawnableActorList_add(&gXmasTreeStar, actor_new, ACTOR_FLAG_UNKNOWN_2 | ACTOR_FLAG_UNKNOWN_6 | ACTOR_FLAG_UNKNOWN_10); + spawnableActorList_add(&gChPresentBlue, actor_new, ACTOR_FLAG_UNKNOWN_3); + spawnableActorList_add(&gChPresentGreen, actor_new, ACTOR_FLAG_UNKNOWN_3); + spawnableActorList_add(&gChPresentRed, actor_new, ACTOR_FLAG_UNKNOWN_3); spawnableActorList_add(&chScarfSled, actor_new, ACTOR_FLAG_NONE); spawnableActorList_add(&chRaceSled, actor_new, ACTOR_FLAG_UNKNOWN_5); - spawnableActorList_add(&D_80392588, actor_new, ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_8 | ACTOR_FLAG_UNKNOWN_19); - spawnableActorList_add(&D_80392628, actor_new, ACTOR_FLAG_UNKNOWN_2 | ACTOR_FLAG_UNKNOWN_6); - spawnableActorList_add(&D_80392690, actor_new, ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_5 | ACTOR_FLAG_UNKNOWN_7); + spawnableActorList_add(&gChWozza, actor_new, ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_8 | ACTOR_FLAG_UNKNOWN_19); + spawnableActorList_add(&gWozzaJiggy, actor_new, ACTOR_FLAG_UNKNOWN_2 | ACTOR_FLAG_UNKNOWN_6); + spawnableActorList_add(&gChBoggyHome, actor_new, ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_5 | ACTOR_FLAG_UNKNOWN_7); spawnableActorList_add(&D_803926C0, actor_new, ACTOR_FLAG_UNKNOWN_10 | ACTOR_FLAG_UNKNOWN_27); - spawnableActorList_add(&D_80392700, actor_new, ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_8); + spawnableActorList_add(&gChWozzaCave, actor_new, ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_8); spawnableActorList_add(&FP_D_80392840, actor_new, ACTOR_FLAG_NONE); - spawnableActorList_add(&D_80392730, actor_new, ACTOR_FLAG_UNKNOWN_17); + spawnableActorList_add(&gXmasTreeIce, actor_new, ACTOR_FLAG_UNKNOWN_17); spawnableActorList_add(&D_80367FE0, actor_new, ACTOR_FLAG_NONE); spawnableActorList_add(&FP_D_803928E0, actor_new, ACTOR_FLAG_UNKNOWN_6); spawnableActorList_add(&D_80392904, actor_new, ACTOR_FLAG_UNKNOWN_6); diff --git a/src/GV/code_9C10.c b/src/GV/code_9C10.c index b64c198e..a6d093e7 100644 --- a/src/GV/code_9C10.c +++ b/src/GV/code_9C10.c @@ -31,7 +31,7 @@ void func_80390000(s32 arg0){ if(GV_D_80391AD0 == 2){ levelSpecificFlags_set(LEVEL_FLAG_6_GV_UNKNOWN, FALSE); - func_803228D8(); + musicKeepsPlaying(); transitionToMap(MAP_15_GV_WATER_PYRAMID, 1, 0); } } diff --git a/src/GV/waterctrl.c b/src/GV/waterctrl.c index efe55a8c..17a76a71 100644 --- a/src/GV/waterctrl.c +++ b/src/GV/waterctrl.c @@ -38,7 +38,7 @@ void __waterCtrl_setState(s32 arg0){ if(GV_D_80391B00.state == 3){ levelSpecificFlags_set(LEVEL_FLAG_6_GV_UNKNOWN, TRUE); - func_803228D8(); + musicKeepsPlaying(); volatileFlag_set(VOLATILE_FLAG_E, 1); transitionToMap(MAP_12_GV_GOBIS_VALLEY, 0, 0); } diff --git a/src/MM/ch/lmonkey.c b/src/MM/ch/lmonkey.c index 99d1bdc6..4df67430 100644 --- a/src/MM/ch/lmonkey.c +++ b/src/MM/ch/lmonkey.c @@ -153,7 +153,7 @@ void chlmonkey_update(Actor *this) { } if (0.24 <= this->unk48) { - mapSpecificFlags_set(MM_SPECIFIC_FLAG_3_CHIMPY_HAS_LEAVED, TRUE); + mapSpecificFlags_set(MM_SPECIFIC_FLAG_3_CHIMPY_HAS_LEFT, TRUE); } if (0.99 <= this->unk48) { diff --git a/src/RBB/ch/anchorctrl.c b/src/RBB/ch/anchorctrl.c index 74cd49c1..60537714 100644 --- a/src/RBB/ch/anchorctrl.c +++ b/src/RBB/ch/anchorctrl.c @@ -68,7 +68,7 @@ void chAnchorCtrl_update(Actor *this){ if(this->state == 3 && !mapSpecificFlags_get(4)){ timed_exitStaticCamera(0.0f); func_80324E38(0.0f, 0); - timedFunc_set_0(0.0f, func_803228D8); + timedFunc_set_0(0.0f, musicKeepsPlaying); timedFunc_set_3(0.0f, (GenFunction_3)transitionToMap, MAP_8B_RBB_ANCHOR_ROOM, 2, 0); }//L8038C2E4 } diff --git a/src/RBB/ch/anchorswitch.c b/src/RBB/ch/anchorswitch.c index 7f1abf8e..d9bd1d1e 100644 --- a/src/RBB/ch/anchorswitch.c +++ b/src/RBB/ch/anchorswitch.c @@ -22,7 +22,7 @@ void __chAnchorSwitch_setState(Actor *this, s32 arg1){ if(this->state == 1){ levelSpecificFlags_set(LEVEL_FLAG_30_RBB_UNKNOWN, TRUE); volatileFlag_set(VOLATILE_FLAG_E, 1); - timedFunc_set_0(1.0f, func_803228D8); + timedFunc_set_0(1.0f, musicKeepsPlaying); timedFunc_set_3(1.0f, (GenFunction_3)transitionToMap, MAP_31_RBB_RUSTY_BUCKET_BAY, 0, 0); } } diff --git a/src/RBB/ch/propellor.c b/src/RBB/ch/propellor.c index 637af278..627396c9 100644 --- a/src/RBB/ch/propellor.c +++ b/src/RBB/ch/propellor.c @@ -100,7 +100,7 @@ void chPropellor_update(Actor *this){ func_80324E38(4.5f, 0); timedFunc_set_2(4.5f, (GenFunction_2)levelSpecificFlags_set, local->unk8 ? 0x4 : 0x3, 0); timedFunc_set_3(4.5f, (GenFunction_3)transitionToMap, MAP_34_RBB_ENGINE_ROOM, !local->unk8 ? 3 : 2, 0); - func_803228D8(); + musicKeepsPlaying(); } }//L80389EA8 diff --git a/src/RBB/ch/propellorswitch.c b/src/RBB/ch/propellorswitch.c index 7a8d55b7..fa292111 100644 --- a/src/RBB/ch/propellorswitch.c +++ b/src/RBB/ch/propellorswitch.c @@ -47,7 +47,7 @@ void __chPropellorSwitch_setState(Actor *this, s32 arg1){ this->position_y -= 40.0f; if(this->state == 1){ levelSpecificFlags_set(local->unk0->unk8, 1); - func_803228D8(); + musicKeepsPlaying(); timedFunc_set_1(1.1f, (GenFunction_1)func_8028F9DC, 2); timedFunc_set_3(1.1f, (GenFunction_3)transitionToMap, MAP_31_RBB_RUSTY_BUCKET_BAY, 0, 0); }else{ diff --git a/src/SM/ch/vegetables.c b/src/SM/ch/vegetables.c index 47bbad7c..f9032d68 100644 --- a/src/SM/ch/vegetables.c +++ b/src/SM/ch/vegetables.c @@ -490,7 +490,7 @@ static void __chVegetables_update(Actor* this) { func_80328FB0(this, 2.0f); if (local->vegetable_type != CH_VEGETABLE_3_COLLIWOBBLE && actor_animationIsAt(this, 0.3f)) - sfx_playFadeShorthandDefault(SFX_3F2_UNKNOWN, 1.0f, 22000, this->position, 1000, 2000); + sfx_playFadeShorthandDefault(SFX_3F2_BOING, 1.0f, 22000, this->position, 1000, 2000); if (local->vegetable_type == CH_VEGETABLE_3_COLLIWOBBLE && actor_animationIsAt(this, 0.4f)) sfx_playFadeShorthandDefault(SFX_2_CLAW_SWIPE, 0.9f, 8000, this->position, 1000, 2000); diff --git a/src/TTC/ch/clam.c b/src/TTC/ch/clam.c index 08b481cb..787085fc 100644 --- a/src/TTC/ch/clam.c +++ b/src/TTC/ch/clam.c @@ -298,7 +298,7 @@ static void __chClam_updateFunc(Actor *this){ subaddie_set_state_with_direction(this, 2, 0.01f, 1); actor_playAnimationOnce(this); anctrl_setDuration(this->anctrl, 1.0f); - __chClam_playSfx(SFX_3F2_UNKNOWN, randf2(1.0f, 1.1f), 22000, this->position, 1500.0f, 2000.0f); + __chClam_playSfx(SFX_3F2_BOING, randf2(1.0f, 1.1f), 22000, this->position, 1500.0f, 2000.0f); } else{ anctrl_setDuration(this->anctrl, 2.0f); diff --git a/src/TTC/ch/leaky.c b/src/TTC/ch/leaky.c index c8617ae0..16e16078 100644 --- a/src/TTC/ch/leaky.c +++ b/src/TTC/ch/leaky.c @@ -99,7 +99,7 @@ static void __chLeaky_showDoneText(ActorMarker *caller, enum asset_e text_id, s3 func_80324E38(2.5f, 0); timedFunc_set_1(2.5f, func_8028F9DC, 2); timedFunc_set_3(2.5f, (GenFunction_3)transitionToMap, MAP_A_TTC_SANDCASTLE, 0, 0); - func_803228D8(); + musicKeepsPlaying(); } bool chLeaky_eggCollision(ActorMarker *marker){ diff --git a/src/TTC/ch/treasure.c b/src/TTC/ch/treasure.c index 5eb5f2c8..4fd13a77 100644 --- a/src/TTC/ch/treasure.c +++ b/src/TTC/ch/treasure.c @@ -79,12 +79,12 @@ static void __chTreasure_updateFunc(Actor *this){ subaddie_set_state_forward(this, 2); this->marker->propPtr->unk8_3 = 1; actor_collisionOn(this); - func_8030E878(SFX_3F2_UNKNOWN, randf2(1.2f, 1.3f), 20000, this->position, 200.0f, 1500.0f); + func_8030E878(SFX_3F2_BOING, randf2(1.2f, 1.3f), 20000, this->position, 200.0f, 1500.0f); } break; case 2://L8038C344 if(actor_animationIsAt(this, 0.99f)){ - func_8030E878(SFX_3F2_UNKNOWN, randf2(1.2f, 1.3f), 20000, this->position, 200.0f, 1500.0f); + func_8030E878(SFX_3F2_BOING, randf2(1.2f, 1.3f), 20000, this->position, 200.0f, 1500.0f); } break; diff --git a/src/TTC/ma/castle.c b/src/TTC/ma/castle.c index f7829673..17da016a 100644 --- a/src/TTC/ma/castle.c +++ b/src/TTC/ma/castle.c @@ -540,7 +540,7 @@ void maCastle_init(void) timed_setStaticCameraToNode(0.0f, 1); timed_exitStaticCamera(2.0f); func_80324E38(2.0f, 0); - func_803228D8(); + musicKeepsPlaying(); timedFunc_set_3(2.0f, (GenFunction_3)transitionToMap, MAP_7_TTC_TREASURE_TROVE_COVE, 1, 0); } else if (levelSpecificFlags_get(LEVEL_FLAG_2_TTC_UNKNOWN) || volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)) { diff --git a/src/core2/ch/bottlesbonuscursor.c b/src/core2/ch/bottlesbonuscursor.c index 7d923774..a7d6fef3 100644 --- a/src/core2/ch/bottlesbonuscursor.c +++ b/src/core2/ch/bottlesbonuscursor.c @@ -184,7 +184,7 @@ void chBottlesBonusCursor_func_802DF928(s32 indx) { } void chBottlesBonusCursor_func_802DF99C(void){ - func_803228D8(); + musicKeepsPlaying(); func_8025A55C(-1, 2000, 7); } diff --git a/src/core2/ch/jiggy.c b/src/core2/ch/jiggy.c index 2a131e3c..dd7ebb07 100644 --- a/src/core2/ch/jiggy.c +++ b/src/core2/ch/jiggy.c @@ -196,7 +196,7 @@ void chjiggy_update(Actor *this) { break; case JIGGY_2F_FP_XMAS_TREE: - if (levelSpecificFlags_get(LEVEL_FLAG_29_FP_UNKNOWN)) { + if (levelSpecificFlags_get(LEVEL_FLAG_29_FP_XMAS_TREE_COMPLETE)) { actor_collisionOn(this); } else { actor_collisionOff(this); diff --git a/src/core2/ch/snowman.c b/src/core2/ch/snowman.c index f3d34edb..484ae909 100644 --- a/src/core2/ch/snowman.c +++ b/src/core2/ch/snowman.c @@ -255,7 +255,7 @@ void chSnowman_update(Actor *this){ } else if( gsworld_get_map() != MAP_27_FP_FREEZEEZY_PEAK - || func_8038DD34(local->unk0) == 0 + || preventSnowmanAttack(local->unk0) == 0 || fileProgressFlag_get(FILEPROG_13_COMPLETED_TWINKLIES_MINIGAME) ){//L802E2318 if(0.0 < local->unk4){ diff --git a/src/core2/ch/wadingboots.c b/src/core2/ch/wadingboots.c index a6725660..694db174 100644 --- a/src/core2/ch/wadingboots.c +++ b/src/core2/ch/wadingboots.c @@ -59,10 +59,10 @@ void chwadingboots_update(Actor *this){ if(actor_animationIsAt(this, 0.25f)){ if(sp2C){ - FUNC_8030E624(SFX_3F2_UNKNOWN, 1.4f, 23000); + FUNC_8030E624(SFX_3F2_BOING, 1.4f, 23000); } else{ - sfx_playFadeShorthandDefault(SFX_3F2_UNKNOWN, 1.4f, 23000, this->position, 600, 1500); + sfx_playFadeShorthandDefault(SFX_3F2_BOING, 1.4f, 23000, this->position, 600, 1500); } } diff --git a/src/core2/code_41FB0.c b/src/core2/code_41FB0.c index 096882c1..0a544629 100644 --- a/src/core2/code_41FB0.c +++ b/src/core2/code_41FB0.c @@ -82,7 +82,7 @@ BundleInfo gBundle_array[] = { {0x00A1, ACTOR_50_HONEYCOMB, 1, SFX_8_BANJO_LANDING_04, 1, 20000, 650.0f, 0.0f, 500.0f, 0.0f, 0.0f, 0.0f, 0.6f, 0.0f}, {0x0021, ACTOR_46_JIGGY, 1, 0, 0, 0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f}, {0x0025, ACTOR_47_EMPTY_HONEYCOMB, 1, SFX_3E9_UNKNOWN, 1, 18000, 0.0f, 0.0f, 750.0f, 500.0f, 0.0f, 0.0f, 0.6f, 0.0f}, - {0x0129, ACTOR_352_UNKOWN, 1, SFX_3F2_UNKNOWN, 1, 16000, 0.0f, 0.0f, 2500.0f, 0.0f, 0.0f, 0.0f, 0.4f, 0.0f}, + {0x0129, ACTOR_352_UNKOWN, 1, SFX_3F2_BOING, 1, 16000, 0.0f, 0.0f, 2500.0f, 0.0f, 0.0f, 0.0f, 0.4f, 0.0f}, {0x0081, ACTOR_3A0_ICECUBE_B, 1, SFX_116_DEAF_RUSTLING, 1, 32000, 220.0f, 100.0f, 350.0f, 200.0f, 220.0f, 100.0f, 0.6f, 0.0f}, {0x02A1, ACTOR_50_HONEYCOMB, 1, SFX_8_BANJO_LANDING_04, 1, 20000, 250.0f, 0.0f, 200.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f}, {0x02A1, ACTOR_50_HONEYCOMB, 1, SFX_8_BANJO_LANDING_04, 1, 20000, 350.0f, 0.0f, 350.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f}, diff --git a/src/core2/code_4C020.c b/src/core2/code_4C020.c index 10999bb7..5ba20ca4 100644 --- a/src/core2/code_4C020.c +++ b/src/core2/code_4C020.c @@ -771,7 +771,7 @@ void func_802D4D3C(enum actor_e arg0, enum actor_e arg1) { void func_802D5000(enum map_e map_id){ if(map_getLevel(map_id) != level_get()) func_802E4A70(); - func_803228D8(); + musicKeepsPlaying(); transitionToMap(D_80367684, 0x65, 0); } @@ -1130,7 +1130,7 @@ void func_802D6114(void){ }//L802D6194 volatileFlag_set(VOLATILE_FLAG_21, 1); if(sp24 != 0x1C || !func_8025ADBC(COMUSIC_23_MMM_INSIDE_CHURCH)){ - func_803228D8(); + musicKeepsPlaying(); } transitionToMap(sp24, sp20, 0); } @@ -1143,7 +1143,7 @@ void func_802D6114(void){ void func_802D61FC(enum map_e arg0){ if( map_getLevel(arg0) != map_getLevel(gsworld_get_map())) func_802E4A70(); - func_803228D8(); + musicKeepsPlaying(); transitionToMap(D_80367684, 0, 0); func_802D6750(); } diff --git a/src/core2/code_509D0.c b/src/core2/code_509D0.c index 59808fbd..b56b13ba 100644 --- a/src/core2/code_509D0.c +++ b/src/core2/code_509D0.c @@ -365,7 +365,7 @@ void chLevelCollectible_update(Actor *this){ func_802D83EC(this); break; case MARKER_36_ORANGE_COLLECTIBLE: //L802D86DC - if (mapSpecificFlags_get(MM_SPECIFIC_FLAG_3_CHIMPY_HAS_LEAVED) && gsworld_get_map() == MAP_2_MM_MUMBOS_MOUNTAIN) { + if (mapSpecificFlags_get(MM_SPECIFIC_FLAG_3_CHIMPY_HAS_LEFT) && gsworld_get_map() == MAP_2_MM_MUMBOS_MOUNTAIN) { marker_despawn(this->marker); } break; diff --git a/src/core2/code_57C70.c b/src/core2/code_57C70.c index 7fd753aa..eacbc8c5 100644 --- a/src/core2/code_57C70.c +++ b/src/core2/code_57C70.c @@ -150,7 +150,7 @@ void func_802DEE1C(Actor *this) { case 5: break; } - func_803228D8(); + musicKeepsPlaying(); } void func_802DF04C(void){ diff --git a/src/core2/code_6D490.c b/src/core2/code_6D490.c index bdc168f4..07690a07 100644 --- a/src/core2/code_6D490.c +++ b/src/core2/code_6D490.c @@ -41,7 +41,7 @@ LocalStruct_1 D_80368DF0[] = { {0x9, SFX_98_DEAF_THUD, 1.0f, 1.1f, 0.05f, 21000}, {0xA, SFX_99_METALLIC_THUD, 1.0f, 1.1f, 0.05f, 21000}, {0xC, SFX_123_BANJO_LANDING_10, 0.85f, 0.89f, 0.05f, 21000}, - {0xD, SFX_3F2_UNKNOWN, 0.96f, 1.04f, 0.02f, 10000}, + {0xD, SFX_3F2_BOING, 0.96f, 1.04f, 0.02f, 10000}, {0xE, SFX_10_BANJO_LANDING_07, 1.2f, 1.35f, 0.05f, 13000}, {0xF, SFX_DC_IDLE_PADDLING, 0.95f, 1.1f, 0.05f, 16000}, {0} diff --git a/src/core2/code_9A9D0.c b/src/core2/code_9A9D0.c index 832a55bd..32b32958 100644 --- a/src/core2/code_9A9D0.c +++ b/src/core2/code_9A9D0.c @@ -80,14 +80,14 @@ void func_803219F4(s32 arg0){ func_8025A8B8(D_80383314, 1); break; case 3: //L80321BDC - func_803228D8(); + musicKeepsPlaying(); core1_ce60_incOrDecCounter(FALSE); func_8025A55C(0, 4000, 7); coMusicPlayer_playMusic(COMUSIC_95_BBONUS_A, -1); func_8025A8B8(COMUSIC_95_BBONUS_A, 1); break; case 5: //L80321C1C - func_803228D8(); + musicKeepsPlaying(); break; case 1: //L80321C24 break; diff --git a/src/core2/code_9B650.c b/src/core2/code_9B650.c index 833277a8..de2bf670 100644 --- a/src/core2/code_9B650.c +++ b/src/core2/code_9B650.c @@ -251,7 +251,7 @@ void func_8032278C(s32 arg0, s32 arg1) { } -void func_803228D8(void){ +void musicKeepsPlaying(void){ if(!D_80383348){ core1_ce60_incOrDecCounter(FALSE); D_80383348 = TRUE; diff --git a/src/core2/gc/parade.c b/src/core2/gc/parade.c index c44cf692..4b5b0427 100644 --- a/src/core2/gc/parade.c +++ b/src/core2/gc/parade.c @@ -169,13 +169,13 @@ void gcparade_8031ABF8(void) { if (D_803830F0.parade_id == PARADE_1_POST_GRUNTY_BATTLE) { volatileFlag_set(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE, TRUE); } - func_803228D8(); + musicKeepsPlaying(); func_802E4A70(); } void gcparade_8031AC8C(void) { - func_803228D8(); + musicKeepsPlaying(); if (map_getLevel(D_803830F0.parade_element->map) != level_get()) { func_802E4A70(); } @@ -214,7 +214,7 @@ void gcparade_setState(enum parade_state_e next_state) { gcparade_8031AC8C(); break; case PARADE_STATE_3_WARP: - func_803228D8(); + musicKeepsPlaying(); if (map_getLevel(D_803830F0.parade_element->map) != level_get()) { func_802E4A70(); } diff --git a/src/core2/gc/zoombox.c b/src/core2/gc/zoombox.c index d74c2f07..9c6fdb8c 100644 --- a/src/core2/gc/zoombox.c +++ b/src/core2/gc/zoombox.c @@ -185,7 +185,7 @@ gczoomboxPortraitInfo D_8036C6C0[] = { {SFX_40B_MUMBO_TALKING_5, 28000, 1.4f} }}, {ASSET_81E_SPRITE_LIVE_BLUE_EGG, 0xF2, 0x06, { - {SFX_3F2_UNKNOWN, 32000, 1.1f} + {SFX_3F2_BOING, 32000, 1.1f} }}, {ASSET_820_SPRITE_LIVE_RED_FEATHER, 0xEE, 0x06, { {SFX_AC_GOLDFEATHER_TALKING, 15000, -2.0f} diff --git a/src/fight/chspellbarrier.c b/src/fight/chspellbarrier.c index ca2f33a0..a16c0bcd 100644 --- a/src/fight/chspellbarrier.c +++ b/src/fight/chspellbarrier.c @@ -73,7 +73,7 @@ void chspellbarrier_update(Actor *this) { local->sfxsourceIdx = func_8030ED2C(0x415, 3); func_8030DB04(local->sfxsourceIdx, 32000, this->position, 4000.0f, 12000.0f); sfxsource_playSfxAtVolume(local->sfxsourceIdx, 1.0f); - sfx_playFadeShorthandDefault(SFX_416, 0.8f, 32000, this->position, 10000, 25000); + sfx_playFadeShorthandDefault(SFX_416_ELECTRIC_ZAP, 0.8f, 32000, this->position, 10000, 25000); } jinjo_marker = chfinalboss_findCollidingJinjo(this, 600.0f);