diff --git a/include/enums.h b/include/enums.h index 3f2280a6..a2363fa3 100644 --- a/include/enums.h +++ b/include/enums.h @@ -230,26 +230,26 @@ enum file_progress_e{ }; enum volatile_flags_e { - VOLATILE_FLAG_0, // FFQ entered? - VOLATILE_FLAG_1, - VOLATILE_FLAG_2, - VOLATILE_FLAG_3, - VOLATILE_FLAG_4, - VOLATILE_FLAG_5, - VOLATILE_FLAG_6_HAS_SEEN_BOSS_BOOM_BOX_FF_MINIGAME = 0x6, + VOLATILE_FLAG_0_IN_FURNACE_FUN_QUIZ, + VOLATILE_FLAG_1, // FF related + VOLATILE_FLAG_2_FF_IN_MINIGAME, + VOLATILE_FLAG_3, // FF related + VOLATILE_FLAG_4, // FF related + VOLATILE_FLAG_5_FF_MINIGAME_WON, + VOLATILE_FLAG_6_HAS_SEEN_BOSS_BOOM_BOX_FF_MINIGAME, VOLATILE_FLAG_7_HAS_SEEN_VILE_FF_MINIGAME, VOLATILE_FLAG_8_HAS_SEEN_MATCHING_PYRAMID_FF_MINIGAME, VOLATILE_FLAG_9_HAS_SEEN_ZUBBAS_FF_MINIGAME, VOLATILE_FLAG_A_HAS_SEEN_TIPTUP_FF_MINIGAME, VOLATILE_FLAG_B_HAS_SEEN_SANDCASTLE_FF_MINIGAME, VOLATILE_FLAG_C, - VOLATILE_FLAG_D, + VOLATILE_FLAG_D, VOLATILE_FLAG_E, VOLATILE_FLAG_F, VOLATILE_FLAG_10, VOLATILE_FLAG_11, VOLATILE_FLAG_12, - VOLATILE_FLAG_13_HAS_TRIGGERED_MUMBO_VACATION_TEXT = 0x13, + VOLATILE_FLAG_13_HAS_TRIGGERED_MUMBO_VACATION_TEXT, VOLATILE_FLAG_14, VOLATILE_FLAG_15, VOLATILE_FLAG_16, @@ -326,22 +326,29 @@ enum volatile_flags_e { VOLATILE_FLAG_9B_SANDCASTLE_BOTTLES_BONUS_5, VOLATILE_FLAG_9C_SANDCASTLE_BOTTLES_BONUS_6, VOLATILE_FLAG_9D_SANDCASTLE_WISHY_WASHY, - - VOLATILE_FLAG_A0 = 0xA0, - VOLATILE_FLAG_A1, - VOLATILE_FLAG_A2, - VOLATILE_FLAG_A3, - VOLATILE_FLAG_A4, - VOLATILE_FLAG_A5, - VOLATILE_FLAG_A6, - VOLATILE_FLAG_A7, - - VOLATILE_FLAG_AC = 0xAC, - VOLATILE_FLAG_AD, - + VOLATILE_FLAG_9E_BETA_OILY_SCUM, + VOLATILE_FLAG_9F_BETA_DIVE_IN_ICY_WATER, + VOLATILE_FLAG_A0_FF_FIRST_ANSWER_RIGHT, + VOLATILE_FLAG_A1_FF_NEXT_ANSWER_RIGHT, + VOLATILE_FLAG_A2_FF_GRUNTY_ANSWER_RIGHT, + VOLATILE_FLAG_A3_FF_FIRST_ANSWER_WRONG, + VOLATILE_FLAG_A4_FF_NEXT_ANSWER_WRONG, + VOLATILE_FLAG_A5_FF_UNUSED, + VOLATILE_FLAG_A6_FF_FOUND_HONEYCOMB, + VOLATILE_FLAG_A7_FF_FOUND_EXTRALIFE, + VOLATILE_FLAG_A8_FF_GOT_JOKER, + VOLATILE_FLAG_A9_FF_USED_JOKER, + VOLATILE_FLAG_AA_FF_LOW_HEALTH, + VOLATILE_FLAG_AB_LAST_LIFE_ON_SKULL, + VOLATILE_FLAG_AC_GV_TRAPDOOR_MISSED, + VOLATILE_FLAG_AD_MMM_CHURCH_DOOR_MISSED, + VOLATILE_FLAG_AE_BGS_WALKWAY_JIGGY_MISSED, + VOLATILE_FLAG_AF_BGS_MAZE_JIGGY_MISSED, + VOLATILE_FLAG_B0_NOT_ENOUGH_NOTES, VOLATILE_FLAG_B2 = 0xB2, VOLATILE_FLAG_B3, VOLATILE_FLAG_B4, + VOLATILE_FLAG_B5, VOLATILE_FLAG_BB = 0xBB, VOLATILE_FLAG_BC, @@ -351,9 +358,10 @@ enum volatile_flags_e { VOLATILE_FLAG_C0_BEGIN_FINAL_CHARACTER_PARADE = 0xC0, VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE, - VOLATILE_FLAG_C2_UNUSED, + VOLATILE_FLAG_C2_NOBONUS_TEXT, VOLATILE_FLAG_C3, // SNS picture related - VOLATILE_FLAG_C4_WOZZA_HIDE_IN_SNS_PARADE + VOLATILE_FLAG_C4_WOZZA_HIDE_IN_SNS_PARADE, + VOLATILE_FLAG_C5_WISHYWASHYBANJO_TEXT }; enum level_flags_e diff --git a/src/BGS/ch/code_2270.c b/src/BGS/ch/code_2270.c index 03e8f84d..ffefe90c 100644 --- a/src/BGS/ch/code_2270.c +++ b/src/BGS/ch/code_2270.c @@ -111,10 +111,10 @@ void func_80388848(ActorMarker *this){ if(sp1C != ++unqPtr->unk0) return; - if(volatileFlag_get(VOLATILE_FLAG_2)){ + if(volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)){ item_set(ITEM_6_HOURGLASS,0); volatileFlag_set(VOLATILE_FLAG_3,0); - volatileFlag_set(VOLATILE_FLAG_5,1); + volatileFlag_set(VOLATILE_FLAG_5_FF_MINIGAME_WON,1); } else{ BGS_func_80388660(thisActor->marker); @@ -173,12 +173,12 @@ void BGS_func_803888E4(Actor *this, s32 arg1){ }//L80388B7C timed_exitStaticCamera(tmpf += 2.5); - if(!unqPtr->unkA && !volatileFlag_get(VOLATILE_FLAG_2)){ + if(!unqPtr->unkA && !volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)){ func_80324DBC(tmpf + 0.5, 0xc73, 0xe, this->position, this->marker, func_80388784, 0); unqPtr->unkA = 1; } func_80324E38(sp54 = tmpf + 0.6, 0); - if(volatileFlag_get(VOLATILE_FLAG_2)){ + if(volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)){ timedFunc_set_1(sp54, (GenFunction_1)func_803886F4, reinterpret_cast(s32, this->marker)); }else{ this->state = 0x05; @@ -243,7 +243,7 @@ void func_80388E94(ActorMarker *this, s32 arg1){ else{ func_8028F55C(1, thisActor->marker); timedFunc_set_0(0.5f, BGS_func_80388760); - if(!mapSpecificFlags_get(1) && !volatileFlag_get(VOLATILE_FLAG_2) && func_80311480(0xc75, 0, NULL, NULL, NULL, NULL)) + if(!mapSpecificFlags_get(1) && !volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME) && func_80311480(0xc75, 0, NULL, NULL, NULL, NULL)) mapSpecificFlags_set(1,TRUE); } } @@ -292,12 +292,12 @@ void func_80389080(Actor *this){ unqPtr->unkA = fileProgressFlag_getN(0,2); unqPtr->unkB = 0; unqPtr->unkC = 0.0f; - if(volatileFlag_get(VOLATILE_FLAG_2)){ + if(volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)){ unqPtr->unkA = 3; this->position_y = this->position_y - 300.0f; } BGS_func_803888E4(this, 1); - if(jiggyscore_isSpawned(JIGGY_27_BGS_TIPTUP) && !volatileFlag_get(VOLATILE_FLAG_2) && !volatileFlag_get(VOLATILE_FLAG_1)) + if(jiggyscore_isSpawned(JIGGY_27_BGS_TIPTUP) && !volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME) && !volatileFlag_get(VOLATILE_FLAG_1)) marker_despawn(this->marker); } else{ @@ -312,7 +312,7 @@ void func_80389080(Actor *this){ func_80258A4C(this->position, this->yaw - 90.0f, player_position, &sp38, &sp34, &sp30); this->yaw = this->yaw + 5.0f*sp30; if(this->state == 1){ - if(volatileFlag_get(VOLATILE_FLAG_2)){ + if(volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)){ if(volatileFlag_get(VOLATILE_FLAG_3)){ func_80324E38(0.0f,0); BGS_func_803888E4(this, 3); @@ -325,11 +325,11 @@ void func_80389080(Actor *this){ } } if(this->state == 5){ - if(volatileFlag_get(VOLATILE_FLAG_2)){ + if(volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)){ if(item_empty(ITEM_0_HOURGLASS_TIMER)){ item_set(ITEM_6_HOURGLASS,1); volatileFlag_set(VOLATILE_FLAG_3,0); - volatileFlag_set(VOLATILE_FLAG_5,0); + volatileFlag_set(VOLATILE_FLAG_5_FF_MINIGAME_WON,0); } } //L80389370 else{ diff --git a/src/BGS/code_3030.c b/src/BGS/code_3030.c index 86a42d51..af914f3d 100644 --- a/src/BGS/code_3030.c +++ b/src/BGS/code_3030.c @@ -80,7 +80,7 @@ void func_80389668(Actor *this) { local->tiptup_marker = NULL; local->unk8 = 1.0f; func_80389488(this, 1); - if (jiggyscore_isSpawned(JIGGY_27_BGS_TIPTUP) && !volatileFlag_get(VOLATILE_FLAG_2) && !volatileFlag_get(VOLATILE_FLAG_1)) { + if (jiggyscore_isSpawned(JIGGY_27_BGS_TIPTUP) && !volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME) && !volatileFlag_get(VOLATILE_FLAG_1)) { marker_despawn(this->marker); } return; diff --git a/src/BGS/code_3420.c b/src/BGS/code_3420.c index e3a21c01..bd013d52 100644 --- a/src/BGS/code_3420.c +++ b/src/BGS/code_3420.c @@ -362,7 +362,7 @@ void func_8038A068(Actor *this, s32 next_state) { local->current_type = YUMBLIE; local->player_score = 0; local->vile_score = 0; - if (volatileFlag_get(VOLATILE_FLAG_2) != 0) { + if (volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME) != 0) { local->type_change_timer = 5.0f; } else { local->type_change_timer = 10.0f; @@ -640,7 +640,7 @@ void chvilegame_update(Actor *this) { local->unkC = 3; local->unkD = 3; } - if (volatileFlag_get(VOLATILE_FLAG_2)) { + if (volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)) { local->unkC = 2; local->unkD = 3; } @@ -651,7 +651,7 @@ void chvilegame_update(Actor *this) { local->vile_marker = actorArray_findClosestActorFromActorId(this->position, 0x13A, -1, &sp4C)->marker; } if (this->state == 1) { - if (volatileFlag_get(VOLATILE_FLAG_2)) { + if (volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)) { if (volatileFlag_get(VOLATILE_FLAG_3)) { func_8038A068(this, 5); } @@ -670,7 +670,7 @@ void chvilegame_update(Actor *this) { if ((local->unkC == 3) || (local->unkC == 6)) { if (ml_timer_update(&local->type_change_timer, sp50)) { local->current_type = !local->current_type; - if (volatileFlag_get(VOLATILE_FLAG_2)) { + if (volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)) { local->type_change_timer = 5.0f; } else { local->type_change_timer = 10.0f; @@ -691,9 +691,9 @@ void chvilegame_update(Actor *this) { itemPrint_reset(); } if (item_empty(ITEM_6_HOURGLASS)) { - if (volatileFlag_get(VOLATILE_FLAG_2)) { + if (volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)) { volatileFlag_set(VOLATILE_FLAG_3, 0); - volatileFlag_set(VOLATILE_FLAG_5, ( local->vile_score < local->player_score) ? TRUE : FALSE); + volatileFlag_set(VOLATILE_FLAG_5_FF_MINIGAME_WON, ( local->vile_score < local->player_score) ? TRUE : FALSE); func_8038A068(this, 1); } else if (local->vile_score < local->player_score) { if (local->unkC == 3) { diff --git a/src/CCW/code_160.c b/src/CCW/code_160.c index db7c4e18..0f99a84f 100644 --- a/src/CCW/code_160.c +++ b/src/CCW/code_160.c @@ -41,7 +41,7 @@ void func_803865F4(Actor *this, s32 next_state) { local = (ActorLocal_CCW_160 *)&this->local; local->unkC = 0.0f; if (next_state == 2) { - if (!volatileFlag_getAndSet(0xB5, 1)) { + if (!volatileFlag_getAndSet(VOLATILE_FLAG_B5, 1)) { func_80311480(0xCE2, 4, NULL, this->marker, func_803865C4, NULL); } else { func_80311480(0xCE3, 4, NULL, NULL, NULL, NULL); @@ -57,10 +57,10 @@ void func_803865F4(Actor *this, s32 next_state) { } if (next_state == 4) { - if (volatileFlag_get(VOLATILE_FLAG_2)) { + if (volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)) { item_set(ITEM_6_HOURGLASS, FALSE); volatileFlag_set(VOLATILE_FLAG_3, 0); - volatileFlag_set(VOLATILE_FLAG_5, 1); + volatileFlag_set(VOLATILE_FLAG_5_FF_MINIGAME_WON, 1); } else { func_80311480(0xCE4, 4, NULL, NULL, NULL, NULL); func_8025A58C(-1, 400); @@ -133,7 +133,7 @@ void func_8038687C(Actor *this) { local->unk4 = 0; local->unk8 = 0; local->unkC = 0.0f; - if (volatileFlag_get(VOLATILE_FLAG_2)) { + if (volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)) { this->position_y -= 300.0f; } func_803865F4(this, 1); @@ -141,7 +141,7 @@ void func_8038687C(Actor *this) { } if ((s32)local->unk0 == 1) { other = actorArray_findActorFromActorId(0x46); - if(volatileFlag_get(VOLATILE_FLAG_2)) { + if(volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)) { local->unk0 = NULL; if (other != NULL) { actor_collisionOff(other); @@ -198,7 +198,7 @@ void func_8038687C(Actor *this) { local->unkC = randf2(0.5 - ((local->unk8 / 10) * 0.4), 1.0 - ((local->unk8 / 10) * 0.8)); } if (this->state == 1) { - if (volatileFlag_get(VOLATILE_FLAG_2) && volatileFlag_get(VOLATILE_FLAG_3)) { + if (volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME) && volatileFlag_get(VOLATILE_FLAG_3)) { item_set(ITEM_6_HOURGLASS, 1); item_set(ITEM_0_HOURGLASS_TIMER, 1800 - 1); func_803865F4(this, 3); @@ -209,9 +209,9 @@ void func_8038687C(Actor *this) { } } } - if ((this->state == 3) && volatileFlag_get(VOLATILE_FLAG_2) && item_empty(ITEM_0_HOURGLASS_TIMER)) { + if ((this->state == 3) && volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME) && item_empty(ITEM_0_HOURGLASS_TIMER)) { item_set(ITEM_6_HOURGLASS, 0); volatileFlag_set(VOLATILE_FLAG_3, 0); - volatileFlag_set(VOLATILE_FLAG_5, 0); + volatileFlag_set(VOLATILE_FLAG_5_FF_MINIGAME_WON, 0); } } diff --git a/src/GV/code_7FF0.c b/src/GV/code_7FF0.c index ef814183..223ee199 100644 --- a/src/GV/code_7FF0.c +++ b/src/GV/code_7FF0.c @@ -263,7 +263,7 @@ void func_8038E648(Actor *this){ func_8030E540(SFX_7F_HEAVYDOOR_SLAM); mapSpecificFlags_set(5, FALSE); func_80244C78(0); - func_80356520(0xAC); + volatileFlag_setAndTriggerDialog_0(VOLATILE_FLAG_AC_GV_TRAPDOOR_MISSED); } break; }//L8038E904: diff --git a/src/GV/matchinggame.c b/src/GV/matchinggame.c index 777d10ce..5b64b5a3 100644 --- a/src/GV/matchinggame.c +++ b/src/GV/matchinggame.c @@ -69,7 +69,7 @@ void __matchingGame_spawnJIggy(void){ void __matchingGame_setState(s32 next_state){ if(next_state == 2){ item_set(ITEM_6_HOURGLASS, 1); - if(volatileFlag_get(VOLATILE_FLAG_2)) + if(volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)) item_set(ITEM_0_HOURGLASS_TIMER, 4499); else item_set(ITEM_0_HOURGLASS_TIMER, 5999); @@ -79,9 +79,9 @@ void __matchingGame_setState(s32 next_state){ } if(next_state == 3){ - if(volatileFlag_get(VOLATILE_FLAG_2)){ + if(volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)){ volatileFlag_set(VOLATILE_FLAG_3, 0); - volatileFlag_set(VOLATILE_FLAG_5, 0); + volatileFlag_set(VOLATILE_FLAG_5_FF_MINIGAME_WON, 0); } else{ func_8028F66C(BS_INTR_F); @@ -89,9 +89,9 @@ void __matchingGame_setState(s32 next_state){ } if(next_state == 4){ - if(volatileFlag_get(VOLATILE_FLAG_2)){ + if(volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)){ volatileFlag_set(VOLATILE_FLAG_3, 0); - volatileFlag_set(VOLATILE_FLAG_5, 1); + volatileFlag_set(VOLATILE_FLAG_5_FF_MINIGAME_WON, 1); } else{ func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 0x7fff); @@ -120,7 +120,7 @@ void gv_matchingGame_init(void){ matchingGame.state = 0; if(map_get() == MAP_13_GV_MEMORY_GAME){ if( !jiggyscore_isSpawned(JIGGY_40_GV_MATCHING_GAME) //jiggy is collected - || volatileFlag_get(VOLATILE_FLAG_2) //in FF minigame + || volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME) //in FF minigame ){ matchingGame.match_count = 0; matchingGame.tile_a = NULL; @@ -222,7 +222,7 @@ void gv_matchingGame_update(void){ }//L803907F0 if( matchingGame.state == 1 - && volatileFlag_get(VOLATILE_FLAG_2) + && volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME) && volatileFlag_get(VOLATILE_FLAG_3) ){ __matchingGame_setState(2); diff --git a/src/MMM/code_2040.c b/src/MMM/code_2040.c index 9059a6f8..88179ae9 100644 --- a/src/MMM/code_2040.c +++ b/src/MMM/code_2040.c @@ -358,7 +358,7 @@ void func_80388BDC(Actor *this) { } this->unk38_31 = 0; this->unk60 = 0.0f; - func_80356520(0xAD); + volatileFlag_setAndTriggerDialog_0(VOLATILE_FLAG_AD_MMM_CHURCH_DOOR_MISSED); } break; } diff --git a/src/RBB/ch/bossboombox.c b/src/RBB/ch/bossboombox.c index 7f0fe9bb..d36b9e48 100644 --- a/src/RBB/ch/bossboombox.c +++ b/src/RBB/ch/bossboombox.c @@ -313,7 +313,7 @@ void RBB_func_8038CC9C(Actor *this, s32 new_state){ timed_playSfx(1.25f, SFX_6C_LOCKUP_CLOSING, 1.05f, 0x7d00); timed_playSfx(1.35f, SFX_6C_LOCKUP_CLOSING, 1.0f, 0x7d00); timed_playSfx(1.8f, SFX_6C_LOCKUP_CLOSING, 1.0f, 0x7d00); - if(volatileFlag_get(VOLATILE_FLAG_2)){ + if(volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)){ item_set(ITEM_6_HOURGLASS, 1); item_set(ITEM_0_HOURGLASS_TIMER, 0x1067); timed_exitStaticCamera(2.4f); @@ -360,10 +360,10 @@ void RBB_func_8038CC9C(Actor *this, s32 new_state){ func_8025A58C(-1, 0x190); comusic_8025AB44(COMUSIC_62_RBB_BOOMBOX, 0, 0x190); func_8025AABC(COMUSIC_62_RBB_BOOMBOX); - if(volatileFlag_get(VOLATILE_FLAG_2)){ + if(volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)){ item_set(ITEM_6_HOURGLASS, 0); volatileFlag_set(VOLATILE_FLAG_3, 0); - volatileFlag_set(VOLATILE_FLAG_5, 1); + volatileFlag_set(VOLATILE_FLAG_5_FF_MINIGAME_WON, 1); } else{//L8038D220 timedFunc_set_3(0.0f, (GenFunction_3)chbossboombox_respawnJiggy, (s32)this->position_x, (s32)this->position_y, (s32)this->position_z); @@ -523,10 +523,10 @@ void func_8038D8BC(Actor *this){ RBB_func_8038CC9C(this, 7); } - if(jiggyscore_isSpawned(JIGGY_56_RBB_BOSS_BOOM_BOX) && !volatileFlag_get(VOLATILE_FLAG_2)) + if(jiggyscore_isSpawned(JIGGY_56_RBB_BOSS_BOOM_BOX) && !volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)) marker_despawn(this->marker); - if(volatileFlag_get(VOLATILE_FLAG_2)) + if(volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)) chbossboombox_hideJiggy(); if(volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE)){ @@ -540,7 +540,7 @@ void func_8038D8BC(Actor *this){ player_getPosition(player_position); if(this->state == 1){ - if(volatileFlag_get(VOLATILE_FLAG_2)){ + if(volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)){ if(volatileFlag_get(VOLATILE_FLAG_3)){ RBB_func_8038CC9C(this, 2); } @@ -572,10 +572,10 @@ void func_8038D8BC(Actor *this){ }//L8038DC48 if(this->state == 3 || this->state == 4){ - if(volatileFlag_get(VOLATILE_FLAG_2)){ + if(volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)){ if(item_empty(ITEM_0_HOURGLASS_TIMER)){ volatileFlag_set(VOLATILE_FLAG_3, 0); - volatileFlag_set(VOLATILE_FLAG_5, 0); + volatileFlag_set(VOLATILE_FLAG_5_FF_MINIGAME_WON, 0); RBB_func_8038CC9C(this, 8); } } diff --git a/src/RBB/ch/bossboomboxctrl.c b/src/RBB/ch/bossboomboxctrl.c index 6cc6f34c..edf52905 100644 --- a/src/RBB/ch/bossboomboxctrl.c +++ b/src/RBB/ch/bossboomboxctrl.c @@ -21,7 +21,7 @@ void chBossBoomBoxCtrl_update(Actor *this){ if(!this->unk16C_4){ this->unk16C_4 = 1; - if(jiggyscore_isSpawned(JIGGY_56_RBB_BOSS_BOOM_BOX) && !volatileFlag_get(VOLATILE_FLAG_2)){ + if(jiggyscore_isSpawned(JIGGY_56_RBB_BOSS_BOOM_BOX) && !volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)){ marker_despawn(this->marker); }else{ __spawnQueue_add_4((GenFunction_4)func_802C4140, ACTOR_281_BOSS_BOOM_BOX_LARGEST, reinterpret_cast(s32,this->position_x), reinterpret_cast(s32,this->position_y), reinterpret_cast(s32,this->position_z)); diff --git a/src/TTC/code_3E30.c b/src/TTC/code_3E30.c index 5516add9..3c1d910d 100644 --- a/src/TTC/code_3E30.c +++ b/src/TTC/code_3E30.c @@ -116,7 +116,7 @@ void func_8038A23C( s32 arg0, BKVtxRef *vtx_ref, Vtx *vtx, s32 arg2){ void func_8038A258(s32 arg0) { if (arg0 == 1) { - if (volatileFlag_get(VOLATILE_FLAG_2)) { + if (volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)) { item_set(ITEM_0_HOURGLASS_TIMER, 3000 - 1); } else { item_set(ITEM_0_HOURGLASS_TIMER, 6000 - 1); @@ -243,9 +243,9 @@ u32 cheatoCodeUnlocked(s32 cheato_code_index){ void func_8038ABA0(u32 arg0){ int i; - func_80356520(0xC2); + volatileFlag_setAndTriggerDialog_0(VOLATILE_FLAG_C2_NOBONUS_TEXT); if(arg0 & 0x400){ - func_80356560(0xC5); + volatileFlag_setAndTriggerDialog_E(VOLATILE_FLAG_C5_WISHYWASHYBANJO_TEXT); } volatileFlag_set(VOLATILE_FLAG_78_SANDCASTLE_NO_BONUS, 0); for(i = 4; i < 0xb; i++){ @@ -269,7 +269,7 @@ void func_8038AC48(LetterFloorTile *arg0) { s32 phi_s1; bool phi_s7; - temp_s5 = volatileFlag_get(VOLATILE_FLAG_2); + temp_s5 = volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME); phi_s7 = FALSE; sp3C = func_8038BD10(arg0); for(i_ptr = codesTable; i_ptr->code != 0; i_ptr++){ @@ -311,7 +311,7 @@ void func_8038AC48(LetterFloorTile *arg0) { if (temp_s5) { item_set(ITEM_6_HOURGLASS, FALSE); volatileFlag_set(VOLATILE_FLAG_3, 0); - volatileFlag_set(VOLATILE_FLAG_5, 1); + volatileFlag_set(VOLATILE_FLAG_5_FF_MINIGAME_WON, 1); func_8038A258(2); } else { var_v0 = i_ptr->unk4; @@ -366,7 +366,7 @@ void func_8038AFC8(void){ iPtr->unk6 = 0; } - if(volatileFlag_get(VOLATILE_FLAG_2)) + if(volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)) strcpy(codesTable[0].code, "j4663n86pink"); //EIOOZAKOJNAB else strcpy(codesTable[0].code, "knip68n3664j"); //BANJOKAZOOIE @@ -410,7 +410,7 @@ void func_8038B094(void){ func_803228D8(); timedFunc_set_3(2.0f, (GenFunction_3) func_802E4078, MAP_7_TTC_TREASURE_TROVE_COVE, 1, 0); } - else if(levelSpecificFlags_get(2) || volatileFlag_get(VOLATILE_FLAG_2)){ + else if(levelSpecificFlags_get(2) || volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)){ func_8034E71C(sp2C, -500, 0.0f); } else{ @@ -437,7 +437,7 @@ void func_8038B094(void){ func_8038AFC8(); if( jiggyscore_isCollected(JIGGY_10_TTC_SANDCASTLE) - && !volatileFlag_get(VOLATILE_FLAG_2) + && !volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME) ){ BKModel_transformMesh(D_8038D720.model2, 0x3C, func_8038A23C, 0); D_8038D720.unk8 = 3; @@ -461,14 +461,14 @@ void func_8038B2F0(void) { if (D_8038D720.model1 != 0) { func_8038AA2C(); player_getPosition(sp2C); - if ((D_8038D720.unk10 == 0) && volatileFlag_get(VOLATILE_FLAG_2) && volatileFlag_get(VOLATILE_FLAG_3)) { + if ((D_8038D720.unk10 == 0) && volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME) && volatileFlag_get(VOLATILE_FLAG_3)) { func_8038A258(1); } if ((D_8038D720.unk10 == 1) && item_empty(ITEM_0_HOURGLASS_TIMER)) { func_8038A258(2); - if (volatileFlag_get(VOLATILE_FLAG_2)) { + if (volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)) { volatileFlag_set(VOLATILE_FLAG_3, FALSE); - volatileFlag_set(VOLATILE_FLAG_5, FALSE); + volatileFlag_set(VOLATILE_FLAG_5_FF_MINIGAME_WON, FALSE); } else { func_8028F66C(BS_INTR_F); } @@ -483,7 +483,7 @@ void func_8038B2F0(void) { temp_v0_3 = func_8038A2DC(mesh_id); if ((temp_v0_3 != NULL) && ((temp_v0_3->unk3 == 2) || (D_8038D720.unk8 == 3))) { func_8038AC48(temp_v0_3); - if ((D_8038D720.unk8 == 0) && (D_8038D720.unk10 == 0) && (volatileFlag_get(VOLATILE_FLAG_2) == 0)) { + if ((D_8038D720.unk8 == 0) && (D_8038D720.unk10 == 0) && (volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME) == 0)) { func_8038A258(1); } } diff --git a/src/core2/animcache.c b/src/core2/animcache.c index bc01671a..acde349d 100644 --- a/src/core2/animcache.c +++ b/src/core2/animcache.c @@ -57,7 +57,7 @@ void animCache_flushAll(void){ for(i = 0; i<340; i++){ if(D_80379E20[i].alive){ - volatileFlag_get(VOLATILE_FLAG_0); + volatileFlag_get(VOLATILE_FLAG_0_IN_FURNACE_FUN_QUIZ); D_80379E20[i].life = 0; boneTransformList_free(D_80379E20[i].bone_xform); D_80379E20[i].bone_xform = NULL; diff --git a/src/core2/ba/marker.c b/src/core2/ba/marker.c index be4061ba..46d2b9ca 100644 --- a/src/core2/ba/marker.c +++ b/src/core2/ba/marker.c @@ -583,10 +583,10 @@ void __baMarker_resolveCollision(Prop *other_prop){ return; if( map_get() == MAP_8E_GL_FURNACE_FUN - && volatileFlag_get(VOLATILE_FLAG_0) + && volatileFlag_get(VOLATILE_FLAG_0_IN_FURNACE_FUN_QUIZ) && !fileProgressFlag_get(FILEPROG_A6_FURNACE_FUN_COMPLETE) ){ - func_80356540(FILEPROG_A6_FURNACE_FUN_COMPLETE); + volatileFlag_setAndTriggerDialog_4(VOLATILE_FLAG_A6_FF_FOUND_HONEYCOMB); func_8030E6D4(SFX_126_AUDIENCE_BOOING); } @@ -695,10 +695,10 @@ void __baMarker_resolveCollision(Prop *other_prop){ if(__baMarker_8028BC20(marker)) return; if( map_get() == MAP_8E_GL_FURNACE_FUN - && volatileFlag_get(VOLATILE_FLAG_0) + && volatileFlag_get(VOLATILE_FLAG_0_IN_FURNACE_FUN_QUIZ) && !fileProgressFlag_get(FILEPROG_A6_FURNACE_FUN_COMPLETE) ){ - func_80356540(FILEPROG_A7_NEAR_PUZZLE_PODIUM_TEXT); + volatileFlag_setAndTriggerDialog_4(VOLATILE_FLAG_A7_FF_FOUND_EXTRALIFE); func_8030E6D4(SFX_127_AUDIENCE_MIXED); } func_8025A6EC(COMUSIC_15_EXTRA_LIFE_COLLECTED, 0x7FFF); @@ -715,7 +715,7 @@ void __baMarker_resolveCollision(Prop *other_prop){ if(ability_isUnlocked(ABILITY_D_SHOCK_JUMP)){ miscflag_set(MISC_FLAG_2_ON_SPRING_PAD); }else{ - if(!volatileFlag_getAndSet(0xC, 1)){ + if(!volatileFlag_getAndSet(VOLATILE_FLAG_C, 1)){ func_80311480(0xA24, 4, 0, 0, 0, 0); } } @@ -727,7 +727,7 @@ void __baMarker_resolveCollision(Prop *other_prop){ if(ability_isUnlocked(ABILITY_9_FLIGHT)){ miscflag_set(MISC_FLAG_1_ON_FLIGHT_PAD); } - else if(! volatileFlag_getAndSet(0xD, 1)){ + else if(! volatileFlag_getAndSet(VOLATILE_FLAG_D, 1)){ func_80311480(0xA25, 4, 0, 0, 0, 0); } break; diff --git a/src/core2/ch/climbBase.c b/src/core2/ch/climbBase.c index 348d0812..d4446371 100644 --- a/src/core2/ch/climbBase.c +++ b/src/core2/ch/climbBase.c @@ -77,7 +77,7 @@ void func_802D77D4(Actor *this) { ml_vec3f_diff_copy(sp4C, this->position, sp40); if (((sp4C[0] * sp4C[0]) + (sp4C[2] * sp4C[2])) < (sp3C * sp3C)) { if ((this->position[1] < sp40[1]) && (sp40[1] <= local->unk0[1])) { - if (volatileFlag_get(VOLATILE_FLAG_2) == 0) { + if (volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME) == 0) { func_8028F738(this->position, local->unk0, (f32)this->unkF4_8, local->unkC); } } diff --git a/src/core2/ch/crab.c b/src/core2/ch/crab.c index 0fe0900a..81f6b17b 100644 --- a/src/core2/ch/crab.c +++ b/src/core2/ch/crab.c @@ -246,7 +246,7 @@ void chCrab_update(Actor *this) { if (!jiggyscore_isCollected(JIGGY_10_TTC_SANDCASTLE)) { mapSpecificFlags_set(1, 0); } - if (volatileFlag_get(VOLATILE_FLAG_2)) { + if (volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)) { marker_despawn(this->marker); return; } @@ -279,7 +279,7 @@ void chCrab_update(Actor *this) { if (map_get() == MAP_A_TTC_SANDCASTLE) { if( !mapSpecificFlags_get(0) && levelSpecificFlags_get(2) - && !volatileFlag_get(VOLATILE_FLAG_2) + && !volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME) && !jiggyscore_isCollected(JIGGY_10_TTC_SANDCASTLE) && func_80329530(this, 1600) ) { diff --git a/src/core2/ch/jiggy.c b/src/core2/ch/jiggy.c index 5a1a3c86..04efbefa 100644 --- a/src/core2/ch/jiggy.c +++ b/src/core2/ch/jiggy.c @@ -1,6 +1,7 @@ #include #include "functions.h" #include "variables.h" +#include "enums.h" extern void func_802BE720(void); extern f32 func_8033A244(f32); @@ -71,7 +72,7 @@ void func_802C7B6C(u32 arg0){ mapSpecificFlags_set(arg0, 0); } -void func_802C7B8C(Actor *this, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6){ +void func_802C7B8C(Actor *this, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, enum volatile_flags_e arg6){ if( !mapSpecificFlags_get(arg1) && mapSpecificFlags_get(arg2) && item_getCount(ITEM_0_HOURGLASS_TIMER) == 0 @@ -79,7 +80,7 @@ void func_802C7B8C(Actor *this, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5 func_8028FCC8(1); actor_collisionOff(this); func_802BAFE4(arg3); - func_80356520(arg6); + volatileFlag_setAndTriggerDialog_0(arg6); timedFunc_set_4(0.6f, (GenFunction_4)func_802C7AF8, (s32)this->position[0], (s32)this->position[1], (s32)this->position[2], arg4); timedFunc_set_2(0.6f, (GenFunction_2)func_802C7AB0, (s32)this->marker, arg5); timedFunc_set_0(1.0f, (GenFunction_0)func_802BE720); @@ -174,10 +175,10 @@ void chjiggy_update(Actor *this){ chjiggy_updateRotation(this); switch(chjiggy_getJiggyId(this)){ case JIGGY_20_BGS_ELEVATED_WALKWAY: //L802C7FE8 - func_802C7B8C(this, 4, 3, 0xD, 5, 2, 0xae); + func_802C7B8C(this, 4, 3, 0xD, 5, 2, VOLATILE_FLAG_AE_BGS_WALKWAY_JIGGY_MISSED); break; case JIGGY_25_BGS_MAZE://L802C8018 - func_802C7B8C(this, 0xd, 0xc, 0x1e, 9, 0xb, 0xaf); + func_802C7B8C(this, 0xd, 0xc, 0x1e, 9, 0xb, VOLATILE_FLAG_AF_BGS_MAZE_JIGGY_MISSED); break; case JIGGY_2F_FP_XMAS_TREE://L802C8048 if(levelSpecificFlags_get(0x29)) diff --git a/src/core2/code_14420.c b/src/core2/code_14420.c index 48d10aad..2853e03f 100644 --- a/src/core2/code_14420.c +++ b/src/core2/code_14420.c @@ -336,7 +336,7 @@ void func_8029B85C(ActorMarker *caller, enum asset_e text_id, s32 arg2){ } void func_8029B890(void){ - if(!fileProgressFlag_get(FILEPROG_A8_HAS_DIED) && !volatileFlag_get(VOLATILE_FLAG_2)){ + if(!fileProgressFlag_get(FILEPROG_A8_HAS_DIED) && !volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)){ func_803114D0(); if(bs_getState() == 0x54){ func_8029B62C(); diff --git a/src/core2/code_34790.c b/src/core2/code_34790.c index 5861d4de..e11df21e 100644 --- a/src/core2/code_34790.c +++ b/src/core2/code_34790.c @@ -341,7 +341,7 @@ void func_802BC2CC(s32 arg0) { if (volatileFlag_get(VOLATILE_FLAG_E) != 0) { func_80347A14(0); } - if (volatileFlag_getAndSet(0xE, 0) || func_802D686C() || (arg0 == 0x63) || !func_802BB720(arg0, D_8037D908, D_8037D918, &sp1C)) { + if (volatileFlag_getAndSet(VOLATILE_FLAG_E, 0) || func_802D686C() || (arg0 == 0x63) || !func_802BB720(arg0, D_8037D908, D_8037D918, &sp1C)) { if (ncCameraType == CAMERA_TYPE_2_DYNAMIC) { func_802BE794(); } diff --git a/src/core2/code_41F30.c b/src/core2/code_41F30.c index 6351629c..bf53db7e 100644 --- a/src/core2/code_41F30.c +++ b/src/core2/code_41F30.c @@ -14,7 +14,7 @@ void chextralife_update(Actor *this){ if(!this->initialized){ func_8032AA58(this, 0.8f); this->initialized = TRUE; - if(volatileFlag_get(VOLATILE_FLAG_1) || volatileFlag_get(VOLATILE_FLAG_2)){ + if(volatileFlag_get(VOLATILE_FLAG_1) || volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)){ marker_despawn(this->marker); } } diff --git a/src/core2/code_42CB0.c b/src/core2/code_42CB0.c index 83c75f57..5aff03d2 100644 --- a/src/core2/code_42CB0.c +++ b/src/core2/code_42CB0.c @@ -105,7 +105,7 @@ void chHoneycomb_update(Actor *this){ local->uid = (!this->unk44_2)? D_8037DDC0 : func_802C9C40(this); if( honeycombscore_get(local->uid) || volatileFlag_get(VOLATILE_FLAG_1) - || volatileFlag_get(VOLATILE_FLAG_2) + || volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME) ){ marker_despawn(this->marker); return; diff --git a/src/core2/code_4C020.c b/src/core2/code_4C020.c index f026030e..899f9f31 100644 --- a/src/core2/code_4C020.c +++ b/src/core2/code_4C020.c @@ -574,7 +574,7 @@ void func_802D4680(Actor *this){ if(func_80258640(this->position, sp1C) < 150.0f && func_8028F20C()){ if(func_8028ECAC() == 0 || func_8028ECAC() == BSGROUP_8_TROT){ if(map_get() == MAP_8E_GL_FURNACE_FUN){ - volatileFlag_set(VOLATILE_FLAG_0, 0); + volatileFlag_set(VOLATILE_FLAG_0_IN_FURNACE_FUN_QUIZ, 0); func_802D4614(MAP_80_GL_FF_ENTRANCE); } else{ diff --git a/src/core2/code_59A80.c b/src/core2/code_59A80.c index 8b9ca3ae..8e3ea84a 100644 --- a/src/core2/code_59A80.c +++ b/src/core2/code_59A80.c @@ -70,7 +70,7 @@ void func_802E0B10(Actor *this){ } if( mumboscore_get(local->uid) || volatileFlag_get(VOLATILE_FLAG_1) - || volatileFlag_get(VOLATILE_FLAG_2) + || volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME) || volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE) ){ marker_despawn(this->marker); diff --git a/src/core2/code_5C870.c b/src/core2/code_5C870.c index 6f9c3bab..be774461 100644 --- a/src/core2/code_5C870.c +++ b/src/core2/code_5C870.c @@ -265,7 +265,7 @@ void func_802E3E7C(enum game_mode_e mode){ sp28 = D_8037E8E0.exit; prev_mode = D_8037E8E0.unk0; func_802E3BF8(GAME_MODE_2_UNKNOWN, 0); - if(!volatileFlag_getAndSet(0x21, 0) || map_getLevel(map_get()) == map_getLevel(D_8037E8E0.map)){ + if(!volatileFlag_getAndSet(VOLATILE_FLAG_21, 0) || map_getLevel(map_get()) == map_getLevel(D_8037E8E0.map)){ if(!volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE)) mapSavestate_save(map_get()); } diff --git a/src/core2/code_935F0.c b/src/core2/code_935F0.c index 5d6c8cd9..768a6044 100644 --- a/src/core2/code_935F0.c +++ b/src/core2/code_935F0.c @@ -136,7 +136,7 @@ void __chMinigame_setState(Actor *this, u32 arg1) { volatileFlag_set(VOLATILE_FLAG_4, 1); func_8028F918(2); func_8025AB00(); - func_8025A70C((volatileFlag_get(VOLATILE_FLAG_5)) ? COMUSIC_3B_MINIGAME_VICTORY : COMUSIC_3C_MINIGAME_LOSS); + func_8025A70C((volatileFlag_get(VOLATILE_FLAG_5_FF_MINIGAME_WON)) ? COMUSIC_3B_MINIGAME_VICTORY : COMUSIC_3C_MINIGAME_LOSS); func_802E4A70(); volatileFlag_set(VOLATILE_FLAG_21, TRUE); timedFunc_set_3(2.0f, (GenFunction_3)func_802E4078, MAP_8E_GL_FURNACE_FUN, 1, 1); @@ -154,7 +154,7 @@ void chMinigame_update(Actor *this){ this->unk16C_4 = 1; this->unk10_12 = __chminigame_getCurrentMapId(); actor_collisionOff(this); - if(!volatileFlag_get(VOLATILE_FLAG_2)){ + if(!volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)){ func_8031A678(this); return; } @@ -169,12 +169,12 @@ void chMinigame_update(Actor *this){ marker_despawn(this->marker); return; } - volatileFlag_set(VOLATILE_FLAG_5, 0); + volatileFlag_set(VOLATILE_FLAG_5_FF_MINIGAME_WON, 0); volatileFlag_set(VOLATILE_FLAG_3, 0); __chMinigame_setState(this, MINIGAME_STATE_1_INTRODUCE_GAME); gcpausemenu_80314AC8(0); } - if(volatileFlag_get(VOLATILE_FLAG_2)){ + if(volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)){ switch(this->state){ case MINIGAME_STATE_1_INTRODUCE_GAME://L8031AB2C if(this->unk138_24) diff --git a/src/core2/code_956B0.c b/src/core2/code_956B0.c index 68782a0d..c1f21473 100644 --- a/src/core2/code_956B0.c +++ b/src/core2/code_956B0.c @@ -297,7 +297,7 @@ void warp_gvEnterMatchingPyramid(s32 arg0, s32 arg1) { void warp_gvEnterWaterPyramidUpper(s32 arg0, s32 arg1) { func_80244C78(0); - volatileFlag_set(VOLATILE_FLAG_AC, 1); + volatileFlag_set(VOLATILE_FLAG_AC_GV_TRAPDOOR_MISSED, 1); func_8031CC8C(arg0, 0x1502); } @@ -534,7 +534,7 @@ void func_8031DAA8(s32 arg0, s32 arg1) { void func_8031DAE0(s32 arg0, s32 arg1) { if (mapSpecificFlags_get(2) == 0) { - volatileFlag_set(VOLATILE_FLAG_AD, 1); + volatileFlag_set(VOLATILE_FLAG_AD_MMM_CHURCH_DOOR_MISSED, 1); func_80244C78(0); mapSpecificFlags_set(2, 1); func_8025A6EC(COMUSIC_3B_MINIGAME_VICTORY, 0x6D60); diff --git a/src/core2/code_9A740.c b/src/core2/code_9A740.c index 8d237a8e..9fb56644 100644 --- a/src/core2/code_9A740.c +++ b/src/core2/code_9A740.c @@ -37,7 +37,7 @@ void func_803216D0(enum map_e map){ levelSpecificFlags_clear(); bsStoredState_clearTimers(); func_803219A8(); - if( volatileFlag_getAndSet(0x17, FALSE) + if( volatileFlag_getAndSet(VOLATILE_FLAG_17, FALSE) && getGameMode() != 0 && D_80383300.level != LEVEL_D_CUTSCENE && map != MAP_91_FILE_SELECT diff --git a/src/core2/code_9B990.c b/src/core2/code_9B990.c index fbfdb793..6be00859 100644 --- a/src/core2/code_9B990.c +++ b/src/core2/code_9B990.c @@ -286,7 +286,7 @@ void __overlay_bgs_release(void){ return; } void func_80322D38(void){ if( map_get() == MAP_10_BGS_MR_VILE - && volatileFlag_get(VOLATILE_FLAG_2) + && volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME) && volatileFlag_get(VOLATILE_FLAG_7_HAS_SEEN_VILE_FF_MINIGAME) ){ player_setTransformation(TRANSFORM_5_CROC); diff --git a/src/core2/code_A5BC0.c b/src/core2/code_A5BC0.c index e4e73cd2..26ce0b6f 100644 --- a/src/core2/code_A5BC0.c +++ b/src/core2/code_A5BC0.c @@ -888,7 +888,7 @@ void cube_fromFile(Struct61s *file_ptr, Cube *cube) { } if (file_getByte_ifExpected(file_ptr, 8, &sp47)) { - sp34 = volatileFlag_get(VOLATILE_FLAG_1) + volatileFlag_get(VOLATILE_FLAG_2) + volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE); + sp34 = volatileFlag_get(VOLATILE_FLAG_1) + volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME) + volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE); if ((sp34) && gcparade_8031B4CC()) { sp34 = 0; diff --git a/src/core2/code_BEF20.c b/src/core2/code_BEF20.c index 8ad89528..8811349a 100644 --- a/src/core2/code_BEF20.c +++ b/src/core2/code_BEF20.c @@ -250,7 +250,7 @@ void func_803465E4(void){ }//L8034667C if(D_80385FE0){ - if(gctransition_done() || volatileFlag_get(VOLATILE_FLAG_0)){ + if(gctransition_done() || volatileFlag_get(VOLATILE_FLAG_0_IN_FURNACE_FUN_QUIZ)){ if(D_80385FE4){ item_dec(ITEM_16_LIFE); func_802FACA4(ITEM_14_HEALTH); diff --git a/src/core2/code_CF3E0.c b/src/core2/code_CF3E0.c index e08e55f5..2a52de74 100644 --- a/src/core2/code_CF3E0.c +++ b/src/core2/code_CF3E0.c @@ -36,28 +36,28 @@ MapProgressFlagToDialogID fileProgressDialogMap[] = { /* This progress IDs are not saved in the save file, like when Banjo goes near a Note door which requires more notes than the Banjo has. */ /* Triggers a dialog every time after the game restarts. */ -MapProgressFlagToDialogID volatileProgressDialogMap[] = { - {0x9E, 0xBA3}, - {0x9F, 0xCE8}, - {0xA0, 0x1032}, - {0xA1, 0x1033}, - {0xA2, 0x1034}, - {0xA3, 0x1035}, - {0xA4, 0x1036}, - {0xA5, 0x1037}, - {0xA6, 0x1038}, - {0xA7, 0x1039}, - {0xA8, 0x103A}, - {0xA9, 0x103B}, - {0xAA, 0x103C}, - {0xAB, 0x103D}, - {0xAC, 0xA88}, - {0xAD, 0xAE2}, - {0xAE, 0xC8B}, - {0xAF, 0xC8C}, - {0xB0, 0xFBD}, - {0xC2, 0xE36}, - {0xC5, 0xDB6}, +MapProgressFlagToDialogID gVolatileFlagDialogMap[] = { + {VOLATILE_FLAG_9E_BETA_OILY_SCUM, 0xBA3}, // Oily scum (unused) + {VOLATILE_FLAG_9F_BETA_DIVE_IN_ICY_WATER, 0xCE8}, // Dive in icy water (unused) + {VOLATILE_FLAG_A0_FF_FIRST_ANSWER_RIGHT, 0x1032}, + {VOLATILE_FLAG_A1_FF_NEXT_ANSWER_RIGHT, 0x1033}, + {VOLATILE_FLAG_A2_FF_GRUNTY_ANSWER_RIGHT, 0x1034}, + {VOLATILE_FLAG_A3_FF_FIRST_ANSWER_WRONG, 0x1035}, + {VOLATILE_FLAG_A4_FF_NEXT_ANSWER_WRONG, 0x1036}, + {VOLATILE_FLAG_A5_FF_UNUSED, 0x1037}, // FF "the choice is yours" + {VOLATILE_FLAG_A6_FF_FOUND_HONEYCOMB, 0x1038}, + {VOLATILE_FLAG_A7_FF_FOUND_EXTRALIFE, 0x1039}, + {VOLATILE_FLAG_A8_FF_GOT_JOKER, 0x103A}, + {VOLATILE_FLAG_A9_FF_USED_JOKER, 0x103B}, + {VOLATILE_FLAG_AA_FF_LOW_HEALTH, 0x103C}, + {VOLATILE_FLAG_AB_LAST_LIFE_ON_SKULL, 0x103D}, + {VOLATILE_FLAG_AC_GV_TRAPDOOR_MISSED, 0xA88}, + {VOLATILE_FLAG_AD_MMM_CHURCH_DOOR_MISSED, 0xAE2}, + {VOLATILE_FLAG_AE_BGS_WALKWAY_JIGGY_MISSED, 0xC8B}, + {VOLATILE_FLAG_AF_BGS_MAZE_JIGGY_MISSED, 0xC8C}, + {VOLATILE_FLAG_B0_NOT_ENOUGH_NOTES, 0xFBD}, + {VOLATILE_FLAG_C2_NOBONUS_TEXT, 0xE36}, + {VOLATILE_FLAG_C5_WISHYWASHYBANJO_TEXT, 0xDB6}, { -1, -1} }; @@ -101,31 +101,34 @@ void func_8035646C(enum file_progress_e progress_flag) { } /* Checks for a specific "volatile" progress flag and triggers a dialog only if the progress flag was not set and sets the progress flag */ -s32 func_8035648C(s32 arg0, s32 arg1) { +s32 volatileFlag_setAndTriggerDialog(enum volatile_flags_e id, s32 arg1) { s32 index; - if (volatileFlag_get(arg0) != 0) { + if (volatileFlag_get(id) != 0) { return 0; } else { - index = __findIndex(volatileProgressDialogMap, arg0); + index = __findIndex(gVolatileFlagDialogMap, id); if (index != -1) { - if (func_80311480(volatileProgressDialogMap[index].value, arg1, 0, 0, 0, 0) != 0) { - volatileFlag_set(arg0, 1); + if (func_80311480(gVolatileFlagDialogMap[index].value, arg1, 0, 0, 0, 0) != 0) { + volatileFlag_set(id, 1); } - return volatileFlag_get(arg0); + return volatileFlag_get(id); } return 0; } } -void func_80356520(s32 arg0) { - func_8035648C(arg0, 0); +// called for dialogs when banjo is not fast enough to reach a door or jiggy and for NOBONUS text +void volatileFlag_setAndTriggerDialog_0(s32 arg0) { + volatileFlag_setAndTriggerDialog(arg0, 0); } -void func_80356540(s32 arg0) { - func_8035648C(arg0, 4); +// called for FFQ dialogs +void volatileFlag_setAndTriggerDialog_4(s32 arg0) { + volatileFlag_setAndTriggerDialog(arg0, 4); } -void func_80356560(s32 arg0) { - func_8035648C(arg0, 0xE); +// called for WISHYWASHYBANJO dialog +void volatileFlag_setAndTriggerDialog_E(s32 arg0) { + volatileFlag_setAndTriggerDialog(arg0, 0xE); } diff --git a/src/core2/gc/pauseMenu.c b/src/core2/gc/pauseMenu.c index 7c641ef4..cfc9ddbc 100644 --- a/src/core2/gc/pauseMenu.c +++ b/src/core2/gc/pauseMenu.c @@ -990,7 +990,7 @@ s32 gcPauseMenu_update(void){ case 1://L80313908 //return to lair volatileFlag_set(VOLATILE_FLAG_16, 1); if(map_get() == MAP_8E_GL_FURNACE_FUN){ - volatileFlag_set(VOLATILE_FLAG_0,0); + volatileFlag_set(VOLATILE_FLAG_0_IN_FURNACE_FUN_QUIZ,0); func_802E4078(MAP_80_GL_FF_ENTRANCE, 2, 1); }else{ func_802E4078(D_8036C560[level-1].map, D_8036C560[level-1].exit, 1); @@ -1003,7 +1003,7 @@ s32 gcPauseMenu_update(void){ break; case 3://L8031399C func_802C5994(); - volatileFlag_set(VOLATILE_FLAG_0,0); + volatileFlag_set(VOLATILE_FLAG_0_IN_FURNACE_FUN_QUIZ,0); if(!fileProgressFlag_get(FILEPROG_BD_ENTER_LAIR_CUTSCENE) || fileProgressFlag_get(FILEPROG_A6_FURNACE_FUN_COMPLETE)){ gcPauseMenu_setState(0x14); }else{ diff --git a/src/lair/code_0.c b/src/lair/code_0.c index 4c9a6d96..d8557607 100644 --- a/src/lair/code_0.c +++ b/src/lair/code_0.c @@ -741,7 +741,7 @@ void func_80387730(Actor *this) { } } } else if ((this->unkF4_8 >= 2) && (ml_distance_vec3f(spAC, this->position) < 290.0f)) { - func_80356520(0xB0); + volatileFlag_setAndTriggerDialog_0(VOLATILE_FLAG_B0_NOT_ENOUGH_NOTES); } } } diff --git a/src/lair/code_5ED0.c b/src/lair/code_5ED0.c index 6b82b958..8471031c 100644 --- a/src/lair/code_5ED0.c +++ b/src/lair/code_5ED0.c @@ -573,10 +573,10 @@ void lair_func_8038CD48(void) if (D_8037DCB8->UNK_18) lair_func_8038CC9C(); - if (!volatileFlag_get(VOLATILE_FLAG_1) && !volatileFlag_get(VOLATILE_FLAG_2)) - volatileFlag_set(VOLATILE_FLAG_0, FALSE); + if (!volatileFlag_get(VOLATILE_FLAG_1) && !volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)) + volatileFlag_set(VOLATILE_FLAG_0_IN_FURNACE_FUN_QUIZ, FALSE); - if (!volatileFlag_get(VOLATILE_FLAG_0)) + if (!volatileFlag_get(VOLATILE_FLAG_0_IN_FURNACE_FUN_QUIZ)) func_8038CCEC(); } @@ -626,7 +626,7 @@ void lair_func_8038CF18(void) D_8037DCB8->unk0 = mapModel_getModel(0); D_8037DCB8->unk11 = 0; - if (volatileFlag_get(VOLATILE_FLAG_2) && !volatileFlag_get(VOLATILE_FLAG_4)) + if (volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME) && !volatileFlag_get(VOLATILE_FLAG_4)) { quizQuestionAskedBitfield_free(); quizQuestionAskedBitfield_init(); @@ -666,7 +666,7 @@ void lair_func_8038CF18(void) } else { - if (volatileFlag_get(VOLATILE_FLAG_2)) + if (volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)) { levelSpecificFlags_clear(); func_8038D670(FFA_5_FORGET_MOVES_2); @@ -823,7 +823,7 @@ void func_8038D48C(void) void func_8038D4BC(void) { - volatileFlag_set(VOLATILE_FLAG_2, TRUE); + volatileFlag_set(VOLATILE_FLAG_2_FF_IN_MINIGAME, TRUE); func_802E4A70(); // restore moves after a delay @@ -959,17 +959,17 @@ void func_8038D670(enum FF_Action next_state) { if (((s32) D_8037DCB8->unk4->unk8 >= 7) && (quizQuestionAskedBitfield_get(func_8038D60C(D_8037DCB8->unk8)) == 0)) { item_adjustByDiffWithHud(ITEM_27_JOKER_CARD, D_8037DCB8->unk4->unk8 - 6); quizQuestionAskedBitfield_set(func_8038D60C(D_8037DCB8->unk8), TRUE); - func_80356540(0xA8); + volatileFlag_setAndTriggerDialog_4(VOLATILE_FLAG_A8_FF_GOT_JOKER); } if (D_8037DCB8->unk8 != 0x1EF) { func_8030E6A4(SFX_126_AUDIENCE_BOOING, 1.0f, 0x7FF8); if (D_8037DCB8->unk4->unk8 == FFTT_5_GRUNTY) { - func_80356540(0xA2); + volatileFlag_setAndTriggerDialog_4(VOLATILE_FLAG_A2_FF_GRUNTY_ANSWER_RIGHT); } - if (volatileFlag_get(VOLATILE_FLAG_A0)) { - func_80356540(0xA1); + if (volatileFlag_get(VOLATILE_FLAG_A0_FF_FIRST_ANSWER_RIGHT)) { + volatileFlag_setAndTriggerDialog_4(VOLATILE_FLAG_A1_FF_NEXT_ANSWER_RIGHT); } - func_80356540(0xA0); + volatileFlag_setAndTriggerDialog_4(VOLATILE_FLAG_A0_FF_FIRST_ANSWER_RIGHT); } } else { if (D_8037DCB8->unk4->unk8 == FFTT_6_SKULL) { @@ -995,10 +995,10 @@ void func_8038D670(enum FF_Action next_state) { quizQuestionAskedBitfield_set(func_8038D60C(D_8037DCB8->unk8), TRUE); lair_func_8038C640(D_8037DCB8->unk8, D_8037DCB8->unk4); } - if (volatileFlag_get(VOLATILE_FLAG_A3)) { - func_80356540(0xA4); + if (volatileFlag_get(VOLATILE_FLAG_A3_FF_FIRST_ANSWER_WRONG)) { + volatileFlag_setAndTriggerDialog_4(VOLATILE_FLAG_A4_FF_NEXT_ANSWER_WRONG); } - func_80356540(0xA3); + volatileFlag_setAndTriggerDialog_4(VOLATILE_FLAG_A3_FF_FIRST_ANSWER_WRONG); } break; @@ -1012,9 +1012,9 @@ void func_8038D670(enum FF_Action next_state) { func_8025AB00(); func_8025A70C(JINGLE_DOOR_OF_GRUNTY_OPENED); fileProgressFlag_set(FILEPROG_A6_FURNACE_FUN_COMPLETE, TRUE); - volatileFlag_set(VOLATILE_FLAG_0, FALSE); - volatileFlag_set(VOLATILE_FLAG_A6, TRUE); - volatileFlag_set(VOLATILE_FLAG_A7, TRUE); + volatileFlag_set(VOLATILE_FLAG_0_IN_FURNACE_FUN_QUIZ, FALSE); + volatileFlag_set(VOLATILE_FLAG_A6_FF_FOUND_HONEYCOMB, TRUE); + volatileFlag_set(VOLATILE_FLAG_A7_FF_FOUND_EXTRALIFE, TRUE); next_state = 9; mapSpecificFlags_set(0xA, TRUE); func_8028F918(2); @@ -1238,9 +1238,9 @@ void lair_func_8038E0B0(void) { fileProgressFlag_set(sp28, TRUE); } if ((sp38 == FFTT_6_SKULL) && (item_getCount(ITEM_16_LIFE) == 1)) { - func_80356540(0xAB); + volatileFlag_setAndTriggerDialog_4(VOLATILE_FLAG_AB_LAST_LIFE_ON_SKULL); } else if (item_getCount(ITEM_14_HEALTH) == 1) { - func_80356540(0xAA); + volatileFlag_setAndTriggerDialog_4(VOLATILE_FLAG_AA_FF_LOW_HEALTH); } if ((D_8037DCB8->unk4->unk9 == 2) && (func_8028ECAC() == 0)) { if (func_8028EFEC() && (sp48[FACE_BUTTON(BUTTON_A)] == 1)) { @@ -1256,7 +1256,7 @@ void lair_func_8038E0B0(void) { lair_func_8038C640(D_8037DCB8->unk8, D_8037DCB8->unk4); item_dec(ITEM_27_JOKER_CARD); func_8030E6D4(SFX_3EA_UNKNOWN); - func_80356540(0xA9); + volatileFlag_setAndTriggerDialog_4(VOLATILE_FLAG_A9_FF_USED_JOKER); if (D_8037DCB8->unk8 == 0x1EF) { func_8038D670(8); } @@ -1291,15 +1291,15 @@ void lair_func_8038E0B0(void) { break; case 5://L8038E684 - if (volatileFlag_get(VOLATILE_FLAG_2)) { + if (volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)) { if (volatileFlag_get(VOLATILE_FLAG_4)) { func_8038E070(); - D_8037DCB8->unkF = volatileFlag_get(VOLATILE_FLAG_5); + D_8037DCB8->unkF = volatileFlag_get(VOLATILE_FLAG_5_FF_MINIGAME_WON); func_8038D670(6); } else { func_8038D670(1); } - volatileFlag_set(VOLATILE_FLAG_2, FALSE); + volatileFlag_set(VOLATILE_FLAG_2_FF_IN_MINIGAME, FALSE); volatileFlag_set(VOLATILE_FLAG_4, FALSE); } break; @@ -1334,11 +1334,11 @@ void lair_func_8038E768(Gfx **dl, Mtx **m, Vtx **v) void func_8038E7C4(void) { - if (volatileFlag_get(VOLATILE_FLAG_0)) + if (volatileFlag_get(VOLATILE_FLAG_0_IN_FURNACE_FUN_QUIZ)) return; func_8038CE28(); - volatileFlag_set(VOLATILE_FLAG_0, TRUE); + volatileFlag_set(VOLATILE_FLAG_0_IN_FURNACE_FUN_QUIZ, TRUE); } /**