document more vola flags

This commit is contained in:
mariob92
2024-09-08 15:21:48 +02:00
parent 615e2bda33
commit 35f93d5505
42 changed files with 259 additions and 204 deletions

View File

@@ -230,7 +230,7 @@ enum file_progress_e{
}; };
enum volatile_flags_e { enum volatile_flags_e {
VOLATILE_FLAG_0, // FFQ VOLATILE_FLAG_0, // FFQ entered?
VOLATILE_FLAG_1, VOLATILE_FLAG_1,
VOLATILE_FLAG_2, VOLATILE_FLAG_2,
VOLATILE_FLAG_3, VOLATILE_FLAG_3,
@@ -255,53 +255,104 @@ enum volatile_flags_e {
VOLATILE_FLAG_16, VOLATILE_FLAG_16,
VOLATILE_FLAG_17, VOLATILE_FLAG_17,
VOLATILE_FLAG_18, VOLATILE_FLAG_18,
VOLATILE_FLAG_19,
VOLATILE_FLAG_1A, VOLATILE_FLAG_19_CURRENT_LEVEL_ID, // 4 bits for current level ID
VOLATILE_FLAG_1B,
VOLATILE_FLAG_1C, VOLATILE_FLAG_1D = 0x1D,
VOLATILE_FLAG_1D,
VOLATILE_FLAG_1E, VOLATILE_FLAG_1E,
VOLATILE_FLAG_1F_IN_CHARACTER_PARADE = 0x1F, VOLATILE_FLAG_1F_IN_CHARACTER_PARADE = 0x1F,
VOLATILE_FLAG_20_BEGIN_CHARACTER_PARADE, VOLATILE_FLAG_20_BEGIN_CHARACTER_PARADE,
VOLATILE_FLAG_21,
VOLATILE_FLAG_22,
VOLATILE_FLAG_73_SANDCASTLE_INFINITE_LIVES = 0x73, VOLATILE_FLAG_23_FINAL_BOSS_PHASE = 0x23, // 3 bits for current phase in final boss fight
VOLATILE_FLAG_26_FF_GRUNTY_QUESTIONS = 0x26, // 60 bits FFQ Grunty Question related (two bits for every question)
VOLATILE_FLAG_62_FF_GRUNTY_QUESTIONS_INITIALIZED = 0x62,
VOLATILE_FLAG_63, // related to demo mode
VOLATILE_FLAG_64, // related to demo mode
VOLATILE_FLAG_65_CHEAT_ENTERED,
VOLATILE_FLAG_66_SANDCASTLE_OPEN_DOOR_TWO,
VOLATILE_FLAG_67_SANDCASTLE_OPEN_DOOR_THREE,
VOLATILE_FLAG_68_SANDCASTLE_OPEN_DOOR_FOUR,
VOLATILE_FLAG_69_SANDCASTLE_OPEN_DOOR_FIVE,
VOLATILE_FLAG_6A_SANDCASTLE_OPEN_DOOR_SIX,
VOLATILE_FLAG_6B_SANDCASTLE_OPEN_DOOR_SEVEN,
VOLATILE_FLAG_6C_SANDCASTLE_PUZZLE_COMPLETE_CC,
VOLATILE_FLAG_6D_SANDCASTLE_PUZZLE_COMPLETE_BGS,
VOLATILE_FLAG_6E_SANDCASTLE_PUZZLE_COMPLETE_FP,
VOLATILE_FLAG_6F_SANDCASTLE_PUZZLE_COMPLETE_GV,
VOLATILE_FLAG_70_SANDCASTLE_PUZZLE_COMPLETE_MMM,
VOLATILE_FLAG_71_SANDCASTLE_PUZZLE_COMPLETE_RBB,
VOLATILE_FLAG_72_SANDCASTLE_PUZZLE_COMPLETE_CCC,
VOLATILE_FLAG_73_SANDCASTLE_INFINITE_LIVES,
VOLATILE_FLAG_74_SANDCASTLE_INFINITE_EGGS, VOLATILE_FLAG_74_SANDCASTLE_INFINITE_EGGS,
VOLATILE_FLAG_75_SANDCASTLE_INFINITE_RED_FEATHERS, VOLATILE_FLAG_75_SANDCASTLE_INFINITE_RED_FEATHERS,
VOLATILE_FLAG_76_SANDCASTLE_INFINITE_GOLD_FEATHERS, VOLATILE_FLAG_76_SANDCASTLE_INFINITE_GOLD_FEATHERS,
VOLATILE_FLAG_78_SANDCASTLE_NO_BONUS = 0x78, VOLATILE_FLAG_78_SANDCASTLE_NO_BONUS = 0x78,
VOLATILE_FLAG_7F_SANDCASTLE_OPEN_CC = 0x7F, VOLATILE_FLAG_7D_SANDCASTLE_RAISE_PIPES_TO_CC = 0x7D,
VOLATILE_FLAG_7E_SANDCASTLE_RAISE_PIPE_TO_BRENTILDA,
VOLATILE_FLAG_84_SANDCASTLE_OPEN_BGS = 0x84, VOLATILE_FLAG_7F_SANDCASTLE_OPEN_CC,
VOLATILE_FLAG_80_SANDCASTLE_REMOVE_GRILL_NEAR_BGS_JIGGY,
VOLATILE_FLAG_86_SANDCASTLE_SHOCKSPRING_JUMP_UNLOCKED = 0x86, VOLATILE_FLAG_81_SANDCASTLE_CCC_JIGGY_PODIUM,
VOLATILE_FLAG_87_SANDCASTLE_OPEN_GV,// 0X87 VOLATILE_FLAG_82_SANDCASTLE_REMOVE_GRILL_AND_HAT_FROM_STATUE,
VOLATILE_FLAG_83_SANDCASTLE_REMOVE_ICE,
VOLATILE_FLAG_8A_SANDCASTLE_FLIGHT_UNLOCKED = 0x8A,// 0X8A VOLATILE_FLAG_84_SANDCASTLE_OPEN_BGS,
VOLATILE_FLAG_8B_SANDCASTLE_OPEN_FP,// 0X8B VOLATILE_FLAG_85_SANDCASTLE_REMOVE_BREAKABLE_WALLS,
VOLATILE_FLAG_8C_SANDCASTLE_OPEN_MMM,// 0X8C VOLATILE_FLAG_86_SANDCASTLE_SHOCKSPRING_JUMP_UNLOCKED,
VOLATILE_FLAG_8D_SANDCASTLE_REMOVE_CRYPT_GATE,// 0X8D VOLATILE_FLAG_87_SANDCASTLE_OPEN_GV,
VOLATILE_FLAG_8E_SANDCASTLE_REMOVE_CRYPT_COFFIN_LID,// 0X8E VOLATILE_FLAG_88_SANDCASTLE_REMOVE_WEBS,
VOLATILE_FLAG_8F_SANDCASTLE_REMOVE_GRATE_NEAR_WATER_SWITCH,// 0X8F VOLATILE_FLAG_89_SANDCASTLE_REMOVE_GLASS_EYE,
VOLATILE_FLAG_8A_SANDCASTLE_FLIGHT_UNLOCKED,
VOLATILE_FLAG_8B_SANDCASTLE_OPEN_FP,
VOLATILE_FLAG_8C_SANDCASTLE_OPEN_MMM,
VOLATILE_FLAG_8D_SANDCASTLE_REMOVE_CRYPT_GATE,
VOLATILE_FLAG_8E_SANDCASTLE_REMOVE_CRYPT_COFFIN_LID,
VOLATILE_FLAG_8F_SANDCASTLE_REMOVE_GRATE_NEAR_WATER_SWITCH,
VOLATILE_FLAG_90_SANDCASTLE_OPEN_RBB, VOLATILE_FLAG_90_SANDCASTLE_OPEN_RBB,
VOLATILE_FLAG_91_SANDCASTLE_REMOVE_GRILL_NEAR_RBB_JIGGY,
VOLATILE_FLAG_92_SANDCASTLE_REMOVE_TUNNEL_GRILL_NEAR_RBB_JIGGY,
VOLATILE_FLAG_93_SANDCASTLE_OPEN_CCW,
VOLATILE_FLAG_94_SANDCASTLE_INFINITE_HEALTH,
VOLATILE_FLAG_95_SANDCASTLE_INFINTE_MUMBO_TOKENS,
VOLATILE_FLAG_96_SANDCASTLE_INFINITE_AIR,
VOLATILE_FLAG_97_SANDCASTLE_BOTTLES_BONUS_1,
VOLATILE_FLAG_98_SANDCASTLE_BOTTLES_BONUS_2,
VOLATILE_FLAG_99_SANDCASTLE_BOTTLES_BONUS_3,
VOLATILE_FLAG_9A_SANDCASTLE_BOTTLES_BONUS_4,
VOLATILE_FLAG_9B_SANDCASTLE_BOTTLES_BONUS_5,
VOLATILE_FLAG_9C_SANDCASTLE_BOTTLES_BONUS_6,
VOLATILE_FLAG_9D_SANDCASTLE_WISHY_WASHY,
VOLATILE_FLAG_93_SANDCASTLE_OPEN_CCW = 0x93, VOLATILE_FLAG_A0 = 0xA0,
VOLATILE_FLAG_94_SANDCASTLE_INFINITE_HEALTH,// 0X94 VOLATILE_FLAG_A1,
VOLATILE_FLAG_95_SANDCASTLE_INFINTE_MUMBO_TOKENS,// 0X95 VOLATILE_FLAG_A2,
VOLATILE_FLAG_96_SANDCASTLE_INFINITE_AIR,// 0X96 VOLATILE_FLAG_A3,
VOLATILE_FLAG_97_SANDCASTLE_BOTTLES_BONUS_1,// 0X97 VOLATILE_FLAG_A4,
VOLATILE_FLAG_98_SANDCASTLE_BOTTLES_BONUS_2,// 0X98 VOLATILE_FLAG_A5,
VOLATILE_FLAG_99_SANDCASTLE_BOTTLES_BONUS_3,// 0X99 VOLATILE_FLAG_A6,
VOLATILE_FLAG_9A_SANDCASTLE_BOTTLES_BONUS_4,// 0X9A VOLATILE_FLAG_A7,
VOLATILE_FLAG_9B_SANDCASTLE_BOTTLES_BONUS_5,// 0X9B
VOLATILE_FLAG_9C_SANDCASTLE_BOTTLES_BONUS_6,// 0X9C VOLATILE_FLAG_AC = 0xAC,
VOLATILE_FLAG_9D_SANDCASTLE_WISHY_WASHY,// 0X9D VOLATILE_FLAG_AD,
VOLATILE_FLAG_B2 = 0xB2,
VOLATILE_FLAG_B3,
VOLATILE_FLAG_B4,
VOLATILE_FLAG_BB = 0xBB,
VOLATILE_FLAG_BC,
VOLATILE_FLAG_BD,
VOLATILE_FLAG_BE,
VOLATILE_FLAG_BF,
VOLATILE_FLAG_C0_BEGIN_FINAL_CHARACTER_PARADE = 0xC0, VOLATILE_FLAG_C0_BEGIN_FINAL_CHARACTER_PARADE = 0xC0,
VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE, VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE,
VOLATILE_FLAG_C2_UNUSED, VOLATILE_FLAG_C2_UNUSED,
VOLATILE_FLAG_C3, // unk VOLATILE_FLAG_C3, // SNS picture related
VOLATILE_FLAG_C4_WOZZA_HIDE_IN_SNS_PARADE VOLATILE_FLAG_C4_WOZZA_HIDE_IN_SNS_PARADE
}; };
@@ -3373,7 +3424,7 @@ enum asset_e
// 56a FP Chimney // 56a FP Chimney
ASSET_56B_MODEL_SANDYBUTT_PYRAMID = 0x56B, ASSET_56B_MODEL_SANDYBUTT_PYRAMID = 0x56B,
// 56c The End Sign // 56c The End Sign
// 56d (Human Hand?) ASSET_56D_MUMBOS_HAND_WITH_PICTURE = 0x56D, // Mumbo's Hand with SNS pictures
// 56e Hammerhead Beach Scenery // 56e Hammerhead Beach Scenery
// Unused // Unused
// Unused // Unused

View File

@@ -565,6 +565,14 @@ extern void marker_setActorUpdateFunc(ActorMarker *marker, ActorUpdateFunc metho
extern void marker_setActorUpdate2Func(ActorMarker *marker, ActorUpdateFunc method); extern void marker_setActorUpdate2Func(ActorMarker *marker, ActorUpdateFunc method);
extern void marker_callCollisionFunc(ActorMarker *, ActorMarker *, enum marker_collision_func_type_e); extern void marker_callCollisionFunc(ActorMarker *, ActorMarker *, enum marker_collision_func_type_e);
extern enum marker_collision_func_type_e func_8033D574(struct5Cs *arg0); extern enum marker_collision_func_type_e func_8033D574(struct5Cs *arg0);
extern s32 volatileFlag_get(s32); // get volatile flag extern s32 volatileFlag_get(s32);
extern s32 volatileFlag_getN(s32 index, s32 numBits);
extern s32 volatileFlag_getAndSet(s32 index, s32 arg1);
extern void volatileFlag_set(s32 index, s32 set);
extern void volatileFlag_setN(s32 startIndex, s32 set, s32 length);
extern void itemscore_noteScores_clear(void);
extern s32 itemscore_noteScores_get(enum level_e lvl_id);
extern void itemscore_timeScores_clear(void);
#endif #endif

View File

@@ -113,8 +113,8 @@ void func_80388848(ActorMarker *this){
if(volatileFlag_get(VOLATILE_FLAG_2)){ if(volatileFlag_get(VOLATILE_FLAG_2)){
item_set(ITEM_6_HOURGLASS,0); item_set(ITEM_6_HOURGLASS,0);
volatileFlag_set(3,0); volatileFlag_set(VOLATILE_FLAG_3,0);
volatileFlag_set(5,1); volatileFlag_set(VOLATILE_FLAG_5,1);
} }
else{ else{
BGS_func_80388660(thisActor->marker); BGS_func_80388660(thisActor->marker);
@@ -328,8 +328,8 @@ void func_80389080(Actor *this){
if(volatileFlag_get(VOLATILE_FLAG_2)){ if(volatileFlag_get(VOLATILE_FLAG_2)){
if(item_empty(ITEM_0_HOURGLASS_TIMER)){ if(item_empty(ITEM_0_HOURGLASS_TIMER)){
item_set(ITEM_6_HOURGLASS,1); item_set(ITEM_6_HOURGLASS,1);
volatileFlag_set(3,0); volatileFlag_set(VOLATILE_FLAG_3,0);
volatileFlag_set(5,0); volatileFlag_set(VOLATILE_FLAG_5,0);
} }
} //L80389370 } //L80389370
else{ else{

View File

@@ -692,8 +692,8 @@ void chvilegame_update(Actor *this) {
} }
if (item_empty(ITEM_6_HOURGLASS)) { if (item_empty(ITEM_6_HOURGLASS)) {
if (volatileFlag_get(VOLATILE_FLAG_2)) { if (volatileFlag_get(VOLATILE_FLAG_2)) {
volatileFlag_set(3, 0); volatileFlag_set(VOLATILE_FLAG_3, 0);
volatileFlag_set(5, ( local->vile_score < local->player_score) ? TRUE : FALSE); volatileFlag_set(VOLATILE_FLAG_5, ( local->vile_score < local->player_score) ? TRUE : FALSE);
func_8038A068(this, 1); func_8038A068(this, 1);
} else if (local->vile_score < local->player_score) { } else if (local->vile_score < local->player_score) {
if (local->unkC == 3) { if (local->unkC == 3) {

View File

@@ -59,8 +59,8 @@ void func_803865F4(Actor *this, s32 next_state) {
if (next_state == 4) { if (next_state == 4) {
if (volatileFlag_get(VOLATILE_FLAG_2)) { if (volatileFlag_get(VOLATILE_FLAG_2)) {
item_set(ITEM_6_HOURGLASS, FALSE); item_set(ITEM_6_HOURGLASS, FALSE);
volatileFlag_set(3, 0); volatileFlag_set(VOLATILE_FLAG_3, 0);
volatileFlag_set(5, 1); volatileFlag_set(VOLATILE_FLAG_5, 1);
} else { } else {
func_80311480(0xCE4, 4, NULL, NULL, NULL, NULL); func_80311480(0xCE4, 4, NULL, NULL, NULL, NULL);
func_8025A58C(-1, 400); func_8025A58C(-1, 400);
@@ -211,7 +211,7 @@ 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) && item_empty(ITEM_0_HOURGLASS_TIMER)) {
item_set(ITEM_6_HOURGLASS, 0); item_set(ITEM_6_HOURGLASS, 0);
volatileFlag_set(3, 0); volatileFlag_set(VOLATILE_FLAG_3, 0);
volatileFlag_set(5, 0); volatileFlag_set(VOLATILE_FLAG_5, 0);
} }
} }

View File

@@ -152,9 +152,9 @@ void chcaterpillar_update(Actor *this){
if(ml_distance_vec3f(this->position, sp74) < 50.0f){ if(ml_distance_vec3f(this->position, sp74) < 50.0f){
func_8028F030(ACTOR_2A2_CATERPILLAR); func_8028F030(ACTOR_2A2_CATERPILLAR);
if(!volatileFlag_get(0xb2)){ if(!volatileFlag_get(VOLATILE_FLAG_B2)){
func_80311480(0xcc7, 4, NULL, NULL, NULL, NULL); func_80311480(0xcc7, 4, NULL, NULL, NULL, NULL);
volatileFlag_set(0xb2, TRUE); volatileFlag_set(VOLATILE_FLAG_B2, TRUE);
} }
FUNC_8030E8B4(SFX_C5_TWINKLY_POP, 1.0f, 25000, this->position, 0x1f4, 0x9c4); FUNC_8030E8B4(SFX_C5_TWINKLY_POP, 1.0f, 25000, this->position, 0x1f4, 0x9c4);
marker_despawn(this->marker); marker_despawn(this->marker);

View File

@@ -143,9 +143,9 @@ void func_80388B18(Actor *this, u8 arg1){
} }
} }
else{//L80388BB8 else{//L80388BB8
if(!volatileFlag_get(0xb3)){ if(!volatileFlag_get(VOLATILE_FLAG_B3)){
if(func_80311480(0xc01, 0xe, this->position, this->marker, func_80388D70, NULL)){ if(func_80311480(0xc01, 0xe, this->position, this->marker, func_80388D70, NULL)){
volatileFlag_set(0xb3, TRUE); volatileFlag_set(VOLATILE_FLAG_B3, TRUE);
func_80388A50(this); func_80388A50(this);
} }
} }
@@ -153,9 +153,9 @@ void func_80388B18(Actor *this, u8 arg1){
} }
else{//L80388C08 else{//L80388C08
if(player_getTransformation() == TRANSFORM_4_WALRUS){ if(player_getTransformation() == TRANSFORM_4_WALRUS){
if(!volatileFlag_get(0xb4)){ if(!volatileFlag_get(VOLATILE_FLAG_B4)){
if(func_80311480(0xc08, 0xe, this->position, this->marker, func_80388D70, NULL)){ if(func_80311480(0xc08, 0xe, this->position, this->marker, func_80388D70, NULL)){
volatileFlag_set(0xb4, TRUE); volatileFlag_set(VOLATILE_FLAG_B4, TRUE);
func_80388A50(this); func_80388A50(this);
} }
} }
@@ -476,13 +476,13 @@ void func_803896FC(Actor *this){
){ ){
if( local->unk19 == 1 if( local->unk19 == 1
&& player_getTransformation() != TRANSFORM_4_WALRUS && player_getTransformation() != TRANSFORM_4_WALRUS
&& volatileFlag_get(0xb3) && volatileFlag_get(VOLATILE_FLAG_B3)
){ ){
func_80311480(0xC01, 0xf, this->position, this->marker, func_80388D70, NULL); func_80311480(0xC01, 0xf, this->position, this->marker, func_80388D70, NULL);
} }
else if( local->unk19 == 2){ else if( local->unk19 == 2){
if( player_getTransformation() == TRANSFORM_4_WALRUS if( player_getTransformation() == TRANSFORM_4_WALRUS
&& volatileFlag_get(0xb4) && volatileFlag_get(VOLATILE_FLAG_B4)
){ ){
func_80311480(0xC08, 0xf, this->position, this->marker, func_80388D70, NULL); func_80311480(0xC08, 0xf, this->position, this->marker, func_80388D70, NULL);
} }

View File

@@ -42,7 +42,7 @@ void __chXmasTree_80386EF4(Actor *this, int arg1){
void __chXmasTree_80386F3C(void){ void __chXmasTree_80386F3C(void){
levelSpecificFlags_set(0x29, TRUE); levelSpecificFlags_set(0x29, TRUE);
func_803228D8(); func_803228D8();
volatileFlag_set(0xe, 1); volatileFlag_set(VOLATILE_FLAG_E, 1);
func_802E4078(MAP_53_FP_CHRISTMAS_TREE, 1, 0); func_802E4078(MAP_53_FP_CHRISTMAS_TREE, 1, 0);
} }

View File

@@ -80,8 +80,8 @@ void __matchingGame_setState(s32 next_state){
if(next_state == 3){ if(next_state == 3){
if(volatileFlag_get(VOLATILE_FLAG_2)){ if(volatileFlag_get(VOLATILE_FLAG_2)){
volatileFlag_set(3, 0); volatileFlag_set(VOLATILE_FLAG_3, 0);
volatileFlag_set(5, 0); volatileFlag_set(VOLATILE_FLAG_5, 0);
} }
else{ else{
func_8028F66C(BS_INTR_F); func_8028F66C(BS_INTR_F);
@@ -90,8 +90,8 @@ void __matchingGame_setState(s32 next_state){
if(next_state == 4){ if(next_state == 4){
if(volatileFlag_get(VOLATILE_FLAG_2)){ if(volatileFlag_get(VOLATILE_FLAG_2)){
volatileFlag_set(3, 0); volatileFlag_set(VOLATILE_FLAG_3, 0);
volatileFlag_set(5, 1); volatileFlag_set(VOLATILE_FLAG_5, 1);
} }
else{ else{
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 0x7fff); func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 0x7fff);

View File

@@ -39,7 +39,7 @@ void __waterCtrl_setState(s32 arg0){
if(GV_D_80391B00.state == 3){ if(GV_D_80391B00.state == 3){
levelSpecificFlags_set(6, TRUE); levelSpecificFlags_set(6, TRUE);
func_803228D8(); func_803228D8();
volatileFlag_set(0xe, 1); volatileFlag_set(VOLATILE_FLAG_E, 1);
func_802E4078(MAP_12_GV_GOBIS_VALLEY, 0, 0); func_802E4078(MAP_12_GV_GOBIS_VALLEY, 0, 0);
} }
} }

View File

@@ -21,7 +21,7 @@ void __chAnchorSwitch_setState(Actor *this, s32 arg1){
this->position_y -= 35.0f; this->position_y -= 35.0f;
if(this->state == 1){ if(this->state == 1){
levelSpecificFlags_set(0x30, TRUE); levelSpecificFlags_set(0x30, TRUE);
volatileFlag_set(0xe, 1); volatileFlag_set(VOLATILE_FLAG_E, 1);
timedFunc_set_0(1.0f, func_803228D8); timedFunc_set_0(1.0f, func_803228D8);
timedFunc_set_3(1.0f, (GenFunction_3)func_802E4078, MAP_31_RBB_RUSTY_BUCKET_BAY, 0, 0); timedFunc_set_3(1.0f, (GenFunction_3)func_802E4078, MAP_31_RBB_RUSTY_BUCKET_BAY, 0, 0);
} }

View File

@@ -362,8 +362,8 @@ void RBB_func_8038CC9C(Actor *this, s32 new_state){
func_8025AABC(COMUSIC_62_RBB_BOOMBOX); func_8025AABC(COMUSIC_62_RBB_BOOMBOX);
if(volatileFlag_get(VOLATILE_FLAG_2)){ if(volatileFlag_get(VOLATILE_FLAG_2)){
item_set(ITEM_6_HOURGLASS, 0); item_set(ITEM_6_HOURGLASS, 0);
volatileFlag_set(3, 0); volatileFlag_set(VOLATILE_FLAG_3, 0);
volatileFlag_set(5, 1); volatileFlag_set(VOLATILE_FLAG_5, 1);
} }
else{//L8038D220 else{//L8038D220
timedFunc_set_3(0.0f, (GenFunction_3)chbossboombox_respawnJiggy, (s32)this->position_x, (s32)this->position_y, (s32)this->position_z); timedFunc_set_3(0.0f, (GenFunction_3)chbossboombox_respawnJiggy, (s32)this->position_x, (s32)this->position_y, (s32)this->position_z);
@@ -574,8 +574,8 @@ void func_8038D8BC(Actor *this){
if(this->state == 3 || this->state == 4){ if(this->state == 3 || this->state == 4){
if(volatileFlag_get(VOLATILE_FLAG_2)){ if(volatileFlag_get(VOLATILE_FLAG_2)){
if(item_empty(ITEM_0_HOURGLASS_TIMER)){ if(item_empty(ITEM_0_HOURGLASS_TIMER)){
volatileFlag_set(3, 0); volatileFlag_set(VOLATILE_FLAG_3, 0);
volatileFlag_set(5, 0); volatileFlag_set(VOLATILE_FLAG_5, 0);
RBB_func_8038CC9C(this, 8); RBB_func_8038CC9C(this, 8);
} }
} }

View File

@@ -247,14 +247,14 @@ void func_8038ABA0(u32 arg0){
if(arg0 & 0x400){ if(arg0 & 0x400){
func_80356560(0xC5); func_80356560(0xC5);
} }
volatileFlag_set(0x78, 0); volatileFlag_set(VOLATILE_FLAG_78_SANDCASTLE_NO_BONUS, 0);
for(i = 4; i < 0xb; i++){ for(i = 4; i < 0xb; i++){
if( arg0 & (1 << i)){ if( arg0 & (1 << i)){
volatileFlag_set(0x93 + i, TRUE); volatileFlag_set(VOLATILE_FLAG_93_SANDCASTLE_OPEN_CCW + i, TRUE);
volatileFlag_set(0x78, TRUE); volatileFlag_set(VOLATILE_FLAG_78_SANDCASTLE_NO_BONUS, TRUE);
} }
else{ else{
volatileFlag_set(0x93 + i, FALSE); volatileFlag_set(VOLATILE_FLAG_93_SANDCASTLE_OPEN_CCW + i, FALSE);
} }
} }
} }
@@ -284,7 +284,7 @@ void func_8038AC48(LetterFloorTile *arg0) {
phi_s1 |= (0x10 << i); phi_s1 |= (0x10 << i);
} }
}; };
if (volatileFlag_get(0x78)) { if (volatileFlag_get(VOLATILE_FLAG_78_SANDCASTLE_NO_BONUS)) {
phi_s1 |= 0x800; phi_s1 |= 0x800;
} }
} }
@@ -310,8 +310,8 @@ void func_8038AC48(LetterFloorTile *arg0) {
if (temp_s5) { if (temp_s5) {
item_set(ITEM_6_HOURGLASS, FALSE); item_set(ITEM_6_HOURGLASS, FALSE);
volatileFlag_set(3, 0); volatileFlag_set(VOLATILE_FLAG_3, 0);
volatileFlag_set(5, 1); volatileFlag_set(VOLATILE_FLAG_5, 1);
func_8038A258(2); func_8038A258(2);
} else { } else {
var_v0 = i_ptr->unk4; var_v0 = i_ptr->unk4;
@@ -467,8 +467,8 @@ void func_8038B2F0(void) {
if ((D_8038D720.unk10 == 1) && item_empty(ITEM_0_HOURGLASS_TIMER)) { if ((D_8038D720.unk10 == 1) && item_empty(ITEM_0_HOURGLASS_TIMER)) {
func_8038A258(2); func_8038A258(2);
if (volatileFlag_get(VOLATILE_FLAG_2)) { if (volatileFlag_get(VOLATILE_FLAG_2)) {
volatileFlag_set(3, FALSE); volatileFlag_set(VOLATILE_FLAG_3, FALSE);
volatileFlag_set(5, FALSE); volatileFlag_set(VOLATILE_FLAG_5, FALSE);
} else { } else {
func_8028F66C(BS_INTR_F); func_8028F66C(BS_INTR_F);
} }
@@ -643,10 +643,10 @@ void func_8038B79C(s32 arg0, s32 arg1, s32 arg2, enum item_e item_id, s32 item_d
void func_8038B800(s32 secretCodeIndex) { void func_8038B800(s32 secretCodeIndex) {
struct_ttc_3E30_4_s *secretCode; struct_ttc_3E30_4_s *secretCode;
s32 sp38; enum volatile_flags_e volaflag_cheat_id;
secretCode = &secretCodesTable[secretCodeIndex]; secretCode = &secretCodesTable[secretCodeIndex];
sp38 = secretCode->id - 0x14; volaflag_cheat_id = secretCode->id - 0x14;
sns_set_item_and_update_payload(secretCode->id, 1, 1); sns_set_item_and_update_payload(secretCode->id, 1, 1);
func_8038B564(secretCodeIndex, 1, MAP_61_CCW_WINTER_NABNUTS_HOUSE, 0x83, 0x1B); func_8038B564(secretCodeIndex, 1, MAP_61_CCW_WINTER_NABNUTS_HOUSE, 0x83, 0x1B);
func_8038B564(secretCodeIndex, 2, MAP_3F_RBB_CAPTAINS_CABIN, 0x84, 0x1C); func_8038B564(secretCodeIndex, 2, MAP_3F_RBB_CAPTAINS_CABIN, 0x84, 0x1C);
@@ -657,8 +657,8 @@ void func_8038B800(s32 secretCodeIndex) {
func_8038B564(secretCodeIndex, 7, MAP_7F_FP_WOZZAS_CAVE, 0x89, 0x21); func_8038B564(secretCodeIndex, 7, MAP_7F_FP_WOZZAS_CAVE, 0x89, 0x21);
if (secretCode->id >= 0x14) { if (secretCode->id >= 0x14) {
func_8030E58C(SFX_2B_BULL_MOO_1, 1.5f); func_8030E58C(SFX_2B_BULL_MOO_1, 1.5f);
volatileFlag_set(0x65, 1); volatileFlag_set(VOLATILE_FLAG_65_CHEAT_ENTERED, 1);
volatileFlag_set(sp38, 1); volatileFlag_set(volaflag_cheat_id, 1);
} }
TTC_func_8038B6D4(0, secretCodeIndex, 0x6C, FILEPROG_60_CC_PUZZLE_PIECES_PLACED, 5, 3, FILEPROG_33_CC_OPEN); TTC_func_8038B6D4(0, secretCodeIndex, 0x6C, FILEPROG_60_CC_PUZZLE_PIECES_PLACED, 5, 3, FILEPROG_33_CC_OPEN);
TTC_func_8038B6D4(0, secretCodeIndex, 0x6D, FILEPROG_63_BGS_PUZZLE_PIECES_PLACED, 7, 3, FILEPROG_34_BGS_OPEN); TTC_func_8038B6D4(0, secretCodeIndex, 0x6D, FILEPROG_63_BGS_PUZZLE_PIECES_PLACED, 7, 3, FILEPROG_34_BGS_OPEN);
@@ -670,7 +670,7 @@ void func_8038B800(s32 secretCodeIndex) {
func_8038B79C(0, secretCodeIndex, 0x94, ITEM_15_HEALTH_TOTAL, 0, 8); func_8038B79C(0, secretCodeIndex, 0x94, ITEM_15_HEALTH_TOTAL, 0, 8);
func_8038B79C(0, secretCodeIndex, 0x77, ITEM_14_HEALTH, 0, item_getCount(ITEM_15_HEALTH_TOTAL)); func_8038B79C(0, secretCodeIndex, 0x77, ITEM_14_HEALTH, 0, item_getCount(ITEM_15_HEALTH_TOTAL));
func_8038B79C(0, secretCodeIndex, 0x95, ITEM_1C_MUMBO_TOKEN, 0, 99); func_8038B79C(0, secretCodeIndex, 0x95, ITEM_1C_MUMBO_TOKEN, 0, 99);
if (sp38 == 0x81) { if (volaflag_cheat_id == VOLATILE_FLAG_81_SANDCASTLE_CCC_JIGGY_PODIUM) {
fileProgressFlag_set(FILEPROG_53_CCW_PUZZLE_PODIUM_SWITCH_PRESSED, 1); fileProgressFlag_set(FILEPROG_53_CCW_PUZZLE_PODIUM_SWITCH_PRESSED, 1);
fileProgressFlag_set(FILEPROG_54_CCW_PUZZLE_PODIUM_ACTIVE, 1); fileProgressFlag_set(FILEPROG_54_CCW_PUZZLE_PODIUM_ACTIVE, 1);
} }

View File

@@ -182,9 +182,9 @@ void pfsManager_update(void) {
temp_t6 = demo_readInput(&pfsManagerContPadData, &sp5C) == 0; temp_t6 = demo_readInput(&pfsManagerContPadData, &sp5C) == 0;
if ((D_802812D0.button & s0) || temp_t6) { if ((D_802812D0.button & s0) || temp_t6) {
if (D_802812D0.button & s0) { if (D_802812D0.button & s0) {
volatileFlag_set(0x64, 1); volatileFlag_set(VOLATILE_FLAG_64, 1);
} else { } else {
volatileFlag_set(0x63, 1); volatileFlag_set(VOLATILE_FLAG_63, 1);
} }
} }
func_8033DD04(sp5C); func_8033DD04(sp5C);

View File

@@ -208,7 +208,7 @@ void __baMarker_8028BB1C(s32 arg0, u32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 a
if(!volatileFlag_get(sp24)){ if(!volatileFlag_get(sp24)){
volatileFlag_set(sp24, 1); volatileFlag_set(sp24, 1);
func_8030E6D4(SFX_90_SWITCH_PRESS); func_8030E6D4(SFX_90_SWITCH_PRESS);
volatileFlag_set(0xBF, 1); volatileFlag_set(VOLATILE_FLAG_BF, 1);
func_802D6264(1.0f, arg2, arg3, arg4, arg5, arg6); func_802D6264(1.0f, arg2, arg3, arg4, arg5, arg6);
} }
} }
@@ -216,7 +216,7 @@ void __baMarker_8028BB1C(s32 arg0, u32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 a
if(!fileProgressFlag_get(arg1)){ if(!fileProgressFlag_get(arg1)){
fileProgressFlag_set(arg1, 1); fileProgressFlag_set(arg1, 1);
func_8030E6D4(SFX_90_SWITCH_PRESS); func_8030E6D4(SFX_90_SWITCH_PRESS);
volatileFlag_set(0xBF, 1); volatileFlag_set(VOLATILE_FLAG_BF, 1);
func_802D6264(1.0f, arg2, arg3, arg4, arg5, arg6); func_802D6264(1.0f, arg2, arg3, arg4, arg5, arg6);
} }
} }
@@ -389,7 +389,7 @@ void __baMarker_resolveCollision(Prop *other_prop){
spAC[1] += 40.0f; spAC[1] += 40.0f;
if(func_802458E0(spAC, actor, 0x87) == 0) if(func_802458E0(spAC, actor, 0x87) == 0)
return; return;
volatileFlag_set(0x1E, 1); volatileFlag_set(VOLATILE_FLAG_1E, 1);
if(fileProgressFlag_get(((actor->unkF4_8 - 1) ^ 1) + 0x49)){ if(fileProgressFlag_get(((actor->unkF4_8 - 1) ^ 1) + 0x49)){
actor->unk10_12 = 2; actor->unk10_12 = 2;
} }

View File

@@ -154,8 +154,8 @@ void chCollectible_update(Actor *this) {
if(!this->unk38_0) if(!this->unk38_0)
return; return;
if (volatileFlag_getN(0x23, 3) != this->unk10_12) { if (volatileFlag_getN(VOLATILE_FLAG_23_FINAL_BOSS_PHASE, 3) != this->unk10_12) {
func_802D8C98(this, volatileFlag_getN(0x23, 3)); func_802D8C98(this, volatileFlag_getN(VOLATILE_FLAG_23_FINAL_BOSS_PHASE, 3));
} }
switch (this->state) { switch (this->state) {

View File

@@ -66,23 +66,23 @@ void chtrainers_update(Actor *this){
ml_vec3f_copy(this->unk1C, this->position); ml_vec3f_copy(this->unk1C, this->position);
this->velocity[0] = this->yaw; this->velocity[0] = this->yaw;
this->velocity[1] = 0.0f; this->velocity[1] = 0.0f;
this->unk10_12 = !volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE) && !volatileFlag_get(0x1); this->unk10_12 = !volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE) && !volatileFlag_get(VOLATILE_FLAG_1);
subaddie_set_state(this, 0); subaddie_set_state(this, 0);
} }
if(!volatileFlag_get(0xF) && ability_isUnlocked(ABILITY_11_TURBO_TALON)){ if(!volatileFlag_get(VOLATILE_FLAG_F) && ability_isUnlocked(ABILITY_11_TURBO_TALON)){
volatileFlag_set(0xF, TRUE); volatileFlag_set(VOLATILE_FLAG_F, TRUE);
} }
switch(this->state){ switch(this->state){
case 0://L802CA5A8 case 0://L802CA5A8
if(func_803296D8(this, 2000) || sp2C){ if(func_803296D8(this, 2000) || sp2C){
if( func_80329530(this, 0xfa) if( func_80329530(this, 0xfa)
&& !volatileFlag_get(0xf) && !volatileFlag_get(VOLATILE_FLAG_F)
&& player_getTransformation() == TRANSFORM_1_BANJO && player_getTransformation() == TRANSFORM_1_BANJO
){ ){
if(func_80311480(0xda4, 0, NULL, NULL, NULL, NULL)){ if(func_80311480(0xda4, 0, NULL, NULL, NULL, NULL)){
volatileFlag_set(0xf, TRUE); volatileFlag_set(VOLATILE_FLAG_F, TRUE);
} }
}//L802CA620 }//L802CA620
_chtrainers_802CA378(this, sp2C); _chtrainers_802CA378(this, sp2C);

View File

@@ -41,12 +41,12 @@ void chwadingboots_update(Actor *this){
if(!this->initialized){ if(!this->initialized){
this->initialized = TRUE; this->initialized = TRUE;
this->velocity[0] = this->yaw; this->velocity[0] = this->yaw;
this->unk10_12 = !volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE) && !volatileFlag_get(0x1); this->unk10_12 = !volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE) && !volatileFlag_get(VOLATILE_FLAG_1);
subaddie_set_state(this, 0); subaddie_set_state(this, 0);
} }
if(!volatileFlag_get(0x10) && ability_isUnlocked(ABILITY_E_WADING_BOOTS)){ if(!volatileFlag_get(VOLATILE_FLAG_10) && ability_isUnlocked(ABILITY_E_WADING_BOOTS)){
volatileFlag_set(0x10, TRUE); volatileFlag_set(VOLATILE_FLAG_10, TRUE);
} }
switch(this->state){ switch(this->state){
@@ -65,12 +65,12 @@ void chwadingboots_update(Actor *this){
} }
} }
if(volatileFlag_get(0x10)) break; if(volatileFlag_get(VOLATILE_FLAG_10)) break;
if(!func_80329530(this, 250)) break; if(!func_80329530(this, 250)) break;
if(player_getTransformation() != TRANSFORM_1_BANJO) break; if(player_getTransformation() != TRANSFORM_1_BANJO) break;
if(func_80311480(ASSET_DA5_DIALOG_WADINGBOOTS_MEET, 0, NULL, NULL, NULL, NULL)){ if(func_80311480(ASSET_DA5_DIALOG_WADINGBOOTS_MEET, 0, NULL, NULL, NULL, NULL)){
volatileFlag_set(0x10, TRUE); volatileFlag_set(VOLATILE_FLAG_10, TRUE);
} }
break; break;

View File

@@ -338,7 +338,7 @@ void func_802BC2CC(s32 arg0) {
f32 *sp20 = D_8037D918; f32 *sp20 = D_8037D918;
s32 sp1C; s32 sp1C;
if (volatileFlag_get(0xE) != 0) { if (volatileFlag_get(VOLATILE_FLAG_E) != 0) {
func_80347A14(0); func_80347A14(0);
} }
if (volatileFlag_getAndSet(0xE, 0) || func_802D686C() || (arg0 == 0x63) || !func_802BB720(arg0, D_8037D908, D_8037D918, &sp1C)) { if (volatileFlag_getAndSet(0xE, 0) || func_802D686C() || (arg0 == 0x63) || !func_802BB720(arg0, D_8037D908, D_8037D918, &sp1C)) {

View File

@@ -133,7 +133,7 @@ int func_8028ADB4(void){
} }
int func_8028ADF0(void){ int func_8028ADF0(void){
return volatileFlag_get(0x9d); return volatileFlag_get(VOLATILE_FLAG_9D_SANDCASTLE_WISHY_WASHY);
} }
bool func_8028AE10(void) { bool func_8028AE10(void) {

View File

@@ -14,7 +14,6 @@ extern void ml_vec3f_assign(f32[3], f32, f32, f32);
extern void func_802EE2E8(Actor *arg0, s32 arg1, s32 cnt, s32 arg3, f32 arg4, f32 arg5, f32 arg6); extern void func_802EE2E8(Actor *arg0, s32 arg1, s32 cnt, s32 arg3, f32 arg4, f32 arg5, f32 arg6);
extern void func_80319EA4(void); extern void func_80319EA4(void);
extern void fileProgressFlag_set(s32, bool); extern void fileProgressFlag_set(s32, bool);
extern void volatileFlag_set(s32, bool);
void func_802D3D54(Actor *this); void func_802D3D54(Actor *this);
void func_802D3DA4(Actor *this); void func_802D3DA4(Actor *this);
@@ -575,7 +574,7 @@ void func_802D4680(Actor *this){
if(func_80258640(this->position, sp1C) < 150.0f && func_8028F20C()){ if(func_80258640(this->position, sp1C) < 150.0f && func_8028F20C()){
if(func_8028ECAC() == 0 || func_8028ECAC() == BSGROUP_8_TROT){ if(func_8028ECAC() == 0 || func_8028ECAC() == BSGROUP_8_TROT){
if(map_get() == MAP_8E_GL_FURNACE_FUN){ if(map_get() == MAP_8E_GL_FURNACE_FUN){
volatileFlag_set(0, 0); volatileFlag_set(VOLATILE_FLAG_0, 0);
func_802D4614(MAP_80_GL_FF_ENTRANCE); func_802D4614(MAP_80_GL_FF_ENTRANCE);
} }
else{ else{
@@ -764,7 +763,7 @@ void func_802D5000(enum map_e map_id){
} }
void func_802D5058(enum map_e map_id, s32 arg1, bool arg2) { void func_802D5058(enum map_e map_id, s32 arg1, bool arg2) {
volatileFlag_set(1, 1); volatileFlag_set(VOLATILE_FLAG_1, 1);
D_80367684 = map_id; D_80367684 = map_id;
D_80367688 = arg1; D_80367688 = arg1;
if (arg2) { if (arg2) {
@@ -787,7 +786,7 @@ void func_802D5058(enum map_e map_id, s32 arg1, bool arg2) {
void func_802D5140(ActorMarker *caller, enum asset_e text_id, s32 arg2){ void func_802D5140(ActorMarker *caller, enum asset_e text_id, s32 arg2){
itemscore_noteScores_get(volatileFlag_getN(0x19, 4)); itemscore_noteScores_get(volatileFlag_getN(VOLATILE_FLAG_19_CURRENT_LEVEL_ID, 4));
} }
void func_802D5178(s32 arg0, enum file_progress_e arg1, s32 arg2, enum map_e arg3, s32 arg4, s32 arg5, enum actor_e arg6, s32 arg7){ void func_802D5178(s32 arg0, enum file_progress_e arg1, s32 arg2, enum map_e arg3, s32 arg4, s32 arg5, enum actor_e arg6, s32 arg7){
@@ -1023,16 +1022,16 @@ void func_802D5628(void){
func_802D5178(0x24, 0x30, 0x37, MAP_79_GL_CCW_LOBBY, 0xF, 0xB, ACTOR_234_CCW_ENTRANCE_DOOR, 0xA); func_802D5178(0x24, 0x30, 0x37, MAP_79_GL_CCW_LOBBY, 0xF, 0xB, ACTOR_234_CCW_ENTRANCE_DOOR, 0xA);
func_802D5178(0x20, 0x2C, 0x38, MAP_6F_GL_FP_LOBBY, 0x11, 0xA, ACTOR_235_FP_ENTANCE_DOOR, 0xA); func_802D5178(0x20, 0x2C, 0x38, MAP_6F_GL_FP_LOBBY, 0x11, 0xA, ACTOR_235_FP_ENTANCE_DOOR, 0xA);
func_802D5178(0x3F, 0xE2, 0x40, MAP_93_GL_DINGPOT, 0x10, 0xA, ACTOR_2E5_DOOR_OF_GRUNTY, 0x28); func_802D5178(0x3F, 0xE2, 0x40, MAP_93_GL_DINGPOT, 0x10, 0xA, ACTOR_2E5_DOOR_OF_GRUNTY, 0x28);
if(volatileFlag_get(0x18)){ if(volatileFlag_get(VOLATILE_FLAG_18)){
if(!fileProgressFlag_get(FILEPROG_99_PAST_50_NOTE_DOOR_TEXT)){ if(!fileProgressFlag_get(FILEPROG_99_PAST_50_NOTE_DOOR_TEXT)){
func_80311174(0xF75, 0xE, NULL, NULL, NULL, NULL, func_802D5140); func_80311174(0xF75, 0xE, NULL, NULL, NULL, NULL, func_802D5140);
fileProgressFlag_set(FILEPROG_99_PAST_50_NOTE_DOOR_TEXT, TRUE); fileProgressFlag_set(FILEPROG_99_PAST_50_NOTE_DOOR_TEXT, TRUE);
volatileFlag_set(0x18, 0); volatileFlag_set(VOLATILE_FLAG_18, 0);
} }
else{//L802D5DD8 else{//L802D5DD8
if(!volatileFlag_get(0x16)){ if(!volatileFlag_get(VOLATILE_FLAG_16)){
func_80311174(0xF77, 0x4, NULL, NULL, NULL, NULL, func_802D5140); func_80311174(0xF77, 0x4, NULL, NULL, NULL, NULL, func_802D5140);
volatileFlag_set(0x18, 0); volatileFlag_set(VOLATILE_FLAG_18, 0);
} }
} }
}//L802D5E18 }//L802D5E18
@@ -1045,7 +1044,7 @@ void func_802D5628(void){
&& !fileProgressFlag_get(FILEPROG_FC_DEFEAT_GRUNTY) && !fileProgressFlag_get(FILEPROG_FC_DEFEAT_GRUNTY)
){ ){
D_8037DE04 += time_getDelta(); D_8037DE04 += time_getDelta();
if(D_80367680 < D_8037DE04 && !volatileFlag_get(0x16)){ if(D_80367680 < D_8037DE04 && !volatileFlag_get(VOLATILE_FLAG_16)){
if(fileProgressFlag_get(FILEPROG_A6_FURNACE_FUN_COMPLETE)){ if(fileProgressFlag_get(FILEPROG_A6_FURNACE_FUN_COMPLETE)){
sp4C = 0xF9D; sp4C = 0xF9D;
} }
@@ -1057,10 +1056,10 @@ void func_802D5628(void){
D_8037DE00 = randi2(0xF86, sp4C); D_8037DE00 = randi2(0xF86, sp4C);
}//L802D5F1C }//L802D5F1C
if(volatileFlag_get(0x22)){ if(volatileFlag_get(VOLATILE_FLAG_22)){
if(func_80311480(0xF82, 4, NULL, NULL, NULL, NULL)){ if(func_80311480(0xF82, 4, NULL, NULL, NULL, NULL)){
fileProgressFlag_set(FILEPROG_C1_BADDIES_ESCAPE_TEXT, TRUE); fileProgressFlag_set(FILEPROG_C1_BADDIES_ESCAPE_TEXT, TRUE);
volatileFlag_set(0x22, 0); volatileFlag_set(VOLATILE_FLAG_22, 0);
D_8037DE04 = 0.0f; D_8037DE04 = 0.0f;
D_80367680 += 60.0; D_80367680 += 60.0;
if(300.0 < D_80367680) if(300.0 < D_80367680)
@@ -1112,7 +1111,7 @@ void func_802D6114(void){
if(map_getLevel(sp24) != map_getLevel(map_get())){ if(map_getLevel(sp24) != map_getLevel(map_get())){
func_802E4A70(); func_802E4A70();
}//L802D6194 }//L802D6194
volatileFlag_set(0x21, 1); volatileFlag_set(VOLATILE_FLAG_21, 1);
if(sp24 != 0x1C || !func_8025ADBC(COMUSIC_23_MMM_INSIDE_CHURCH)){ if(sp24 != 0x1C || !func_8025ADBC(COMUSIC_23_MMM_INSIDE_CHURCH)){
func_803228D8(); func_803228D8();
} }
@@ -1197,7 +1196,7 @@ void func_802D63D4(void){
default: //L802D6460 default: //L802D6460
func_802BAFE4(D_80367688); func_802BAFE4(D_80367688);
timedFuncQueue_update(); timedFuncQueue_update();
volatileFlag_set(0xbf, 0); volatileFlag_set(VOLATILE_FLAG_BF, 0);
func_802D6750(); func_802D6750();
break; break;
} }
@@ -1231,7 +1230,7 @@ void func_802D6494(void){
} }
break; break;
case ACTOR_210_BGS_ENTRANCE_DOOR:// L802D65F8 case ACTOR_210_BGS_ENTRANCE_DOOR:// L802D65F8
if(!volatileFlag_get(0x84)){ if(!volatileFlag_get(VOLATILE_FLAG_84_SANDCASTLE_OPEN_BGS)){
FUNC_8030E624(SFX_6B_LOCKUP_OPENING, 0.6f, 32000); FUNC_8030E624(SFX_6B_LOCKUP_OPENING, 0.6f, 32000);
func_8025A6CC(COMUSIC_64_WORLD_OPENING_A, 32000); func_8025A6CC(COMUSIC_64_WORLD_OPENING_A, 32000);
} }
@@ -1314,14 +1313,14 @@ s32 func_802D683C(s32 arg0){
} }
int func_802D686C(void){ int func_802D686C(void){
if(volatileFlag_get(0x1E)){ if(volatileFlag_get(VOLATILE_FLAG_1E)){
return FALSE; return FALSE;
} }
return map_get() == D_80367684; return map_get() == D_80367684;
} }
int func_802D68B4(void){ int func_802D68B4(void){
return func_802D686C() || volatileFlag_get(0x21); return func_802D686C() || volatileFlag_get(VOLATILE_FLAG_21);
} }
//BREAK???? //BREAK????

View File

@@ -22,7 +22,7 @@ ActorAnimationInfo D_80368300[] ={
f32 D_80368330[3] = {0.0f, 0.0f, 0.0f}; f32 D_80368330[3] = {0.0f, 0.0f, 0.0f};
ActorInfo D_8036833C = { ActorInfo D_8036833C = {
0x294, 0x19B, 0x56D, 0x294, 0x19B, ASSET_56D_MUMBOS_HAND_WITH_PICTURE,
0x1, D_80368300, 0x1, D_80368300,
func_802DEE1C, func_80326224, func_802DEC00, func_802DEE1C, func_80326224, func_802DEC00,
0, 0, 0.0f, 0 0, 0, 0.0f, 0

View File

@@ -189,7 +189,7 @@ void func_8028E4B0(void) {
sp20 = exit_get(); sp20 = exit_get();
D_8037BFB8 = 0; D_8037BFB8 = 0;
player_setPosition(D_803636C0); player_setPosition(D_803636C0);
if (volatileFlag_get(0xE) || func_802D686C() || (sp20 == 0x65)){ if (volatileFlag_get(VOLATILE_FLAG_E) || func_802D686C() || (sp20 == 0x65)){
return; return;
} }
if (sp20 == 0x63) { if (sp20 == 0x63) {

View File

@@ -163,7 +163,7 @@ s32 func_80318F60(enum ff_question_type_e question_type, s32 q_indx, s32 arg2) {
phi_v1 = arg2; phi_v1 = arg2;
} else { } else {
if (question_type == FFQT_3_GRUNTY) { if (question_type == FFQT_3_GRUNTY) {
phi_a0 = volatileFlag_getN((q_indx * 2) + 0x26, 2); phi_a0 = volatileFlag_getN((q_indx * 2) + VOLATILE_FLAG_26_FF_GRUNTY_QUESTIONS, 2);
} else { } else {
phi_a0 = 0; phi_a0 = 0;
} }

View File

@@ -130,15 +130,15 @@ void __chMinigame_setState(Actor *this, u32 arg1) {
break; break;
case MINIGAME_STATE_2_IN_PROGESS: case MINIGAME_STATE_2_IN_PROGESS:
func_8028F918(0); func_8028F918(0);
volatileFlag_set(3, 1); volatileFlag_set(VOLATILE_FLAG_3, 1);
break; break;
case MINIGAME_STATE_3_RETURN_TO_FF: case MINIGAME_STATE_3_RETURN_TO_FF:
volatileFlag_set(4, 1); volatileFlag_set(VOLATILE_FLAG_4, 1);
func_8028F918(2); func_8028F918(2);
func_8025AB00(); func_8025AB00();
func_8025A70C((volatileFlag_get(VOLATILE_FLAG_5)) ? COMUSIC_3B_MINIGAME_VICTORY : COMUSIC_3C_MINIGAME_LOSS); func_8025A70C((volatileFlag_get(VOLATILE_FLAG_5)) ? COMUSIC_3B_MINIGAME_VICTORY : COMUSIC_3C_MINIGAME_LOSS);
func_802E4A70(); func_802E4A70();
volatileFlag_set(0x21, TRUE); volatileFlag_set(VOLATILE_FLAG_21, TRUE);
timedFunc_set_3(2.0f, (GenFunction_3)func_802E4078, MAP_8E_GL_FURNACE_FUN, 1, 1); timedFunc_set_3(2.0f, (GenFunction_3)func_802E4078, MAP_8E_GL_FURNACE_FUN, 1, 1);
break; break;
} }
@@ -146,7 +146,7 @@ void __chMinigame_setState(Actor *this, u32 arg1) {
} }
void __chMinigame_free(Actor *this){ void __chMinigame_free(Actor *this){
volatileFlag_set(3, 0); volatileFlag_set(VOLATILE_FLAG_3, 0);
} }
void chMinigame_update(Actor *this){ void chMinigame_update(Actor *this){
@@ -169,8 +169,8 @@ void chMinigame_update(Actor *this){
marker_despawn(this->marker); marker_despawn(this->marker);
return; return;
} }
volatileFlag_set(5, 0); volatileFlag_set(VOLATILE_FLAG_5, 0);
volatileFlag_set(3, 0); volatileFlag_set(VOLATILE_FLAG_3, 0);
__chMinigame_setState(this, MINIGAME_STATE_1_INTRODUCE_GAME); __chMinigame_setState(this, MINIGAME_STATE_1_INTRODUCE_GAME);
gcpausemenu_80314AC8(0); gcpausemenu_80314AC8(0);
} }

View File

@@ -9,8 +9,6 @@ extern s32 fileProgressFlag_get(s32);
extern s32 fileProgressFlag_getN(s32 offset, s32 numBits); extern s32 fileProgressFlag_getN(s32 offset, s32 numBits);
extern void func_8031FFAC(void); extern void func_8031FFAC(void);
extern void fileProgressFlag_set(s32 index, s32 set); extern void fileProgressFlag_set(s32 index, s32 set);
extern void volatileFlag_clear(void);
extern void volatileFlag_set(s32 arg0, s32 arg1);
extern void ml_vec3h_to_vec3f(f32 *, s32); extern void ml_vec3h_to_vec3f(f32 *, s32);
extern NodeProp *func_80304ED0(void*, f32 *); extern NodeProp *func_80304ED0(void*, f32 *);
extern void func_8031CD44(s32, s32, f32, f32, s32); extern void func_8031CD44(s32, s32, f32, f32, s32);
@@ -299,7 +297,7 @@ void warp_gvEnterMatchingPyramid(s32 arg0, s32 arg1) {
void warp_gvEnterWaterPyramidUpper(s32 arg0, s32 arg1) { void warp_gvEnterWaterPyramidUpper(s32 arg0, s32 arg1) {
func_80244C78(0); func_80244C78(0);
volatileFlag_set(0xAC, 1); volatileFlag_set(VOLATILE_FLAG_AC, 1);
func_8031CC8C(arg0, 0x1502); func_8031CC8C(arg0, 0x1502);
} }
@@ -536,7 +534,7 @@ void func_8031DAA8(s32 arg0, s32 arg1) {
void func_8031DAE0(s32 arg0, s32 arg1) { void func_8031DAE0(s32 arg0, s32 arg1) {
if (mapSpecificFlags_get(2) == 0) { if (mapSpecificFlags_get(2) == 0) {
volatileFlag_set(0xAD, 1); volatileFlag_set(VOLATILE_FLAG_AD, 1);
func_80244C78(0); func_80244C78(0);
mapSpecificFlags_set(2, 1); mapSpecificFlags_set(2, 1);
func_8025A6EC(COMUSIC_3B_MINIGAME_VICTORY, 0x6D60); func_8025A6EC(COMUSIC_3B_MINIGAME_VICTORY, 0x6D60);

View File

@@ -247,8 +247,8 @@ s32 volatileFlag_get(s32 index) {
return bitfield_get_bit(gVolatileFlags.unk8, index); return bitfield_get_bit(gVolatileFlags.unk8, index);
} }
void volatileFlag_getN(s32 index, s32 numBits) { s32 volatileFlag_getN(s32 index, s32 numBits) {
bitfield_get_n_bits(gVolatileFlags.unk8, index, numBits); return bitfield_get_n_bits(gVolatileFlags.unk8, index, numBits);
} }
s32 volatileFlag_getAndSet(s32 index, s32 arg1) { s32 volatileFlag_getAndSet(s32 index, s32 arg1) {

View File

@@ -42,7 +42,7 @@ void func_803216D0(enum map_e map){
&& D_80383300.level != LEVEL_D_CUTSCENE && D_80383300.level != LEVEL_D_CUTSCENE
&& map != MAP_91_FILE_SELECT && map != MAP_91_FILE_SELECT
){ ){
volatileFlag_set(0x18, TRUE); volatileFlag_set(VOLATILE_FLAG_18, TRUE);
} }
if(D_80383300.level == LEVEL_9_RUSTY_BUCKET_BAY){ if(D_80383300.level == LEVEL_9_RUSTY_BUCKET_BAY){
@@ -74,7 +74,7 @@ void func_80321854(void){
&& fileProgressFlag_get(FILEPROG_31_MM_OPEN) && fileProgressFlag_get(FILEPROG_31_MM_OPEN)
&& !fileProgressFlag_get(FILEPROG_C1_BADDIES_ESCAPE_TEXT) && !fileProgressFlag_get(FILEPROG_C1_BADDIES_ESCAPE_TEXT)
){ ){
volatileFlag_set(0x22, 1); volatileFlag_set(VOLATILE_FLAG_22, 1);
} }
bsStoredState_8029A924(); //null bsStoredState_8029A924(); //null
func_803465BC(); //null func_803465BC(); //null

View File

@@ -528,7 +528,7 @@ void func_803268B4(void) {
if (suBaddieActorArray != NULL) { if (suBaddieActorArray != NULL) {
sp54 = volatileFlag_get(101); sp54 = volatileFlag_get(VOLATILE_FLAG_65_CHEAT_ENTERED);
for(temp_v1 = suBaddieActorArray->cnt - 1; temp_v1 >= 0; temp_v1--){ for(temp_v1 = suBaddieActorArray->cnt - 1; temp_v1 >= 0; temp_v1--){
actor = &suBaddieActorArray->data[temp_v1]; actor = &suBaddieActorArray->data[temp_v1];
actor_info = actor->actor_info; actor_info = actor->actor_info;
@@ -1517,7 +1517,7 @@ bool func_803294F0(Actor *this, s32 arg1, s32 arg2){
bool func_80329530(Actor *this, s32 dist){ bool func_80329530(Actor *this, s32 dist){
if( func_8028F098() if( func_8028F098()
&& !volatileFlag_get(0xBF) && !volatileFlag_get(VOLATILE_FLAG_BF)
&& subaddie_playerIsWithinSphere(this, dist) && subaddie_playerIsWithinSphere(this, dist)
){ ){
return TRUE; return TRUE;

View File

@@ -888,7 +888,7 @@ void cube_fromFile(Struct61s *file_ptr, Cube *cube) {
} }
if (file_getByte_ifExpected(file_ptr, 8, &sp47)) { if (file_getByte_ifExpected(file_ptr, 8, &sp47)) {
sp34 = volatileFlag_get(VOLATILE_FLAG_1) + volatileFlag_get(VOLATILE_FLAG_2) + volatileFlag_get(0x1F); sp34 = volatileFlag_get(VOLATILE_FLAG_1) + volatileFlag_get(VOLATILE_FLAG_2) + volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE);
if ((sp34) && gcparade_8031B4CC()) { if ((sp34) && gcparade_8031B4CC()) {
sp34 = 0; sp34 = 0;

View File

@@ -7,9 +7,6 @@ f32 time_getDelta(void);
void func_80346DB4(s32); void func_80346DB4(s32);
s32 item_adjustByDiffWithHud(enum item_e item, s32 diff); s32 item_adjustByDiffWithHud(enum item_e item, s32 diff);
void itemscore_noteScores_clear(void);
s32 itemscore_noteScores_get(enum level_e lvl_id);
void itemscore_timeScores_clear(void);
/* .bss */ /* .bss */
s32 D_80385F30[0x2C]; s32 D_80385F30[0x2C];
@@ -308,7 +305,7 @@ void func_803465E4(void){
}//L803469E4 }//L803469E4
}//L803469E4 }//L803469E4
if(!volatileFlag_get(0xbf)){ if(!volatileFlag_get(VOLATILE_FLAG_BF)){
for(i = 0; i < 6; i++){ for(i = 0; i < 6; i++){
if(D_80385F30[ITEM_6_HOURGLASS + i]){ if(D_80385F30[ITEM_6_HOURGLASS + i]){
func_80345EB0(ITEM_0_HOURGLASS_TIMER + i); func_80345EB0(ITEM_0_HOURGLASS_TIMER + i);
@@ -406,9 +403,9 @@ void func_80346DB4(s32 note_count) {
if (!levelSpecificFlags_get(0x34) && (func_80311480(0xF76, 0, NULL, NULL, NULL, NULL))) { if (!levelSpecificFlags_get(0x34) && (func_80311480(0xF76, 0, NULL, NULL, NULL, NULL))) {
levelSpecificFlags_set(0x34, TRUE); levelSpecificFlags_set(0x34, TRUE);
} }
if (volatileFlag_get(0x17) == 0) { if (volatileFlag_get(VOLATILE_FLAG_17) == 0) {
volatileFlag_set(0x17, 1); volatileFlag_set(VOLATILE_FLAG_17, 1);
volatileFlag_setN(0x19, level_id, 4); volatileFlag_setN(VOLATILE_FLAG_19_CURRENT_LEVEL_ID, level_id, 4);
} }
} }
} }
@@ -537,7 +534,7 @@ void func_8034789C(void) {
} else { } else {
D_80385F30[ITEM_15_HEALTH_TOTAL] = 5 + MIN(3, (sp1C / 6)); D_80385F30[ITEM_15_HEALTH_TOTAL] = 5 + MIN(3, (sp1C / 6));
} }
if (volatileFlag_get(0x94)) { if (volatileFlag_get(VOLATILE_FLAG_94_SANDCASTLE_INFINITE_HEALTH)) {
temp_v0 = D_80385F30[ITEM_15_HEALTH_TOTAL]; temp_v0 = D_80385F30[ITEM_15_HEALTH_TOTAL];
if (temp_v0 >= 9) { if (temp_v0 >= 9) {
D_80385F30[ITEM_15_HEALTH_TOTAL] = temp_v0; D_80385F30[ITEM_15_HEALTH_TOTAL] = temp_v0;
@@ -597,8 +594,8 @@ void func_80347A7C(void){
void func_80347AA8(void) { void func_80347AA8(void) {
volatileFlag_restoreAll(); volatileFlag_restoreAll();
volatileFlag_set(0x1F, FALSE); volatileFlag_set(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE, FALSE);
volatileFlag_set(0x20, FALSE); volatileFlag_set(VOLATILE_FLAG_20_BEGIN_CHARACTER_PARADE, FALSE);
volatileFlag_set(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE, FALSE); volatileFlag_set(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE, FALSE);
volatileFlag_set(VOLATILE_FLAG_C0_BEGIN_FINAL_CHARACTER_PARADE, FALSE); volatileFlag_set(VOLATILE_FLAG_C0_BEGIN_FINAL_CHARACTER_PARADE, FALSE);
item_set(ITEM_16_LIFE, D_80386068); item_set(ITEM_16_LIFE, D_80386068);

View File

@@ -207,7 +207,7 @@ void func_8034B8C0(enum map_e map_id, s32 demo_id) {
demo_load(map_id,demo_id); demo_load(map_id,demo_id);
D_80386118 = D_8038611C = 0; D_80386118 = D_8038611C = 0;
if (D_80386114->unk1 == 6) { if (D_80386114->unk1 == 6) {
volatileFlag_set(0x1F, 1); volatileFlag_set(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE, 1);
func_802E4A70(); func_802E4A70();
} }
if ((demo_id == 0x5B) || (demo_id == 0x5F)) { if ((demo_id == 0x5B) || (demo_id == 0x5F)) {
@@ -305,8 +305,8 @@ void func_8034BB90(void) {
&& sp18 && sp18
&& !D_8038611C && !D_8038611C
&& (getGameMode() != GAME_MODE_8_BOTTLES_BONUS) && (getGameMode() != GAME_MODE_8_BOTTLES_BONUS)
&& ((volatileFlag_get(0x64) && (getGameMode() != GAME_MODE_A_SNS_PICTURE)) && ((volatileFlag_get(VOLATILE_FLAG_64) && (getGameMode() != GAME_MODE_A_SNS_PICTURE))
|| volatileFlag_get(0x63)) || volatileFlag_get(VOLATILE_FLAG_63))
) { ) {
func_8034B7F0(D_80386114->unk1); func_8034B7F0(D_80386114->unk1);
if (getGameMode() == GAME_MODE_9_BANJO_AND_KAZOOIE) { if (getGameMode() == GAME_MODE_9_BANJO_AND_KAZOOIE) {
@@ -317,7 +317,7 @@ void func_8034BB90(void) {
} else { } else {
func_802DF0C8(); func_802DF0C8();
} }
} else if (volatileFlag_get(0x64)) { } else if (volatileFlag_get(VOLATILE_FLAG_64)) {
func_802E412C(1, D_80386114->unk5); func_802E412C(1, D_80386114->unk5);
func_8034B994(); func_8034B994();
} else { } else {
@@ -329,8 +329,8 @@ void func_8034BB90(void) {
func_8025A58C(0, 800); func_8025A58C(0, 800);
func_8025AB00(); func_8025AB00();
} }
volatileFlag_set(0x64, 0); volatileFlag_set(VOLATILE_FLAG_64, 0);
volatileFlag_set(0x63, 0); volatileFlag_set(VOLATILE_FLAG_63, 0);
D_8038611C = 1; D_8038611C = 1;
} }
} }

View File

@@ -33,8 +33,8 @@ int func_803616F0(Actor *this){
} }
void func_80361828(Actor *this){ void func_80361828(Actor *this){
if(volatileFlag_get(0x16) && level_get() == LEVEL_6_LAIR){ if(volatileFlag_get(VOLATILE_FLAG_16) && level_get() == LEVEL_6_LAIR){
volatileFlag_set(0x16, 0); volatileFlag_set(VOLATILE_FLAG_16, 0);
} }
} }
@@ -54,19 +54,19 @@ void func_80361870(Actor *this){
} }
} }
else if(func_803616F0(this)){ else if(func_803616F0(this)){
sp28 = (volatileFlag_get(0x16)?0xf6e:0xf68) + this->unkF4_8 - 1; sp28 = (volatileFlag_get(VOLATILE_FLAG_16)?0xf6e:0xf68) + this->unkF4_8 - 1;
if(!volatileFlag_get(0x16) && level_get() == LEVEL_6_LAIR){ if(!volatileFlag_get(VOLATILE_FLAG_16) && level_get() == LEVEL_6_LAIR){
this->unk138_24 = TRUE; this->unk138_24 = TRUE;
} }
else{ else{
if(func_80311480(sp28, 0, 0, 0, 0, 0)){ if(func_80311480(sp28, 0, 0, 0, 0, 0)){
this->unk138_24 = TRUE; this->unk138_24 = TRUE;
volatileFlag_set(0x16, 0); volatileFlag_set(VOLATILE_FLAG_16, 0);
} }
} }
} }
else{//L80361A14 else{//L80361A14
volatileFlag_set(0x16, 0); volatileFlag_set(VOLATILE_FLAG_16, 0);
} }
}//L80361A20 }//L80361A20
} }

View File

@@ -922,7 +922,7 @@ int func_80311174(s32 text_id, s32 arg1, f32 *pos, ActorMarker *marker, void(*ca
g_Dialog.unk148[temp_v1].unk20 = arg6; g_Dialog.unk148[temp_v1].unk20 = arg6;
g_Dialog.unk12C_15++; g_Dialog.unk12C_15++;
if(arg1 & 0x08){ if(arg1 & 0x08){
if(!( func_802E4A08() || volatileFlag_get(0x1f)) || !g_Dialog.unk128_3){//L8031141C if(!( func_802E4A08() || volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE)) || !g_Dialog.unk128_3){//L8031141C
if(!func_8028EC04()){ if(!func_8028EC04()){
if(pos != NULL){ if(pos != NULL){
func_8028F94C(2, pos); func_8028F94C(2, pos);

View File

@@ -7,7 +7,6 @@
extern void func_8028F918(s32); extern void func_8028F918(s32);
extern void func_80311714(int); extern void func_80311714(int);
extern void volatileFlag_set(s32, s32);
typedef struct struct_1C_s{ typedef struct struct_1C_s{
u8 map; u8 map;
@@ -166,7 +165,7 @@ void gcparade_8031ABF8(void) {
func_80347A7C(); func_80347A7C();
func_8031FBF8(); func_8031FBF8();
func_8031FBA0(); func_8031FBA0();
volatileFlag_set(0x1F, 1); volatileFlag_set(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE, 1);
if (D_803830F0.parade_id == PARADE_1_POST_GRUNTY_BATTLE) { if (D_803830F0.parade_id == PARADE_1_POST_GRUNTY_BATTLE) {
volatileFlag_set(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE, TRUE); volatileFlag_set(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE, TRUE);
} }
@@ -243,7 +242,7 @@ void gcparade_setState(enum parade_state_e next_state) {
timedFunc_set_1(0.25f, (GenFunction_1)gcparade_setState, (D_803830F0.indx == D_803830F0.count) ? PARADE_STATE_8_END : PARADE_STATE_3_WARP); timedFunc_set_1(0.25f, (GenFunction_1)gcparade_setState, (D_803830F0.indx == D_803830F0.count) ? PARADE_STATE_8_END : PARADE_STATE_3_WARP);
break; break;
case PARADE_STATE_8_END: case PARADE_STATE_8_END:
volatileFlag_set(0x1F, 0); volatileFlag_set(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE, 0);
volatileFlag_set(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE, FALSE); volatileFlag_set(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE, FALSE);
func_802E412C(1, 8); func_802E412C(1, 8);
func_802E40C4(0xA); func_802E40C4(0xA);
@@ -334,7 +333,7 @@ void gcparade_free(void){}
void gcparade_start(void){ void gcparade_start(void){
volatileFlag_set(VOLATILE_FLAG_20_BEGIN_CHARACTER_PARADE, FALSE); volatileFlag_set(VOLATILE_FLAG_20_BEGIN_CHARACTER_PARADE, FALSE);
volatileFlag_set(0x1F, TRUE); volatileFlag_set(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE, TRUE);
if(volatileFlag_getAndSet(VOLATILE_FLAG_C0_BEGIN_FINAL_CHARACTER_PARADE, FALSE)) if(volatileFlag_getAndSet(VOLATILE_FLAG_C0_BEGIN_FINAL_CHARACTER_PARADE, FALSE))
gcparade_setState(PARADE_STATE_2_INIT_FINAL_PARADE); gcparade_setState(PARADE_STATE_2_INIT_FINAL_PARADE);
else else

View File

@@ -988,9 +988,9 @@ s32 gcPauseMenu_update(void){
D_80383010.unk3_7 = 1; D_80383010.unk3_7 = 1;
break; break;
case 1://L80313908 //return to lair case 1://L80313908 //return to lair
volatileFlag_set(0x16, 1); volatileFlag_set(VOLATILE_FLAG_16, 1);
if(map_get() == MAP_8E_GL_FURNACE_FUN){ if(map_get() == MAP_8E_GL_FURNACE_FUN){
volatileFlag_set(0,0); volatileFlag_set(VOLATILE_FLAG_0,0);
func_802E4078(MAP_80_GL_FF_ENTRANCE, 2, 1); func_802E4078(MAP_80_GL_FF_ENTRANCE, 2, 1);
}else{ }else{
func_802E4078(D_8036C560[level-1].map, D_8036C560[level-1].exit, 1); func_802E4078(D_8036C560[level-1].map, D_8036C560[level-1].exit, 1);
@@ -1003,7 +1003,7 @@ s32 gcPauseMenu_update(void){
break; break;
case 3://L8031399C case 3://L8031399C
func_802C5994(); func_802C5994();
volatileFlag_set(0,0); volatileFlag_set(VOLATILE_FLAG_0,0);
if(!fileProgressFlag_get(FILEPROG_BD_ENTER_LAIR_CUTSCENE) || fileProgressFlag_get(FILEPROG_A6_FURNACE_FUN_COMPLETE)){ if(!fileProgressFlag_get(FILEPROG_BD_ENTER_LAIR_CUTSCENE) || fileProgressFlag_get(FILEPROG_A6_FURNACE_FUN_COMPLETE)){
gcPauseMenu_setState(0x14); gcPauseMenu_setState(0x14);
}else{ }else{
@@ -1431,7 +1431,7 @@ void gcpausemenu_80314B24(void){
void gcpausemenu_returnToLair(void){ void gcpausemenu_returnToLair(void){
s32 level = level_get(); s32 level = level_get();
if(0 < level && level < 0xC && D_8036C560[level-1].map != -1){ if(0 < level && level < 0xC && D_8036C560[level-1].map != -1){
volatileFlag_set(0x16, TRUE); volatileFlag_set(VOLATILE_FLAG_16, TRUE);
func_802E4078(D_8036C560[level-1].map, D_8036C560[level-1].exit, 1); func_802E4078(D_8036C560[level-1].map, D_8036C560[level-1].exit, 1);
} }
} }

View File

@@ -2237,7 +2237,7 @@ void chfinalboss_update(Actor *this){
chfinalboss_phase5_update(this->marker); chfinalboss_phase5_update(this->marker);
break; break;
} }
volatileFlag_setN(0x23, local->phase, 3); volatileFlag_setN(VOLATILE_FLAG_23_FINAL_BOSS_PHASE, local->phase, 3);
player_getPosition(D_80392788); player_getPosition(D_80392788);
D_80392798[0] = this->position[0]; D_80392798[0] = this->position[0];
D_80392798[1] = this->position[1]; D_80392798[1] = this->position[1];

View File

@@ -226,7 +226,7 @@ void func_8038F3B4(ActorMarker *marker, ActorMarker *other){
) return; ) return;
func_8038F084(marker); func_8038F084(marker);
switch(volatileFlag_getN(0x23, 3)){ switch(volatileFlag_getN(VOLATILE_FLAG_23_FINAL_BOSS_PHASE, 3)){
case 1: //8038F41C case 1: //8038F41C
if(!fight_D_803928E0 && func_80311480(randi2(0, 5) + 0x10f2, 0, 0, 0, 0, 0)) if(!fight_D_803928E0 && func_80311480(randi2(0, 5) + 0x10f2, 0, 0, 0, 0, 0))
fight_D_803928E0 = 1; fight_D_803928E0 = 1;

View File

@@ -26,7 +26,7 @@ void func_8038BA30(ActorMarker *marker, enum asset_e text_id, s32 arg2){
this = marker_getActor(marker); this = marker_getActor(marker);
phi_v1 = this->unk10_12*2; phi_v1 = this->unk10_12*2;
volatileFlag_getN(0x20 + this->unkF4_8*6 + phi_v1, 2); volatileFlag_getN(VOLATILE_FLAG_20_BEGIN_CHARACTER_PARADE + this->unkF4_8*6 + phi_v1, 2);
} }
void lair_func_8038BA88(ActorMarker *marker, enum asset_e text_id, s32 arg2){ void lair_func_8038BA88(ActorMarker *marker, enum asset_e text_id, s32 arg2){
@@ -63,23 +63,26 @@ void func_8038BBC0(Actor *this) {
} }
} }
void func_8038BC24(void) { void gzquiz_initGruntyQuestions(void) {
s32 temp_v0; s32 pattern;
s32 phi_s0; enum volatile_flags_e question_id;
s32 phi_s1; s32 i;
if (fileProgressFlag_get(FILEPROG_5C_FF_PATTERN_SET) && !volatileFlag_get(0x62)) { if (fileProgressFlag_get(FILEPROG_5C_FF_PATTERN_SET) && !volatileFlag_get(VOLATILE_FLAG_62_FF_GRUNTY_QUESTIONS_INITIALIZED)) {
rand_seed(fileProgressFlag_getN(FILEPROG_D3_FF_PATTERN, 8)); rand_seed(fileProgressFlag_getN(FILEPROG_D3_FF_PATTERN, 8));
for(phi_s1 = 0; phi_s1 < func_8031A45C(3); phi_s1++){
phi_s0 = 0x26 + 2*phi_s1; for(i = 0; i < func_8031A45C(FFQT_3_GRUNTY); i++){
temp_v0 = randi2(0, 3); question_id = VOLATILE_FLAG_26_FF_GRUNTY_QUESTIONS + 2 * i;
if (phi_s0 >= 0x61) { pattern = randi2(0, 3);
volatileFlag_setN(0x26, temp_v0, 2);
if (question_id >= 0x61) {
volatileFlag_setN(VOLATILE_FLAG_26_FF_GRUNTY_QUESTIONS, pattern, 2);
} else { } else {
volatileFlag_setN(phi_s0, temp_v0, 2); volatileFlag_setN(question_id, pattern, 2);
} }
} }
volatileFlag_set(0x62, 1);
volatileFlag_set(VOLATILE_FLAG_62_FF_GRUNTY_QUESTIONS_INITIALIZED, 1);
} }
} }
@@ -104,7 +107,7 @@ void chBrentilda_update(Actor *this) {
fileProgressFlag_setN(FILEPROG_D3_FF_PATTERN, randi2(0, 0x100), 8); fileProgressFlag_setN(FILEPROG_D3_FF_PATTERN, randi2(0, 0x100), 8);
fileProgressFlag_set(FILEPROG_5C_FF_PATTERN_SET, TRUE); fileProgressFlag_set(FILEPROG_5C_FF_PATTERN_SET, TRUE);
} }
func_8038BC24(); gzquiz_initGruntyQuestions();
actor_setOpacity(this, 0x40); actor_setOpacity(this, 0x40);
this->initialized = TRUE; this->initialized = TRUE;
} }

View File

@@ -354,7 +354,7 @@ void chWarpCauldron_update(Actor *this) {
func_8030E540(SFX_7C_CHEBOOF); func_8030E540(SFX_7C_CHEBOOF);
} }
if (actor_animationIsAt(this, 0.63f)) { if (actor_animationIsAt(this, 0.63f)) {
volatileFlag_set(0x1E, 0); volatileFlag_set(VOLATILE_FLAG_1E, 0);
func_802D677C(0); func_802D677C(0);
func_8028FCAC(); func_8028FCAC();
nodeprop_getPosition(func_80304C38(D_80393620[this->unkF4_8 - 1].unk6, this), sp54); nodeprop_getPosition(func_80304C38(D_80393620[this->unkF4_8 - 1].unk6, this), sp54);

View File

@@ -362,7 +362,7 @@ void func_803867A8(Actor *this) {
this->unk16C_4 = TRUE; this->unk16C_4 = TRUE;
this->unk158[0] = func_803866D8(0); this->unk158[0] = func_803866D8(0);
this->unk158[1] = func_803866D8(1); this->unk158[1] = func_803866D8(1);
if (volatileFlag_get(0x86)) { if (volatileFlag_get(VOLATILE_FLAG_86_SANDCASTLE_SHOCKSPRING_JUMP_UNLOCKED)) {
ability_unlock(ABILITY_D_SHOCK_JUMP); ability_unlock(ABILITY_D_SHOCK_JUMP);
fileProgressFlag_set(FILEPROG_C6_LAIR_JUMP_PAD_SWITCH_PRESSED, TRUE); fileProgressFlag_set(FILEPROG_C6_LAIR_JUMP_PAD_SWITCH_PRESSED, TRUE);
fileProgressFlag_set(FILEPROG_C7_LAIR_JUMP_PAD_ACTIVE, TRUE); fileProgressFlag_set(FILEPROG_C7_LAIR_JUMP_PAD_ACTIVE, TRUE);
@@ -463,7 +463,7 @@ void func_80386D78(Actor *this) {
if (!this->unk16C_4) { if (!this->unk16C_4) {
this->unk16C_4 = TRUE; this->unk16C_4 = TRUE;
if (volatileFlag_get(0x8A)) { if (volatileFlag_get(VOLATILE_FLAG_8A_SANDCASTLE_FLIGHT_UNLOCKED)) {
ability_unlock(ABILITY_9_FLIGHT); ability_unlock(ABILITY_9_FLIGHT);
mapSpecificFlags_set(0, TRUE); mapSpecificFlags_set(0, TRUE);
this->unk60 = 0.0f; this->unk60 = 0.0f;
@@ -472,7 +472,7 @@ void func_80386D78(Actor *this) {
} }
} }
if ((this->unk1C[1] - 150.0f) <= this->position[1]) { if ((this->unk1C[1] - 150.0f) <= this->position[1]) {
if (!volatileFlag_get(0x8A)) { if (!volatileFlag_get(VOLATILE_FLAG_8A_SANDCASTLE_FLIGHT_UNLOCKED)) {
if (this->unk60 != 0.0f) { if (this->unk60 != 0.0f) {
this->unk60 -= 1.0f; this->unk60 -= 1.0f;
if (this->unk60 == 0.0f) { if (this->unk60 == 0.0f) {
@@ -872,7 +872,7 @@ void func_803880BC(Actor *this)
__spawnQueue_add_1((GenFunction_1)func_80387E94, reinterpret_cast(s32, this->marker)); __spawnQueue_add_1((GenFunction_1)func_80387E94, reinterpret_cast(s32, this->marker));
if (volatileFlag_get(0xBC) && !fileProgressFlag_get(FILEPROG_9A_CC_WITCH_SWITCH_PRESSED)) if (volatileFlag_get(VOLATILE_FLAG_BC) && !fileProgressFlag_get(FILEPROG_9A_CC_WITCH_SWITCH_PRESSED))
FUNC_8030E624(SFX_3F6_UNKNOWN, 0.75f, 30000); FUNC_8030E624(SFX_3F6_UNKNOWN, 0.75f, 30000);
} }
@@ -892,7 +892,7 @@ void func_803880BC(Actor *this)
} }
} }
if (volatileFlag_get(0xBC) && !fileProgressFlag_get(FILEPROG_9B_LAIR_CC_WITCH_SWITCH_EYES_ACTIVE)) if (volatileFlag_get(VOLATILE_FLAG_BC) && !fileProgressFlag_get(FILEPROG_9B_LAIR_CC_WITCH_SWITCH_EYES_ACTIVE))
{ {
this->position_y += 1.7; this->position_y += 1.7;
@@ -944,7 +944,7 @@ void func_803882B0(Actor *this)
this->unk60 = 0; this->unk60 = 0;
} }
if (this->pitch == 90.f || !volatileFlag_get(0xBB)) if (this->pitch == 90.f || !volatileFlag_get(VOLATILE_FLAG_BB))
return; return;
if (this->pitch == 0) if (this->pitch == 0)
@@ -1300,7 +1300,7 @@ void func_80388FC8(Actor *this)
this->unk60 = 0; this->unk60 = 0;
if (volatileFlag_get(0x7D)) if (volatileFlag_get(VOLATILE_FLAG_7D_SANDCASTLE_RAISE_PIPES_TO_CC))
{ {
this->position_y = this->unk1C[1]; this->position_y = this->unk1C[1];
this->unk60 = 1.f; this->unk60 = 1.f;
@@ -1377,7 +1377,7 @@ void lair_func_80389204(Actor *this)
this->position_y -= 280.f; this->position_y -= 280.f;
this->unk60 = 0; this->unk60 = 0;
if (volatileFlag_get(0x7E)) if (volatileFlag_get(VOLATILE_FLAG_7E_SANDCASTLE_RAISE_PIPE_TO_BRENTILDA))
{ {
this->position_y = this->unk1C[1]; this->position_y = this->unk1C[1];
this->unk60 = 1.f; this->unk60 = 1.f;
@@ -1481,7 +1481,7 @@ void lair_func_803894B0(Actor *this)
return; return;
} }
this->unk1C[0] = volatileFlag_get(0xBD) ? 22 : 0; this->unk1C[0] = volatileFlag_get(VOLATILE_FLAG_BD) ? 22 : 0;
} }
if (!this->unk1C[0]) if (!this->unk1C[0])
@@ -1612,7 +1612,7 @@ void func_80389934(Actor *this)
{ {
case 21: case 21:
{ {
if (volatileFlag_get(0xBE)) if (volatileFlag_get(VOLATILE_FLAG_BE))
{ {
this->unk1C[0] = 25; this->unk1C[0] = 25;

View File

@@ -574,7 +574,7 @@ void lair_func_8038CD48(void)
lair_func_8038CC9C(); lair_func_8038CC9C();
if (!volatileFlag_get(VOLATILE_FLAG_1) && !volatileFlag_get(VOLATILE_FLAG_2)) if (!volatileFlag_get(VOLATILE_FLAG_1) && !volatileFlag_get(VOLATILE_FLAG_2))
volatileFlag_set(0, FALSE); volatileFlag_set(VOLATILE_FLAG_0, FALSE);
if (!volatileFlag_get(VOLATILE_FLAG_0)) if (!volatileFlag_get(VOLATILE_FLAG_0))
func_8038CCEC(); func_8038CCEC();
@@ -611,7 +611,7 @@ void func_8038CE28(void)
D_8037DCB8->currFfMode = 1; D_8037DCB8->currFfMode = 1;
D_8037DCB8->unk48 = malloc(0x90); D_8037DCB8->unk48 = malloc(0x90);
func_8038BC24(); gzquiz_initGruntyQuestions();
} }
void lair_func_8038CF18(void) void lair_func_8038CF18(void)
@@ -823,7 +823,7 @@ void func_8038D48C(void)
void func_8038D4BC(void) void func_8038D4BC(void)
{ {
volatileFlag_set(2, TRUE); volatileFlag_set(VOLATILE_FLAG_2, TRUE);
func_802E4A70(); func_802E4A70();
// restore moves after a delay // restore moves after a delay
@@ -966,7 +966,7 @@ void func_8038D670(enum FF_Action next_state) {
if (D_8037DCB8->unk4->unk8 == FFTT_5_GRUNTY) { if (D_8037DCB8->unk4->unk8 == FFTT_5_GRUNTY) {
func_80356540(0xA2); func_80356540(0xA2);
} }
if (volatileFlag_get(0xA0)) { if (volatileFlag_get(VOLATILE_FLAG_A0)) {
func_80356540(0xA1); func_80356540(0xA1);
} }
func_80356540(0xA0); func_80356540(0xA0);
@@ -995,7 +995,7 @@ void func_8038D670(enum FF_Action next_state) {
quizQuestionAskedBitfield_set(func_8038D60C(D_8037DCB8->unk8), TRUE); quizQuestionAskedBitfield_set(func_8038D60C(D_8037DCB8->unk8), TRUE);
lair_func_8038C640(D_8037DCB8->unk8, D_8037DCB8->unk4); lair_func_8038C640(D_8037DCB8->unk8, D_8037DCB8->unk4);
} }
if (volatileFlag_get(0xA3)) { if (volatileFlag_get(VOLATILE_FLAG_A3)) {
func_80356540(0xA4); func_80356540(0xA4);
} }
func_80356540(0xA3); func_80356540(0xA3);
@@ -1012,9 +1012,9 @@ void func_8038D670(enum FF_Action next_state) {
func_8025AB00(); func_8025AB00();
func_8025A70C(JINGLE_DOOR_OF_GRUNTY_OPENED); func_8025A70C(JINGLE_DOOR_OF_GRUNTY_OPENED);
fileProgressFlag_set(FILEPROG_A6_FURNACE_FUN_COMPLETE, TRUE); fileProgressFlag_set(FILEPROG_A6_FURNACE_FUN_COMPLETE, TRUE);
volatileFlag_set(0, FALSE); volatileFlag_set(VOLATILE_FLAG_0, FALSE);
volatileFlag_set(0xA6, TRUE); volatileFlag_set(VOLATILE_FLAG_A6, TRUE);
volatileFlag_set(0xA7, TRUE); volatileFlag_set(VOLATILE_FLAG_A7, TRUE);
next_state = 9; next_state = 9;
mapSpecificFlags_set(0xA, TRUE); mapSpecificFlags_set(0xA, TRUE);
func_8028F918(2); func_8028F918(2);
@@ -1284,7 +1284,7 @@ void lair_func_8038E0B0(void) {
case 4://L8038E64C case 4://L8038E64C
if (volatileFlag_get(VOLATILE_FLAG_1)) { if (volatileFlag_get(VOLATILE_FLAG_1)) {
volatileFlag_set(1, 0); volatileFlag_set(VOLATILE_FLAG_1, 0);
func_8038E070(); func_8038E070();
func_8025A55C(6000, 500, 0xA); func_8025A55C(6000, 500, 0xA);
} }
@@ -1299,8 +1299,8 @@ void lair_func_8038E0B0(void) {
} else { } else {
func_8038D670(1); func_8038D670(1);
} }
volatileFlag_set(2, FALSE); volatileFlag_set(VOLATILE_FLAG_2, FALSE);
volatileFlag_set(4, FALSE); volatileFlag_set(VOLATILE_FLAG_4, FALSE);
} }
break; break;
@@ -1338,7 +1338,7 @@ void func_8038E7C4(void)
return; return;
func_8038CE28(); func_8038CE28();
volatileFlag_set(0, TRUE); volatileFlag_set(VOLATILE_FLAG_0, TRUE);
} }
/** /**