document more vola flags
This commit is contained in:
@@ -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{
|
||||
|
@@ -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;
|
||||
|
@@ -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) {
|
||||
|
@@ -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);
|
||||
}
|
||||
}
|
||||
|
@@ -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:
|
||||
|
@@ -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);
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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);
|
||||
}
|
||||
}
|
||||
|
@@ -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));
|
||||
|
@@ -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);
|
||||
}
|
||||
}
|
||||
|
@@ -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;
|
||||
|
@@ -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;
|
||||
|
@@ -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);
|
||||
}
|
||||
}
|
||||
|
@@ -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)
|
||||
) {
|
||||
|
@@ -1,6 +1,7 @@
|
||||
#include <ultra64.h>
|
||||
#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))
|
||||
|
@@ -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();
|
||||
|
@@ -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();
|
||||
}
|
||||
|
@@ -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);
|
||||
}
|
||||
}
|
||||
|
@@ -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;
|
||||
|
@@ -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{
|
||||
|
@@ -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);
|
||||
|
@@ -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());
|
||||
}
|
||||
|
@@ -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)
|
||||
|
@@ -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);
|
||||
|
@@ -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
|
||||
|
@@ -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);
|
||||
|
@@ -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;
|
||||
|
@@ -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);
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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{
|
||||
|
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user