From 07ca1d783d4b4b95df875d649ee6f0bd0d2209ff Mon Sep 17 00:00:00 2001 From: Banjo Kazooie Date: Fri, 19 Aug 2022 13:49:30 -0500 Subject: [PATCH] core2/code_94A20.c progress --- include/enums.h | 23 +++++++--- progress/progress_core2.svg | 4 +- progress/progress_total.svg | 6 +-- src/BGS/ch/flibbit.c | 2 +- src/CCW/code_4530.c | 2 +- src/FP/code_3E00.c | 2 +- src/FP/code_5CC0.c | 2 +- src/FP/code_6AE0.c | 4 +- src/FP/code_7980.c | 2 +- src/FP/code_8E20.c | 2 +- src/GV/code_7060.c | 4 +- src/GV/code_7530.c | 2 +- src/MM/ch/conga.c | 2 +- src/MMM/ch/napper.c | 2 +- src/RBB/code_5F80.c | 2 +- src/SM/ch/attacktutorial.c | 2 +- src/SM/ch/vegetables.c | 10 ++--- src/SM/code_2990.c | 2 +- src/TTC/ch/treasure.c | 2 +- src/TTC/code_0.c | 8 ++-- src/core1/done/code_CE60.c | 2 +- src/core2/ch/beehive.c | 2 +- src/core2/ch/bigbutt.c | 2 +- src/core2/ch/code_468E0.c | 2 +- src/core2/ch/ghost.c | 2 +- src/core2/ch/icecube.c | 2 +- src/core2/ch/jinjo.c | 2 +- src/core2/ch/trainers.c | 2 +- src/core2/ch/wadingboots.c | 2 +- src/core2/code_3480.c | 2 +- src/core2/code_440B0.c | 2 +- src/core2/code_45310.c | 2 +- src/core2/code_47BD0.c | 2 +- src/core2/code_4A6F0.c | 8 ++-- src/core2/code_4BD70.c | 2 +- src/core2/code_53A10.c | 2 +- src/core2/code_53C10.c | 2 +- src/core2/code_59A80.c | 2 +- src/core2/code_59D40.c | 4 +- src/core2/code_5C870.c | 10 ++--- src/core2/code_87E30.c | 16 +++---- src/core2/code_94A20.c | 85 ++++++++++++++++++++++++++++++----- src/core2/code_A5BC0.c | 4 +- src/core2/code_AD5B0.c | 2 +- src/core2/code_C4320.c | 2 +- src/core2/code_D0CA0.c | 2 +- src/core2/code_D6600.c | 4 +- src/core2/code_D89E0.c | 2 +- src/core2/gc/parade.c | 50 ++++++++++----------- src/core2/gc/zoombox.c | 2 +- src/lair/code_5640.c | 2 +- src/lair/code_9C40.c | 2 +- src/lair/code_A810.c | 2 +- src/lair/code_BBD0.c | 28 +++++++++--- src/lair/code_C6C0.c | 2 +- symbol_addrs.core2.us.v10.txt | 3 ++ 56 files changed, 219 insertions(+), 130 deletions(-) diff --git a/include/enums.h b/include/enums.h index f41b3f4c..472febd8 100644 --- a/include/enums.h +++ b/include/enums.h @@ -257,6 +257,9 @@ enum bkprog_e{ }; enum unkflags_1{ + UNKFLAGS1_1F_IN_CHARACTER_PARADE = 0x1F, + UNKFLAGS1_20_BEGIN_CHARACTER_PARADE, + UNKFLAGS1_73_SANDCASTLE_INFINITE_LIVES = 0x73, UNKFLAGS1_74_SANDCASTLE_INFINITE_EGGS, UNKFLAGS1_75_SANDCASTLE_INFINITE_RED_FEATHERS, @@ -289,7 +292,8 @@ enum unkflags_1{ UNKFLAGS1_9C_SANDCASTLE_BOTTLES_BONUS_6,// 0X9C UNKFLAGS1_9D_SANDCASTLE_WISHY_WASHY,// 0X9D - UNKFLAGS1_C1 = 0xC1 + UNKFLAGS1_C0_BEGIN_FINAL_CHARACTER_PARADE = 0xC0, + UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE }; enum level_flags_e @@ -1807,6 +1811,11 @@ enum actor_e ACTOR_3C1_PURPLE_TEEHEE, ACTOR_3C2_GIANT_RIPPER, + ACTOR_3C4_FF_PRIZE_WASHING_CAULDRON = 0x3C4, + + ACTOR_3C7_FF_PRIZE_GRUNTY_DOLL = 0x3C7, + ACTOR_3C8_FF_PRIZE_TOOTY = 0x3C8, + ACTOR_3CA_ROCK_TRAPPING_GRUNTY = 0x3CA }; @@ -2469,9 +2478,9 @@ enum asset_e ASSET_358_SNIPPET = 0x358, ASSET_359_MODEL_BANJO_WALRUS, // 35a Concert Tooty - // 35b Credits Tooty - ASSET_35C_MODEL_CONGA = 0x35c, - ASSET_35D_MODEL_CHIMPY = 0x35d, + ASSET_35B_FF_PRIZE_TOOTY = 0x35b, + ASSET_35C_MODEL_CONGA, + ASSET_35D_MODEL_CHIMPY, // 35e (Jiggy Podium?) ASSET_35F_MODEL_JIGGY = 0x35F, // 360 Blue Egg Fragment @@ -2987,8 +2996,8 @@ enum asset_e // 55c Press Start Sign // 55d No Controller Sign ASSET_55E_MODEL_NAPPER = 0x55E, - // 55f Furnace Fun Washing Machine Cauldron Prize - // 560 Furnace Fun Grunty Doll Prize + ASSET_55F_MODEL_FF_PRIZE_WASHING_CAULDRON, + ASSET_560_MODEL_FF_PRIZE_GRUNTY_DOLL, ASSET_561_MODEL_GRUNTLING_BLUE = 0x561, ASSET_562_MODEL_GRUNTLING_BLACK, // 563 Level Entry Signs @@ -3869,6 +3878,8 @@ enum marker_e{ MARKER_297_GIANT_RIPPER, MARKER_298_MUMMUM_BALL, + MARKER_29A_FF_PRIZE = 0x29A, + MARKER_29D_ROCK_TRAPPING_GRUNTY = 0x29D }; diff --git a/progress/progress_core2.svg b/progress/progress_core2.svg index 4aa1a1d0..90ebd6b6 100644 --- a/progress/progress_core2.svg +++ b/progress/progress_core2.svg @@ -17,7 +17,7 @@ core2 - 81.2952% - 81.2952% + 81.3568% + 81.3568% \ No newline at end of file diff --git a/progress/progress_total.svg b/progress/progress_total.svg index 1e2f326d..fa6ff1f3 100644 --- a/progress/progress_total.svg +++ b/progress/progress_total.svg @@ -9,7 +9,7 @@ - + @@ -17,7 +17,7 @@ Banjo-Kazooie (us.v10) - 84.2503% - 84.2503% + 84.2857% + 84.2857% \ No newline at end of file diff --git a/src/BGS/ch/flibbit.c b/src/BGS/ch/flibbit.c index 1ca5526f..472d5724 100644 --- a/src/BGS/ch/flibbit.c +++ b/src/BGS/ch/flibbit.c @@ -154,7 +154,7 @@ bool func_80386A34(Actor * this){ f32 plyrPos[3]; bool out; - if(func_803203FC(0xC1)) + if(func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE)) return 0; player_getPosition(plyrPos); diff --git a/src/CCW/code_4530.c b/src/CCW/code_4530.c index b0851510..2a18c328 100644 --- a/src/CCW/code_4530.c +++ b/src/CCW/code_4530.c @@ -68,7 +68,7 @@ void func_8038AA8C(Actor *this) { this->unk16C_4 = TRUE; mapSpecificFlags_set(5, FALSE); if( (!func_8031FF1C(0xE8) || jiggyscore_isSpawned(JIGGY_49_CCW_EYRIE)) - && !func_803203FC(0x1F) + && !func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE) ) { marker_despawn(this->marker); } diff --git a/src/FP/code_3E00.c b/src/FP/code_3E00.c index 0ae08547..ecdc291b 100644 --- a/src/FP/code_3E00.c +++ b/src/FP/code_3E00.c @@ -109,7 +109,7 @@ void func_8038A384(Actor *this){ }//L8038A4A0 if( jiggyscore_isCollected(JIGGY_2E_FP_PRESENTS) - || func_803203FC(0xC1) + || func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) ){ func_80328B8C(this, 2, randf2(0.0f, 0.9f), 1); } diff --git a/src/FP/code_5CC0.c b/src/FP/code_5CC0.c index 32275fa9..0a3ecd2d 100644 --- a/src/FP/code_5CC0.c +++ b/src/FP/code_5CC0.c @@ -259,7 +259,7 @@ void func_8038C8F0(ActorMarker *marker){ void func_8038C94C(ActorMarker *caller, enum asset_e text_id, s32 arg2){ Actor *this = marker_getActor(caller); - if(!func_803203FC(0xC1)){ + if(!func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE)){ func_80328A84(this, 6); func_802C3C88(func_8038C8F0, this->marker); } diff --git a/src/FP/code_6AE0.c b/src/FP/code_6AE0.c index 6d73a8b7..c8ac893f 100644 --- a/src/FP/code_6AE0.c +++ b/src/FP/code_6AE0.c @@ -315,14 +315,14 @@ void func_8038D6C8(Actor *this){ this->velocity[1] = 0.0f; this->unk1C[0] = -1.0f; func_8028F8F8(7, FALSE); - if(func_803203FC(0xC1) && func_8031B4F4() == -1){ + if(func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) && gcparade_8031B4F4() == -1){ func_80328B8C(this, 3, 0.001f, 1); actor_playAnimationOnce(this); this->velocity[0] = 1.0f; } }//L8038D844 - if(func_803203FC(0xc1)){ + if(func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE)){ this->velocity[0] = 1.0f; } diff --git a/src/FP/code_7980.c b/src/FP/code_7980.c index 939223de..a39b76db 100644 --- a/src/FP/code_7980.c +++ b/src/FP/code_7980.c @@ -112,7 +112,7 @@ void func_8038E094(Actor *this){ func_8038DDC8(this); } if(this->unkF4_8 == 2){ - if(func_803203FC(UNKFLAGS1_C1) && func_8031B4F4() == -2){ + if(func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) && gcparade_8031B4F4() == -2){ func_8038DDC8(this); } else{ diff --git a/src/FP/code_8E20.c b/src/FP/code_8E20.c index 54d26b92..cada44a6 100644 --- a/src/FP/code_8E20.c +++ b/src/FP/code_8E20.c @@ -214,7 +214,7 @@ void func_8038F7AC(Actor *this){ break; } - if(func_80329530(this, 1000) && !func_803203FC(0x1f)){ + if(func_80329530(this, 1000) && !func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)){ func_8038F454(this); break; } diff --git a/src/GV/code_7060.c b/src/GV/code_7060.c index 702b9a45..bbca0005 100644 --- a/src/GV/code_7060.c +++ b/src/GV/code_7060.c @@ -64,7 +64,7 @@ void func_8038D47C(Actor *this){ if(!this->unk16C_4){ mapSpecificFlags_set(0x10, 0); this->unk16C_4 = TRUE; - if(func_803203FC(0xC1) && func_8031B4F4() == -3){ + if(func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) && gcparade_8031B4F4() == -3){ timedFunc_set_1(1.5f, (TFQM1)func_8038D450, reinterpret_cast(s32, this->marker)); } }//L8038D5EC @@ -121,7 +121,7 @@ void func_8038D47C(Actor *this){ FUNC_8030E624(SFX_D6_UGH, 0.8f, 32750); } if(actor_animationIsAt(this, 0.94f)){ - if(!func_803203FC(0xC1)){ + if(!func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE)){ mapSpecificFlags_set(0x10, 1); } } diff --git a/src/GV/code_7530.c b/src/GV/code_7530.c index 7034defc..46e7d9fd 100644 --- a/src/GV/code_7530.c +++ b/src/GV/code_7530.c @@ -118,7 +118,7 @@ void func_8038DBDC(Actor *this){ func_8038DB4C(0); this->unk1C[0] = 0.0f; }//L8038DC90 - if(func_8038E178() != (s32)this->unk1C[0] || func_803203FC(0xC1)){ + if(func_8038E178() != (s32)this->unk1C[0] || func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE)){ if(15.0f <= this->unk60){ func_80328B8C(this, 2, 0.01f, 1); animctrl_setPlaybackType(this->animctrl, ANIMCTRL_ONCE); diff --git a/src/MM/ch/conga.c b/src/MM/ch/conga.c index d6ac7faf..eb95d30a 100644 --- a/src/MM/ch/conga.c +++ b/src/MM/ch/conga.c @@ -152,7 +152,7 @@ int func_803872EC(void){ return text_id == ASSET_B37_TEXT_CONGA_SAFE_UP_HERE || text_id == ASSET_B38_TEXT_CONGA_DEFEAT - || func_803203FC(0x1F) + || func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE) || text_id == ASSET_B3B_TEXT_CONGA_ORANGE_PAD_JIGGY || text_id == ASSET_B45_TEXT_JIGGY_COLLECT_10 || text_id == ASSET_B51_TEXT_BOTTLES_HOW_TO_EXIT_LEVEL; diff --git a/src/MMM/ch/napper.c b/src/MMM/ch/napper.c index 41b1bbc1..878f51c0 100644 --- a/src/MMM/ch/napper.c +++ b/src/MMM/ch/napper.c @@ -175,7 +175,7 @@ void chnapper_update(Actor *this){ __chnapper_setState(this, 2); } - if(func_80389530() || func_803203FC(0x1f)){ + if(func_80389530() || func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)){ __chnapper_setState(this, 3); } }//L80386F74 diff --git a/src/RBB/code_5F80.c b/src/RBB/code_5F80.c index d5e8299d..2a170a3b 100644 --- a/src/RBB/code_5F80.c +++ b/src/RBB/code_5F80.c @@ -531,7 +531,7 @@ void func_8038D8BC(Actor *this){ if(func_803203FC(2)) func_8038CBC0(); - if(func_803203FC(0x1F)){ + if(func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)){ func_8038CBC0(); func_80335924(this->unk148, ASSET_146_ANIM_BOSS_BOOMBOX_APPEAR, 0.0f, 2.4f); func_80335A8C(this->unk148, 2); diff --git a/src/SM/ch/attacktutorial.c b/src/SM/ch/attacktutorial.c index 6b1467bd..91dd96c8 100644 --- a/src/SM/ch/attacktutorial.c +++ b/src/SM/ch/attacktutorial.c @@ -132,7 +132,7 @@ void chAttackTutorial_update(Actor *this){ if(mapSpecificFlags_get(4)) chAttackTutorial_setState(this, 5); - if(func_803874C4() || func_803203FC(0xc1)) + if(func_803874C4() || func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE)) chAttackTutorial_setState(this, 4); break; case 2://L80387658 diff --git a/src/SM/ch/vegetables.c b/src/SM/ch/vegetables.c index bdc83afa..aa16c382 100644 --- a/src/SM/ch/vegetables.c +++ b/src/SM/ch/vegetables.c @@ -329,9 +329,9 @@ void func_80388080(Actor *this){ switch (this->state) { case 1: //L803882B0 - if(mapSpecificFlags_get(0xC) || func_803203FC(0xC1) || this->unk10_12){ + if(mapSpecificFlags_get(0xC) || func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) || this->unk10_12){ //L803882E4 - if(mapSpecificFlags_get(0xC) || func_803203FC(0xC1)){ //L8038830C + if(mapSpecificFlags_get(0xC) || func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE)){ //L8038830C this->unk1C_y += (local->unkC == 3)? 120.0 : 0.0; }else{//L80388350 this->unk1C_y += (local->unkC == 3)? 270.0 : 85.0; @@ -372,7 +372,7 @@ void func_80388080(Actor *this){ }else{//L80388520 if(local->unkC == 1){ this->unk28 = 3.0f; - if(mapSpecificFlags_get(0xC) || func_803203FC(0xC1)){//L80388554 + if(mapSpecificFlags_get(0xC) || func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE)){//L80388554 if(!func_80329030(this, 0) && func_80329480(this)){ func_80328CEC(this, (s32)this->yaw, 0x78, 0xb4); this->unk38_0 = 1; @@ -396,7 +396,7 @@ void func_80388080(Actor *this){ func_80328CEC(this, (s32)this->yaw, 0x78, 0xB4); this->unk38_0 = 1; }//L80388698 - if(mapSpecificFlags_get(0xC) || (func_803203FC(0xC1) && func_803292E0(this))){ + if(mapSpecificFlags_get(0xC) || (func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) && func_803292E0(this))){ this->yaw_moving = func_80329784(this); }else{//L803886E4 if(randf() < 0.02){//D_8038B1D0){ @@ -427,7 +427,7 @@ void func_80388080(Actor *this){ func_80387E64(this); } this->unk28 = 5.0f; - if(mapSpecificFlags_get(0xC) || (func_803203FC(0xc1))){ //L8038892C + if(mapSpecificFlags_get(0xC) || (func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE))){ //L8038892C if(!func_80387FA8(this, local, (s32)this->yaw, (s32)this->unk28)){ if(func_80329480(this)){ func_80328CEC(this, (s32)this->yaw, 0x78, 0xb4); diff --git a/src/SM/code_2990.c b/src/SM/code_2990.c index 4aad842e..c6f687df 100644 --- a/src/SM/code_2990.c +++ b/src/SM/code_2990.c @@ -389,7 +389,7 @@ void func_803899B0(Actor * this){ this->unk28 = nodeprop_getRadius(sp40); }//L80389A8C if(this->unkF4_8 == 1){ - if(func_803203FC(1) || func_803203FC(0x1F)){ + if(func_803203FC(1) || func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)){ func_80388FA0(this, 3); } } diff --git a/src/TTC/ch/treasure.c b/src/TTC/ch/treasure.c index 7f00b898..ac1527ee 100644 --- a/src/TTC/ch/treasure.c +++ b/src/TTC/ch/treasure.c @@ -48,7 +48,7 @@ void chtreasure_update(Actor *this){ if(!this->initialized){ this->initialized = TRUE; - if(this->unkF4_8 == 1 && !func_803203FC(0xC1)){ + if(this->unkF4_8 == 1 && !func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE)){ marker_despawn(this->marker); return; } diff --git a/src/TTC/code_0.c b/src/TTC/code_0.c index 4c9cc95d..0ba21528 100644 --- a/src/TTC/code_0.c +++ b/src/TTC/code_0.c @@ -84,8 +84,8 @@ bool func_803864B0(Actor *this, f32 arg1) { this->unk28 = phi_f2 / arg1; this->yaw_moving = func_80257204(this->position[0], this->position[2], sp3C[0], sp3C[2]); - if ((func_803203FC(0xC1) ? 0 : 0x11) < this->unk28) { - this->unk28 = (func_803203FC(0xC1) != 0) ? 0.0f : 17.0f; + if ((func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) ? 0 : 0x11) < this->unk28) { + this->unk28 = (func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) != 0) ? 0.0f : 17.0f; } else if (sp38 == 0) { func_803863F0(SFX_AE_YUMYUM_TALKING, randf2(0.9f, 1.0f), 22000, this->position, 500.0f, 2000.0f); } @@ -107,13 +107,13 @@ bool func_80386760(Actor *this, s32 arg1) { if (((f64) animctrl_getAnimTimer(this->animctrl) < 0.1) && ((f64) randf() < 0.5)) { if (this->unk1C[0] != 0.0f) { arg1 *= 2; - this->unk28 = (f32) randi2(0, 0.5*(func_803203FC(0xC1) ? 0 : 0x11)); + this->unk28 = (f32) randi2(0, 0.5*(func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) ? 0 : 0x11)); this->yaw_moving += (f32) randi2(-arg1, arg1); } else if ((f64) randf() < 0.4) { this->unk28 = 0.0f; this->yaw_moving += (f32) randi2(-arg1, arg1); } else { - this->unk28 = (f32) randi2(0.33 * (func_803203FC(0xC1) ? 0 : 0x11), func_803203FC(0xC1) ? 0 : 0x11); + this->unk28 = (f32) randi2(0.33 * (func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) ? 0 : 0x11), func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) ? 0 : 0x11); this->yaw_moving = this->yaw; } this->unk1C[0] = 0.0f; diff --git a/src/core1/done/code_CE60.c b/src/core1/done/code_CE60.c index 608793ea..0460eff4 100644 --- a/src/core1/done/code_CE60.c +++ b/src/core1/done/code_CE60.c @@ -174,7 +174,7 @@ void func_8024AF48(void){ if(!D_802806F4) return; if(func_803203FC(1)) return; - if(func_803203FC(0x1f)) return; + if(func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)) return; if(func_802D686C()) return; if(func_8028F22C()) return; if(gctransition_8030BDC0()) return; diff --git a/src/core2/ch/beehive.c b/src/core2/ch/beehive.c index 6bba151c..70dc708f 100644 --- a/src/core2/ch/beehive.c +++ b/src/core2/ch/beehive.c @@ -40,7 +40,7 @@ void func_802CE8D4(Actor *this){ this->marker->propPtr->unk8_3 = 1; this->unk44_31 = func_8030D90C(); this->unk16C_4 = 1; - this->unk38_0 = func_803203FC(1)| func_803203FC(0x1F); + this->unk38_0 = func_803203FC(1)| func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE); }//L802CE960 if(map_get() == MAP_27_FP_FREEZEEZY_PEAK){ if(func_8038BFA0()){ diff --git a/src/core2/ch/bigbutt.c b/src/core2/ch/bigbutt.c index a9a9f558..61347514 100644 --- a/src/core2/ch/bigbutt.c +++ b/src/core2/ch/bigbutt.c @@ -44,7 +44,7 @@ void func_802C5E80(Actor *this){ } void func_802C5EB8(Actor *this){ - if(func_803203FC(0xC1)) + if(func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE)) return; if(this->unk38_31){ diff --git a/src/core2/ch/code_468E0.c b/src/core2/ch/code_468E0.c index e947ac5d..8fbe999f 100644 --- a/src/core2/ch/code_468E0.c +++ b/src/core2/ch/code_468E0.c @@ -36,7 +36,7 @@ void func_802CD8C0(Actor *this){ this->marker->unk2C_1 = 1; this->marker->collidable = 0; *(s32*)this->unkBC = 0; //TODO Make struct - if(func_803203FC(1) || func_803203FC(0x1F)){ + if(func_803203FC(1) || func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)){ marker_despawn(this->marker); return; } diff --git a/src/core2/ch/ghost.c b/src/core2/ch/ghost.c index cebac439..efc8868f 100644 --- a/src/core2/ch/ghost.c +++ b/src/core2/ch/ghost.c @@ -174,7 +174,7 @@ void func_8035B6CC(Actor *this){ void func_8035B75C(Actor *this){ func_80328B8C(this, 3, 0.01f, 1); actor_loopAnimation(this); - this->unk28 = func_803203FC(0xC1) ? 0.0 : 12.0; + this->unk28 = func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) ? 0.0 : 12.0; func_8030E878(0x3F4, randf2(1.0f, 1.2f), 32000, this->position, this->scale*400.0f, this->scale*1800.0f); } diff --git a/src/core2/ch/icecube.c b/src/core2/ch/icecube.c index 0afc2ef4..3dfa020b 100644 --- a/src/core2/ch/icecube.c +++ b/src/core2/ch/icecube.c @@ -301,7 +301,7 @@ void chicecube_update(Actor *this){ case 1: // L8035AC9C animctrl_setAnimTimer(this->animctrl, 0.0f); if( func_80359DF4(this, 900) - || (this->unkF4_8 == 2 && func_803203FC(0xC1)) + || (this->unkF4_8 == 2 && func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE)) ){ func_80328B8C(this, 2, 0.0001f, 1); actor_playAnimationOnce(this); diff --git a/src/core2/ch/jinjo.c b/src/core2/ch/jinjo.c index b8ae2ffe..22e91a4e 100644 --- a/src/core2/ch/jinjo.c +++ b/src/core2/ch/jinjo.c @@ -115,7 +115,7 @@ void func_802CDD78(Actor * this){ local->unk8 = (this->position_y < func_80309B24(this->position)); this->marker->unkC = func_802CDBA8; func_803300D8(this->marker, func_802CDD3C); - if(func_803203FC(0xc1)){ + if(func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE)){ marker_despawn(this->marker); } }//L802CDE24 diff --git a/src/core2/ch/trainers.c b/src/core2/ch/trainers.c index 0ec19736..f1bb2289 100644 --- a/src/core2/ch/trainers.c +++ b/src/core2/ch/trainers.c @@ -61,7 +61,7 @@ void chtrainers_update(Actor *this){ ml_vec3f_copy(this->unk1C, this->position); this->velocity[0] = this->yaw; this->velocity[1] = 0.0f; - this->unk10_12 = !func_803203FC(0x1f) && !func_803203FC(0x1); + this->unk10_12 = !func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE) && !func_803203FC(0x1); func_80328A84(this, 0); } diff --git a/src/core2/ch/wadingboots.c b/src/core2/ch/wadingboots.c index cec2da06..e902997a 100644 --- a/src/core2/ch/wadingboots.c +++ b/src/core2/ch/wadingboots.c @@ -32,7 +32,7 @@ void chwadingboots_update(Actor *this){ if(!this->initialized){ this->initialized = TRUE; this->velocity[0] = this->yaw; - this->unk10_12 = !func_803203FC(0x1f) && !func_803203FC(0x1); + this->unk10_12 = !func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE) && !func_803203FC(0x1); func_80328A84(this, 0); } diff --git a/src/core2/code_3480.c b/src/core2/code_3480.c index e78ac1c6..02319cdf 100644 --- a/src/core2/code_3480.c +++ b/src/core2/code_3480.c @@ -36,7 +36,7 @@ s32 func_8028A45C(void){ f32 plyrPos[3]; _player_getPosition(&plyrPos); - if(func_8028B470() || func_803203FC(0xC1)){ //(swimming || ???) + if(func_8028B470() || func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE)){ //(swimming || ???) if(plyrPos[1] < 600.0f && !func_8028A41C(2478.0f, 4586.0f, 1750.0f) //within 1750 of sandcastle center && !func_8028A41C(-400.0, 2315.0f, 2000.0f) //within 2000 of blubber's ship center diff --git a/src/core2/code_440B0.c b/src/core2/code_440B0.c index eb16e85d..c058e4e6 100644 --- a/src/core2/code_440B0.c +++ b/src/core2/code_440B0.c @@ -249,7 +249,7 @@ void func_802CBAAC(Actor *this) { } } - if (func_803203FC(0xC1) != 0) { + if (func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) != 0) { if (this->unkF4_8 != 1) { marker_despawn(this->marker); return; diff --git a/src/core2/code_45310.c b/src/core2/code_45310.c index 8372be53..801ffb79 100644 --- a/src/core2/code_45310.c +++ b/src/core2/code_45310.c @@ -373,7 +373,7 @@ void func_802CCC5C(Actor *this) { } if (local->unk4 >= 1.0f) { local->unk4 = 1.0f; - if (func_803203FC(0xC1)) { + if (func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE)) { local->unk3A = 0; } else { if (this->state == 2) { diff --git a/src/core2/code_47BD0.c b/src/core2/code_47BD0.c index 28eb3010..0cd1e089 100644 --- a/src/core2/code_47BD0.c +++ b/src/core2/code_47BD0.c @@ -415,7 +415,7 @@ void func_802CF83C(Actor *this) { func_80328A84(this, phi_a1); this->unk60 = 0.0f; func_802CF040(this); - this->unk38_0 = func_803203FC(1) | func_803203FC(0x1F); + this->unk38_0 = func_803203FC(1) | func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE); } if (subaddie_playerIsWithinSphere(this, 0xFA0)) { diff --git a/src/core2/code_4A6F0.c b/src/core2/code_4A6F0.c index cbc0ed3d..6c390d21 100644 --- a/src/core2/code_4A6F0.c +++ b/src/core2/code_4A6F0.c @@ -113,7 +113,7 @@ void func_802D18B4(Actor *this) { } else { phi_v0 = func_802D17A8(0, -107, 188); } - if(phi_v0 || func_803203FC(1) || func_803203FC(0x1F)){ + if(phi_v0 || func_803203FC(1) || func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)){ func_80328AC8(this, 2); if( !func_8031FF1C(BKPROG_11_HAS_MET_MUMBO) || (!func_8031FF1C(BKPROG_DC_HAS_HAD_ENOUGH_TOKENS_BEFORE) && this->unk38_0) @@ -213,7 +213,7 @@ void func_802D1CF0(Actor *this) { this->unk130 = func_803255FC; if( !func_803203FC(1) - && !func_803203FC(0x1F) + && !func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE) && map_get() != MAP_7A_GL_CRYPT) { func_803463D4(ITEM_1C_MUMBO_TOKEN, 0); } @@ -270,7 +270,7 @@ void func_802D1CF0(Actor *this) { if (actor_animationIsAt(this, 0.999f)) { if( !func_8031FF1C(BKPROG_11_HAS_MET_MUMBO) && !func_803203FC(1) - && !func_803203FC(0x1F) + && !func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE) ) { func_80328A84(this, 3); func_80311480(0xD8F, 0xE, this->position, this->marker, func_802D1998, NULL); @@ -280,7 +280,7 @@ void func_802D1CF0(Actor *this) { if( !func_8031FF1C(BKPROG_DC_HAS_HAD_ENOUGH_TOKENS_BEFORE) && !func_803203FC(1) - && !func_803203FC(0x1F) + && !func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE) && this->unk38_0 ){ func_80328A84(this, 3); diff --git a/src/core2/code_4BD70.c b/src/core2/code_4BD70.c index 964bcb29..ad04cfba 100644 --- a/src/core2/code_4BD70.c +++ b/src/core2/code_4BD70.c @@ -15,7 +15,7 @@ ActorInfo D_803675C0 = { MARKER_1E9_MUMBO_COST_SIGN, ACTOR_36C_25_MUMBO_TOKEN_SI void func_802D2D00(Actor *this) { if (!this->unk16C_4) { if( func_8031FF1C(this->modelCacheIndex - ACTOR_368_5_MUMBO_TOKEN_SIGN + BKPROG_90_PAID_TERMITE_COST) - || func_803203FC(0x1F) + || func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE) ) { marker_despawn(this->marker); } diff --git a/src/core2/code_53A10.c b/src/core2/code_53A10.c index 7eb5e3d9..f49ba35d 100644 --- a/src/core2/code_53A10.c +++ b/src/core2/code_53A10.c @@ -36,7 +36,7 @@ void func_802DAA14(Actor *this){ s32 tmp; s32 text_id; - if(func_803203FC(1) || func_803203FC(0x1F)){ + if(func_803203FC(1) || func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)){ marker_despawn(this->marker); return; } diff --git a/src/core2/code_53C10.c b/src/core2/code_53C10.c index 92854875..82cd69ac 100644 --- a/src/core2/code_53C10.c +++ b/src/core2/code_53C10.c @@ -243,7 +243,7 @@ void func_802DB5A0(Actor *this) { this->unk124_0 = this->unk138_31 = FALSE; local->unk38 = 0; this->unk16C_4 = TRUE; - if (func_803203FC(0x1F)) { + if (func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)) { func_80328A84(this, 2U); return; } diff --git a/src/core2/code_59A80.c b/src/core2/code_59A80.c index 8880a535..89b82372 100644 --- a/src/core2/code_59A80.c +++ b/src/core2/code_59A80.c @@ -71,7 +71,7 @@ void func_802E0B10(Actor *this){ if( mumboscore_get(local->unk0) || func_803203FC(1) || func_803203FC(2) - || func_803203FC(0x1F) + || func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE) ){ marker_despawn(this->marker); return; diff --git a/src/core2/code_59D40.c b/src/core2/code_59D40.c index 94846173..49cd7921 100644 --- a/src/core2/code_59D40.c +++ b/src/core2/code_59D40.c @@ -329,7 +329,7 @@ void func_802E17E8(void) { _player_getPosition(sp50); - if (func_803203FC(0xC1) != 0) { + if (func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) != 0) { nodeprop_getPosition(func_80304CAC(0x3CB, sp50), sp50); } else{ @@ -370,7 +370,7 @@ void func_802E17E8(void) { marker_despawn(D_8037E620); return; } - if (func_803203FC(0xC1) == 0) { + if (func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) == 0) { func_8032BB88(snacker, 0x1388, 0x2EE); func_8024BD08(0); func_8025A6EC(0x34, 0); diff --git a/src/core2/code_5C870.c b/src/core2/code_5C870.c index 58e2c0b1..d7350ff8 100644 --- a/src/core2/code_5C870.c +++ b/src/core2/code_5C870.c @@ -145,7 +145,7 @@ void func_802E39D0(Gfx **gdl, Mtx **mptr, Vtx **vptr, s32 arg3, s32 arg4){ func_8025AFC0(gdl, mptr, vptr); } - func_8030F410(gdl, mptr, vptr); + gcdialog_draw(gdl, mptr, vptr); if(!func_802E49F0()){ func_802FAB54(gdl, mptr, vptr); } @@ -209,7 +209,7 @@ void func_802E3BF8(enum game_mode_e next_mode, s32 arg1){ if(arg1){ sp20 = FALSE; if(next_mode == GAME_MODE_3_NORMAL){ - if(func_803203FC(0x1F)){ + if(func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)){ sp20 = TRUE; sp1C = 7; } @@ -261,7 +261,7 @@ void func_802E3E7C(enum game_mode_e mode){ prev_mode = D_8037E8E0.unk0; func_802E3BF8(2, 0); if(!func_80320454(0x21, 0) || map_getLevel(map_get()) == map_getLevel(D_8037E8E0.map)){ - if(!func_803203FC(0x1F)) + if(!func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)) mapSavestate_save(map_get()); } func_802E398C(1); @@ -443,7 +443,7 @@ bool func_802E4424(void) { ) { func_8034B940(); } - func_8031ABF8(); + gcparade_8031ABF8(); func_802E3E7C(GAME_MODE_3_NORMAL); return FALSE; @@ -455,7 +455,7 @@ bool func_802E4424(void) { ) { func_8034B940(); } - func_8031ABA0(); + gcparade_8031ABA0(); func_802E3E7C(GAME_MODE_3_NORMAL); return FALSE; diff --git a/src/core2/code_87E30.c b/src/core2/code_87E30.c index 50681352..a704cde2 100644 --- a/src/core2/code_87E30.c +++ b/src/core2/code_87E30.c @@ -208,7 +208,7 @@ void func_8030F338(void){ } } if(D_80382E20.unk128_31 & 0x8){ - if((!func_802E4A08() && !func_803203FC(0x1F)) || !D_80382E20.unk128_3){ + if((!func_802E4A08() && !func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)) || !D_80382E20.unk128_3){ func_8028F918(0); } }//L8030F3E8 @@ -216,15 +216,13 @@ void func_8030F338(void){ func_8030F130(); } -void func_8030F410(Gfx **next_state, Mtx **arg1, s32 arg2){ +void gcdialog_draw(Gfx **gfx, Mtx **mtx, Vtx **vtx){ s32 i; for(i = 0; i<2; i++){ - gczoombox_draw(D_80382E20.zoombox[i], next_state, arg1, arg2); + gczoombox_draw(D_80382E20.zoombox[i], gfx, mtx, vtx); } } - - void gcdialog_setState(s32 next_state){ s32 i; s32 j; @@ -673,13 +671,13 @@ void func_803106BC(s32 text_id, s32 arg1, ActorMarker *marker, void(*callback)(A D_80382E20.active_zoombox = 1; }//L8031095C D_80382E20.unk128_6 = 1; - D_80382E20.unk12C_23 = ((func_802E4A08() || func_803203FC(0x1F)) && D_80382E20.unk128_3) ? 1 : -1; + D_80382E20.unk12C_23 = ((func_802E4A08() || func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)) && D_80382E20.unk128_3) ? 1 : -1; D_80382E20.caller = marker; D_80382E20.unk13C = callback; D_80382E20.unk140 = arg4; D_80382E20.unk144 = arg5; D_80382E20.unk138 = (marker != NULL )? ((marker->unk5C)? marker->unk5C : -1) : 0; - gcdialog_setState(((func_802E4A08() || func_803203FC(0x1F)) && D_80382E20.unk128_3) ? 6 : 1); + gcdialog_setState(((func_802E4A08() || func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)) && D_80382E20.unk128_3) ? 6 : 1); //L803109EC } @@ -758,7 +756,7 @@ void func_80310D2C(void){ D_80382E20.unk138 = sp24->unk14; func_8025A55C(8000, 300, 2); - if((sp24->unk2 & 0x8) && !((func_802E4A08() || func_803203FC(0x1F)) && D_80382E20.unk128_3)){//L80310E6C + if((sp24->unk2 & 0x8) && !((func_802E4A08() || func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)) && D_80382E20.unk128_3)){//L80310E6C func_8028F918(0); if( 0.0f == sp24->unk4_x && 0.0f == sp24->unk4_y @@ -840,7 +838,7 @@ int func_80311174(s32 text_id, s32 arg1, f32 *pos, ActorMarker *marker, void(*ca if(!func_803114B0()){ func_80310B1C(text_id, arg1, marker, callback, arg5, arg6); if(arg1 & 8){ - if(!(func_802E4A08() || func_803203FC(0x1f)) || !D_80382E20.unk128_3){//L80311214 + if(!(func_802E4A08() || func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)) || !D_80382E20.unk128_3){//L80311214 if(pos != NULL){ func_8028F94C(((D_80382E20.string_cmd[1] < 0)? 1 : 3), pos); }else{//L8031126C diff --git a/src/core2/code_94A20.c b/src/core2/code_94A20.c index fa833636..da3918cf 100644 --- a/src/core2/code_94A20.c +++ b/src/core2/code_94A20.c @@ -4,6 +4,7 @@ //f32 mlAbsF(f32, f32); +extern void func_8028F760(s32, f32, f32); void *func_80309B48(f32 *, f32 *, f32 *, u32); void *func_80309B98(f32 *, f32 *, f32 *, u32); @@ -30,6 +31,7 @@ void func_8031BD98(struct0 *, f32, s32, s32, f32 *, void *, s32); void func_8031BE98(struct0*, f32, s32); +extern u8 D_8037DCCE[]; // Struct pointer returned by func_80304ED0 struct unkfunc_80304ED0 { @@ -277,21 +279,59 @@ void func_8031C638(struct0 *this, s32 arg1){ void mapSpecificFlags_set(s32, s32); -u32 func_8031C688(void); -u32 func_8031C6E4(void); -u32 func_8031C640(void); -u32 func_8031C7C8(void); +bool func_8031C688(void); +bool func_8031C6E4(void); +bool func_8031C640(void); +bool func_8031C7C8(void); -#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_94A20/func_8031C640.s") +extern void func_802DC560(s32, s32); -#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_94A20/func_8031C688.s") +bool func_8031C640(void) { + if ((func_8024E698(0) == 1) && (func_8033D1EC() != 0)) { + return TRUE; + } + return FALSE; +} -#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_94A20/func_8031C6E4.s") -#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_94A20/func_8031C7C8.s") +bool func_8031C688(void) { + if ((func_8024E698(0) == 1) + && ((D_8037DCCE[0] != 0) + || (D_8037DCCE[1] != 0) + || (D_8037DCCE[2] != 0))) { + return TRUE; + } + return FALSE; +} + + +bool func_8031C6E4(void) { + s32 sp24; + + sp24 = func_8024E698(0); + if (mapSpecificFlags_get(0) != 0) { + func_80320004(0xE1, 1); + } + if ((sp24 == 1) && func_8031FF1C(0xE1) && !gctransition_8030BDC0()) { + if (!mapSpecificFlags_get(0xC)) { + mapSpecificFlags_set(0xC, TRUE); + func_802DC528(0, 0); + timedFunc_set_2(11.0f, (TFQM2)func_802DC560, 0, 0); + timedFunc_set_3(12.0f, (TFQM3)func_802E4078, MAP_1F_CS_START_RAREWARE, 0, 1); + } else { + timedFuncQueue_flush(); + } + } + return FALSE; +} + +bool func_8031C7C8(void){ + func_803219F4(1); + return FALSE; +} //checks is a cutscene can be inturrupted and performs take me there -void func_8031C7EC(s32 cs_map, s32 arg1, s32 return_map, s32 return_exit, u32 (* condFunc)(void)){ +void func_8031C7EC(s32 cs_map, s32 arg1, s32 return_map, s32 return_exit, bool (* condFunc)(void)){ if(map_get() != cs_map) return; @@ -935,13 +975,34 @@ void func_8031E1B0(s32 arg0, s32 arg1) { func_8031CC8C(arg0, 0x310C); } -#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_94A20/func_8031E1D4.s") +void func_8031E1D4(s32 arg0, s32 arg1) { + func_8031CB50(MAP_3A_RBB_BOSS_BOOM_BOX, 1, 0); +} +#ifndef NONMATCHING #pragma GLOBAL_ASM("asm/nonmatchings/core2/code_94A20/func_8031E204.s") +#else +void func_8031E204(NodeProp *node, s32 arg1, s32 arg2){ + f32 sp34[3]; + f32 sp28[3]; + f32 sp1C[3]; -#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_94A20/func_8031E2B8.s") + nodeprop_getPosition(func_80304D04(0x154, &node->x), sp34); + nodeprop_getPosition(func_80304D04(0x155, &node->x), sp28); + player_getPosition(sp1C); + sp1C[1] = (sp28[1] < sp1C[1]) ? sp28[1] : sp1C[1]; + func_8028F760(2, (sp1C[1] - sp34[1])/(sp28[1] - sp34[1]), 0.0f); + func_8031CC8C(node, (arg1 <<8) + arg2); +} +#endif -#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_94A20/func_8031E2E0.s") +void func_8031E2B8(NodeProp *node, ActorMarker *marker){ + func_8031E204(node, 0x35, 0x1); +} + +void func_8031E2E0(NodeProp *node, ActorMarker *marker){ + func_8031E204(node, 0x31, 0xd); +} void func_8031E308(s32 arg0, s32 arg1) { func_8031CC8C(arg0, 0x3206); diff --git a/src/core2/code_A5BC0.c b/src/core2/code_A5BC0.c index cf375f4b..75c9f2df 100644 --- a/src/core2/code_A5BC0.c +++ b/src/core2/code_A5BC0.c @@ -780,9 +780,9 @@ void func_8032EA24(Struct61s *file_ptr, Cube *cube) { if (func_8034B040(file_ptr, 8, &sp47)) { temp_s0_3 = func_803203FC(2); sp2C = func_803203FC(1); - sp34 = func_803203FC(0x1F) + sp2C + temp_s0_3; + sp34 = func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE) + sp2C + temp_s0_3; if (sp34 != 0) { - if (func_8031B4CC() != 0) { + if (gcparade_8031B4CC() != 0) { sp34 = 0; } } diff --git a/src/core2/code_AD5B0.c b/src/core2/code_AD5B0.c index 35881c21..fc339989 100644 --- a/src/core2/code_AD5B0.c +++ b/src/core2/code_AD5B0.c @@ -127,7 +127,7 @@ void func_80334910(void) { func_803500E8(); func_80350BC8(); func_8030F1D0(); - func_8031B2F0();//null + gcparade_free();//null func_80322F7C(); func_803518E8(); func_802D48F0(); diff --git a/src/core2/code_C4320.c b/src/core2/code_C4320.c index 37b1f4a4..0ad6abb2 100644 --- a/src/core2/code_C4320.c +++ b/src/core2/code_C4320.c @@ -338,7 +338,7 @@ void func_8034BB90(void) { s32 func_8034BDA4(enum map_e map_id, s32 exit_id) { s32 phi_v0; - if (func_803203FC(0x1F)) { + if (func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)) { return D_80371F70.unk3; } diff --git a/src/core2/code_D0CA0.c b/src/core2/code_D0CA0.c index 53b692c7..590e9beb 100644 --- a/src/core2/code_D0CA0.c +++ b/src/core2/code_D0CA0.c @@ -408,7 +408,7 @@ void func_80358684(Actor *this) { } if (local->unk4 >= 1.0f) { local->unk4 = 1.0f; - if (func_803203FC(0xC1)) { + if (func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE)) { local->unk39 = 0; } else { if (this->state == 2) { diff --git a/src/core2/code_D6600.c b/src/core2/code_D6600.c index db83a661..0e555aa8 100644 --- a/src/core2/code_D6600.c +++ b/src/core2/code_D6600.c @@ -120,7 +120,7 @@ void func_8035DA1C(Actor *this) { this->unk138_25 = TRUE; this->unk28 = 4.0f; LOCAL_D6600(this)->unk4 =(map_get() == MAP_71_GL_STATUE_ROOM) ? 8 : 0xf; - if (func_803203FC(0xC1)) { + if (func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE)) { this->unk28 = 0.0f; func_80328B8C(this, 1, 0.0f, 1); } @@ -141,7 +141,7 @@ void func_8035DA1C(Actor *this) { func_80328FB0(this, 0.5f); func_80328FF0(this, 0.5f); func_8032CA80(this, LOCAL_D6600(this)->unk4); - if (func_80328B38(this, 2, 0.05f) && !func_803203FC(0xC1)) { + if (func_80328B38(this, 2, 0.05f) && !func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE)) { this->unk28 = 4.0f; } func_8035D65C(this); diff --git a/src/core2/code_D89E0.c b/src/core2/code_D89E0.c index f5630779..218eeac5 100644 --- a/src/core2/code_D89E0.c +++ b/src/core2/code_D89E0.c @@ -38,7 +38,7 @@ void func_8035F970(Actor *this){ } void func_8035F99C(Actor *this){ - if(!func_803203FC(0xC1)){ + if(!func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE)){ func_80328B8C(this, 2, 0.01f, 1); actor_playAnimationOnce(this); this->unk28 = 5.0f; diff --git a/src/core2/gc/parade.c b/src/core2/gc/parade.c index e3585066..e07fcad5 100644 --- a/src/core2/gc/parade.c +++ b/src/core2/gc/parade.c @@ -142,11 +142,11 @@ struct{ NodeProp *D_80383100[20]; /* public */ -void func_8031B554(void); +void gcparade_beginFinalParade(void); void gcparade_setState(enum parade_state_e next_state); /* .code */ -void func_8031ABA0(void) { +void gcparade_8031ABA0(void) { func_8031FBF8(); func_8031FBA0(); if (D_803830F0.unk8 != -1) { @@ -156,7 +156,7 @@ void func_8031ABA0(void) { } } -void func_8031ABF8(void) { +void gcparade_8031ABF8(void) { D_803830F0.unk8 = func_802C5A30(); func_8030AFD8(1); mapSavestate_free_all(); @@ -166,13 +166,13 @@ void func_8031ABF8(void) { func_8031FBA0(); func_803204E4(0x1F, 1); if (D_803830F0.parade_id == PARADE_1_POST_GRUNTY_BATTLE) { - func_803204E4(0xC1, 1); + func_803204E4(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE, TRUE); } func_803228D8(); func_802E4A70(); } -void func_8031AC8C(void) { +void gcparade_8031AC8C(void) { func_803228D8(); if (map_getLevel(D_803830F0.parade_element->map) != level_get()) { @@ -198,10 +198,10 @@ void gcparade_setState(enum parade_state_e next_state) { D_803830F0.count = 0x1B; func_8025A70C(COMUSIC_8E_CREDITS); next_state = PARADE_STATE_3_WARP; - func_8031AC8C(); + gcparade_8031AC8C(); break; case PARADE_STATE_2_INIT_FINAL_PARADE: //parade 1 init - func_803204E4(0xC1, 1); + func_803204E4(0xC1, TRUE); D_803830F0.parade_element = D_8036DAE4; D_803830F0.indx = 0; D_803830F0.parade_id = PARADE_1_POST_GRUNTY_BATTLE; @@ -210,7 +210,7 @@ void gcparade_setState(enum parade_state_e next_state) { func_8025AB00(); func_8025A70C(COMUSIC_8E_CREDITS); next_state = PARADE_STATE_3_WARP; - func_8031AC8C(); + gcparade_8031AC8C(); break; case PARADE_STATE_3_WARP: func_803228D8(); @@ -242,7 +242,7 @@ void gcparade_setState(enum parade_state_e next_state) { break; case PARADE_STATE_8_END: func_803204E4(0x1F, 0); - func_803204E4(0xC1, 0); + func_803204E4(0xC1, FALSE); func_802E412C(1, 8); func_802E40C4(0xA); if (D_803830F0.parade_id == 0) { @@ -281,10 +281,10 @@ void gcparade_update(void) { if ((map_get() == MAP_96_CS_END_BEACH_1) && mapSpecificFlags_get(4)) { mapSpecificFlags_set(4, FALSE); - func_8031B554(); + gcparade_beginFinalParade(); return; } - if (func_803203FC(0x1F) != 0) { + if (func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE) != 0) { func_8028A8D0(); switch (D_803830F0.state) { case PARADE_STATE_3_WARP: @@ -328,12 +328,12 @@ void gcparade_update(void) { } } -void func_8031B2F0(void){} +void gcparade_free(void){} void gcparade_start(void){ - func_803204E4(0x20, FALSE); + func_803204E4(UNKFLAGS1_20_BEGIN_CHARACTER_PARADE, FALSE); func_803204E4(0x1F, TRUE); - if(func_80320454(0xC0, 0)) + if(func_80320454(UNKFLAGS1_C0_BEGIN_FINAL_CHARACTER_PARADE, FALSE)) gcparade_setState(PARADE_STATE_2_INIT_FINAL_PARADE); else gcparade_setState(PARADE_STATE_1_INIT_FF_PARADE); @@ -346,11 +346,11 @@ void gcparade_init(void) { s32 temp_v0; s32 var_s2; - if (func_803203FC(0x20)) { + if (func_803203FC(UNKFLAGS1_20_BEGIN_CHARACTER_PARADE)) { gcparade_start(); return; } - if (func_803203FC(0x1F)) { + if (func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)) { func_80347A14(0); if ((D_803830F0.state == 3)){ var_s2 = FALSE; @@ -379,27 +379,27 @@ void gcparade_init(void) { } } -int func_8031B4CC(void){ +int gcparade_8031B4CC(void){ return ((D_803830F0.parade_element != NULL) && (D_803830F0.parade_element->exit < 0)); } -int func_8031B4F4(void){ +int gcparade_8031B4F4(void){ return (D_803830F0.parade_element != NULL) ? D_803830F0.parade_element->unk8 : 0; } -void func_8031B51C(void){ - if (func_803203FC(0x1F)) return; +void gcparade_beginFFParade(void){ + if (func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)) return; - func_803204E4(0x20, TRUE); + func_803204E4(UNKFLAGS1_20_BEGIN_CHARACTER_PARADE, TRUE); gcparade_init(); } -void func_8031B554(void){ +void gcparade_beginFinalParade(void){ - if (func_803203FC(0x1F)) return; + if (func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)) return; - func_803204E4(0x20, TRUE); - func_803204E4(0xC0, TRUE); + func_803204E4(UNKFLAGS1_20_BEGIN_CHARACTER_PARADE, TRUE); + func_803204E4(UNKFLAGS1_C0_BEGIN_FINAL_CHARACTER_PARADE, TRUE); D_803830F0.jiggyscore = jiggyscore_total(); gcparade_init(); } diff --git a/src/core2/gc/zoombox.c b/src/core2/gc/zoombox.c index 4cf4cc74..6083589d 100644 --- a/src/core2/gc/zoombox.c +++ b/src/core2/gc/zoombox.c @@ -1000,7 +1000,7 @@ void gczoombox_draw(gczoombox_t *this, Gfx **gdl, Mtx ** mptr, void *vptr){ || ( getGameMode() != GAME_MODE_3_NORMAL && getGameMode() != GAME_MODE_8_BOTTLES_BONUS && getGameMode() != GAME_MODE_A_SNS_PICTURE - && !func_803203FC(0x1F)) + && !func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)) ){//L80316C64 func_80316764(this, 0); } diff --git a/src/lair/code_5640.c b/src/lair/code_5640.c index 58c6f7f8..19540a4a 100644 --- a/src/lair/code_5640.c +++ b/src/lair/code_5640.c @@ -161,7 +161,7 @@ void func_8038BCF0(Actor *this) { } } actor_setOpacity(this, sp74); - if (!func_803203FC(0x1F)) { + if (!func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)) { if ((phi_f2 < 600.0) && !this->unk38_0) { comusic_8025AB44(COMUSIC_7A_BRENTILDA, -1, 0x1F4); func_8032BB88(this, 0, 0x1F4); diff --git a/src/lair/code_9C40.c b/src/lair/code_9C40.c index bd0d8a70..fad4dc00 100644 --- a/src/lair/code_9C40.c +++ b/src/lair/code_9C40.c @@ -91,7 +91,7 @@ void func_803902B8(Actor *this) { sp54 = this->marker->unk14_20 - 0x16D; if (!this->initialized) { func_803300D8(this->marker, func_80390298); - this->unk138_24 = func_803203FC(0x1F); + this->unk138_24 = func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE); this->initialized = TRUE; } _player_getPosition(sp5C); diff --git a/src/lair/code_A810.c b/src/lair/code_A810.c index 59c6c356..e566e7ca 100644 --- a/src/lair/code_A810.c +++ b/src/lair/code_A810.c @@ -131,7 +131,7 @@ void func_80390E28(Actor *this) { switch (this->state) { case 0: - if( !func_8031A3BC() && (sp38 < 2) && (randf() < 0.1) && !mapSpecificFlags_get(0xA) && !func_803203FC(0x1F)) { + if( !func_8031A3BC() && (sp38 < 2) && (randf() < 0.1) && !mapSpecificFlags_get(0xA) && !func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)) { sp38++; mapSpecificFlags_setN(0, sp38, 2); func_80390D3C(this, (randf() < 0.5) ? 2 :1); diff --git a/src/lair/code_BBD0.c b/src/lair/code_BBD0.c index fd9c0ef9..46bde1f2 100644 --- a/src/lair/code_BBD0.c +++ b/src/lair/code_BBD0.c @@ -19,10 +19,26 @@ ActorAnimationInfo D_80394BE0[] = { {0x28E, 2.0f}, {0x1D0, 3.0f}, }; -ActorInfo D_80394C28 = { 0x29A, 0x3C4, 0x55F, 0x1, D_80394BE0, func_8039217C, func_80326224, func_80325888, 0, 0, 3.0f, 0}; -ActorInfo D_80394C4C = { 0x29A, 0x3C7, 0x560, 0x3, D_80394BE0, func_8039217C, func_80326224, func_80325888, 0, 0, 1.0f, 0}; -ActorInfo D_80394C70 = { 0x29A, 0x3C6, 0x34C, 0x0, D_80394BE0, func_8039217C, func_80326224, func_80325888, 0, 0, 3.0f, 0}; -ActorInfo D_80394C94 = { 0x29A, 0x3C8, 0x35B, 0x5, D_80394BE0, func_8039217C, func_80326224, func_80391FC0, 0, 0, 1.0f, 0}; +ActorInfo D_80394C28 = { MARKER_29A_FF_PRIZE, ACTOR_3C4_FF_PRIZE_WASHING_CAULDRON, ASSET_55F_MODEL_FF_PRIZE_WASHING_CAULDRON, + 0x1, D_80394BE0, + func_8039217C, func_80326224, func_80325888, + 0, 0, 3.0f, 0 +}; +ActorInfo D_80394C4C = { MARKER_29A_FF_PRIZE, ACTOR_3C7_FF_PRIZE_GRUNTY_DOLL, ASSET_560_MODEL_FF_PRIZE_GRUNTY_DOLL, + 0x3, D_80394BE0, + func_8039217C, func_80326224, func_80325888, + 0, 0, 1.0f, 0 +}; +ActorInfo D_80394C70 = { MARKER_29A_FF_PRIZE, 0x3C6, 0x34C, + 0x0, D_80394BE0, + func_8039217C, func_80326224, func_80325888, + 0, 0, 3.0f, 0 +}; +ActorInfo D_80394C94 = { MARKER_29A_FF_PRIZE, ACTOR_3C8_FF_PRIZE_TOOTY, ASSET_35B_FF_PRIZE_TOOTY, + 0x5, D_80394BE0, + func_8039217C, func_80326224, func_80391FC0, + 0, 0, 1.0f, 0 +}; /* .code */ Actor *func_80391FC0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ @@ -32,7 +48,7 @@ Actor *func_80391FC0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ } void func_80392014(Actor *this, enum sfx_e sfx_id, f32 arg2, f32 arg3, s32 arg4) { - if (mapSpecificFlags_get(0xA) || func_803203FC(0x1F)) { + if (mapSpecificFlags_get(0xA) || func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)) { arg4 = arg4 * 0.5; } if (mapSpecificFlags_get(5)) { @@ -103,7 +119,7 @@ void func_8039217C(Actor *this) { break; case 5: //L803923C0 - if (func_803203FC(0x1F)) { + if (func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)) { func_80328A84(this, 8U); break; } diff --git a/src/lair/code_C6C0.c b/src/lair/code_C6C0.c index 5b2a2794..0e85d1e9 100644 --- a/src/lair/code_C6C0.c +++ b/src/lair/code_C6C0.c @@ -13,7 +13,7 @@ ActorInfo D_80394D20 = { 0x29C, 0x3C9, 0x0, 0x0, NULL, func_80392B6C, func_80326 void func_80392AB0(ActorMarker *marker, enum asset_e text_id, s32 arg2){ comusic_8025AB44(COMUSIC_A9_TOOTY, 0, 2000); func_8025AABC(0xA9); - func_8031B51C(); + gcparade_beginFFParade(); } void func_80392AF4(ActorMarker *marker, enum asset_e text_id, s32 arg2){ diff --git a/symbol_addrs.core2.us.v10.txt b/symbol_addrs.core2.us.v10.txt index b9bcc939..31f4ffda 100644 --- a/symbol_addrs.core2.us.v10.txt +++ b/symbol_addrs.core2.us.v10.txt @@ -290,6 +290,9 @@ gczoombox_close = 0x803183FC; gczoombox_maximize = 0x8031840C; gczoombox_minimize = 0x8031841C; gczoombox_highlight = 0x803185D8; +gcparade_8031B4CC = 0x8031B4CC; +gcparade_8031B4F4 = 0x8031B4F4; +gcparade_beginFFParade = 0x8031B51C; jiggyscore_clearAll_debug = 0x80320F10; jiggyscore_clearAllSpawned = 0x80320F38; jiggyscore_getPtr = 0x80320F70;