Merge branch 'mr-origin-65'

This commit is contained in:
Banjo Kazooie
2024-09-08 21:33:17 -05:00
143 changed files with 959 additions and 829 deletions

View File

@@ -229,59 +229,146 @@ enum file_progress_e{
FILEPROG_FD_BANNED_CHEATCODES_ENTERED //2 bit FILEPROG_FD_BANNED_CHEATCODES_ENTERED //2 bit
}; };
enum volatile_progress_e{ enum volatile_flags_e {
VOLAPROG_0_UNKNOWN VOLATILE_FLAG_0_IN_FURNACE_FUN_QUIZ,
}; VOLATILE_FLAG_1, // FF related
VOLATILE_FLAG_2_FF_IN_MINIGAME,
VOLATILE_FLAG_3, // FF related
VOLATILE_FLAG_4, // FF related
VOLATILE_FLAG_5_FF_MINIGAME_WON,
VOLATILE_FLAG_6_HAS_SEEN_BOSS_BOOM_BOX_FF_MINIGAME,
VOLATILE_FLAG_7_HAS_SEEN_VILE_FF_MINIGAME,
VOLATILE_FLAG_8_HAS_SEEN_MATCHING_PYRAMID_FF_MINIGAME,
VOLATILE_FLAG_9_HAS_SEEN_ZUBBAS_FF_MINIGAME,
VOLATILE_FLAG_A_HAS_SEEN_TIPTUP_FF_MINIGAME,
VOLATILE_FLAG_B_HAS_SEEN_SANDCASTLE_FF_MINIGAME,
VOLATILE_FLAG_C_HAS_SEEN_SPRING_PAD,
VOLATILE_FLAG_D_HAS_SEEN_FLIGHT_PAD,
VOLATILE_FLAG_E, // related to chxmastree, GV waterctrl and RBB anchorswitch
VOLATILE_FLAG_F_HAS_MEET_TURBO_SHOES,
VOLATILE_FLAG_10_HAS_MEET_WADING_BOOTS,
VOLATILE_FLAG_11, // unused
VOLATILE_FLAG_12, // unused
VOLATILE_FLAG_13_HAS_TRIGGERED_MUMBO_VACATION_TEXT,
VOLATILE_FLAG_14, // unused
VOLATILE_FLAG_15, // unused
VOLATILE_FLAG_16, // related to beta function "return to lair"
VOLATILE_FLAG_17, // 17 and 18: related to 50 note door and demo mode (?)
VOLATILE_FLAG_18, // 17 and 18: related to 50 note door and demo mode (?)
VOLATILE_FLAG_19_CURRENT_LEVEL_ID, // 4 bits for current level ID
// VOLATILE_FLAG_1A to VOLATILE_FLAG_1C belong to VOLATILE_FLAG_19_CURRENT_LEVEL_ID
VOLATILE_FLAG_1D = 0x1D, // unused
VOLATILE_FLAG_1E, // related to warp cauldron or dingpot
VOLATILE_FLAG_1F_IN_CHARACTER_PARADE,
VOLATILE_FLAG_20_BEGIN_CHARACTER_PARADE,
VOLATILE_FLAG_21, // related to FF
VOLATILE_FLAG_22, // related to baddies escape text
VOLATILE_FLAG_23_FINAL_BOSS_PHASE, // 3 bits for current phase in final boss fight
// VOLATILE_FLAG_24 to VOLATILE_FLAG_25 belong to VOLATILE_FLAG_23_FINAL_BOSS_PHASE
VOLATILE_FLAG_26_FF_GRUNTY_QUESTIONS = 0x26, // 60 bits FFQ Grunty Question related (two bits for every question)
// VOLATILE_FLAG_27 to VOLATILE_FLAG_61 belong to VOLATILE_FLAG_26_FF_GRUNTY_QUESTIONS
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_75_SANDCASTLE_INFINITE_RED_FEATHERS,
VOLATILE_FLAG_76_SANDCASTLE_INFINITE_GOLD_FEATHERS,
VOLATILE_FLAG_77, // unused
VOLATILE_FLAG_78_SANDCASTLE_NO_BONUS,
VOLATILE_FLAG_79, // unused
VOLATILE_FLAG_7A, // unused
VOLATILE_FLAG_7B, // unused
VOLATILE_FLAG_7C, // unused
VOLATILE_FLAG_7D_SANDCASTLE_RAISE_PIPES_TO_CC,
VOLATILE_FLAG_7E_SANDCASTLE_RAISE_PIPE_TO_BRENTILDA,
VOLATILE_FLAG_7F_SANDCASTLE_OPEN_CC,
VOLATILE_FLAG_80_SANDCASTLE_REMOVE_GRILL_NEAR_BGS_JIGGY,
VOLATILE_FLAG_81_SANDCASTLE_CCC_JIGGY_PODIUM,
VOLATILE_FLAG_82_SANDCASTLE_REMOVE_GRILL_AND_HAT_FROM_STATUE,
VOLATILE_FLAG_83_SANDCASTLE_REMOVE_ICE,
VOLATILE_FLAG_84_SANDCASTLE_OPEN_BGS,
VOLATILE_FLAG_85_SANDCASTLE_REMOVE_BREAKABLE_WALLS,
VOLATILE_FLAG_86_SANDCASTLE_SHOCKSPRING_JUMP_UNLOCKED,
VOLATILE_FLAG_87_SANDCASTLE_OPEN_GV,
VOLATILE_FLAG_88_SANDCASTLE_REMOVE_WEBS,
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_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_9E_BETA_OILY_SCUM,
VOLATILE_FLAG_9F_BETA_DIVE_IN_ICY_WATER,
VOLATILE_FLAG_A0_FF_FIRST_ANSWER_RIGHT,
VOLATILE_FLAG_A1_FF_NEXT_ANSWER_RIGHT,
VOLATILE_FLAG_A2_FF_GRUNTY_ANSWER_RIGHT,
VOLATILE_FLAG_A3_FF_FIRST_ANSWER_WRONG,
VOLATILE_FLAG_A4_FF_NEXT_ANSWER_WRONG,
VOLATILE_FLAG_A5_FF_UNUSED,
VOLATILE_FLAG_A6_FF_FOUND_HONEYCOMB,
VOLATILE_FLAG_A7_FF_FOUND_EXTRALIFE,
VOLATILE_FLAG_A8_FF_GOT_JOKER,
VOLATILE_FLAG_A9_FF_USED_JOKER,
VOLATILE_FLAG_AA_FF_LOW_HEALTH,
VOLATILE_FLAG_AB_LAST_LIFE_ON_SKULL,
VOLATILE_FLAG_AC_GV_TRAPDOOR_MISSED,
VOLATILE_FLAG_AD_MMM_CHURCH_DOOR_MISSED,
VOLATILE_FLAG_AE_BGS_WALKWAY_JIGGY_MISSED,
VOLATILE_FLAG_AF_BGS_MAZE_JIGGY_MISSED,
VOLATILE_FLAG_B0_NOT_ENOUGH_NOTES,
VOLATILE_FLAG_B1, // unused
VOLATILE_FLAG_B2, // ccw related
VOLATILE_FLAG_B3, // boggy2 related
VOLATILE_FLAG_B4, // fp related
VOLATILE_FLAG_B5, // ccw related
VOLATILE_FLAG_B6_WITCH_SWITCH_PRESSED_MM,
VOLATILE_FLAG_B7_WITCH_SWITCH_PRESSED_MMM,
VOLATILE_FLAG_B8_WITCH_SWITCH_PRESSED_TTC,
VOLATILE_FLAG_B9_WITCH_SWITCH_PRESSED_RBB,
VOLATILE_FLAG_BA_WITCH_SWITCH_PRESSED_CCW,
VOLATILE_FLAG_BB_WITCH_SWITCH_PRESSED_FP,
VOLATILE_FLAG_BC_WITCH_SWITCH_PRESSED_CC,
VOLATILE_FLAG_BD_WITCH_SWITCH_PRESSED_BGS,
VOLATILE_FLAG_BE_WITCH_SWITCH_PRESSED_GV,
VOLATILE_FLAG_BF, // witch switch related
VOLATILE_FLAG_C0_BEGIN_FINAL_CHARACTER_PARADE,
VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE,
VOLATILE_FLAG_C2_NOBONUS_TEXT,
VOLATILE_FLAG_C3, // SNS picture related
VOLATILE_FLAG_C4_WOZZA_HIDE_IN_SNS_PARADE,
VOLATILE_FLAG_C5_WISHYWASHYBANJO_TEXT,
enum unkflags_1{ VOLATILE_FLAG_NUM_FLAGS
UNKFLAGS1_6_HAS_SEEN_BOSS_BOOM_BOX_FF_MINIGAME = 0x6,
UNKFLAGS1_7_HAS_SEEN_VILE_FF_MINIGAME,
UNKFLAGS1_8_HAS_SEEN_MATCHING_PYRAMID_FF_MINIGAME,
UNKFLAGS1_9_HAS_SEEN_ZUBBAS_FF_MINIGAME,
UNKFLAGS1_A_HAS_SEEN_TIPTUP_FF_MINIGAME,
UNKFLAGS1_B_HAS_SEEN_SANDCASTLE_FF_MINIGAME,
UNKFLAGS1_13_HAS_TRIGGERED_MUMBO_VACATION_TEXT = 0x13,
UNKFLAGS1_1F_IN_CHARACTER_PARADE = 0x1F,
UNKFLAGS1_20_BEGIN_CHARACTER_PARADE,
UNKFLAGS1_73_SANDCASTLE_INFINITE_LIVES = 0x73,
UNKFLAGS1_74_SANDCASTLE_INFINITE_EGGS,
UNKFLAGS1_75_SANDCASTLE_INFINITE_RED_FEATHERS,
UNKFLAGS1_76_SANDCASTLE_INFINITE_GOLD_FEATHERS,
UNKFLAGS1_78_SANDCASTLE_NO_BONUS = 0x78,
UNKFLAGS1_7F_SANDCASTLE_OPEN_CC = 0x7F,
UNKFLAGS1_84_SANDCASTLE_OPEN_BGS = 0x84,
UNKFLAGS1_86_SANDCASTLE_SHOCKSPRING_JUMP_UNLOCKED = 0x86,
UNKFLAGS1_87_SANDCASTLE_OPEN_GV,// 0X87
UNKFLAGS1_8A_SANDCASTLE_FLIGHT_UNLOCKED = 0x8A,// 0X8A
UNKFLAGS1_8B_SANDCASTLE_OPEN_FP,// 0X8B
UNKFLAGS1_8C_SANDCASTLE_OPEN_MMM,// 0X8C
UNKFLAGS1_8D_SANDCASTLE_REMOVE_CRYPT_GATE,// 0X8D
UNKFLAGS1_8E_SANDCASTLE_REMOVE_CRYPT_COFFIN_LID,// 0X8E
UNKFLAGS1_8F_SANDCASTLE_REMOVE_GRATE_NEAR_WATER_SWITCH,// 0X8F
UNKFLAGS1_90_SANDCASTLE_OPEN_RBB,
UNKFLAGS1_93_SANDCASTLE_OPEN_CCW = 0x93,
UNKFLAGS1_94_SANDCASTLE_INFINITE_HEALTH,// 0X94
UNKFLAGS1_95_SANDCASTLE_INFINTE_MUMBO_TOKENS,// 0X95
UNKFLAGS1_96_SANDCASTLE_INFINITE_AIR,// 0X96
UNKFLAGS1_97_SANDCASTLE_BOTTLES_BONUS_1,// 0X97
UNKFLAGS1_98_SANDCASTLE_BOTTLES_BONUS_2,// 0X98
UNKFLAGS1_99_SANDCASTLE_BOTTLES_BONUS_3,// 0X99
UNKFLAGS1_9A_SANDCASTLE_BOTTLES_BONUS_4,// 0X9A
UNKFLAGS1_9B_SANDCASTLE_BOTTLES_BONUS_5,// 0X9B
UNKFLAGS1_9C_SANDCASTLE_BOTTLES_BONUS_6,// 0X9C
UNKFLAGS1_9D_SANDCASTLE_WISHY_WASHY,// 0X9D
UNKFLAGS1_C0_BEGIN_FINAL_CHARACTER_PARADE = 0xC0,
UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE
}; };
enum level_flags_e enum level_flags_e
@@ -3352,7 +3439,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
@@ -4666,22 +4753,36 @@ enum bswatergroup_e{
}; };
enum misc_flag_e{ enum misc_flag_e{
MISC_FLAG_1_ON_FLIGHT_PAD = 0x1, MISC_FLAG_0, // unused
MISC_FLAG_1_ON_FLIGHT_PAD,
MISC_FLAG_2_ON_SPRING_PAD, MISC_FLAG_2_ON_SPRING_PAD,
MISC_FLAG_3,
MISC_FLAG_4,
MISC_FLAG_5_HAS_PECKED,
MISC_FLAG_6,
MISC_FLAG_7,
MISC_FLAG_8,
MISC_FLAG_9,
MISC_FLAG_A,
MISC_FLAG_B,
MISC_FLAG_C,
MISC_FLAG_D, // unused
MISC_FLAG_E_TOUCHING_WADING_BOOTS,
MISC_FLAG_F, // related to A button ?
MISC_FLAG_10_TOUCHING_TURBO_TRAINERS,
MISC_FLAG_11, // unused
MISC_FLAG_12_HAS_FLAPPED, // has used flap
MISC_FLAG_13, // related to ground damage ?
MISC_FLAG_14_LOSE_BOGGY_RACE, // in difficult terrain (mud)
MISC_FLAG_15, // touching loadzone?
MISC_FLAG_16, // related to flying
MISC_FLAG_17_FIRST_PERSON_VIEW,
MISC_FLAG_18, // related to underwater state
MISC_FLAG_19, // related to transformations
MISC_FLAG_1A, // related to bee transformation
MISC_FLAG_1B_TRANSFORMING,
MISC_FLAG_5_HAS_PECKED = 0x5, MISC_FLAG_NUM_FLAGS
MISC_FLAG_E_TOUCHING_WADING_BOOTS = 0xE,
MISC_FLAG_10_TOUCHING_TURBO_TRAINERS = 0x10,
//0x12 has used flap
MISC_FLAG_12_HAS_FLAPPED = 0x12,
//0x13 in difficult terrain (mud)
MISC_FLAG_14_LOSE_BOGGY_RACE = 0x14,
//0x15 touching loadzone?
MISC_FLAG_17_FPV = 0x17,
MISC_FLAG_1B_TRANSFORMING = 0x1B
}; };
enum nc_first_person_state{ enum nc_first_person_state{
@@ -4691,4 +4792,10 @@ enum nc_first_person_state{
FIRSTPERSON_STATE_4_DONE FIRSTPERSON_STATE_4_DONE
}; };
enum marker_collision_func_type_e {
MARKER_COLLISION_FUNC_0, // active?
MARKER_COLLISION_FUNC_1, // passive?
MARKER_COLLISION_FUNC_2_DIE
};
#endif #endif

View File

@@ -20,6 +20,8 @@
#include "bsint.h" #include "bsint.h"
#include "generic.h" #include "generic.h"
#include "enums.h"
extern f32 fabsf(f32); extern f32 fabsf(f32);
#pragma intrinsic (fabsf) #pragma intrinsic (fabsf)
@@ -561,5 +563,23 @@ extern void spawnableActorList_add(ActorInfo *arg0, Actor *(*arg1)(s32[3], s32,
extern void spawnableActorList_addIfMapVisited(ActorInfo *arg0, Actor *(*arg1)(s32[3], s32, ActorInfo *, u32), u32 arg2, enum map_e arg3); extern void spawnableActorList_addIfMapVisited(ActorInfo *arg0, Actor *(*arg1)(s32[3], s32, ActorInfo *, u32), u32 arg2, enum map_e arg3);
extern void marker_setActorUpdateFunc(ActorMarker *marker, ActorUpdateFunc method); extern void marker_setActorUpdateFunc(ActorMarker *marker, ActorUpdateFunc method);
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 enum marker_collision_func_type_e func_8033D574(struct5Cs *arg0);
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);
extern void miscFlag_clearAll(void);
extern bool miscFlag_isTrue(enum misc_flag_e arg0);
extern bool miscFlag_isFalse(enum misc_flag_e arg0);
extern void miscFlag_set(enum misc_flag_e arg0);
extern void miscFlag_clear(enum misc_flag_e arg0);
extern void miscFlag_toggle(enum misc_flag_e arg0);
#endif #endif

View File

@@ -217,7 +217,7 @@ typedef struct actor_s{
}; };
//u8 padAC[0x44]; //u8 padAC[0x44];
f32 unkEC; //animCtrl??? f32 stored_animctrl_timer; // animCtrlTimer
f32 stored_animctrl_duration; //animCtrlDuration f32 stored_animctrl_duration; //animCtrlDuration
u32 unkF4_31:1; u32 unkF4_31:1;
u32 unkF4_30:1; // has something to do with vertices u32 unkF4_30:1; // has something to do with vertices
@@ -303,7 +303,7 @@ typedef struct actor_info_s{
s16 startAnimation; s16 startAnimation;
ActorAnimationInfo* animations; ActorAnimationInfo* animations;
void (* update_func)(Actor *); void (* update_func)(Actor *);
void (* unk10)(Actor *); void (* update2_func)(Actor *);
Actor* (* draw_func)(ActorMarker *, Gfx **, Mtx **, Vtx **); Actor* (* draw_func)(ActorMarker *, Gfx **, Mtx **, Vtx **);
u16 unk18; u16 unk18;
u16 draw_distance; u16 draw_distance;

View File

@@ -111,10 +111,10 @@ void func_80388848(ActorMarker *this){
if(sp1C != ++unqPtr->unk0) if(sp1C != ++unqPtr->unk0)
return; return;
if(func_803203FC(2)){ if(volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)){
item_set(ITEM_6_HOURGLASS,0); item_set(ITEM_6_HOURGLASS,0);
func_803204E4(3,0); volatileFlag_set(VOLATILE_FLAG_3,0);
func_803204E4(5,1); volatileFlag_set(VOLATILE_FLAG_5_FF_MINIGAME_WON,1);
} }
else{ else{
BGS_func_80388660(thisActor->marker); BGS_func_80388660(thisActor->marker);
@@ -173,12 +173,12 @@ void BGS_func_803888E4(Actor *this, s32 arg1){
}//L80388B7C }//L80388B7C
timed_exitStaticCamera(tmpf += 2.5); timed_exitStaticCamera(tmpf += 2.5);
if(!unqPtr->unkA && !func_803203FC(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); func_80324DBC(tmpf + 0.5, 0xc73, 0xe, this->position, this->marker, func_80388784, 0);
unqPtr->unkA = 1; unqPtr->unkA = 1;
} }
func_80324E38(sp54 = tmpf + 0.6, 0); func_80324E38(sp54 = tmpf + 0.6, 0);
if(func_803203FC(2)){ if(volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)){
timedFunc_set_1(sp54, (GenFunction_1)func_803886F4, reinterpret_cast(s32, this->marker)); timedFunc_set_1(sp54, (GenFunction_1)func_803886F4, reinterpret_cast(s32, this->marker));
}else{ }else{
this->state = 0x05; this->state = 0x05;
@@ -243,7 +243,7 @@ void func_80388E94(ActorMarker *this, s32 arg1){
else{ else{
func_8028F55C(1, thisActor->marker); func_8028F55C(1, thisActor->marker);
timedFunc_set_0(0.5f, BGS_func_80388760); timedFunc_set_0(0.5f, BGS_func_80388760);
if(!mapSpecificFlags_get(1) && !func_803203FC(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); mapSpecificFlags_set(1,TRUE);
} }
} }
@@ -292,12 +292,12 @@ void func_80389080(Actor *this){
unqPtr->unkA = fileProgressFlag_getN(0,2); unqPtr->unkA = fileProgressFlag_getN(0,2);
unqPtr->unkB = 0; unqPtr->unkB = 0;
unqPtr->unkC = 0.0f; unqPtr->unkC = 0.0f;
if(func_803203FC(2)){ if(volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)){
unqPtr->unkA = 3; unqPtr->unkA = 3;
this->position_y = this->position_y - 300.0f; this->position_y = this->position_y - 300.0f;
} }
BGS_func_803888E4(this, 1); BGS_func_803888E4(this, 1);
if(jiggyscore_isSpawned(JIGGY_27_BGS_TIPTUP) && !func_803203FC(2) && !func_803203FC(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); marker_despawn(this->marker);
} }
else{ else{
@@ -312,8 +312,8 @@ void func_80389080(Actor *this){
func_80258A4C(this->position, this->yaw - 90.0f, player_position, &sp38, &sp34, &sp30); func_80258A4C(this->position, this->yaw - 90.0f, player_position, &sp38, &sp34, &sp30);
this->yaw = this->yaw + 5.0f*sp30; this->yaw = this->yaw + 5.0f*sp30;
if(this->state == 1){ if(this->state == 1){
if(func_803203FC(2)){ if(volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)){
if(func_803203FC(3)){ if(volatileFlag_get(VOLATILE_FLAG_3)){
func_80324E38(0.0f,0); func_80324E38(0.0f,0);
BGS_func_803888E4(this, 3); BGS_func_803888E4(this, 3);
} }
@@ -325,11 +325,11 @@ void func_80389080(Actor *this){
} }
} }
if(this->state == 5){ if(this->state == 5){
if(func_803203FC(2)){ if(volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)){
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);
func_803204E4(3,0); volatileFlag_set(VOLATILE_FLAG_3,0);
func_803204E4(5,0); volatileFlag_set(VOLATILE_FLAG_5_FF_MINIGAME_WON,0);
} }
} //L80389370 } //L80389370
else{ else{

View File

@@ -154,7 +154,7 @@ bool func_80386A34(Actor * this){
f32 plyrPos[3]; f32 plyrPos[3];
bool out; bool out;
if(func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE)) if(volatileFlag_get(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE))
return 0; return 0;
player_getPosition(plyrPos); player_getPosition(plyrPos);

View File

@@ -80,7 +80,7 @@ void func_80389668(Actor *this) {
local->tiptup_marker = NULL; local->tiptup_marker = NULL;
local->unk8 = 1.0f; local->unk8 = 1.0f;
func_80389488(this, 1); func_80389488(this, 1);
if (jiggyscore_isSpawned(JIGGY_27_BGS_TIPTUP) && !func_803203FC(2) && !func_803203FC(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); marker_despawn(this->marker);
} }
return; return;

View File

@@ -362,7 +362,7 @@ void func_8038A068(Actor *this, s32 next_state) {
local->current_type = YUMBLIE; local->current_type = YUMBLIE;
local->player_score = 0; local->player_score = 0;
local->vile_score = 0; local->vile_score = 0;
if (func_803203FC(2) != 0) { if (volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME) != 0) {
local->type_change_timer = 5.0f; local->type_change_timer = 5.0f;
} else { } else {
local->type_change_timer = 10.0f; local->type_change_timer = 10.0f;
@@ -640,7 +640,7 @@ void chvilegame_update(Actor *this) {
local->unkC = 3; local->unkC = 3;
local->unkD = 3; local->unkD = 3;
} }
if (func_803203FC(2)) { if (volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)) {
local->unkC = 2; local->unkC = 2;
local->unkD = 3; local->unkD = 3;
} }
@@ -651,8 +651,8 @@ void chvilegame_update(Actor *this) {
local->vile_marker = actorArray_findClosestActorFromActorId(this->position, 0x13A, -1, &sp4C)->marker; local->vile_marker = actorArray_findClosestActorFromActorId(this->position, 0x13A, -1, &sp4C)->marker;
} }
if (this->state == 1) { if (this->state == 1) {
if (func_803203FC(2)) { if (volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)) {
if (func_803203FC(3)) { if (volatileFlag_get(VOLATILE_FLAG_3)) {
func_8038A068(this, 5); func_8038A068(this, 5);
} }
} else if (func_8038C2A8(local->vile_marker)) { } else if (func_8038C2A8(local->vile_marker)) {
@@ -670,7 +670,7 @@ void chvilegame_update(Actor *this) {
if ((local->unkC == 3) || (local->unkC == 6)) { if ((local->unkC == 3) || (local->unkC == 6)) {
if (ml_timer_update(&local->type_change_timer, sp50)) { if (ml_timer_update(&local->type_change_timer, sp50)) {
local->current_type = !local->current_type; local->current_type = !local->current_type;
if (func_803203FC(2)) { if (volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)) {
local->type_change_timer = 5.0f; local->type_change_timer = 5.0f;
} else { } else {
local->type_change_timer = 10.0f; local->type_change_timer = 10.0f;
@@ -691,9 +691,9 @@ void chvilegame_update(Actor *this) {
itemPrint_reset(); itemPrint_reset();
} }
if (item_empty(ITEM_6_HOURGLASS)) { if (item_empty(ITEM_6_HOURGLASS)) {
if (func_803203FC(2)) { if (volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)) {
func_803204E4(3, 0); volatileFlag_set(VOLATILE_FLAG_3, 0);
func_803204E4(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); 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

@@ -30,7 +30,7 @@ static bool __playerIsWithinTrigger(s32 x, s32 z, s32 distance) {
void chVacationTextTrigger_update(Actor* this) { void chVacationTextTrigger_update(Actor* this) {
// Despawn if already triggered // Despawn if already triggered
if (func_803203FC(UNKFLAGS1_13_HAS_TRIGGERED_MUMBO_VACATION_TEXT)) { if (volatileFlag_get(VOLATILE_FLAG_13_HAS_TRIGGERED_MUMBO_VACATION_TEXT)) {
marker_despawn(this->marker); marker_despawn(this->marker);
return; return;
} }
@@ -38,6 +38,6 @@ void chVacationTextTrigger_update(Actor* this) {
// Start dialog if player is within trigger // Start dialog if player is within trigger
if (__playerIsWithinTrigger(0, -107, 188) != 0) { if (__playerIsWithinTrigger(0, -107, 188) != 0) {
func_80311480(0xDA9, 4, NULL, NULL, NULL, NULL); func_80311480(0xDA9, 4, NULL, NULL, NULL, NULL);
func_803204E4(UNKFLAGS1_13_HAS_TRIGGERED_MUMBO_VACATION_TEXT, 1); volatileFlag_set(VOLATILE_FLAG_13_HAS_TRIGGERED_MUMBO_VACATION_TEXT, 1);
} }
} }

View File

@@ -41,7 +41,7 @@ void func_803865F4(Actor *this, s32 next_state) {
local = (ActorLocal_CCW_160 *)&this->local; local = (ActorLocal_CCW_160 *)&this->local;
local->unkC = 0.0f; local->unkC = 0.0f;
if (next_state == 2) { if (next_state == 2) {
if (!func_80320454(0xB5, 1)) { if (!volatileFlag_getAndSet(VOLATILE_FLAG_B5, 1)) {
func_80311480(0xCE2, 4, NULL, this->marker, func_803865C4, NULL); func_80311480(0xCE2, 4, NULL, this->marker, func_803865C4, NULL);
} else { } else {
func_80311480(0xCE3, 4, NULL, NULL, NULL, NULL); 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 (next_state == 4) {
if (func_803203FC(2)) { if (volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)) {
item_set(ITEM_6_HOURGLASS, FALSE); item_set(ITEM_6_HOURGLASS, FALSE);
func_803204E4(3, 0); volatileFlag_set(VOLATILE_FLAG_3, 0);
func_803204E4(5, 1); volatileFlag_set(VOLATILE_FLAG_5_FF_MINIGAME_WON, 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);
@@ -133,7 +133,7 @@ void func_8038687C(Actor *this) {
local->unk4 = 0; local->unk4 = 0;
local->unk8 = 0; local->unk8 = 0;
local->unkC = 0.0f; local->unkC = 0.0f;
if (func_803203FC(2)) { if (volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)) {
this->position_y -= 300.0f; this->position_y -= 300.0f;
} }
func_803865F4(this, 1); func_803865F4(this, 1);
@@ -141,7 +141,7 @@ void func_8038687C(Actor *this) {
} }
if ((s32)local->unk0 == 1) { if ((s32)local->unk0 == 1) {
other = actorArray_findActorFromActorId(0x46); other = actorArray_findActorFromActorId(0x46);
if(func_803203FC(2)) { if(volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)) {
local->unk0 = NULL; local->unk0 = NULL;
if (other != NULL) { if (other != NULL) {
actor_collisionOff(other); 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)); local->unkC = randf2(0.5 - ((local->unk8 / 10) * 0.4), 1.0 - ((local->unk8 / 10) * 0.8));
} }
if (this->state == 1) { if (this->state == 1) {
if (func_803203FC(2) && func_803203FC(3)) { if (volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME) && volatileFlag_get(VOLATILE_FLAG_3)) {
item_set(ITEM_6_HOURGLASS, 1); item_set(ITEM_6_HOURGLASS, 1);
item_set(ITEM_0_HOURGLASS_TIMER, 1800 - 1); item_set(ITEM_0_HOURGLASS_TIMER, 1800 - 1);
func_803865F4(this, 3); func_803865F4(this, 3);
@@ -209,9 +209,9 @@ void func_8038687C(Actor *this) {
} }
} }
} }
if ((this->state == 3) && func_803203FC(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); item_set(ITEM_6_HOURGLASS, 0);
func_803204E4(3, 0); volatileFlag_set(VOLATILE_FLAG_3, 0);
func_803204E4(5, 0); volatileFlag_set(VOLATILE_FLAG_5_FF_MINIGAME_WON, 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(!func_803203FC(0xb2)){ if(!volatileFlag_get(VOLATILE_FLAG_B2)){
func_80311480(0xcc7, 4, NULL, NULL, NULL, NULL); func_80311480(0xcc7, 4, NULL, NULL, NULL, NULL);
func_803204E4(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

@@ -80,7 +80,7 @@ void func_8038AA8C(Actor *this) {
this->unk16C_4 = TRUE; this->unk16C_4 = TRUE;
mapSpecificFlags_set(5, FALSE); mapSpecificFlags_set(5, FALSE);
if( (!fileProgressFlag_get(FILEPROG_E8_AUTMN_EYRIE_FED) || jiggyscore_isSpawned(JIGGY_49_CCW_EYRIE)) if( (!fileProgressFlag_get(FILEPROG_E8_AUTMN_EYRIE_FED) || jiggyscore_isSpawned(JIGGY_49_CCW_EYRIE))
&& !func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE) && !volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE)
) { ) {
marker_despawn(this->marker); marker_despawn(this->marker);
} }

View File

@@ -109,7 +109,7 @@ void func_8038A384(Actor *this){
}//L8038A4A0 }//L8038A4A0
if( jiggyscore_isCollected(JIGGY_2E_FP_PRESENTS) if( jiggyscore_isCollected(JIGGY_2E_FP_PRESENTS)
|| func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) || volatileFlag_get(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE)
){ ){
subaddie_set_state_with_direction(this, 2, randf2(0.0f, 0.9f), 1); subaddie_set_state_with_direction(this, 2, randf2(0.0f, 0.9f), 1);
} }

View File

@@ -115,7 +115,7 @@ void func_8038794C(Actor *this){
this->unk38_31 = 1; this->unk38_31 = 1;
ml_vec3f_copy(this->velocity, this->position); ml_vec3f_copy(this->velocity, this->position);
if(func_803203FC(1)) if(volatileFlag_get(VOLATILE_FLAG_1))
return; return;
if(!jiggyscore_isCollected(JIGGY_2A_FP_BOGGY_1) && jiggyscore_isSpawned(JIGGY_2A_FP_BOGGY_1)){ if(!jiggyscore_isCollected(JIGGY_2A_FP_BOGGY_1) && jiggyscore_isSpawned(JIGGY_2A_FP_BOGGY_1)){

View File

@@ -143,9 +143,9 @@ void func_80388B18(Actor *this, u8 arg1){
} }
} }
else{//L80388BB8 else{//L80388BB8
if(!func_803203FC(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)){
func_803204E4(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(!func_803203FC(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)){
func_803204E4(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
&& func_803203FC(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
&& func_803203FC(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

@@ -20,7 +20,7 @@ extern ActorInfo D_80392700 = { MARKER_20F_WOZZA_IN_CAVE, ACTOR_33F_WOZZA_IN_CAV
/* .code */ /* .code */
void func_80390630(Actor *this){ void func_80390630(Actor *this){
if(func_803203FC(0xC4)){ if(volatileFlag_get(VOLATILE_FLAG_C4_WOZZA_HIDE_IN_SNS_PARADE)){
if(!this->unk16C_4){ if(!this->unk16C_4){
this->unk16C_4 = TRUE; this->unk16C_4 = TRUE;
this->marker->propPtr->unk8_3 = FALSE; this->marker->propPtr->unk8_3 = FALSE;

View File

@@ -242,7 +242,7 @@ void func_8038C8F0(ActorMarker *marker){
void func_8038C94C(ActorMarker *caller, enum asset_e text_id, s32 arg2){ void func_8038C94C(ActorMarker *caller, enum asset_e text_id, s32 arg2){
Actor *this = marker_getActor(caller); Actor *this = marker_getActor(caller);
if(!func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE)){ if(!volatileFlag_get(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE)){
subaddie_set_state(this, 6); subaddie_set_state(this, 6);
__spawnQueue_add_1((GenFunction_1)func_8038C8F0, reinterpret_cast(s32, this->marker)); __spawnQueue_add_1((GenFunction_1)func_8038C8F0, reinterpret_cast(s32, this->marker));
} }

View File

@@ -302,14 +302,14 @@ void func_8038D6C8(Actor *this){
this->velocity[1] = 0.0f; this->velocity[1] = 0.0f;
this->unk1C[0] = -1.0f; this->unk1C[0] = -1.0f;
func_8028F8F8(7, FALSE); func_8028F8F8(7, FALSE);
if(func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) && gcparade_8031B4F4() == -1){ if(volatileFlag_get(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE) && gcparade_8031B4F4() == -1){
subaddie_set_state_with_direction(this, 3, 0.001f, 1); subaddie_set_state_with_direction(this, 3, 0.001f, 1);
actor_playAnimationOnce(this); actor_playAnimationOnce(this);
this->velocity[0] = 1.0f; this->velocity[0] = 1.0f;
} }
}//L8038D844 }//L8038D844
if(func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE)){ if(volatileFlag_get(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE)){
this->velocity[0] = 1.0f; this->velocity[0] = 1.0f;
} }

View File

@@ -112,7 +112,7 @@ void func_8038E094(Actor *this){
func_8038DDC8(this); func_8038DDC8(this);
} }
if(this->unkF4_8 == 2){ if(this->unkF4_8 == 2){
if(func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) && gcparade_8031B4F4() == -2){ if(volatileFlag_get(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE) && gcparade_8031B4F4() == -2){
func_8038DDC8(this); func_8038DDC8(this);
} }
else{ else{

View File

@@ -172,7 +172,7 @@ void FP_func_8038F758(ActorMarker *marker){
void FP_func_8038F7AC(Actor *this){ void FP_func_8038F7AC(Actor *this){
ActorLocal_Wozza * local = (ActorLocal_Wozza *)&this->local; ActorLocal_Wozza * local = (ActorLocal_Wozza *)&this->local;
if(func_803203FC(0xC4)){ if(volatileFlag_get(VOLATILE_FLAG_C4_WOZZA_HIDE_IN_SNS_PARADE)){
if(!this->unk16C_4){ if(!this->unk16C_4){
this->unk16C_4 = TRUE; this->unk16C_4 = TRUE;
this->marker->propPtr->unk8_3 = FALSE; this->marker->propPtr->unk8_3 = FALSE;
@@ -228,7 +228,7 @@ void FP_func_8038F7AC(Actor *this){
break; break;
} }
if(func_80329530(this, 1000) && !func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)){ if(func_80329530(this, 1000) && !volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE)){
func_8038F454(this); func_8038F454(this);
break; break;
} }

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();
func_803204E4(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

@@ -130,7 +130,7 @@ void chGobi1_update(Actor *this){
this->unk1C[0] = 0.0f; this->unk1C[0] = 0.0f;
this->unk1C[1] = 0.0f; this->unk1C[1] = 0.0f;
chGobi1_setState(this, 1); chGobi1_setState(this, 1);
if(jiggyscore_isSpawned(JIGGY_44_GV_GOBI_1) && ! func_803203FC(1)){ if(jiggyscore_isSpawned(JIGGY_44_GV_GOBI_1) && ! volatileFlag_get(VOLATILE_FLAG_1)){
marker_despawn(this->marker); marker_despawn(this->marker);
} }
return; return;

View File

@@ -112,7 +112,7 @@ void chGobiRock_update(Actor *this){
this->position_z = sp28->position_z; this->position_z = sp28->position_z;
} }
__chGobiRock_setState(this, 1); __chGobiRock_setState(this, 1);
if(jiggyscore_isSpawned(JIGGY_44_GV_GOBI_1) && !func_803203FC(1)){ if(jiggyscore_isSpawned(JIGGY_44_GV_GOBI_1) && !volatileFlag_get(VOLATILE_FLAG_1)){
marker_despawn(this->marker); marker_despawn(this->marker);
} }
} }

View File

@@ -49,7 +49,7 @@ void chGobiRope_update(Actor *this){
} }
chGobiRope_setState(this, 1); chGobiRope_setState(this, 1);
if( jiggyscore_isSpawned(JIGGY_44_GV_GOBI_1) if( jiggyscore_isSpawned(JIGGY_44_GV_GOBI_1)
&& !func_803203FC(1) && !volatileFlag_get(VOLATILE_FLAG_1)
){ ){
marker_despawn(this->marker); marker_despawn(this->marker);
} }

View File

@@ -118,7 +118,7 @@ void func_8038DBDC(Actor *this){
func_8038DB4C(0); func_8038DB4C(0);
this->unk1C[0] = 0.0f; this->unk1C[0] = 0.0f;
}//L8038DC90 }//L8038DC90
if(func_8038E178() != (s32)this->unk1C[0] || func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE)){ if(func_8038E178() != (s32)this->unk1C[0] || volatileFlag_get(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE)){
if(15.0f <= this->unk60){ if(15.0f <= this->unk60){
subaddie_set_state_with_direction(this, 2, 0.01f, 1); subaddie_set_state_with_direction(this, 2, 0.01f, 1);
animctrl_setPlaybackType(this->animctrl, ANIMCTRL_ONCE); animctrl_setPlaybackType(this->animctrl, ANIMCTRL_ONCE);

View File

@@ -61,7 +61,7 @@ void chTrucker_update(Actor *this){
marker->propPtr->unk8_3 = TRUE; marker->propPtr->unk8_3 = TRUE;
actor_collisionOff(this); actor_collisionOff(this);
mapSpecificFlags_set(0xC, FALSE); mapSpecificFlags_set(0xC, FALSE);
if(jiggyscore_isSpawned(JIGGY_45_GV_GOBI_2) && !func_803203FC(1)){ if(jiggyscore_isSpawned(JIGGY_45_GV_GOBI_2) && !volatileFlag_get(VOLATILE_FLAG_1)){
__chTrucker_setState(this, 3); __chTrucker_setState(this, 3);
} }
else{//L803891CC else{//L803891CC

View File

@@ -64,7 +64,7 @@ void func_8038D47C(Actor *this){
if(!this->unk16C_4){ if(!this->unk16C_4){
mapSpecificFlags_set(0x10, 0); mapSpecificFlags_set(0x10, 0);
this->unk16C_4 = TRUE; this->unk16C_4 = TRUE;
if(func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) && gcparade_8031B4F4() == -3){ if(volatileFlag_get(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE) && gcparade_8031B4F4() == -3){
timedFunc_set_1(1.5f, (GenFunction_1)func_8038D450, reinterpret_cast(s32, this->marker)); timedFunc_set_1(1.5f, (GenFunction_1)func_8038D450, reinterpret_cast(s32, this->marker));
} }
}//L8038D5EC }//L8038D5EC
@@ -121,7 +121,7 @@ void func_8038D47C(Actor *this){
FUNC_8030E624(SFX_D6_UGH, 0.8f, 32750); FUNC_8030E624(SFX_D6_UGH, 0.8f, 32750);
} }
if(actor_animationIsAt(this, 0.94f)){ if(actor_animationIsAt(this, 0.94f)){
if(!func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE)){ if(!volatileFlag_get(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE)){
mapSpecificFlags_set(0x10, 1); mapSpecificFlags_set(0x10, 1);
} }
} }

View File

@@ -263,7 +263,7 @@ void func_8038E648(Actor *this){
func_8030E540(SFX_7F_HEAVYDOOR_SLAM); func_8030E540(SFX_7F_HEAVYDOOR_SLAM);
mapSpecificFlags_set(5, FALSE); mapSpecificFlags_set(5, FALSE);
func_80244C78(0); func_80244C78(0);
func_80356520(0xAC); volatileFlag_setAndTriggerDialog_0(VOLATILE_FLAG_AC_GV_TRAPDOOR_MISSED);
} }
break; break;
}//L8038E904: }//L8038E904:

View File

@@ -69,7 +69,7 @@ void __matchingGame_spawnJIggy(void){
void __matchingGame_setState(s32 next_state){ void __matchingGame_setState(s32 next_state){
if(next_state == 2){ if(next_state == 2){
item_set(ITEM_6_HOURGLASS, 1); item_set(ITEM_6_HOURGLASS, 1);
if(func_803203FC(2)) if(volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME))
item_set(ITEM_0_HOURGLASS_TIMER, 4499); item_set(ITEM_0_HOURGLASS_TIMER, 4499);
else else
item_set(ITEM_0_HOURGLASS_TIMER, 5999); item_set(ITEM_0_HOURGLASS_TIMER, 5999);
@@ -79,9 +79,9 @@ void __matchingGame_setState(s32 next_state){
} }
if(next_state == 3){ if(next_state == 3){
if(func_803203FC(2)){ if(volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)){
func_803204E4(3, 0); volatileFlag_set(VOLATILE_FLAG_3, 0);
func_803204E4(5, 0); volatileFlag_set(VOLATILE_FLAG_5_FF_MINIGAME_WON, 0);
} }
else{ else{
func_8028F66C(BS_INTR_F); func_8028F66C(BS_INTR_F);
@@ -89,9 +89,9 @@ void __matchingGame_setState(s32 next_state){
} }
if(next_state == 4){ if(next_state == 4){
if(func_803203FC(2)){ if(volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)){
func_803204E4(3, 0); volatileFlag_set(VOLATILE_FLAG_3, 0);
func_803204E4(5, 1); volatileFlag_set(VOLATILE_FLAG_5_FF_MINIGAME_WON, 1);
} }
else{ else{
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 0x7fff); func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 0x7fff);
@@ -120,7 +120,7 @@ void gv_matchingGame_init(void){
matchingGame.state = 0; matchingGame.state = 0;
if(map_get() == MAP_13_GV_MEMORY_GAME){ if(map_get() == MAP_13_GV_MEMORY_GAME){
if( !jiggyscore_isSpawned(JIGGY_40_GV_MATCHING_GAME) //jiggy is collected if( !jiggyscore_isSpawned(JIGGY_40_GV_MATCHING_GAME) //jiggy is collected
|| func_803203FC(2) //in FF minigame || volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME) //in FF minigame
){ ){
matchingGame.match_count = 0; matchingGame.match_count = 0;
matchingGame.tile_a = NULL; matchingGame.tile_a = NULL;
@@ -222,8 +222,8 @@ void gv_matchingGame_update(void){
}//L803907F0 }//L803907F0
if( matchingGame.state == 1 if( matchingGame.state == 1
&& func_803203FC(2) && volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)
&& func_803203FC(3) && volatileFlag_get(VOLATILE_FLAG_3)
){ ){
__matchingGame_setState(2); __matchingGame_setState(2);
} }

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();
func_803204E4(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

@@ -152,7 +152,7 @@ int func_803872EC(void){
return text_id == ASSET_B37_TEXT_CONGA_SAFE_UP_HERE return text_id == ASSET_B37_TEXT_CONGA_SAFE_UP_HERE
|| text_id == ASSET_B38_TEXT_CONGA_DEFEAT || text_id == ASSET_B38_TEXT_CONGA_DEFEAT
|| func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE) || volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE)
|| text_id == ASSET_B3B_TEXT_CONGA_ORANGE_PAD_JIGGY || text_id == ASSET_B3B_TEXT_CONGA_ORANGE_PAD_JIGGY
|| text_id == ASSET_B45_TEXT_JIGGY_COLLECT_10 || text_id == ASSET_B45_TEXT_JIGGY_COLLECT_10
|| text_id == ASSET_B51_TEXT_BOTTLES_HOW_TO_EXIT_LEVEL; || text_id == ASSET_B51_TEXT_BOTTLES_HOW_TO_EXIT_LEVEL;

View File

@@ -175,7 +175,7 @@ void chnapper_update(Actor *this){
__chnapper_setState(this, 2); __chnapper_setState(this, 2);
} }
if(MMM_func_80389530() || func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)){ if(MMM_func_80389530() || volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE)){
__chnapper_setState(this, 3); __chnapper_setState(this, 3);
} }
}//L80386F74 }//L80386F74

View File

@@ -358,7 +358,7 @@ void func_80388BDC(Actor *this) {
} }
this->unk38_31 = 0; this->unk38_31 = 0;
this->unk60 = 0.0f; this->unk60 = 0.0f;
func_80356520(0xAD); volatileFlag_setAndTriggerDialog_0(VOLATILE_FLAG_AD_MMM_CHURCH_DOOR_MISSED);
} }
break; break;
} }

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);
func_803204E4(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

@@ -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.25f, SFX_6C_LOCKUP_CLOSING, 1.05f, 0x7d00);
timed_playSfx(1.35f, SFX_6C_LOCKUP_CLOSING, 1.0f, 0x7d00); timed_playSfx(1.35f, SFX_6C_LOCKUP_CLOSING, 1.0f, 0x7d00);
timed_playSfx(1.8f, SFX_6C_LOCKUP_CLOSING, 1.0f, 0x7d00); timed_playSfx(1.8f, SFX_6C_LOCKUP_CLOSING, 1.0f, 0x7d00);
if(func_803203FC(2)){ if(volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)){
item_set(ITEM_6_HOURGLASS, 1); item_set(ITEM_6_HOURGLASS, 1);
item_set(ITEM_0_HOURGLASS_TIMER, 0x1067); item_set(ITEM_0_HOURGLASS_TIMER, 0x1067);
timed_exitStaticCamera(2.4f); timed_exitStaticCamera(2.4f);
@@ -360,10 +360,10 @@ void RBB_func_8038CC9C(Actor *this, s32 new_state){
func_8025A58C(-1, 0x190); func_8025A58C(-1, 0x190);
comusic_8025AB44(COMUSIC_62_RBB_BOOMBOX, 0, 0x190); comusic_8025AB44(COMUSIC_62_RBB_BOOMBOX, 0, 0x190);
func_8025AABC(COMUSIC_62_RBB_BOOMBOX); func_8025AABC(COMUSIC_62_RBB_BOOMBOX);
if(func_803203FC(2)){ if(volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)){
item_set(ITEM_6_HOURGLASS, 0); item_set(ITEM_6_HOURGLASS, 0);
func_803204E4(3, 0); volatileFlag_set(VOLATILE_FLAG_3, 0);
func_803204E4(5, 1); volatileFlag_set(VOLATILE_FLAG_5_FF_MINIGAME_WON, 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);
@@ -523,13 +523,13 @@ void func_8038D8BC(Actor *this){
RBB_func_8038CC9C(this, 7); RBB_func_8038CC9C(this, 7);
} }
if(jiggyscore_isSpawned(JIGGY_56_RBB_BOSS_BOOM_BOX) && !func_803203FC(2)) if(jiggyscore_isSpawned(JIGGY_56_RBB_BOSS_BOOM_BOX) && !volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME))
marker_despawn(this->marker); marker_despawn(this->marker);
if(func_803203FC(2)) if(volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME))
chbossboombox_hideJiggy(); chbossboombox_hideJiggy();
if(func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)){ if(volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE)){
chbossboombox_hideJiggy(); chbossboombox_hideJiggy();
skeletalAnim_set(this->unk148, ASSET_146_ANIM_BOSS_BOOMBOX_APPEAR, 0.0f, 2.4f); skeletalAnim_set(this->unk148, ASSET_146_ANIM_BOSS_BOOMBOX_APPEAR, 0.0f, 2.4f);
skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
@@ -540,8 +540,8 @@ void func_8038D8BC(Actor *this){
player_getPosition(player_position); player_getPosition(player_position);
if(this->state == 1){ if(this->state == 1){
if(func_803203FC(2)){ if(volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)){
if(func_803203FC(3)){ if(volatileFlag_get(VOLATILE_FLAG_3)){
RBB_func_8038CC9C(this, 2); RBB_func_8038CC9C(this, 2);
} }
} }
@@ -572,10 +572,10 @@ void func_8038D8BC(Actor *this){
}//L8038DC48 }//L8038DC48
if(this->state == 3 || this->state == 4){ if(this->state == 3 || this->state == 4){
if(func_803203FC(2)){ if(volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)){
if(item_empty(ITEM_0_HOURGLASS_TIMER)){ if(item_empty(ITEM_0_HOURGLASS_TIMER)){
func_803204E4(3, 0); volatileFlag_set(VOLATILE_FLAG_3, 0);
func_803204E4(5, 0); volatileFlag_set(VOLATILE_FLAG_5_FF_MINIGAME_WON, 0);
RBB_func_8038CC9C(this, 8); RBB_func_8038CC9C(this, 8);
} }
} }

View File

@@ -21,7 +21,7 @@ void chBossBoomBoxCtrl_update(Actor *this){
if(!this->unk16C_4){ if(!this->unk16C_4){
this->unk16C_4 = 1; this->unk16C_4 = 1;
if(jiggyscore_isSpawned(JIGGY_56_RBB_BOSS_BOOM_BOX) && !func_803203FC(2)){ if(jiggyscore_isSpawned(JIGGY_56_RBB_BOSS_BOOM_BOX) && !volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)){
marker_despawn(this->marker); marker_despawn(this->marker);
}else{ }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)); __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));

View File

@@ -132,7 +132,7 @@ void chAttackTutorial_update(Actor *this){
if(mapSpecificFlags_get(4)) if(mapSpecificFlags_get(4))
chAttackTutorial_setState(this, 5); chAttackTutorial_setState(this, 5);
if(func_803874C4() || func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE)) if(func_803874C4() || volatileFlag_get(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE))
chAttackTutorial_setState(this, 4); chAttackTutorial_setState(this, 4);
break; break;
case 2://L80387658 case 2://L80387658

View File

@@ -246,7 +246,7 @@ void func_80387E64(Actor *this){
void func_80387F00(Actor *this){ void func_80387F00(Actor *this){
ChVeg *local = (ChVeg *)&this->local; ChVeg *local = (ChVeg *)&this->local;
this->position_y += (mapSpecificFlags_get(0xC) || func_803203FC(0xC1)) ? 120.0 : 180.0; this->position_y += (mapSpecificFlags_get(0xC) || volatileFlag_get(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE)) ? 120.0 : 180.0;
local->unk0_x = this->position_x; local->unk0_x = this->position_x;
local->unk0_y = this->position_y; local->unk0_y = this->position_y;
local->unk0_z = this->position_z; local->unk0_z = this->position_z;
@@ -329,9 +329,9 @@ void func_80388080(Actor *this){
switch (this->state) switch (this->state)
{ {
case 1: //L803882B0 case 1: //L803882B0
if(mapSpecificFlags_get(0xC) || func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) || this->unk10_12){ if(mapSpecificFlags_get(0xC) || volatileFlag_get(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE) || this->unk10_12){
//L803882E4 //L803882E4
if(mapSpecificFlags_get(0xC) || func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE)){ //L8038830C if(mapSpecificFlags_get(0xC) || volatileFlag_get(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE)){ //L8038830C
this->unk1C_y += (local->unkC == 3)? 120.0 : 0.0; this->unk1C_y += (local->unkC == 3)? 120.0 : 0.0;
}else{//L80388350 }else{//L80388350
this->unk1C_y += (local->unkC == 3)? 270.0 : 85.0; this->unk1C_y += (local->unkC == 3)? 270.0 : 85.0;
@@ -372,7 +372,7 @@ void func_80388080(Actor *this){
}else{//L80388520 }else{//L80388520
if(local->unkC == 1){ if(local->unkC == 1){
this->unk28 = 3.0f; this->unk28 = 3.0f;
if(mapSpecificFlags_get(0xC) || func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE)){//L80388554 if(mapSpecificFlags_get(0xC) || volatileFlag_get(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE)){//L80388554
if(!func_80329030(this, 0) && func_80329480(this)){ if(!func_80329030(this, 0) && func_80329480(this)){
func_80328CEC(this, (s32)this->yaw, 0x78, 0xb4); func_80328CEC(this, (s32)this->yaw, 0x78, 0xb4);
this->unk38_0 = 1; this->unk38_0 = 1;
@@ -396,7 +396,7 @@ void func_80388080(Actor *this){
func_80328CEC(this, (s32)this->yaw, 0x78, 0xB4); func_80328CEC(this, (s32)this->yaw, 0x78, 0xB4);
this->unk38_0 = 1; this->unk38_0 = 1;
}//L80388698 }//L80388698
if(mapSpecificFlags_get(0xC) || (func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) && func_803292E0(this))){ if(mapSpecificFlags_get(0xC) || (volatileFlag_get(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE) && func_803292E0(this))){
this->yaw_ideal = func_80329784(this); this->yaw_ideal = func_80329784(this);
}else{//L803886E4 }else{//L803886E4
if(randf() < 0.02){//D_8038B1D0){ if(randf() < 0.02){//D_8038B1D0){
@@ -427,7 +427,7 @@ void func_80388080(Actor *this){
func_80387E64(this); func_80387E64(this);
} }
this->unk28 = 5.0f; this->unk28 = 5.0f;
if(mapSpecificFlags_get(0xC) || (func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE))){ //L8038892C if(mapSpecificFlags_get(0xC) || (volatileFlag_get(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE))){ //L8038892C
if(!func_80387FA8(this, local, (s32)this->yaw, (s32)this->unk28)){ if(!func_80387FA8(this, local, (s32)this->yaw, (s32)this->unk28)){
if(func_80329480(this)){ if(func_80329480(this)){
func_80328CEC(this, (s32)this->yaw, 0x78, 0xb4); func_80328CEC(this, (s32)this->yaw, 0x78, 0xb4);

View File

@@ -420,7 +420,7 @@ void chsmmole_Update(Actor * this){
this->unk28 = nodeprop_getRadius(sp40); this->unk28 = nodeprop_getRadius(sp40);
}//L80389A8C }//L80389A8C
if(this->unkF4_8 == 1){ if(this->unkF4_8 == 1){
if(func_803203FC(1) || func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)){ if(volatileFlag_get(VOLATILE_FLAG_1) || volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE)){
func_80388FA0(this, 3); func_80388FA0(this, 3);
} }
} }

View File

@@ -85,8 +85,8 @@ bool __chClam_updateTarget(Actor *this, f32 arg1) {
this->unk28 = phi_f2 / arg1; this->unk28 = phi_f2 / arg1;
this->yaw_ideal = func_80257204(this->position[0], this->position[2], target_position[0], target_position[2]); this->yaw_ideal = func_80257204(this->position[0], this->position[2], target_position[0], target_position[2]);
if ((func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) ? 0 : 0x11) < this->unk28) { if ((volatileFlag_get(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE) ? 0 : 0x11) < this->unk28) {
this->unk28 = (func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) != 0) ? 0.0f : 17.0f; this->unk28 = (volatileFlag_get(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE) != 0) ? 0.0f : 17.0f;
} else if (sp38 == 0) { } else if (sp38 == 0) {
__chClam_func_803863F0(SFX_AE_YUMYUM_TALKING, randf2(0.9f, 1.0f), 22000, this->position, 500.0f, 2000.0f); __chClam_func_803863F0(SFX_AE_YUMYUM_TALKING, randf2(0.9f, 1.0f), 22000, this->position, 500.0f, 2000.0f);
} }
@@ -108,13 +108,13 @@ bool __chClam_rotateTowardTarget(Actor *this, s32 arg1) {
if (((f64) animctrl_getAnimTimer(this->animctrl) < 0.1) && ((f64) randf() < 0.5)) { if (((f64) animctrl_getAnimTimer(this->animctrl) < 0.1) && ((f64) randf() < 0.5)) {
if (this->unk1C[0] != 0.0f) { if (this->unk1C[0] != 0.0f) {
arg1 *= 2; arg1 *= 2;
this->unk28 = (f32) randi2(0, 0.5*(func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) ? 0 : 0x11)); this->unk28 = (f32) randi2(0, 0.5*(volatileFlag_get(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE) ? 0 : 0x11));
this->yaw_ideal += (f32) randi2(-arg1, arg1); this->yaw_ideal += (f32) randi2(-arg1, arg1);
} else if ((f64) randf() < 0.4) { } else if ((f64) randf() < 0.4) {
this->unk28 = 0.0f; this->unk28 = 0.0f;
this->yaw_ideal += (f32) randi2(-arg1, arg1); this->yaw_ideal += (f32) randi2(-arg1, arg1);
} else { } else {
this->unk28 = (f32) randi2(0.33 * (func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) ? 0 : 0x11), func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) ? 0 : 0x11); this->unk28 = (f32) randi2(0.33 * (volatileFlag_get(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE) ? 0 : 0x11), volatileFlag_get(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE) ? 0 : 0x11);
this->yaw_ideal = this->yaw; this->yaw_ideal = this->yaw;
} }
this->unk1C[0] = 0.0f; this->unk1C[0] = 0.0f;

View File

@@ -48,7 +48,7 @@ void chtreasure_update(Actor *this){
if(!this->initialized){ if(!this->initialized){
this->initialized = TRUE; this->initialized = TRUE;
if(this->unkF4_8 == 1 && !func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE)){ if(this->unkF4_8 == 1 && !volatileFlag_get(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE)){
marker_despawn(this->marker); marker_despawn(this->marker);
return; return;
} }

View File

@@ -116,7 +116,7 @@ void func_8038A23C( s32 arg0, BKVtxRef *vtx_ref, Vtx *vtx, s32 arg2){
void func_8038A258(s32 arg0) { void func_8038A258(s32 arg0) {
if (arg0 == 1) { if (arg0 == 1) {
if (func_803203FC(2)) { if (volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)) {
item_set(ITEM_0_HOURGLASS_TIMER, 3000 - 1); item_set(ITEM_0_HOURGLASS_TIMER, 3000 - 1);
} else { } else {
item_set(ITEM_0_HOURGLASS_TIMER, 6000 - 1); item_set(ITEM_0_HOURGLASS_TIMER, 6000 - 1);
@@ -243,18 +243,18 @@ u32 cheatoCodeUnlocked(s32 cheato_code_index){
void func_8038ABA0(u32 arg0){ void func_8038ABA0(u32 arg0){
int i; int i;
func_80356520(0xC2); volatileFlag_setAndTriggerDialog_0(VOLATILE_FLAG_C2_NOBONUS_TEXT);
if(arg0 & 0x400){ if(arg0 & 0x400){
func_80356560(0xC5); volatileFlag_setAndTriggerDialog_E(VOLATILE_FLAG_C5_WISHYWASHYBANJO_TEXT);
} }
func_803204E4(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)){
func_803204E4(0x93 + i, TRUE); volatileFlag_set(VOLATILE_FLAG_93_SANDCASTLE_OPEN_CCW + i, TRUE);
func_803204E4(0x78, TRUE); volatileFlag_set(VOLATILE_FLAG_78_SANDCASTLE_NO_BONUS, TRUE);
} }
else{ else{
func_803204E4(0x93 + i, FALSE); volatileFlag_set(VOLATILE_FLAG_93_SANDCASTLE_OPEN_CCW + i, FALSE);
} }
} }
} }
@@ -269,7 +269,7 @@ void func_8038AC48(LetterFloorTile *arg0) {
s32 phi_s1; s32 phi_s1;
bool phi_s7; bool phi_s7;
temp_s5 = func_803203FC(2); temp_s5 = volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME);
phi_s7 = FALSE; phi_s7 = FALSE;
sp3C = func_8038BD10(arg0); sp3C = func_8038BD10(arg0);
for(i_ptr = codesTable; i_ptr->code != 0; i_ptr++){ for(i_ptr = codesTable; i_ptr->code != 0; i_ptr++){
@@ -284,7 +284,7 @@ void func_8038AC48(LetterFloorTile *arg0) {
phi_s1 |= (0x10 << i); phi_s1 |= (0x10 << i);
} }
}; };
if (func_803203FC(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);
func_803204E4(3, 0); volatileFlag_set(VOLATILE_FLAG_3, 0);
func_803204E4(5, 1); volatileFlag_set(VOLATILE_FLAG_5_FF_MINIGAME_WON, 1);
func_8038A258(2); func_8038A258(2);
} else { } else {
var_v0 = i_ptr->unk4; var_v0 = i_ptr->unk4;
@@ -366,7 +366,7 @@ void func_8038AFC8(void){
iPtr->unk6 = 0; iPtr->unk6 = 0;
} }
if(func_803203FC(2)) if(volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME))
strcpy(codesTable[0].code, "j4663n86pink"); //EIOOZAKOJNAB strcpy(codesTable[0].code, "j4663n86pink"); //EIOOZAKOJNAB
else else
strcpy(codesTable[0].code, "knip68n3664j"); //BANJOKAZOOIE strcpy(codesTable[0].code, "knip68n3664j"); //BANJOKAZOOIE
@@ -410,7 +410,7 @@ void func_8038B094(void){
func_803228D8(); func_803228D8();
timedFunc_set_3(2.0f, (GenFunction_3) func_802E4078, MAP_7_TTC_TREASURE_TROVE_COVE, 1, 0); timedFunc_set_3(2.0f, (GenFunction_3) func_802E4078, MAP_7_TTC_TREASURE_TROVE_COVE, 1, 0);
} }
else if(levelSpecificFlags_get(2) || func_803203FC(2)){ else if(levelSpecificFlags_get(2) || volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)){
func_8034E71C(sp2C, -500, 0.0f); func_8034E71C(sp2C, -500, 0.0f);
} }
else{ else{
@@ -437,7 +437,7 @@ void func_8038B094(void){
func_8038AFC8(); func_8038AFC8();
if( jiggyscore_isCollected(JIGGY_10_TTC_SANDCASTLE) if( jiggyscore_isCollected(JIGGY_10_TTC_SANDCASTLE)
&& !func_803203FC(2) && !volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)
){ ){
BKModel_transformMesh(D_8038D720.model2, 0x3C, func_8038A23C, 0); BKModel_transformMesh(D_8038D720.model2, 0x3C, func_8038A23C, 0);
D_8038D720.unk8 = 3; D_8038D720.unk8 = 3;
@@ -461,20 +461,20 @@ void func_8038B2F0(void) {
if (D_8038D720.model1 != 0) { if (D_8038D720.model1 != 0) {
func_8038AA2C(); func_8038AA2C();
player_getPosition(sp2C); player_getPosition(sp2C);
if ((D_8038D720.unk10 == 0) && func_803203FC(2) && func_803203FC(3)) { if ((D_8038D720.unk10 == 0) && volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME) && volatileFlag_get(VOLATILE_FLAG_3)) {
func_8038A258(1); func_8038A258(1);
} }
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 (func_803203FC(2)) { if (volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)) {
func_803204E4(3, FALSE); volatileFlag_set(VOLATILE_FLAG_3, FALSE);
func_803204E4(5, FALSE); volatileFlag_set(VOLATILE_FLAG_5_FF_MINIGAME_WON, FALSE);
} else { } else {
func_8028F66C(BS_INTR_F); func_8028F66C(BS_INTR_F);
} }
} }
if ((D_8038D720.unk8 == 0) || (D_8038D720.unk8 == 3)) { if ((D_8038D720.unk8 == 0) || (D_8038D720.unk8 == 3)) {
if( (levelSpecificFlags_get(2) || func_803203FC(3)) if( (levelSpecificFlags_get(2) || volatileFlag_get(VOLATILE_FLAG_3))
&& (player_getActiveHitbox(0) == HITBOX_1_BEAK_BUSTER) && (player_getActiveHitbox(0) == HITBOX_1_BEAK_BUSTER)
&& func_8028F20C() && func_8028F20C()
) { ) {
@@ -483,7 +483,7 @@ void func_8038B2F0(void) {
temp_v0_3 = func_8038A2DC(mesh_id); temp_v0_3 = func_8038A2DC(mesh_id);
if ((temp_v0_3 != NULL) && ((temp_v0_3->unk3 == 2) || (D_8038D720.unk8 == 3))) { if ((temp_v0_3 != NULL) && ((temp_v0_3->unk3 == 2) || (D_8038D720.unk8 == 3))) {
func_8038AC48(temp_v0_3); func_8038AC48(temp_v0_3);
if ((D_8038D720.unk8 == 0) && (D_8038D720.unk10 == 0) && (func_803203FC(2) == 0)) { if ((D_8038D720.unk8 == 0) && (D_8038D720.unk10 == 0) && (volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME) == 0)) {
func_8038A258(1); func_8038A258(1);
} }
} }
@@ -613,7 +613,7 @@ u32 func_8038B600(void) {
} }
void TTC_func_8038B6D4(s32 arg0, s32 secretCodeIndex, s32 arg2, enum file_progress_e prog_id, s32 prog_val, s32 prog_bit_size, enum file_progress_e arg6){ void TTC_func_8038B6D4(s32 arg0, s32 secretCodeIndex, s32 arg2, enum file_progress_e prog_id, s32 prog_val, s32 prog_bit_size, enum file_progress_e arg6){
if( ((arg2 + 20 == secretCodesTable[secretCodeIndex].id) && func_803203FC(arg2)) if( ((arg2 + 20 == secretCodesTable[secretCodeIndex].id) && volatileFlag_get(arg2))
|| arg0 == 3 || arg0 == 3
){ ){
fileProgressFlag_setN(prog_id, prog_val, prog_bit_size); fileProgressFlag_setN(prog_id, prog_val, prog_bit_size);
@@ -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);
func_803204E4(0x65, 1); volatileFlag_set(VOLATILE_FLAG_65_CHEAT_ENTERED, 1);
func_803204E4(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);
} }
@@ -694,7 +694,7 @@ void TTC_func_8038BBA0(s32 secretCodeIndex) {
s32 i; s32 i;
if ((s32) secretCodesTable[secretCodeIndex].id >= 0x14) { if ((s32) secretCodesTable[secretCodeIndex].id >= 0x14) {
if (func_803203FC(secretCodesTable[secretCodeIndex].id - 0x14)) { if (volatileFlag_get(secretCodesTable[secretCodeIndex].id - 0x14)) {
func_8038B5B4(); func_8038B5B4();
return; return;
} }

View File

@@ -178,7 +178,7 @@ void mainLoop(void){
}//L8023DE54 }//L8023DE54
if( !func_8032056C() if( !func_8032056C()
|| !levelSpecificFlags_validateCRC1() || !levelSpecificFlags_validateCRC1()
|| !func_80320240() || !dummy_func_80320240()
){ ){
s32 offset; s32 offset;
//render weird CRC failure image //render weird CRC failure image

View File

@@ -189,9 +189,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) {
func_803204E4(0x64, 1); volatileFlag_set(VOLATILE_FLAG_64, 1);
} else { } else {
func_803204E4(0x63, 1); volatileFlag_set(VOLATILE_FLAG_63, 1);
} }
} }
func_8033DD04(sp5C); func_8033DD04(sp5C);

View File

@@ -181,8 +181,8 @@ void func_8024AF00(s32 arg0, s32 arg1){
void func_8024AF48(void){ void func_8024AF48(void){
if(!D_802806F4) return; if(!D_802806F4) return;
if(func_803203FC(1)) return; if(volatileFlag_get(VOLATILE_FLAG_1)) return;
if(func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)) return; if(volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE)) return;
if(func_802D686C()) return; if(func_802D686C()) return;
if(func_8028F22C()) return; if(func_8028F22C()) return;
if(gctransition_8030BDC0()) return; if(gctransition_8030BDC0()) return;

View File

@@ -57,7 +57,7 @@ void animCache_flushAll(void){
for(i = 0; i<340; i++){ for(i = 0; i<340; i++){
if(D_80379E20[i].alive){ if(D_80379E20[i].alive){
func_803203FC(0); volatileFlag_get(VOLATILE_FLAG_0_IN_FURNACE_FUN_QUIZ);
D_80379E20[i].life = 0; D_80379E20[i].life = 0;
boneTransformList_free(D_80379E20[i].bone_xform); boneTransformList_free(D_80379E20[i].bone_xform);
D_80379E20[i].bone_xform = NULL; D_80379E20[i].bone_xform = NULL;

View File

@@ -83,11 +83,11 @@ void __baanim_applyBottlesBonus(s32 arg0, s32 arg1) {
sp28 = func_802E4B38(); sp28 = func_802E4B38();
if (func_803203FC(UNKFLAGS1_78_SANDCASTLE_NO_BONUS) == 0) { if (volatileFlag_get(VOLATILE_FLAG_78_SANDCASTLE_NO_BONUS) == 0) {
D_8037BF4C = 0; D_8037BF4C = 0;
} else { } else {
for(phi_s0 = 0; phi_s0 < 7; phi_s0++){ for(phi_s0 = 0; phi_s0 < 7; phi_s0++){
if (func_803203FC(phi_s0 + UNKFLAGS1_97_SANDCASTLE_BOTTLES_BONUS_1)) { if (volatileFlag_get(phi_s0 + VOLATILE_FLAG_97_SANDCASTLE_BOTTLES_BONUS_1)) {
D_8037BF4C = D_803635EC[phi_s0]; D_8037BF4C = D_803635EC[phi_s0];
} }
} }

View File

@@ -57,7 +57,7 @@ enum bs_e badrone_vanish(void){
} }
enum bs_e badrone_transform(void){ enum bs_e badrone_transform(void){
miscflag_clear(0x19); miscFlag_clear(MISC_FLAG_19);
badrone_set_type(BA_DRONE_TRANSFORM); badrone_set_type(BA_DRONE_TRANSFORM);
return func_8029BD90(); return func_8029BD90();
} }

View File

@@ -142,7 +142,7 @@ void __baMarker_8028B904(s32 arg0, s32 arg1, s32 arg2, s32 arg3){
func_80296CC0(&sp1C); func_80296CC0(&sp1C);
func_80296CB4(arg3); func_80296CB4(arg3);
if(miscflag_isTrue(7)){ if(miscFlag_isTrue(MISC_FLAG_7)){
func_8029CDA0(); func_8029CDA0();
} }
else{ else{
@@ -195,6 +195,7 @@ void __baMarker_8028BAB0(enum jiggy_e jiggy_id, s32 arg1, s32 arg2, s32 arg3){
func_8030E6D4(SFX_90_SWITCH_PRESS); func_8030E6D4(SFX_90_SWITCH_PRESS);
} }
// arg1 - if bit 0x400000 is set, it's a volatile flag, else it's a file progress flag (for witch switches)
void __baMarker_8028BB1C(s32 arg0, u32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6){ void __baMarker_8028BB1C(s32 arg0, u32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6){
u32 sp24; u32 sp24;
if(arg0 != 1) if(arg0 != 1)
@@ -203,12 +204,13 @@ void __baMarker_8028BB1C(s32 arg0, u32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 a
if(func_8028ECAC() == 1) if(func_8028ECAC() == 1)
return; return;
// if bit 0x400000 of arg1 is set, it's a volatile flag, else it's a file progress flag (for witch switches)
if(arg1 & 0x400000){ if(arg1 & 0x400000){
sp24 = arg1 + 0xFFC00000; sp24 = arg1 + 0xFFC00000; // weird truncing
if(!func_803203FC(sp24)){ if(!volatileFlag_get(sp24)){
func_803204E4(sp24, 1); volatileFlag_set(sp24, 1);
func_8030E6D4(SFX_90_SWITCH_PRESS); func_8030E6D4(SFX_90_SWITCH_PRESS);
func_803204E4(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 +218,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);
func_803204E4(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);
} }
} }
@@ -231,8 +233,8 @@ int __baMarker_8028BC60(void){
} }
void __baMarker_resolveCollision(Prop *other_prop){ void __baMarker_resolveCollision(Prop *other_prop){
s32 plyr_collision_type; enum marker_collision_func_type_e plyr_collision_type;
s32 obj_collision_type; enum marker_collision_func_type_e obj_collision_type;
s32 plyr_hitbox_type; s32 plyr_hitbox_type;
int i; int i;
ActorMarker *marker; //0xbc ActorMarker *marker; //0xbc
@@ -253,8 +255,8 @@ void __baMarker_resolveCollision(Prop *other_prop){
s32 tmp1; s32 tmp1;
if(*((u32*)(((u32)other_prop) + 8)) & 1){ if(*((u32*)(((u32)other_prop) + 8)) & 1){
plyr_collision_type = 0; plyr_collision_type = MARKER_COLLISION_FUNC_0;
obj_collision_type = 0; obj_collision_type = MARKER_COLLISION_FUNC_0;
marker = other_prop->actorProp.marker; marker = other_prop->actorProp.marker;
actor = NULL; actor = NULL;
if(marker->unk3E_0){ if(marker->unk3E_0){
@@ -273,12 +275,12 @@ void __baMarker_resolveCollision(Prop *other_prop){
switch(marker->id){ switch(marker->id){
case 0x125: //L8028BE88 case 0x125: //L8028BE88
case 0x126: //L8028BE88 case 0x126: //L8028BE88
obj_collision_type = 1; obj_collision_type = MARKER_COLLISION_FUNC_1;
break; break;
case 0x97: //L8028BE94 case MARKER_97_BOGGY_2: //L8028BE94
plyr_collision_type = 1; plyr_collision_type = MARKER_COLLISION_FUNC_1;
obj_collision_type = 1; obj_collision_type = MARKER_COLLISION_FUNC_1;
break; break;
case 0xBA: //L8028BEA8 case 0xBA: //L8028BEA8
@@ -289,7 +291,7 @@ void __baMarker_resolveCollision(Prop *other_prop){
|| marker->unk40_31 == 5 || marker->unk40_31 == 5
|| marker->unk40_31 == 6 || marker->unk40_31 == 6
){ ){
obj_collision_type = 1; obj_collision_type = MARKER_COLLISION_FUNC_1;
} }
break; break;
@@ -314,7 +316,7 @@ void __baMarker_resolveCollision(Prop *other_prop){
case 0xA1: //L8028BF54 case 0xA1: //L8028BF54
if(plyr_hitbox_type == HITBOX_1_BEAK_BUSTER){ if(plyr_hitbox_type == HITBOX_1_BEAK_BUSTER){
func_802A02B4(1); func_802A02B4(1);
obj_collision_type = 2; obj_collision_type = MARKER_COLLISION_FUNC_2_DIE;
} }
break; break;
@@ -327,7 +329,7 @@ void __baMarker_resolveCollision(Prop *other_prop){
} }
if(plyr_hitbox_type != HITBOX_6_WONDERWING){ if(plyr_hitbox_type != HITBOX_6_WONDERWING){
plyr_collision_type = 2; plyr_collision_type = MARKER_COLLISION_FUNC_2_DIE;
} }
break; break;
@@ -379,8 +381,8 @@ void __baMarker_resolveCollision(Prop *other_prop){
} }
break; break;
case 0x231: //L8028C104 case MARKER_231_WARP_CAULDRON: //L8028C104
case 0x244: //L8028C104 case MARKER_244_DINGPOT: //L8028C104
{ {
if(func_8028ECAC() == 1) if(func_8028ECAC() == 1)
@@ -389,7 +391,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;
func_803204E4(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;
} }
@@ -463,38 +465,38 @@ void __baMarker_resolveCollision(Prop *other_prop){
break; break;
case MARKER_161_GV_WITCH_SWITCH: //L8028C384 case MARKER_161_GV_WITCH_SWITCH: //L8028C384
__baMarker_8028BB1C(plyr_hitbox_type, 0x4000BE, 0x6E, 0x7D, 0x19, 0x14, 0xA0); __baMarker_8028BB1C(plyr_hitbox_type, 0x400000 | VOLATILE_FLAG_BE_WITCH_SWITCH_PRESSED_GV, 0x6E, 0x7D, 0x19, 0x14, 0xA0);
break; break;
case MARKER_162_BGS_WITCH_SWITCH: //L8028C3BC case MARKER_162_BGS_WITCH_SWITCH: //L8028C3BC
__baMarker_8028BB1C(plyr_hitbox_type, 0x4000BD, 0x71, 0x7C, 0x18, 0x14, 0x9F); __baMarker_8028BB1C(plyr_hitbox_type, 0x400000 | VOLATILE_FLAG_BD_WITCH_SWITCH_PRESSED_BGS, 0x71, 0x7C, 0x18, 0x14, 0x9F);
break; break;
case MARKER_166_CC_WITCH_SWITCH: //L8028C3F4 case MARKER_166_CC_WITCH_SWITCH: //L8028C3F4
__baMarker_8028BB1C(plyr_hitbox_type, 0x4000BC, 0x6A, 0x7A, 0x17, 0x14, 0x9A); __baMarker_8028BB1C(plyr_hitbox_type, 0x400000 | VOLATILE_FLAG_BC_WITCH_SWITCH_PRESSED_CC, 0x6A, 0x7A, 0x17, 0x14, 0x9A);
break; break;
case MARKER_22B_FP_WITCH_SWITCH: //L8028C42C case MARKER_22B_FP_WITCH_SWITCH: //L8028C42C
__baMarker_8028BB1C(plyr_hitbox_type, 0x4000BB, 0x6F, 0x3A, 0x13, 0x15, 0x47); __baMarker_8028BB1C(plyr_hitbox_type, 0x400000 | VOLATILE_FLAG_BB_WITCH_SWITCH_PRESSED_FP, 0x6F, 0x3A, 0x13, 0x15, 0x47);
break; break;
case MARKER_22A_CCW_WITCH_SWITCH: //L8028C464 case MARKER_22A_CCW_WITCH_SWITCH: //L8028C464
__baMarker_8028BB1C(plyr_hitbox_type, 0x4000BA, 0x79, 0x39, 0x12, 0x15, 0x46); __baMarker_8028BB1C(plyr_hitbox_type, 0x400000 | VOLATILE_FLAG_BA_WITCH_SWITCH_PRESSED_CCW, 0x79, 0x39, 0x12, 0x15, 0x46);
break; break;
case MARKER_103_MM_WITCH_SWITCH: //L8028C49C case MARKER_103_MM_WITCH_SWITCH: //L8028C49C
__baMarker_8028BB1C(plyr_hitbox_type, 0x4000B6, 0x69, 0x26, 1, 4, 0x18); __baMarker_8028BB1C(plyr_hitbox_type, 0x400000 | VOLATILE_FLAG_B6_WITCH_SWITCH_PRESSED_MM, 0x69, 0x26, 1, 4, 0x18);
break; break;
case MARKER_104_MMM_WITCH_SWITCH: //L8028C4D4 case MARKER_104_MMM_WITCH_SWITCH: //L8028C4D4
__baMarker_8028BB1C(plyr_hitbox_type, 0x4000B7, 0x6F, 0x27, 2, 0x14, 0x19); __baMarker_8028BB1C(plyr_hitbox_type, 0x400000 | VOLATILE_FLAG_B7_WITCH_SWITCH_PRESSED_MMM, 0x6F, 0x27, 2, 0x14, 0x19);
break; break;
case MARKER_105_TTC_WITCH_SWITCH: //L8028C50C case MARKER_105_TTC_WITCH_SWITCH: //L8028C50C
__baMarker_8028BB1C(plyr_hitbox_type, 0x4000B8, 0x6D, 0x28, 3, 0x14, 0x1A); __baMarker_8028BB1C(plyr_hitbox_type, 0x400000 | VOLATILE_FLAG_B8_WITCH_SWITCH_PRESSED_TTC, 0x6D, 0x28, 3, 0x14, 0x1A);
break; break;
case MARKER_106_RBB_WITCH_SWITCH: //L8028C544 case MARKER_106_RBB_WITCH_SWITCH: //L8028C544
__baMarker_8028BB1C(plyr_hitbox_type, 0x4000B9, 0x76, 0x29, 4, 0xe, 0x1C); __baMarker_8028BB1C(plyr_hitbox_type, 0x400000 | VOLATILE_FLAG_B9_WITCH_SWITCH_PRESSED_RBB, 0x76, 0x29, 4, 0xe, 0x1C);
break; break;
case MARKER_11B_WATER_LEVEL_SWITCH_1: //L8028C57C case MARKER_11B_WATER_LEVEL_SWITCH_1: //L8028C57C
@@ -516,7 +518,7 @@ void __baMarker_resolveCollision(Prop *other_prop){
case MARKER_F3_GV_KAZOOIE_TARGET: //L8028C64C case MARKER_F3_GV_KAZOOIE_TARGET: //L8028C64C
if(plyr_hitbox_type == HITBOX_3_BEAK_BOMB){ if(plyr_hitbox_type == HITBOX_3_BEAK_BOMB){
mapSpecificFlags_set(6,1); mapSpecificFlags_set(6,1);
obj_collision_type = 1; obj_collision_type = MARKER_COLLISION_FUNC_1;
} }
break; break;
@@ -583,10 +585,10 @@ void __baMarker_resolveCollision(Prop *other_prop){
return; return;
if( map_get() == MAP_8E_GL_FURNACE_FUN if( map_get() == MAP_8E_GL_FURNACE_FUN
&& func_803203FC(0) && volatileFlag_get(VOLATILE_FLAG_0_IN_FURNACE_FUN_QUIZ)
&& !fileProgressFlag_get(FILEPROG_A6_FURNACE_FUN_COMPLETE) && !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); func_8030E6D4(SFX_126_AUDIENCE_BOOING);
} }
@@ -695,10 +697,10 @@ void __baMarker_resolveCollision(Prop *other_prop){
if(__baMarker_8028BC20(marker)) if(__baMarker_8028BC20(marker))
return; return;
if( map_get() == MAP_8E_GL_FURNACE_FUN if( map_get() == MAP_8E_GL_FURNACE_FUN
&& func_803203FC(0) && volatileFlag_get(VOLATILE_FLAG_0_IN_FURNACE_FUN_QUIZ)
&& !fileProgressFlag_get(FILEPROG_A6_FURNACE_FUN_COMPLETE) && !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_8030E6D4(SFX_127_AUDIENCE_MIXED);
} }
func_8025A6EC(COMUSIC_15_EXTRA_LIFE_COLLECTED, 0x7FFF); func_8025A6EC(COMUSIC_15_EXTRA_LIFE_COLLECTED, 0x7FFF);
@@ -713,9 +715,9 @@ void __baMarker_resolveCollision(Prop *other_prop){
case MARKER_D4_SPRING_PAD: //L8028CDEC case MARKER_D4_SPRING_PAD: //L8028CDEC
case 0x242: //L8028CDEC case 0x242: //L8028CDEC
if(ability_isUnlocked(ABILITY_D_SHOCK_JUMP)){ if(ability_isUnlocked(ABILITY_D_SHOCK_JUMP)){
miscflag_set(MISC_FLAG_2_ON_SPRING_PAD); miscFlag_set(MISC_FLAG_2_ON_SPRING_PAD);
}else{ }else{
if(!func_80320454(0xC, 1)){ if(!volatileFlag_getAndSet(VOLATILE_FLAG_C_HAS_SEEN_SPRING_PAD, 1)){
func_80311480(0xA24, 4, 0, 0, 0, 0); func_80311480(0xA24, 4, 0, 0, 0, 0);
} }
} }
@@ -725,9 +727,9 @@ void __baMarker_resolveCollision(Prop *other_prop){
case MARKER_240_LAIR_SWITCH_FLIGHT_PAD: //L8028CE3C case MARKER_240_LAIR_SWITCH_FLIGHT_PAD: //L8028CE3C
case MARKER_261_FIGHT_FLIGHT_PAD: //L8028CE3C case MARKER_261_FIGHT_FLIGHT_PAD: //L8028CE3C
if(ability_isUnlocked(ABILITY_9_FLIGHT)){ if(ability_isUnlocked(ABILITY_9_FLIGHT)){
miscflag_set(MISC_FLAG_1_ON_FLIGHT_PAD); miscFlag_set(MISC_FLAG_1_ON_FLIGHT_PAD);
} }
else if(! func_80320454(0xD, 1)){ else if(! volatileFlag_getAndSet(VOLATILE_FLAG_D_HAS_SEEN_FLIGHT_PAD, 1)){
func_80311480(0xA25, 4, 0, 0, 0, 0); func_80311480(0xA25, 4, 0, 0, 0, 0);
} }
break; break;
@@ -744,7 +746,7 @@ void __baMarker_resolveCollision(Prop *other_prop){
if(chwadingboots_802D6E0C(actor) == 0) if(chwadingboots_802D6E0C(actor) == 0)
return; return;
miscflag_set(MISC_FLAG_E_TOUCHING_WADING_BOOTS); miscFlag_set(MISC_FLAG_E_TOUCHING_WADING_BOOTS);
func_802A6388(chwadingboots_802D6E4C(actor)); func_802A6388(chwadingboots_802D6E4C(actor));
bs_checkInterrupt(BS_INTR_1B); bs_checkInterrupt(BS_INTR_1B);
__spawnQueue_add_4((GenFunction_4)func_802C418C, 0x4E, reinterpret_cast(u32, other_prop->actorProp.x), reinterpret_cast(u32, other_prop->actorProp.y), reinterpret_cast(u32, other_prop->actorProp.z)); __spawnQueue_add_4((GenFunction_4)func_802C418C, 0x4E, reinterpret_cast(u32, other_prop->actorProp.x), reinterpret_cast(u32, other_prop->actorProp.y), reinterpret_cast(u32, other_prop->actorProp.z));
@@ -768,40 +770,40 @@ void __baMarker_resolveCollision(Prop *other_prop){
if(!chtrainers_canUse(actor)) if(!chtrainers_canUse(actor))
return; return;
miscflag_set(MISC_FLAG_10_TOUCHING_TURBO_TRAINERS); miscFlag_set(MISC_FLAG_10_TOUCHING_TURBO_TRAINERS);
set_turbo_duration(chtrainers_getDuration(actor)); set_turbo_duration(chtrainers_getDuration(actor));
bs_checkInterrupt(BS_INTR_1A); bs_checkInterrupt(BS_INTR_1A);
__spawnQueue_add_4((GenFunction_4)func_802C418C, 0x4E, reinterpret_cast(u32, other_prop->actorProp.x), reinterpret_cast(u32, other_prop->actorProp.y), reinterpret_cast(u32, other_prop->actorProp.z)); __spawnQueue_add_4((GenFunction_4)func_802C418C, 0x4E, reinterpret_cast(u32, other_prop->actorProp.x), reinterpret_cast(u32, other_prop->actorProp.y), reinterpret_cast(u32, other_prop->actorProp.z));
chtrainers_pickup(actor); chtrainers_pickup(actor);
break; break;
case 0x1AE: //L8028CFEC case MARKER_1AE_ZUBBA: //L8028CFEC
switch(plyr_hitbox_type){ switch(plyr_hitbox_type){
case HITBOX_1_BEAK_BUSTER: case HITBOX_1_BEAK_BUSTER:
case HITBOX_2_BEAK_BARGE: case HITBOX_2_BEAK_BARGE:
case HITBOX_5_PECK: case HITBOX_5_PECK:
case HITBOX_6_WONDERWING: case HITBOX_6_WONDERWING:
obj_collision_type = 2; obj_collision_type = MARKER_COLLISION_FUNC_2_DIE;
break; break;
default: default:
plyr_collision_type = 2; plyr_collision_type = MARKER_COLLISION_FUNC_2_DIE;
break; break;
} }
break; break;
case MARKER_1B1_CCW_GOBI: //L8028D024 case MARKER_1B1_CCW_GOBI: //L8028D024
if(plyr_hitbox_type == HITBOX_1_BEAK_BUSTER) if(plyr_hitbox_type == HITBOX_1_BEAK_BUSTER)
obj_collision_type = 1; obj_collision_type = MARKER_COLLISION_FUNC_1;
break; break;
}//L8028D034 }//L8028D034
if(func_80297C6C() == 3){ if(func_80297C6C() == 3){
plyr_collision_type = 0; plyr_collision_type = MARKER_COLLISION_FUNC_0;
} }
if(obj_collision_type){ if(obj_collision_type){
miscflag_set(8); miscFlag_set(MISC_FLAG_8);
} }
func_8032FFF4(playerMarker, marker, plyr_collision_type); marker_callCollisionFunc(playerMarker, marker, plyr_collision_type);
func_8032FFF4(marker, playerMarker, obj_collision_type); marker_callCollisionFunc(marker, playerMarker, obj_collision_type);
if(marker->unk3E_0){ if(marker->unk3E_0){
func_8032B258(actor, obj_collision_type); func_8032B258(actor, obj_collision_type);
} }
@@ -812,10 +814,10 @@ void __baMarker_resolveCollision(Prop *other_prop){
switch (tmp2) switch (tmp2)
{ {
case 0x2E8: case 0x2E8:
miscflag_set(MISC_FLAG_1_ON_FLIGHT_PAD); //on flight pad miscFlag_set(MISC_FLAG_1_ON_FLIGHT_PAD); //on flight pad
break; break;
case 0x2DD: //on shock spring pad case 0x2DD: //on shock spring pad
miscflag_set(MISC_FLAG_2_ON_SPRING_PAD); miscFlag_set(MISC_FLAG_2_ON_SPRING_PAD);
break; break;
default: default:
func_80332790(tmp2); func_80332790(tmp2);
@@ -864,9 +866,9 @@ void baMarker_init(void){
playerMarker->unk2C_1 = 1; playerMarker->unk2C_1 = 1;
marker_setCollisionScripts(playerMarker, NULL, func_80291634, func_80291610); marker_setCollisionScripts(playerMarker, NULL, func_80291634, func_80291610);
func_803300B8(playerMarker, baMarker_8028D7B8); func_803300B8(playerMarker, baMarker_8028D7B8);
miscflag_clear(MISC_FLAG_1_ON_FLIGHT_PAD); miscFlag_clear(MISC_FLAG_1_ON_FLIGHT_PAD);
miscflag_clear(MISC_FLAG_2_ON_SPRING_PAD); miscFlag_clear(MISC_FLAG_2_ON_SPRING_PAD);
miscflag_clear(8); miscFlag_clear(MISC_FLAG_8);
baMarker_8028D638(0,0); baMarker_8028D638(0,0);
func_8033D2F4(); func_8033D2F4();
D_8037BF8C = 0; D_8037BF8C = 0;
@@ -897,11 +899,11 @@ void baMarker_update(void){
D_8037BF88 = 0; D_8037BF88 = 0;
} }
}//L8028D364 }//L8028D364
miscflag_clear(8); miscFlag_clear(MISC_FLAG_8);
if(playerMarker->collidable){ if(playerMarker->collidable){
temp_s0_2 = __baMarker_8028B750(); temp_s0_2 = __baMarker_8028B750();
miscflag_clear(MISC_FLAG_1_ON_FLIGHT_PAD); miscFlag_clear(MISC_FLAG_1_ON_FLIGHT_PAD);
miscflag_clear(MISC_FLAG_2_ON_SPRING_PAD); miscFlag_clear(MISC_FLAG_2_ON_SPRING_PAD);
_player_getPosition(sp168); _player_getPosition(sp168);
func_8032F64C(sp168, playerMarker); func_8032F64C(sp168, playerMarker);
for(D_8037BF8C = NULL, i = 0, temp_s2 = 0; i < 2;i++){//L8028D3DC for(D_8037BF8C = NULL, i = 0, temp_s2 = 0; i < 2;i++){//L8028D3DC
@@ -1014,7 +1016,7 @@ void baMarker_8028D7B8(s32 arg0, ActorMarker *arg1, struct5Cs *collision_flags){
s32 tmp_v0; s32 tmp_v0;
if(func_8033D5A4(collision_flags)) if(func_8033D5A4(collision_flags))
miscflag_set(8); miscFlag_set(MISC_FLAG_8);
if((func_80297C6C() != 3 && func_8028F1E0()) || !sp20){ if((func_80297C6C() != 3 && func_8028F1E0()) || !sp20){
if(!func_8028F25C()){ if(!func_8028F25C()){

View File

@@ -54,8 +54,8 @@ void func_8029E4EC(void){
func_8029B0C0(); func_8029B0C0();
func_8029E070(0); func_8029E070(0);
func_8029E064(0); func_8029E064(0);
miscflag_clear(3); miscFlag_clear(MISC_FLAG_3);
miscflag_clear(4); miscFlag_clear(MISC_FLAG_4);
func_80293D74(); func_80293D74();
} }
baanim_setUpdateType(BAANIM_UPDATE_1_NORMAL); baanim_setUpdateType(BAANIM_UPDATE_1_NORMAL);
@@ -84,8 +84,8 @@ void bsant_idle_init(void){
baphysics_set_target_horizontal_velocity(0.0f); baphysics_set_target_horizontal_velocity(0.0f);
pitch_setAngVel(1000.0f, 12.0f); pitch_setAngVel(1000.0f, 12.0f);
roll_setAngularVelocity(1000.0f, 12.0f); roll_setAngularVelocity(1000.0f, 12.0f);
miscflag_set(3); miscFlag_set(MISC_FLAG_3);
miscflag_set(4); miscFlag_set(MISC_FLAG_4);
func_802900B4(); func_802900B4();
} }
@@ -266,7 +266,7 @@ void bsant_fall_update(void){
break; break;
} }
if(player_isStable()){ if(player_isStable()){
if(miscflag_isTrue(0x19)) if(miscFlag_isTrue(MISC_FLAG_19))
sp2C = badrone_transform(); sp2C = badrone_transform();
else else
sp2C = BS_35_ANT_IDLE; sp2C = BS_35_ANT_IDLE;

View File

@@ -76,9 +76,9 @@ void bsbarge_init(void){
func_8029E070(1); func_8029E070(1);
D_8037D2A6 = 0; D_8037D2A6 = 0;
D_8037D2A5 = 0; D_8037D2A5 = 0;
miscflag_clear(0xA); miscFlag_clear(MISC_FLAG_A);
miscflag_clear(0xB); miscFlag_clear(MISC_FLAG_B);
miscflag_clear(0xC); miscFlag_clear(MISC_FLAG_C);
func_8029E3C0(2, 0.01f); func_8029E3C0(2, 0.01f);
} }
@@ -90,7 +90,7 @@ void bsbarge_update(void){
sp24 = 0; sp24 = 0;
plyrMvmnt = baanim_getAnimCtrlPtr(); plyrMvmnt = baanim_getAnimCtrlPtr();
if(button_released(BUTTON_B)) if(button_released(BUTTON_B))
miscflag_set(0xA); miscFlag_set(MISC_FLAG_A);
switch(D_8037D2A5){ switch(D_8037D2A5){
case 0: case 0:
if(animctrl_isAt(plyrMvmnt, 0.1392f)) if(animctrl_isAt(plyrMvmnt, 0.1392f))
@@ -99,8 +99,8 @@ void bsbarge_update(void){
if(!animctrl_isStopped(plyrMvmnt)) if(!animctrl_isStopped(plyrMvmnt))
break; break;
if(miscflag_isFalse(0xA)){ if(miscFlag_isFalse(MISC_FLAG_A)){
miscflag_set(0xC); miscFlag_set(MISC_FLAG_C);
D_8037D2A0 = 850.0f; D_8037D2A0 = 850.0f;
}else{ }else{
D_8037D2A0 = 500.0f; D_8037D2A0 = 500.0f;
@@ -110,13 +110,13 @@ void bsbarge_update(void){
break; break;
case 1: case 1:
func_8029E1A8(1); func_8029E1A8(1);
if(miscflag_isFalse(0xB) && func_8029E2E0(1, 0.1f)){ if(miscFlag_isFalse(MISC_FLAG_B) && func_8029E2E0(1, 0.1f)){
if(miscflag_isTrue(0xC)){ if(miscFlag_isTrue(MISC_FLAG_C)){
func_8030E560(SFX_4_KAZOOIE_RUUUUUH, 30000); func_8030E560(SFX_4_KAZOOIE_RUUUUUH, 30000);
}else{ }else{
func_8030E560(SFX_43_KAZOOIE_RUH, 30000); func_8030E560(SFX_43_KAZOOIE_RUH, 30000);
} }
miscflag_set(0xB); miscFlag_set(MISC_FLAG_B);
} }
if(!func_8029E384(1)) if(!func_8029E384(1))
break; break;
@@ -142,7 +142,7 @@ void bsbarge_update(void){
break; break;
case 3: case 3:
func_8029E1A8(0); func_8029E1A8(0);
if(miscflag_isFalse(0xC) || func_8029E384(0)){ if(miscFlag_isFalse(MISC_FLAG_C) || func_8029E384(0)){
D_8037D2A0 -= 80.0f; D_8037D2A0 -= 80.0f;
} }
baphysics_set_target_horizontal_velocity(D_8037D2A0); baphysics_set_target_horizontal_velocity(D_8037D2A0);

View File

@@ -30,7 +30,7 @@ void bsbflap_init(void) {
baphysics_set_vertical_velocity(0.0f); baphysics_set_vertical_velocity(0.0f);
baphysics_set_gravity(D_80364A14); baphysics_set_gravity(D_80364A14);
func_8029E070(1); func_8029E070(1);
miscflag_set(MISC_FLAG_12_HAS_FLAPPED); miscFlag_set(MISC_FLAG_12_HAS_FLAPPED);
func_8029E3C0(0, 2.5f); func_8029E3C0(0, 2.5f);
D_8037D30C = func_8030D90C(); D_8037D30C = func_8030D90C();
func_80299BD4(); func_80299BD4();

View File

@@ -180,7 +180,7 @@ void bsbfly_enter_end(void){
void bsbfly_init(void){ void bsbfly_init(void){
baanim_playForDuration_loopSmooth(ASSET_38_ANIM_BSBFLY, 0.62f); baanim_playForDuration_loopSmooth(ASSET_38_ANIM_BSBFLY, 0.62f);
func_8029C7F4(1,1,3, BA_PHYSICS_LOCKED_ROTATION); func_8029C7F4(1,1,3, BA_PHYSICS_LOCKED_ROTATION);
if(miscflag_isTrue(9)){ if(miscFlag_isTrue(MISC_FLAG_9)){
baphysics_set_target_horizontal_velocity(0.0f); baphysics_set_target_horizontal_velocity(0.0f);
}else{ }else{
baphysics_set_target_horizontal_velocity(600.0f); baphysics_set_target_horizontal_velocity(600.0f);
@@ -261,7 +261,7 @@ void bsbfly_update(void){
func_8030EBC8(SFX_2_CLAW_SWIPE, 0.6f, 0.7f, 0x2710, 0x2ee0); func_8030EBC8(SFX_2_CLAW_SWIPE, 0.6f, 0.7f, 0x2710, 0x2ee0);
} }
baphysics_set_gravity(-300.0f); baphysics_set_gravity(-300.0f);
if(miscflag_isTrue(9)){ if(miscFlag_isTrue(MISC_FLAG_9)){
baphysics_set_terminal_velocity(0.0f); baphysics_set_terminal_velocity(0.0f);
baphysics_set_velocity(0); baphysics_set_velocity(0);
sp38 = 0.0f; sp38 = 0.0f;
@@ -409,7 +409,7 @@ void func_802A411C(void) {
ml_vec3f_copy(sp28, D_8037D338); ml_vec3f_copy(sp28, D_8037D338);
ml_vec3f_normalize(sp28); ml_vec3f_normalize(sp28);
sp24 = mlAbsF(sp34[0] * sp28[0] + sp34[1] * sp28[1] + sp34[2] * sp28[2]); sp24 = mlAbsF(sp34[0] * sp28[0] + sp34[1] * sp28[1] + sp34[2] * sp28[2]);
if (miscflag_isTrue(8) || ((sp44 & 0x80) != 0)) { if (miscFlag_isTrue(MISC_FLAG_8) || ((sp44 & 0x80) != 0)) {
func_802A4078(); func_802A4078();
next_state = BS_18_FLY_KNOCKBACK; next_state = BS_18_FLY_KNOCKBACK;
} else if (0.4 < sp24) { } else if (0.4 < sp24) {
@@ -782,7 +782,7 @@ void func_802A503C(void){
void func_802A505C(void){ void func_802A505C(void){
if(bs_getInterruptType() == BS_INTR_9){ if(bs_getInterruptType() == BS_INTR_9){
func_8029A86C(2); func_8029A86C(2);
miscflag_set(7); miscFlag_set(MISC_FLAG_7);
func_8029CCC4(); func_8029CCC4();
}else{ }else{
func_80296608(); func_80296608();

View File

@@ -70,7 +70,7 @@ void func_802A5374(void){
func_8029E0F4(1); func_8029E0F4(1);
pitch_setAngVel(1000.0f, 12.0f); pitch_setAngVel(1000.0f, 12.0f);
roll_setAngularVelocity(1000.0f, 12.0f); roll_setAngularVelocity(1000.0f, 12.0f);
miscflag_set(3); miscFlag_set(MISC_FLAG_3);
} }
void func_802A5404(void){ void func_802A5404(void){
@@ -87,7 +87,7 @@ void func_802A5404(void){
roll_setIdeal(0.0f); roll_setIdeal(0.0f);
stateTimer_clear(STATE_TIMER_2_LONGLEG); stateTimer_clear(STATE_TIMER_2_LONGLEG);
func_803219F4(1); func_803219F4(1);
miscflag_clear(3); miscFlag_clear(MISC_FLAG_3);
func_8029E180(4, 0.5f); func_8029E180(4, 0.5f);
func_802A531C(); func_802A531C();
} }
@@ -121,7 +121,7 @@ void bsblongleg_enter_init(void){
D_8037D361 = func_8030D90C(); D_8037D361 = func_8030D90C();
sfxsource_setSfxId(D_8037D361, SFX_2C_PULLING_NOISE); sfxsource_setSfxId(D_8037D361, SFX_2C_PULLING_NOISE);
func_8030E04C(D_8037D361, 0.8f, 1.9f, 1.2f); func_8030E04C(D_8037D361, 0.8f, 1.9f, 1.2f);
miscflag_clear(MISC_FLAG_E_TOUCHING_WADING_BOOTS); miscFlag_clear(MISC_FLAG_E_TOUCHING_WADING_BOOTS);
if(bsbtrot_inSet(bs_getPrevState())) if(bsbtrot_inSet(bs_getPrevState()))
__bsblongleg_enterFromTrot(); __bsblongleg_enterFromTrot();
else else

View File

@@ -66,7 +66,7 @@ void func_802A664C(void){
sp1C = 1.32f; sp1C = 1.32f;
break; break;
} }
miscflag_set(MISC_FLAG_5_HAS_PECKED); miscFlag_set(MISC_FLAG_5_HAS_PECKED);
func_8030E58C(SFX_42_KAZOOIE_RAH, sp1C); func_8030E58C(SFX_42_KAZOOIE_RAH, sp1C);
baphysics_set_vertical_velocity(D_80364A64); baphysics_set_vertical_velocity(D_80364A64);
D_8037D375++; D_8037D375++;

View File

@@ -106,15 +106,15 @@ void func_802A8A40(void){
func_8029E064(1); func_8029E064(1);
pitch_setAngVel(1000.0f, 12.0f); pitch_setAngVel(1000.0f, 12.0f);
roll_setAngularVelocity(1000.0f, 12.0f); roll_setAngularVelocity(1000.0f, 12.0f);
miscflag_set(3); miscFlag_set(MISC_FLAG_3);
func_8029CF48(4,1,0.24f); func_8029CF48(4,1,0.24f);
baModel_setDirection(PLAYER_MODEL_DIR_KAZOOIE); baModel_setDirection(PLAYER_MODEL_DIR_KAZOOIE);
} }
void func_802A8AD8(void){ void func_802A8AD8(void){
func_80299650(stateTimer_getPrevious(STATE_TIMER_3_TURBO_TALON), stateTimer_get(STATE_TIMER_3_TURBO_TALON)); func_80299650(stateTimer_getPrevious(STATE_TIMER_3_TURBO_TALON), stateTimer_get(STATE_TIMER_3_TURBO_TALON));
if(miscflag_isTrue(MISC_FLAG_10_TOUCHING_TURBO_TRAINERS) &&(bs_getState() != BS_17_BTROT_EXIT)){ if(miscFlag_isTrue(MISC_FLAG_10_TOUCHING_TURBO_TRAINERS) &&(bs_getState() != BS_17_BTROT_EXIT)){
miscflag_clear(MISC_FLAG_10_TOUCHING_TURBO_TRAINERS); miscFlag_clear(MISC_FLAG_10_TOUCHING_TURBO_TRAINERS);
stateTimer_set(STATE_TIMER_3_TURBO_TALON, get_turbo_duration()); stateTimer_set(STATE_TIMER_3_TURBO_TALON, get_turbo_duration());
func_803219F4(4); func_803219F4(4);
} }
@@ -122,7 +122,7 @@ void func_802A8AD8(void){
if(stateTimer_isDone(STATE_TIMER_3_TURBO_TALON)){ if(stateTimer_isDone(STATE_TIMER_3_TURBO_TALON)){
if(func_8029DFE0()){ if(func_8029DFE0()){
func_8029E0DC(0); func_8029E0DC(0);
if(miscflag_isFalse(MISC_FLAG_14_LOSE_BOGGY_RACE)) if(miscFlag_isFalse(MISC_FLAG_14_LOSE_BOGGY_RACE))
func_8030E484(0x3eb); func_8030E484(0x3eb);
func_803219F4(1); func_803219F4(1);
} }
@@ -143,7 +143,7 @@ void func_802A8BB0(void){
func_8029E064(0); func_8029E064(0);
pitch_setIdeal(0.0f); pitch_setIdeal(0.0f);
roll_setIdeal(0.0f); roll_setIdeal(0.0f);
miscflag_clear(3); miscFlag_clear(MISC_FLAG_3);
if(next_state != BS_5A_LOADZONE) if(next_state != BS_5A_LOADZONE)
stateTimer_set(STATE_TIMER_3_TURBO_TALON, 0.0f); stateTimer_set(STATE_TIMER_3_TURBO_TALON, 0.0f);
func_802A8AD8(); func_802A8AD8();
@@ -177,10 +177,10 @@ enum asset_e func_802A8D00(enum asset_e arg0, enum asset_e arg1){
} }
enum bs_e func_802A8D34(enum bs_e arg0){ enum bs_e func_802A8D34(enum bs_e arg0){
if(miscflag_isTrue(0xf)) if(miscFlag_isTrue(MISC_FLAG_F))
return arg0; return arg0;
if(miscflag_isTrue(MISC_FLAG_1_ON_FLIGHT_PAD)) if(miscFlag_isTrue(MISC_FLAG_1_ON_FLIGHT_PAD))
return BS_23_FLY_ENTER; return BS_23_FLY_ENTER;
return BS_8_BTROT_JUMP; return BS_8_BTROT_JUMP;
@@ -377,7 +377,7 @@ void bsbtrot_jump_update(void){
if(stateTimer_isActive(STATE_TIMER_3_TURBO_TALON)) if(stateTimer_isActive(STATE_TIMER_3_TURBO_TALON))
func_802A87C0(); func_802A87C0();
if(miscflag_isTrue(0xF)) if(miscFlag_isTrue(MISC_FLAG_F))
baphysics_reset_horizontal_velocity(); baphysics_reset_horizontal_velocity();
else else
func_802A89D4(); func_802A89D4();
@@ -588,7 +588,7 @@ void bsbtrot_fall_update(void){
if(stateTimer_isActive(STATE_TIMER_3_TURBO_TALON)) if(stateTimer_isActive(STATE_TIMER_3_TURBO_TALON))
func_802A87C0(); func_802A87C0();
if(miscflag_isTrue(0xf)) if(miscFlag_isTrue(MISC_FLAG_F))
baphysics_reset_horizontal_velocity(); baphysics_reset_horizontal_velocity();
else else
func_802A89D4(); func_802A89D4();

View File

@@ -124,7 +124,7 @@ void bsbbuster_update(void){
rumbleManager_80250D94(1.0f, 0.3f, 0.4f); rumbleManager_80250D94(1.0f, 0.3f, 0.4f);
D_8037D2B6++; D_8037D2B6++;
} }
D_8037D2B9 = miscflag_isTrue(8); D_8037D2B9 = miscFlag_isTrue(MISC_FLAG_8);
func_8029445C(sp30); func_8029445C(sp30);
//L8029FF78 //L8029FF78
if(((0.0f <= sp30[1])? sp30[1] : -sp30[1]) < 1.0){ if(((0.0f <= sp30[1])? sp30[1] : -sp30[1]) < 1.0){

View File

@@ -19,8 +19,8 @@ void func_802A02C0(void){
func_8029B0C0(); func_8029B0C0();
func_8029E070(0); func_8029E070(0);
func_8029E064(0); func_8029E064(0);
miscflag_clear(3); miscFlag_clear(MISC_FLAG_3);
miscflag_clear(4); miscFlag_clear(MISC_FLAG_4);
func_80293D74(); func_80293D74();
} }
baanim_setUpdateType(BAANIM_UPDATE_1_NORMAL); baanim_setUpdateType(BAANIM_UPDATE_1_NORMAL);
@@ -31,8 +31,8 @@ void func_802A0340(void){
pitch_setAngVel(1000.0f, 12.0f); pitch_setAngVel(1000.0f, 12.0f);
roll_setAngularVelocity(1000.0f, 12.0f); roll_setAngularVelocity(1000.0f, 12.0f);
func_80293D48(50.0f, 25.0f); func_80293D48(50.0f, 25.0f);
miscflag_set(3); miscFlag_set(MISC_FLAG_3);
miscflag_set(4); miscFlag_set(MISC_FLAG_4);
} }
} }

View File

@@ -152,7 +152,7 @@ void bsbeefly_enter(void){
mvmnt = bs_getPrevState(); mvmnt = bs_getPrevState();
baanim_playForDuration_loopSmooth(ASSET_1DC_ANIM_BEE_FLY, 0.38); baanim_playForDuration_loopSmooth(ASSET_1DC_ANIM_BEE_FLY, 0.38);
func_8029C7F4(1, 1, 3, BA_PHYSICS_LOCKED_ROTATION); func_8029C7F4(1, 1, 3, BA_PHYSICS_LOCKED_ROTATION);
if(miscflag_isTrue(9)) if(miscFlag_isTrue(MISC_FLAG_9))
baphysics_set_target_horizontal_velocity(0.0f); baphysics_set_target_horizontal_velocity(0.0f);
else else
baphysics_set_target_horizontal_velocity(600.0f); baphysics_set_target_horizontal_velocity(600.0f);
@@ -235,7 +235,7 @@ void bsbeefly_update(void){
} }
break; break;
}//L802A0DF0 }//L802A0DF0
if(miscflag_isTrue(9)){ if(miscFlag_isTrue(MISC_FLAG_9)){
baphysics_set_terminal_velocity(0.0f); baphysics_set_terminal_velocity(0.0f);
baphysics_set_velocity(0); baphysics_set_velocity(0);
sp38 = 0.0f; sp38 = 0.0f;

View File

@@ -275,7 +275,7 @@ void func_802A170C(void){
break; break;
} }
if(player_isStable()){ if(player_isStable()){
if(miscflag_isTrue(0x19)){ if(miscFlag_isTrue(MISC_FLAG_19)){
sp2c = badrone_transform(); sp2c = badrone_transform();
}else{ }else{
if(func_8029B300() > 0) if(func_8029B300() > 0)
@@ -286,7 +286,7 @@ void func_802A170C(void){
} }
} }
else{ else{
if(miscflag_isFalse(0xf) && button_pressed(BUTTON_A)) if(miscFlag_isFalse(MISC_FLAG_F) && button_pressed(BUTTON_A))
sp2c = BS_BEE_FLY; sp2c = BS_BEE_FLY;
}//L802A189C }//L802A189C
if(player_inWater()) if(player_inWater())
@@ -514,7 +514,7 @@ void func_802A2054(void){
} }
void func_802A2098(void){ void func_802A2098(void){
miscflag_clear(0x1A); miscFlag_clear(MISC_FLAG_1A);
baanim_playForDuration_loopSmooth(ASSET_1DE_ANIM_BEE_IDLE, 3.0f); baanim_playForDuration_loopSmooth(ASSET_1DE_ANIM_BEE_IDLE, 3.0f);
yaw_setIdeal(func_8029B41C()); yaw_setIdeal(func_8029B41C());
func_8029C7F4(1,1,3, BA_PHYSICS_NORMAL); func_8029C7F4(1,1,3, BA_PHYSICS_NORMAL);

View File

@@ -49,8 +49,8 @@ void __bscroc_jumpSfx(void){
void func_802ABE70(void){ void func_802ABE70(void){
f32 sp1C = stateTimer_get(STATE_TIMER_3_TURBO_TALON); f32 sp1C = stateTimer_get(STATE_TIMER_3_TURBO_TALON);
func_80299650(stateTimer_getPrevious(STATE_TIMER_3_TURBO_TALON), sp1C); func_80299650(stateTimer_getPrevious(STATE_TIMER_3_TURBO_TALON), sp1C);
if(miscflag_isTrue(MISC_FLAG_10_TOUCHING_TURBO_TRAINERS) && bs_getState() != BS_17_BTROT_EXIT){ if(miscFlag_isTrue(MISC_FLAG_10_TOUCHING_TURBO_TRAINERS) && bs_getState() != BS_17_BTROT_EXIT){
miscflag_clear(MISC_FLAG_10_TOUCHING_TURBO_TRAINERS); miscFlag_clear(MISC_FLAG_10_TOUCHING_TURBO_TRAINERS);
stateTimer_set(STATE_TIMER_3_TURBO_TALON, get_turbo_duration()); stateTimer_set(STATE_TIMER_3_TURBO_TALON, get_turbo_duration());
func_8025A6EC(COMUSIC_8A_GETTING_TURBO_TRAINERS, -1); func_8025A6EC(COMUSIC_8A_GETTING_TURBO_TRAINERS, -1);
func_8029E0DC(1); func_8029E0DC(1);
@@ -81,8 +81,8 @@ void func_802ABFBC(void){
func_8029B0C0(); func_8029B0C0();
func_8029E070(0); func_8029E070(0);
func_8029E064(0); func_8029E064(0);
miscflag_clear(3); miscFlag_clear(MISC_FLAG_3);
miscflag_clear(4); miscFlag_clear(MISC_FLAG_4);
func_80293D74(); func_80293D74();
} }
baanim_setUpdateType(BAANIM_UPDATE_1_NORMAL); baanim_setUpdateType(BAANIM_UPDATE_1_NORMAL);
@@ -109,8 +109,8 @@ void bscroc_idle_init(void){
pitch_setAngVel(1000.0f, 12.0f); pitch_setAngVel(1000.0f, 12.0f);
roll_setAngularVelocity(1000.0f, 12.0f); roll_setAngularVelocity(1000.0f, 12.0f);
func_80293D48(50.0f, 25.0f); func_80293D48(50.0f, 25.0f);
miscflag_set(3); miscFlag_set(MISC_FLAG_3);
miscflag_set(4); miscFlag_set(MISC_FLAG_4);
func_802900B4(); func_802900B4();
} }
@@ -312,7 +312,7 @@ void bscroc_fall_update(void){
if(player_isStable()){ if(player_isStable()){
if(func_8029B300() > 0 || (D_8037D3EC == 2 && animctrl_isStopped(aCtrl))){ if(func_8029B300() > 0 || (D_8037D3EC == 2 && animctrl_isStopped(aCtrl))){
if(miscflag_isTrue(0x19)){ if(miscFlag_isTrue(MISC_FLAG_19)){
next_state = badrone_transform(); next_state = badrone_transform();
}else{ }else{
next_state = BS_5E_CROC_IDLE; next_state = BS_5E_CROC_IDLE;

View File

@@ -30,7 +30,7 @@ void bsDroneLook_init(void) {
eye_rotation[1] += 180.0f; eye_rotation[1] += 180.0f;
eye_rotation[2] = 0.0f; eye_rotation[2] = 0.0f;
ncFirstPersonCamera_setZoomedOutRotation(eye_rotation); ncFirstPersonCamera_setZoomedOutRotation(eye_rotation);
miscflag_set(MISC_FLAG_17_FPV); miscFlag_set(MISC_FLAG_17_FIRST_PERSON_VIEW);
} }
void bsDroneLook_update(void) { void bsDroneLook_update(void) {
@@ -79,5 +79,5 @@ void bsDroneLook_end(void) {
func_80299D2C(SFX_12E_CAMERA_ZOOM_MEDIUM, 1.2f, 12000); func_80299D2C(SFX_12E_CAMERA_ZOOM_MEDIUM, 1.2f, 12000);
} }
ncDynamicCamera_exitFirstPerson(); ncDynamicCamera_exitFirstPerson();
miscflag_clear(MISC_FLAG_17_FPV); miscFlag_clear(MISC_FLAG_17_FIRST_PERSON_VIEW);
} }

View File

@@ -335,7 +335,7 @@ void bsdronexform_init(void){
func_802B016C(); func_802B016C();
D_8037D470.player_transformation = bsStoredState_getTransformation(); D_8037D470.player_transformation = bsStoredState_getTransformation();
D_8037D470.room_transformation = func_80294A4C(); D_8037D470.room_transformation = func_80294A4C();
miscflag_set(MISC_FLAG_1B_TRANSFORMING); miscFlag_set(MISC_FLAG_1B_TRANSFORMING);
D_8037D470.state = 0; D_8037D470.state = 0;
__bsdronexform_setState(1); __bsdronexform_setState(1);
} }
@@ -444,7 +444,7 @@ void bsdronexform_end(void){
func_802AFADC(); func_802AFADC();
func_802B014C(); func_802B014C();
func_80298A64(); func_80298A64();
miscflag_clear(MISC_FLAG_1B_TRANSFORMING); miscFlag_clear(MISC_FLAG_1B_TRANSFORMING);
} }
void bsdronexform_interrupt(void){} void bsdronexform_interrupt(void){}

View File

@@ -42,8 +42,8 @@ void bsjig_jiggy_init(void){
func_8029151C(0xC); func_8029151C(0xC);
func_8029E070(1); func_8029E070(1);
func_8030E6D4(SFX_33_BANJO_AHOO); func_8030E6D4(SFX_33_BANJO_AHOO);
miscflag_clear(7); miscFlag_clear(MISC_FLAG_7);
miscflag_clear(0xf); miscFlag_clear(MISC_FLAG_F);
baMarker_collisionOff(); baMarker_collisionOff();
chJigsawDance_setState(marker_getActor(bsjig_gJiggyMarker), 1); chJigsawDance_setState(marker_getActor(bsjig_gJiggyMarker), 1);
D_8037D4B0 = 0; D_8037D4B0 = 0;
@@ -164,7 +164,7 @@ void bsjig_notedoor_end(void){
void bsjig_notedoor_init(void){ void bsjig_notedoor_init(void){
AnimCtrl *aCtrl = baanim_getAnimCtrlPtr(); AnimCtrl *aCtrl = baanim_getAnimCtrlPtr();
D_8037D4B2 = (bs_getPrevState() == BS_44_JIG_JIGGY); D_8037D4B2 = (bs_getPrevState() == BS_44_JIG_JIGGY);
miscflag_clear(0x1A); miscFlag_clear(MISC_FLAG_1A);
animctrl_reset(aCtrl); animctrl_reset(aCtrl);
animctrl_setIndex(aCtrl, ASSET_282_ANIM_BSJIG_NOTEDOOR); animctrl_setIndex(aCtrl, ASSET_282_ANIM_BSJIG_NOTEDOOR);
animctrl_setDuration(aCtrl, 3.6f); animctrl_setDuration(aCtrl, 3.6f);

View File

@@ -35,7 +35,7 @@ void bsjump_init(void){
AnimCtrl *aCtrl = baanim_getAnimCtrlPtr(); AnimCtrl *aCtrl = baanim_getAnimCtrlPtr();
enum bs_e sp30; enum bs_e sp30;
D_8037D4C2 = miscflag_isTrue(2); D_8037D4C2 = miscFlag_isTrue(MISC_FLAG_2_ON_SPRING_PAD);
sp30 = bs_getPrevState(); sp30 = bs_getPrevState();
if(bsclimb_inSet(sp30)){ if(bsclimb_inSet(sp30)){
climbRelease(); climbRelease();
@@ -89,7 +89,7 @@ void bsjump_update(void){
if(D_8037D4C2) if(D_8037D4C2)
func_8029C348(); func_8029C348();
if(miscflag_isTrue(0xf)){ if(miscFlag_isTrue(MISC_FLAG_F)){
baphysics_reset_horizontal_velocity(); baphysics_reset_horizontal_velocity();
}else{ }else{
func_802B6FA8(); func_802B6FA8();
@@ -172,7 +172,7 @@ void bsjump_fall_init(void){
AnimCtrl *aCtrl = baanim_getAnimCtrlPtr(); AnimCtrl *aCtrl = baanim_getAnimCtrlPtr();
int sp20; int sp20;
if(miscflag_isTrue(7) && 700.0f < baphysics_get_vertical_velocity()) if(miscFlag_isTrue(MISC_FLAG_7) && 700.0f < baphysics_get_vertical_velocity())
baphysics_set_vertical_velocity(700.0f); baphysics_set_vertical_velocity(700.0f);
sp20 = (bs_getPrevState() == BS_12_BFLIP)? 0 : 1; sp20 = (bs_getPrevState() == BS_12_BFLIP)? 0 : 1;
@@ -191,7 +191,7 @@ void bsjump_fall_update(void){
AnimCtrl *aCtrl = baanim_getAnimCtrlPtr(); AnimCtrl *aCtrl = baanim_getAnimCtrlPtr();
f32 player_velocity[3]; f32 player_velocity[3];
if(miscflag_isTrue(0xf)) if(miscFlag_isTrue(MISC_FLAG_F))
baphysics_reset_horizontal_velocity(); baphysics_reset_horizontal_velocity();
else else
func_802B6FA8(); func_802B6FA8();
@@ -213,11 +213,11 @@ void bsjump_fall_update(void){
case 1: case 1:
break; break;
}//L802B1824 }//L802B1824
if(miscflag_isFalse(0xf)){ if(miscFlag_isFalse(MISC_FLAG_F)){
if(player_isFallTumbling()) if(player_isFallTumbling())
sp2C = BS_3D_FALL_TUMBLING; sp2C = BS_3D_FALL_TUMBLING;
if(should_feathery_flap() && miscflag_isFalse(MISC_FLAG_5_HAS_PECKED)) if(should_feathery_flap() && miscFlag_isFalse(MISC_FLAG_5_HAS_PECKED))
sp2C = BS_BFLAP; sp2C = BS_BFLAP;
if(should_peck()) if(should_peck())
@@ -231,7 +231,7 @@ void bsjump_fall_update(void){
} }
else if(player_inWater()){ else if(player_inWater()){
func_8029CCC4(); func_8029CCC4();
if(miscflag_isTrue(6) || miscflag_isTrue(MISC_FLAG_14_LOSE_BOGGY_RACE)){ if(miscFlag_isTrue(MISC_FLAG_6) || miscFlag_isTrue(MISC_FLAG_14_LOSE_BOGGY_RACE)){
sp2C = BS_D_TIMEOUT; sp2C = BS_D_TIMEOUT;
} }

View File

@@ -55,8 +55,8 @@ void func_802B229C(void) {
func_8029B0C0(); func_8029B0C0();
func_8029E070(0); func_8029E070(0);
func_8029E064(0); func_8029E064(0);
miscflag_clear(3); miscFlag_clear(MISC_FLAG_3);
miscflag_clear(4); miscFlag_clear(MISC_FLAG_4);
func_80293D74(); func_80293D74();
} }
baanim_setUpdateType(BAANIM_UPDATE_1_NORMAL); baanim_setUpdateType(BAANIM_UPDATE_1_NORMAL);
@@ -80,8 +80,8 @@ void bspumpkin_idle_init(void) {
pitch_setAngVel(1000.0f, 12.0f); pitch_setAngVel(1000.0f, 12.0f);
roll_setAngularVelocity(1000.0f, 12.0f); roll_setAngularVelocity(1000.0f, 12.0f);
func_80293D48(50.0f, 25.0f); func_80293D48(50.0f, 25.0f);
miscflag_set(3); miscFlag_set(MISC_FLAG_3);
miscflag_set(4); miscFlag_set(MISC_FLAG_4);
func_802900B4(); func_802900B4();
} }
@@ -290,7 +290,7 @@ void bspumpkin_fall_update(void) {
break; break;
} }
if (player_isStable() && ((func_8029B300() > 0) || (D_8037D4E0 == 2 && animctrl_isStopped(anim_ctrl)))) { if (player_isStable() && ((func_8029B300() > 0) || (D_8037D4E0 == 2 && animctrl_isStopped(anim_ctrl)))) {
if (miscflag_isTrue(0x19)) { if (miscFlag_isTrue(MISC_FLAG_19)) {
next_state = badrone_transform(); next_state = badrone_transform();
} else { } else {
next_state = BS_48_PUMPKIN_IDLE; next_state = BS_48_PUMPKIN_IDLE;

View File

@@ -160,7 +160,7 @@ void func_802B3E64(void) {
if (func_802B3BB0()) { if (func_802B3BB0()) {
next_state = bs_getIdleState(); next_state = bs_getIdleState();
} }
if (map_get() == MAP_27_FP_FREEZEEZY_PEAK && miscflag_isTrue(MISC_FLAG_14_LOSE_BOGGY_RACE)) { if (map_get() == MAP_27_FP_FREEZEEZY_PEAK && miscFlag_isTrue(MISC_FLAG_14_LOSE_BOGGY_RACE)) {
next_state = func_8029CA94(next_state); next_state = func_8029CA94(next_state);
} }
bs_setState(next_state); bs_setState(next_state);

View File

@@ -323,7 +323,7 @@ void func_802B5350(void){
} }
else if(sp1C == 0x12){//L802B53D0 else if(sp1C == 0x12){//L802B53D0
func_8029A86C(1); func_8029A86C(1);
if( bsStoredState_getTransformation() == TRANSFORM_1_BANJO && !miscflag_isTrue(0xF) && stateTimer_isDone(STATE_TIMER_0_UNKNOWN)){ if( bsStoredState_getTransformation() == TRANSFORM_1_BANJO && !miscFlag_isTrue(MISC_FLAG_F) && stateTimer_isDone(STATE_TIMER_0_UNKNOWN)){
func_8028DE6C(baMarker_getCarriedObjectActorId()); func_8028DE6C(baMarker_getCarriedObjectActorId());
func_8029A86C(2); func_8029A86C(2);
} }

View File

@@ -33,7 +33,7 @@ void func_802B6064(void) {
next_state = BS_1_IDLE; next_state = BS_1_IDLE;
} }
D_8037D560 = 0; D_8037D560 = 0;
if (miscflag_isTrue(6)) { if (miscFlag_isTrue(MISC_FLAG_6)) {
next_state = BS_53_TIMEOUT; next_state = BS_53_TIMEOUT;
} }
bs_setState(next_state); bs_setState(next_state);

View File

@@ -179,7 +179,7 @@ void func_802B5950(void) {
if (func_80294524() && button_pressed(BUTTON_A)) { if (func_80294524() && button_pressed(BUTTON_A)) {
next_state = BS_5_JUMP; next_state = BS_5_JUMP;
} }
if (miscflag_isTrue(6) || miscflag_isTrue(MISC_FLAG_14_LOSE_BOGGY_RACE)) { if (miscFlag_isTrue(MISC_FLAG_6) || miscFlag_isTrue(MISC_FLAG_14_LOSE_BOGGY_RACE)) {
next_state = BS_D_TIMEOUT; next_state = BS_D_TIMEOUT;
} }
bs_setState(next_state); bs_setState(next_state);
@@ -256,7 +256,7 @@ void func_802B5C40(void) {
if (func_80294524() && button_pressed(BUTTON_A)) { if (func_80294524() && button_pressed(BUTTON_A)) {
next_state = BS_5_JUMP; next_state = BS_5_JUMP;
} }
if (miscflag_isTrue(6) || miscflag_isTrue(MISC_FLAG_14_LOSE_BOGGY_RACE)) { if (miscFlag_isTrue(MISC_FLAG_6) || miscFlag_isTrue(MISC_FLAG_14_LOSE_BOGGY_RACE)) {
next_state = BS_D_TIMEOUT; next_state = BS_D_TIMEOUT;
} }
bs_setState(next_state); bs_setState(next_state);

View File

@@ -95,8 +95,8 @@ void func_802B8048(void){
func_8029B0C0(); func_8029B0C0();
func_8029E070(0); func_8029E070(0);
func_8029E064(0); func_8029E064(0);
miscflag_clear(3); miscFlag_clear(MISC_FLAG_3);
miscflag_clear(4); miscFlag_clear(MISC_FLAG_4);
func_80293D74(); func_80293D74();
func_8029CF48(4, 0, 0.0f); func_8029CF48(4, 0, 0.0f);
} }
@@ -148,8 +148,8 @@ void bswalrus_idle_init(void){
pitch_setAngVel(1000.0f, 12.0f); pitch_setAngVel(1000.0f, 12.0f);
roll_setAngularVelocity(1000.0f, 12.0f); roll_setAngularVelocity(1000.0f, 12.0f);
func_80293D48(50.0f, 25.0f); func_80293D48(50.0f, 25.0f);
miscflag_set(3); miscFlag_set(MISC_FLAG_3);
miscflag_set(4); miscFlag_set(MISC_FLAG_4);
func_802900B4(); func_802900B4();
func_802B8110(); func_802B8110();
} }
@@ -352,7 +352,7 @@ void bswalrus_fall_update(void){
if( func_8029B300() > 0 if( func_8029B300() > 0
|| (D_8037D5C8 == 2 && animctrl_isStopped(aCtrl)) || (D_8037D5C8 == 2 && animctrl_isStopped(aCtrl))
){ ){
if(miscflag_isTrue(0x19)) if(miscFlag_isTrue(MISC_FLAG_19))
next_state = badrone_transform(); next_state = badrone_transform();
else else
next_state = BS_67_WALRUS_IDLE; next_state = BS_67_WALRUS_IDLE;

View File

@@ -44,7 +44,7 @@ void chBeehive_update(Actor *this){
this->marker->propPtr->unk8_3 = 1; this->marker->propPtr->unk8_3 = 1;
this->unk44_31 = func_8030D90C(); this->unk44_31 = func_8030D90C();
this->unk16C_4 = 1; this->unk16C_4 = 1;
this->unk38_0 = func_803203FC(1)| func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE); this->unk38_0 = volatileFlag_get(VOLATILE_FLAG_1)| volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE);
}//L802CE960 }//L802CE960
if(map_get() == MAP_27_FP_FREEZEEZY_PEAK){ if(map_get() == MAP_27_FP_FREEZEEZY_PEAK){
if(func_8038BFA0()){ if(func_8038BFA0()){

View File

@@ -44,7 +44,7 @@ void func_802C5E80(Actor *this){
} }
void func_802C5EB8(Actor *this){ void func_802C5EB8(Actor *this){
if(func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE)) if(volatileFlag_get(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE))
return; return;
if(this->unk38_31){ if(this->unk38_31){

View File

@@ -77,7 +77,7 @@ void func_802D77D4(Actor *this) {
ml_vec3f_diff_copy(sp4C, this->position, sp40); ml_vec3f_diff_copy(sp4C, this->position, sp40);
if (((sp4C[0] * sp4C[0]) + (sp4C[2] * sp4C[2])) < (sp3C * sp3C)) { if (((sp4C[0] * sp4C[0]) + (sp4C[2] * sp4C[2])) < (sp3C * sp3C)) {
if ((this->position[1] < sp40[1]) && (sp40[1] <= local->unk0[1])) { if ((this->position[1] < sp40[1]) && (sp40[1] <= local->unk0[1])) {
if (func_803203FC(2) == 0) { if (volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME) == 0) {
func_8028F738(this->position, local->unk0, (f32)this->unkF4_8, local->unkC); func_8028F738(this->position, local->unk0, (f32)this->unkF4_8, local->unkC);
} }
} }

View File

@@ -36,7 +36,7 @@ void func_802CD8C0(Actor *this){
this->marker->unk2C_1 = 1; this->marker->unk2C_1 = 1;
this->marker->collidable = 0; this->marker->collidable = 0;
*(s32*)this->unkBC = 0; //TODO Make struct *(s32*)this->unkBC = 0; //TODO Make struct
if(func_803203FC(1) || func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)){ if(volatileFlag_get(VOLATILE_FLAG_1) || volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE)){
marker_despawn(this->marker); marker_despawn(this->marker);
return; return;
} }

View File

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

View File

@@ -246,14 +246,14 @@ void chCrab_update(Actor *this) {
if (!jiggyscore_isCollected(JIGGY_10_TTC_SANDCASTLE)) { if (!jiggyscore_isCollected(JIGGY_10_TTC_SANDCASTLE)) {
mapSpecificFlags_set(1, 0); mapSpecificFlags_set(1, 0);
} }
if (func_803203FC(2)) { if (volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)) {
marker_despawn(this->marker); marker_despawn(this->marker);
return; return;
} }
} }
} }
if (func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) != 0) { if (volatileFlag_get(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE) != 0) {
if (this->unkF4_8 != 1) { if (this->unkF4_8 != 1) {
marker_despawn(this->marker); marker_despawn(this->marker);
return; return;
@@ -279,7 +279,7 @@ void chCrab_update(Actor *this) {
if (map_get() == MAP_A_TTC_SANDCASTLE) { if (map_get() == MAP_A_TTC_SANDCASTLE) {
if( !mapSpecificFlags_get(0) if( !mapSpecificFlags_get(0)
&& levelSpecificFlags_get(2) && levelSpecificFlags_get(2)
&& !func_803203FC(2) && !volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)
&& !jiggyscore_isCollected(JIGGY_10_TTC_SANDCASTLE) && !jiggyscore_isCollected(JIGGY_10_TTC_SANDCASTLE)
&& func_80329530(this, 1600) && func_80329530(this, 1600)
) { ) {

View File

@@ -176,7 +176,7 @@ void func_8035B6CC(Actor *this){
void func_8035B75C(Actor *this){ void func_8035B75C(Actor *this){
subaddie_set_state_with_direction(this, 3, 0.01f, 1); subaddie_set_state_with_direction(this, 3, 0.01f, 1);
actor_loopAnimation(this); actor_loopAnimation(this);
this->unk28 = func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) ? 0.0 : 12.0; this->unk28 = volatileFlag_get(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE) ? 0.0 : 12.0;
func_8030E878(0x3F4, randf2(1.0f, 1.2f), 32000, this->position, this->scale*400.0f, this->scale*1800.0f); func_8030E878(0x3F4, randf2(1.0f, 1.2f), 32000, this->position, this->scale*400.0f, this->scale*1800.0f);
} }

View File

@@ -303,7 +303,7 @@ void chicecube_update(Actor *this){
case 1: // L8035AC9C case 1: // L8035AC9C
animctrl_setAnimTimer(this->animctrl, 0.0f); animctrl_setAnimTimer(this->animctrl, 0.0f);
if( func_80359DF4(this, 900) if( func_80359DF4(this, 900)
|| (this->unkF4_8 == 2 && func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE)) || (this->unkF4_8 == 2 && volatileFlag_get(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE))
){ ){
subaddie_set_state_with_direction(this, 2, 0.0001f, 1); subaddie_set_state_with_direction(this, 2, 0.0001f, 1);
actor_playAnimationOnce(this); actor_playAnimationOnce(this);

View File

@@ -1,6 +1,7 @@
#include <ultra64.h> #include <ultra64.h>
#include "functions.h" #include "functions.h"
#include "variables.h" #include "variables.h"
#include "enums.h"
extern void func_802BE720(void); extern void func_802BE720(void);
extern f32 func_8033A244(f32); extern f32 func_8033A244(f32);
@@ -71,7 +72,7 @@ void func_802C7B6C(u32 arg0){
mapSpecificFlags_set(arg0, 0); 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) if( !mapSpecificFlags_get(arg1)
&& mapSpecificFlags_get(arg2) && mapSpecificFlags_get(arg2)
&& item_getCount(ITEM_0_HOURGLASS_TIMER) == 0 && 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); func_8028FCC8(1);
actor_collisionOff(this); actor_collisionOff(this);
func_802BAFE4(arg3); 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_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_2(0.6f, (GenFunction_2)func_802C7AB0, (s32)this->marker, arg5);
timedFunc_set_0(1.0f, (GenFunction_0)func_802BE720); timedFunc_set_0(1.0f, (GenFunction_0)func_802BE720);
@@ -174,10 +175,10 @@ void chjiggy_update(Actor *this){
chjiggy_updateRotation(this); chjiggy_updateRotation(this);
switch(chjiggy_getJiggyId(this)){ switch(chjiggy_getJiggyId(this)){
case JIGGY_20_BGS_ELEVATED_WALKWAY: //L802C7FE8 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; break;
case JIGGY_25_BGS_MAZE://L802C8018 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; break;
case JIGGY_2F_FP_XMAS_TREE://L802C8048 case JIGGY_2F_FP_XMAS_TREE://L802C8048
if(levelSpecificFlags_get(0x29)) if(levelSpecificFlags_get(0x29))

View File

@@ -110,7 +110,7 @@ void chJinjo_update(Actor * this){
local->unk8 = (this->position_y < func_80309B24(this->position)); local->unk8 = (this->position_y < func_80309B24(this->position));
this->marker->collisionFunc = __chJinjo_802CDBA8; this->marker->collisionFunc = __chJinjo_802CDBA8;
marker_setFreeMethod(this->marker, __chJinjo_802CDD3C); marker_setFreeMethod(this->marker, __chJinjo_802CDD3C);
if(func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE)){ if(volatileFlag_get(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE)){
marker_despawn(this->marker); marker_despawn(this->marker);
} }
}//L802CDE24 }//L802CDE24

View File

@@ -332,7 +332,7 @@ void chSnacker_spawn(void) {
_player_getPosition(spawn_position); _player_getPosition(spawn_position);
if (func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) != 0) { if (volatileFlag_get(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE) != 0) {
nodeprop_getPosition(func_80304CAC(0x3CB, spawn_position), spawn_position); nodeprop_getPosition(func_80304CAC(0x3CB, spawn_position), spawn_position);
} }
else{ else{
@@ -372,7 +372,7 @@ void chSnacker_spawn(void) {
marker_despawn(s_chSnacker_marker); marker_despawn(s_chSnacker_marker);
return; return;
} }
if (func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) == 0) { if (volatileFlag_get(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE) == 0) {
func_8032BB88(snacker, 5000, 750); func_8032BB88(snacker, 5000, 750);
func_8024BD08(0); func_8024BD08(0);
func_8025A6EC(COMUSIC_34_SNACKER_DANGER, 0); func_8025A6EC(COMUSIC_34_SNACKER_DANGER, 0);

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 = !func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE) && !func_803203FC(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(!func_803203FC(0xF) && ability_isUnlocked(ABILITY_11_TURBO_TALON)){ if(!volatileFlag_get(VOLATILE_FLAG_F_HAS_MEET_TURBO_SHOES) && ability_isUnlocked(ABILITY_11_TURBO_TALON)){
func_803204E4(0xF, TRUE); volatileFlag_set(VOLATILE_FLAG_F_HAS_MEET_TURBO_SHOES, 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)
&& !func_803203FC(0xf) && !volatileFlag_get(VOLATILE_FLAG_F_HAS_MEET_TURBO_SHOES)
&& 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)){
func_803204E4(0xf, TRUE); volatileFlag_set(VOLATILE_FLAG_F_HAS_MEET_TURBO_SHOES, 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 = !func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE) && !func_803203FC(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(!func_803203FC(0x10) && ability_isUnlocked(ABILITY_E_WADING_BOOTS)){ if(!volatileFlag_get(VOLATILE_FLAG_10_HAS_MEET_WADING_BOOTS) && ability_isUnlocked(ABILITY_E_WADING_BOOTS)){
func_803204E4(0x10, TRUE); volatileFlag_set(VOLATILE_FLAG_10_HAS_MEET_WADING_BOOTS, TRUE);
} }
switch(this->state){ switch(this->state){
@@ -65,12 +65,12 @@ void chwadingboots_update(Actor *this){
} }
} }
if(func_803203FC(0x10)) break; if(volatileFlag_get(VOLATILE_FLAG_10_HAS_MEET_WADING_BOOTS)) 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)){
func_803204E4(0x10, TRUE); volatileFlag_set(VOLATILE_FLAG_10_HAS_MEET_WADING_BOOTS, TRUE);
} }
break; break;

View File

@@ -240,10 +240,10 @@ enum bs_e func_8029B458(void){
enum bs_e func_8029B504(void){ enum bs_e func_8029B504(void){
enum bs_e sp1C; enum bs_e sp1C;
if(miscflag_isTrue(0xF)) if(miscFlag_isTrue(MISC_FLAG_F))
return 0; return 0;
miscflag_set(0xF); miscFlag_set(MISC_FLAG_F);
sp1C = func_8029B458(); sp1C = func_8029B458();
if(bs_getState() != sp1C) if(bs_getState() != sp1C)
return sp1C; return sp1C;
@@ -336,7 +336,7 @@ void func_8029B85C(ActorMarker *caller, enum asset_e text_id, s32 arg2){
} }
void func_8029B890(void){ void func_8029B890(void){
if(!fileProgressFlag_get(FILEPROG_A8_HAS_DIED) && !func_803203FC(2)){ if(!fileProgressFlag_get(FILEPROG_A8_HAS_DIED) && !volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)){
func_803114D0(); func_803114D0();
if(bs_getState() == 0x54){ if(bs_getState() == 0x54){
func_8029B62C(); func_8029B62C();
@@ -448,7 +448,7 @@ enum bs_14420_e func_8029BAF0(void){
if (stateTimer_get(STATE_TIMER_2_LONGLEG) != 0.0f) { if (stateTimer_get(STATE_TIMER_2_LONGLEG) != 0.0f) {
return BS14420_9_LONGLEG; return BS14420_9_LONGLEG;
} }
if (miscflag_isTrue(0x18)) { if (miscFlag_isTrue(MISC_FLAG_18)) {
return BS14420_5_UNDERWATER; return BS14420_5_UNDERWATER;
} }
if (func_8028ECAC() == BSGROUP_3_WONDERWING) { if (func_8028ECAC() == BSGROUP_3_WONDERWING) {
@@ -569,10 +569,10 @@ enum bs_e bs_getIdleState(void){
case TRANSFORM_1_BANJO: case TRANSFORM_1_BANJO:
default: default:
if (miscflag_isTrue(0x16)) { if (miscFlag_isTrue(MISC_FLAG_16)) {
return BS_24_FLY; return BS_24_FLY;
} }
if (miscflag_isTrue(0x18)) { if (miscFlag_isTrue(MISC_FLAG_18)) {
return BS_2B_DIVE_IDLE; return BS_2B_DIVE_IDLE;
} }
if (stateTimer_get(STATE_TIMER_3_TURBO_TALON) != 0.0f) { if (stateTimer_get(STATE_TIMER_3_TURBO_TALON) != 0.0f) {
@@ -723,7 +723,7 @@ void func_8029C674(void) {
D_8037D1E8 = FALSE; D_8037D1E8 = FALSE;
if (func_80298850() == BSGROUP_4_LOOK) { if (func_80298850() == BSGROUP_4_LOOK) {
D_8037D1E8 = TRUE; D_8037D1E8 = TRUE;
miscflag_set(MISC_FLAG_17_FPV); miscFlag_set(MISC_FLAG_17_FIRST_PERSON_VIEW);
ncDynamicCamera_enterFirstPerson(); ncDynamicCamera_enterFirstPerson();
func_8028E9C4(5, sp1C); func_8028E9C4(5, sp1C);
ncFirstPersonCamera_setZoomedOutPosition(sp1C); ncFirstPersonCamera_setZoomedOutPosition(sp1C);
@@ -748,7 +748,7 @@ void func_8029C6D0(void) {
void func_8029C748(void) { void func_8029C748(void) {
if (D_8037D1E8) { if (D_8037D1E8) {
miscflag_clear(MISC_FLAG_17_FPV); miscFlag_clear(MISC_FLAG_17_FIRST_PERSON_VIEW);
ncDynamicCamera_exitFirstPerson(); ncDynamicCamera_exitFirstPerson();
} }
} }
@@ -757,10 +757,10 @@ enum bs_e bs_getTypeOfJump(void){
if(button_held(BUTTON_Z) && can_flap_flip()) if(button_held(BUTTON_Z) && can_flap_flip())
return BS_12_BFLIP; return BS_12_BFLIP;
if(miscflag_isTrue(MISC_FLAG_2_ON_SPRING_PAD)) if(miscFlag_isTrue(MISC_FLAG_2_ON_SPRING_PAD))
return BS_5_JUMP; return BS_5_JUMP;
if(miscflag_isTrue(MISC_FLAG_1_ON_FLIGHT_PAD)) if(miscFlag_isTrue(MISC_FLAG_1_ON_FLIGHT_PAD))
return BS_23_FLY_ENTER; return BS_23_FLY_ENTER;
return BS_5_JUMP; return BS_5_JUMP;
@@ -827,7 +827,7 @@ void func_8029C984(void){
} }
s32 func_8029C9C0(s32 arg0){ s32 func_8029C9C0(s32 arg0){
if(miscflag_isTrue(0xF)) if(miscFlag_isTrue(MISC_FLAG_F))
return arg0; return arg0;
if(button_pressed(BUTTON_A)) if(button_pressed(BUTTON_A))
@@ -849,28 +849,28 @@ s32 func_8029C9C0(s32 arg0){
} }
s32 func_8029CA94(s32 arg0){ s32 func_8029CA94(s32 arg0){
if(miscflag_isTrue(0x19)) if(miscFlag_isTrue(MISC_FLAG_19))
arg0 = badrone_transform(); arg0 = badrone_transform();
if(miscflag_isTrue(0x1A)) if(miscFlag_isTrue(MISC_FLAG_1A))
arg0 = (player_getTransformation() == TRANSFORM_6_BEE) ? 0x46 : BS_34_JIG_NOTEDOOR; arg0 = (player_getTransformation() == TRANSFORM_6_BEE) ? 0x46 : BS_34_JIG_NOTEDOOR;
if(miscflag_isTrue(MISC_FLAG_E_TOUCHING_WADING_BOOTS)) if(miscFlag_isTrue(MISC_FLAG_E_TOUCHING_WADING_BOOTS))
arg0 = BS_25_LONGLEG_ENTER; arg0 = BS_25_LONGLEG_ENTER;
if(miscflag_isTrue(MISC_FLAG_10_TOUCHING_TURBO_TRAINERS)) if(miscFlag_isTrue(MISC_FLAG_10_TOUCHING_TURBO_TRAINERS))
arg0 = BS_14_BTROT_ENTER; arg0 = BS_14_BTROT_ENTER;
if(miscflag_isTrue(0x6)) if(miscFlag_isTrue(MISC_FLAG_6))
arg0 = BS_53_TIMEOUT; arg0 = BS_53_TIMEOUT;
if(miscflag_isTrue(0x7)) if(miscFlag_isTrue(MISC_FLAG_7))
arg0 = BS_44_JIG_JIGGY; arg0 = BS_44_JIG_JIGGY;
if(miscflag_isTrue(MISC_FLAG_14_LOSE_BOGGY_RACE)) if(miscFlag_isTrue(MISC_FLAG_14_LOSE_BOGGY_RACE))
arg0 = (player_getTransformation() == TRANSFORM_4_WALRUS) ? BS_80_WALRUS_SLED_LOSE : BS_53_TIMEOUT; arg0 = (player_getTransformation() == TRANSFORM_4_WALRUS) ? BS_80_WALRUS_SLED_LOSE : BS_53_TIMEOUT;
miscflag_clear(0xF); miscFlag_clear(MISC_FLAG_F);
return arg0; return arg0;
} }
@@ -907,14 +907,14 @@ void func_8029CBF4(void){
} }
void func_8029CCC4(void){ void func_8029CCC4(void){
if(miscflag_isFalse(7)) return; if(miscFlag_isFalse(MISC_FLAG_7)) return;
if( miscflag_isTrue(0xF) if( miscFlag_isTrue(MISC_FLAG_F)
&& miscflag_isFalse(6) && miscFlag_isFalse(MISC_FLAG_6)
&& miscflag_isFalse(MISC_FLAG_14_LOSE_BOGGY_RACE) && miscFlag_isFalse(MISC_FLAG_14_LOSE_BOGGY_RACE)
){ ){
miscflag_clear(0xF); miscFlag_clear(MISC_FLAG_F);
} }
miscflag_clear(7); miscFlag_clear(MISC_FLAG_7);
func_802B0CD8(); func_802B0CD8();
item_inc(ITEM_E_JIGGY); item_inc(ITEM_E_JIGGY);
if(jiggyscore_total() == 100 && fileProgressFlag_get(FILEPROG_FC_DEFEAT_GRUNTY)){ if(jiggyscore_total() == 100 && fileProgressFlag_get(FILEPROG_FC_DEFEAT_GRUNTY)){

View File

@@ -23,7 +23,7 @@ void func_8029CFF8(void){
} }
void func_8029D01C(void){ void func_8029D01C(void){
miscflag_clear(0x13); miscFlag_clear(MISC_FLAG_13);
D_8037D210 = func_8030D90C(); D_8037D210 = func_8030D90C();
D_8037D212 = 0; D_8037D212 = 0;
} }
@@ -226,7 +226,7 @@ bool func_8029D7B4(void){
&& stateTimer_isDone(STATE_TIMER_2_LONGLEG) && stateTimer_isDone(STATE_TIMER_2_LONGLEG)
&& func_8028ECAC() != BSGROUP_3_WONDERWING && func_8028ECAC() != BSGROUP_3_WONDERWING
&& func_8028ECAC() != BSGROUP_9_LONG_LEG && func_8028ECAC() != BSGROUP_9_LONG_LEG
&& miscflag_isFalse(MISC_FLAG_E_TOUCHING_WADING_BOOTS) && miscFlag_isFalse(MISC_FLAG_E_TOUCHING_WADING_BOOTS)
&& sp1C != BS_25_LONGLEG_ENTER && sp1C != BS_25_LONGLEG_ENTER
&& player_getWaterState() != BSWATERGROUP_2_UNDERWATER && player_getWaterState() != BSWATERGROUP_2_UNDERWATER
&& func_8028EC04() < 1U && func_8028EC04() < 1U
@@ -317,9 +317,9 @@ void func_8029D968(void){
break; break;
} }
} }
miscflag_set(0x13); miscFlag_set(MISC_FLAG_13);
} }
else{ else{
miscflag_clear(0x13); miscFlag_clear(MISC_FLAG_13);
} }
} }

View File

@@ -338,10 +338,10 @@ void func_802BC2CC(s32 arg0) {
f32 *sp20 = D_8037D918; f32 *sp20 = D_8037D918;
s32 sp1C; s32 sp1C;
if (func_803203FC(0xE) != 0) { if (volatileFlag_get(VOLATILE_FLAG_E) != 0) {
func_80347A14(0); func_80347A14(0);
} }
if (func_80320454(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) { if (ncCameraType == CAMERA_TYPE_2_DYNAMIC) {
func_802BE794(); func_802BE794();
} }

View File

@@ -52,8 +52,8 @@ s32 can_egg(void){
} }
int can_feathery_flap(void){ int can_feathery_flap(void){
return miscflag_isFalse(MISC_FLAG_12_HAS_FLAPPED) return miscFlag_isFalse(MISC_FLAG_12_HAS_FLAPPED)
&& miscflag_isFalse(MISC_FLAG_5_HAS_PECKED) && miscFlag_isFalse(MISC_FLAG_5_HAS_PECKED)
&& ability_hasLearned(ABILITY_7_FEATHERY_FLAP); && ability_hasLearned(ABILITY_7_FEATHERY_FLAP);
} }
@@ -70,13 +70,13 @@ s32 can_control_jump_height(void){
} }
int can_peck(void){ int can_peck(void){
return miscflag_isFalse(MISC_FLAG_5_HAS_PECKED) return miscFlag_isFalse(MISC_FLAG_5_HAS_PECKED)
&& miscflag_isFalse(MISC_FLAG_12_HAS_FLAPPED) && miscFlag_isFalse(MISC_FLAG_12_HAS_FLAPPED)
&& ability_hasLearned(ABILITY_B_RATATAT_RAP); && ability_hasLearned(ABILITY_B_RATATAT_RAP);
} }
int func_8028ABB8(void){ int func_8028ABB8(void){
if(miscflag_isTrue(MISC_FLAG_14_LOSE_BOGGY_RACE) || miscflag_isTrue(0x19)) if(miscFlag_isTrue(MISC_FLAG_14_LOSE_BOGGY_RACE) || miscFlag_isTrue(MISC_FLAG_19))
return 0; return 0;
if(bs_getState() == BS_56_RECOIL) if(bs_getState() == BS_56_RECOIL)
return 0; return 0;
@@ -133,7 +133,7 @@ int func_8028ADB4(void){
} }
int func_8028ADF0(void){ int func_8028ADF0(void){
return func_803203FC(0x9d); return volatileFlag_get(VOLATILE_FLAG_9D_SANDCASTLE_WISHY_WASHY);
} }
bool func_8028AE10(void) { bool func_8028AE10(void) {
@@ -185,7 +185,7 @@ int player_isInHorizontalRadius(f32 arg0[3], f32 arg1){
s32 func_8028B120(void){return 0;} s32 func_8028B120(void){return 0;}
int func_8028B128(void){ int func_8028B128(void){
return miscflag_isTrue(0x13); return miscFlag_isTrue(MISC_FLAG_13);
} }
bool player_isInRBB(void){ bool player_isInRBB(void){
@@ -225,8 +225,8 @@ bool func_8028B3B4(void) {
bool sp1C; bool sp1C;
bool sp18; bool sp18;
sp1C = func_80294610(0x10) && miscflag_isFalse(3); sp1C = func_80294610(0x10) && miscFlag_isFalse(MISC_FLAG_3);
sp18 = func_80294610(0x40) && miscflag_isFalse(4); sp18 = func_80294610(0x40) && miscFlag_isFalse(MISC_FLAG_4);
if(sp1C || sp18) if(sp1C || sp18)
return TRUE; return TRUE;
return FALSE; return FALSE;

View File

@@ -14,7 +14,7 @@ void chextralife_update(Actor *this){
if(!this->initialized){ if(!this->initialized){
func_8032AA58(this, 0.8f); func_8032AA58(this, 0.8f);
this->initialized = TRUE; this->initialized = TRUE;
if(func_803203FC(1) || func_803203FC(2)){ if(volatileFlag_get(VOLATILE_FLAG_1) || volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)){
marker_despawn(this->marker); marker_despawn(this->marker);
} }
} }

View File

@@ -104,8 +104,8 @@ void chHoneycomb_update(Actor *this){
if(local->uid == 0) if(local->uid == 0)
local->uid = (!this->unk44_2)? D_8037DDC0 : func_802C9C40(this); local->uid = (!this->unk44_2)? D_8037DDC0 : func_802C9C40(this);
if( honeycombscore_get(local->uid) if( honeycombscore_get(local->uid)
|| func_803203FC(1) || volatileFlag_get(VOLATILE_FLAG_1)
|| func_803203FC(2) || volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)
){ ){
marker_despawn(this->marker); marker_despawn(this->marker);
return; return;

View File

@@ -47,7 +47,7 @@ extern struct43s chFightFlightPad_D_80366FB4 = {
/* .code */ /* .code */
void chShockJump_update(Actor *this){ void chShockJump_update(Actor *this){
this->marker->propPtr->unk8_3 = TRUE; this->marker->propPtr->unk8_3 = TRUE;
if(func_803203FC(UNKFLAGS1_86_SANDCASTLE_SHOCKSPRING_JUMP_UNLOCKED)){ if(volatileFlag_get(VOLATILE_FLAG_86_SANDCASTLE_SHOCKSPRING_JUMP_UNLOCKED)){
ability_unlock(ABILITY_D_SHOCK_JUMP); ability_unlock(ABILITY_D_SHOCK_JUMP);
} }
@@ -61,7 +61,7 @@ void chShockJump_update(Actor *this){
void chFlightPad_update(Actor *this){ void chFlightPad_update(Actor *this){
this->marker->propPtr->unk8_3 = TRUE; this->marker->propPtr->unk8_3 = TRUE;
if(func_803203FC(UNKFLAGS1_8A_SANDCASTLE_FLIGHT_UNLOCKED)){ if(volatileFlag_get(VOLATILE_FLAG_8A_SANDCASTLE_FLIGHT_UNLOCKED)){
ability_unlock(ABILITY_9_FLIGHT); ability_unlock(ABILITY_9_FLIGHT);
} }

View File

@@ -372,7 +372,7 @@ void func_802CCC5C(Actor *this) {
} }
if (local->unk4 >= 1.0f) { if (local->unk4 >= 1.0f) {
local->unk4 = 1.0f; local->unk4 = 1.0f;
if (func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE)) { if (volatileFlag_get(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE)) {
local->unk3A = 0; local->unk3A = 0;
} else { } else {
if (this->state == 2) { if (this->state == 2) {

View File

@@ -378,7 +378,7 @@ void chBeeSwarm_update(Actor *this) {
subaddie_set_state(this, (this->unk100 != NULL) ? 1 : 2); subaddie_set_state(this, (this->unk100 != NULL) ? 1 : 2);
this->unk60 = 0.0f; this->unk60 = 0.0f;
chBeeSwarm_802CF040(this); chBeeSwarm_802CF040(this);
this->unk38_0 = func_803203FC(1) | func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE); this->unk38_0 = volatileFlag_get(VOLATILE_FLAG_1) | volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE);
} }
if (!subaddie_playerIsWithinSphere(this, 0xFA0)) if (!subaddie_playerIsWithinSphere(this, 0xFA0))

View File

@@ -123,7 +123,7 @@ void chMumbo_func_802D18B4(Actor *this) {
} else { } else {
player_is_within_range = chMumbo_withinHorzDistToPlayer(0, -107, 188); player_is_within_range = chMumbo_withinHorzDistToPlayer(0, -107, 188);
} }
if(player_is_within_range || func_803203FC(1) || func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)){ if(player_is_within_range || volatileFlag_get(VOLATILE_FLAG_1) || volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE)){
subaddie_set_state_forward(this, 2); subaddie_set_state_forward(this, 2);
if( !fileProgressFlag_get(FILEPROG_11_HAS_MET_MUMBO) if( !fileProgressFlag_get(FILEPROG_11_HAS_MET_MUMBO)
|| (!fileProgressFlag_get(FILEPROG_DC_HAS_HAD_ENOUGH_TOKENS_BEFORE) && this->unk38_0) || (!fileProgressFlag_get(FILEPROG_DC_HAS_HAD_ENOUGH_TOKENS_BEFORE) && this->unk38_0)
@@ -221,8 +221,8 @@ void chMumbo_update(Actor *this) {
f32 temp_f12; f32 temp_f12;
this->unk130 = func_803255FC; this->unk130 = func_803255FC;
if( !func_803203FC(1) if( !volatileFlag_get(VOLATILE_FLAG_1)
&& !func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE) && !volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE)
&& map_get() != MAP_7A_GL_CRYPT) { && map_get() != MAP_7A_GL_CRYPT) {
item_adjustByDiffWithHud(ITEM_1C_MUMBO_TOKEN, 0); item_adjustByDiffWithHud(ITEM_1C_MUMBO_TOKEN, 0);
} }
@@ -278,8 +278,8 @@ void chMumbo_update(Actor *this) {
actor_playAnimationOnce(this); actor_playAnimationOnce(this);
if (actor_animationIsAt(this, 0.999f)) { if (actor_animationIsAt(this, 0.999f)) {
if( !fileProgressFlag_get(FILEPROG_11_HAS_MET_MUMBO) if( !fileProgressFlag_get(FILEPROG_11_HAS_MET_MUMBO)
&& !func_803203FC(1) && !volatileFlag_get(VOLATILE_FLAG_1)
&& !func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE) && !volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE)
) { ) {
subaddie_set_state(this, 3); subaddie_set_state(this, 3);
func_80311480(ASSET_D8F_DIALOG_MUMBO_MEET, 0xE, this->position, this->marker, __chMumbo_textCallback, NULL); func_80311480(ASSET_D8F_DIALOG_MUMBO_MEET, 0xE, this->position, this->marker, __chMumbo_textCallback, NULL);
@@ -288,8 +288,8 @@ void chMumbo_update(Actor *this) {
} }
if( !fileProgressFlag_get(FILEPROG_DC_HAS_HAD_ENOUGH_TOKENS_BEFORE) if( !fileProgressFlag_get(FILEPROG_DC_HAS_HAD_ENOUGH_TOKENS_BEFORE)
&& !func_803203FC(1) && !volatileFlag_get(VOLATILE_FLAG_1)
&& !func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE) && !volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE)
&& this->unk38_0 && this->unk38_0
){ ){
subaddie_set_state(this, 3); subaddie_set_state(this, 3);
@@ -428,7 +428,7 @@ void chMumbo_update(Actor *this) {
case 7: //L802D2704 case 7: //L802D2704
chMumbo_func_802D186C(this); chMumbo_func_802D186C(this);
if (func_803203FC(FILEPROG_11_HAS_MET_MUMBO) == 0) { if (volatileFlag_get(FILEPROG_11_HAS_MET_MUMBO) == 0) {
if (map_get() == MAP_7A_GL_CRYPT) { if (map_get() == MAP_7A_GL_CRYPT) {
sp48 = chMumbo_withinHorzDistToPlayer(0x453, 0, 0xBC); sp48 = chMumbo_withinHorzDistToPlayer(0x453, 0, 0xBC);
} else { } else {
@@ -436,7 +436,7 @@ void chMumbo_update(Actor *this) {
} }
if (sp48 != 0) { if (sp48 != 0) {
func_80311480(ASSET_DA7_DIALOG_MUMBO_CCW_SUMMER, 7, NULL, NULL, NULL, NULL); func_80311480(ASSET_DA7_DIALOG_MUMBO_CCW_SUMMER, 7, NULL, NULL, NULL, NULL);
func_803204E4(FILEPROG_11_HAS_MET_MUMBO, TRUE); volatileFlag_set(FILEPROG_11_HAS_MET_MUMBO, TRUE);
} }
} }
actor_loopAnimation(this); actor_loopAnimation(this);
@@ -444,7 +444,7 @@ void chMumbo_update(Actor *this) {
case 8: //L802D2790 case 8: //L802D2790
chMumbo_func_802D186C(this); chMumbo_func_802D186C(this);
if (func_803203FC(FILEPROG_12_HAS_TRANSFORMED_BEFORE) == 0) { if (volatileFlag_get(FILEPROG_12_HAS_TRANSFORMED_BEFORE) == 0) {
if (map_get() == MAP_7A_GL_CRYPT) { if (map_get() == MAP_7A_GL_CRYPT) {
sp48 = chMumbo_withinHorzDistToPlayer(0x453, 0, 0xBC); sp48 = chMumbo_withinHorzDistToPlayer(0x453, 0, 0xBC);
} else { } else {
@@ -452,7 +452,7 @@ void chMumbo_update(Actor *this) {
} }
if (sp48 != 0) { if (sp48 != 0) {
func_80311480(ASSET_DA8_DIALOG_MUMBO_CCW_AUTUMN, 7, NULL, NULL, NULL, NULL); func_80311480(ASSET_DA8_DIALOG_MUMBO_CCW_AUTUMN, 7, NULL, NULL, NULL, NULL);
func_803204E4(FILEPROG_12_HAS_TRANSFORMED_BEFORE, TRUE); volatileFlag_set(FILEPROG_12_HAS_TRANSFORMED_BEFORE, TRUE);
} }
} }
actor_loopAnimation(this); actor_loopAnimation(this);

View File

@@ -14,7 +14,7 @@ ActorInfo D_803675C0 = { MARKER_1E9_MUMBO_COST_SIGN, ACTOR_36C_25_MUMBO_TOKEN_SI
void chMumboSign_update(Actor *this) { void chMumboSign_update(Actor *this) {
if (!this->unk16C_4) { if (!this->unk16C_4) {
if( fileProgressFlag_get(this->modelCacheIndex - ACTOR_368_5_MUMBO_TOKEN_SIGN + FILEPROG_90_PAID_TERMITE_COST) if( fileProgressFlag_get(this->modelCacheIndex - ACTOR_368_5_MUMBO_TOKEN_SIGN + FILEPROG_90_PAID_TERMITE_COST)
|| func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE) || volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE)
) { ) {
marker_despawn(this->marker); marker_despawn(this->marker);
} }

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 func_803204E4(s32, bool);
void func_802D3D54(Actor *this); void func_802D3D54(Actor *this);
void func_802D3DA4(Actor *this); void func_802D3DA4(Actor *this);
@@ -137,17 +136,20 @@ void func_802D2FB0(Actor *this, s32 arg1, s32 arg2, s32 arg3, f32 arg4, s32 arg5
} }
} }
void func_802D3138(ActorMarker *marker, ActorMarker *other_marker){ // collision function if player shoots egg at spider webs
if(marker->id == 0x224 || marker->id == 0x225){ void func_802D3138(ActorMarker *marker, ActorMarker *other_marker) {
if(marker->id == MARKER_224_BREAKABLE_FLOOR_COBWEB || marker->id == MARKER_225_BREAKABLE_WALL_COBWEB) {
func_8025A70C(COMUSIC_2B_DING_B); func_8025A70C(COMUSIC_2B_DING_B);
} }
} }
void func_802D317C(ActorMarker *marker, enum file_progress_e prog_flag_id){ // called from collision die function below, set according file flag and despawns object
void func_802D317C(ActorMarker *marker, enum file_progress_e prog_flag_id) {
fileProgressFlag_set(prog_flag_id, TRUE); fileProgressFlag_set(prog_flag_id, TRUE);
marker_despawn(marker); marker_despawn(marker);
} }
// collision die function for several objects in Lair
void func_802D31AC(ActorMarker *arg0, ActorMarker * arg1) { void func_802D31AC(ActorMarker *arg0, ActorMarker * arg1) {
Actor *sp2C; Actor *sp2C;
@@ -166,7 +168,7 @@ void func_802D31AC(ActorMarker *arg0, ActorMarker * arg1) {
FUNC_8030E624(SFX_82_METAL_BREAK, 0.6f, 32736); FUNC_8030E624(SFX_82_METAL_BREAK, 0.6f, 32736);
func_802D2FB0(sp2C, 0x14, -0x1E, 0x190, 3.0f, 0x15E, 0x50, 0x96); func_802D2FB0(sp2C, 0x14, -0x1E, 0x190, 3.0f, 0x15E, 0x50, 0x96);
sp2C->unk60 = 1.0f; sp2C->unk60 = 1.0f;
fileProgressFlag_set(0xA5, 1); fileProgressFlag_set(FILEPROG_A5_LAIR_CRYPT_GATE_OPEN, 1);
break; break;
case MARKER_109_BREAKABLE_BRICK_WALL: case MARKER_109_BREAKABLE_BRICK_WALL:
@@ -261,21 +263,21 @@ void func_802D31AC(ActorMarker *arg0, ActorMarker * arg1) {
func_8030E540(SFX_D9_WOODEN_CRATE_BREAKING_1); func_8030E540(SFX_D9_WOODEN_CRATE_BREAKING_1);
func_802EE2E8(sp2C, 7, 9, 0x78, 0.43f, 1.3f, 3.0f); func_802EE2E8(sp2C, 7, 9, 0x78, 0.43f, 1.3f, 3.0f);
func_802EE2E8(sp2C, 3, 6, 0x78, 0.43f, 1.3f, 3.0f); func_802EE2E8(sp2C, 3, 6, 0x78, 0.43f, 1.3f, 3.0f);
func_802D317C(arg0, 0xC5); func_802D317C(arg0, FILEPROG_C5_RAREWARE_BOX_BROKEN);
break; break;
case 0x11A: case 0x11A:
func_8030E540(SFX_82_METAL_BREAK); func_8030E540(SFX_82_METAL_BREAK);
func_802EE278(sp2C, 0xE, 0xD, 0x32, 0.8f, 0.9f); func_802EE278(sp2C, 0xE, 0xD, 0x32, 0.8f, 0.9f);
func_802EE278(sp2C, 0xE, 0xD, 0xAA, 0.8f, 0.9f); func_802EE278(sp2C, 0xE, 0xD, 0xAA, 0.8f, 0.9f);
func_802D317C(arg0, 0xC2); func_802D317C(arg0, FILEPROG_C2_GRATE_TO_RBB_PUZZLE_OPEN);
break; break;
case 0x118: case 0x118:
func_8030E540(SFX_82_METAL_BREAK); func_8030E540(SFX_82_METAL_BREAK);
func_802EE278(sp2C, 0xE, 0xD, 0x50, 1.2f, 0.9f); func_802EE278(sp2C, 0xE, 0xD, 0x50, 1.2f, 0.9f);
func_802EE278(sp2C, 0xE, 0xD, 0xB4, 1.2f, 0.9f); func_802EE278(sp2C, 0xE, 0xD, 0xB4, 1.2f, 0.9f);
func_802D317C(arg0, 0xCD); func_802D317C(arg0, FILEPROG_CD_GRATE_TO_WATER_SWITCH_3_OPEN);
break; break;
case 0x119: case 0x119:
@@ -283,7 +285,7 @@ void func_802D31AC(ActorMarker *arg0, ActorMarker * arg1) {
func_802EE278(sp2C, 0xE, 9, 0x50, 1.2f, 0.9f); func_802EE278(sp2C, 0xE, 9, 0x50, 1.2f, 0.9f);
func_802EE278(sp2C, 0xE, 9, 0xAA, 1.2f, 0.9f); func_802EE278(sp2C, 0xE, 9, 0xAA, 1.2f, 0.9f);
func_802EE278(sp2C, 0xE, 9, 0x104, 1.2f, 0.9f); func_802EE278(sp2C, 0xE, 9, 0x104, 1.2f, 0.9f);
func_802D317C(arg0, 0xCE); func_802D317C(arg0, FILEPROG_CE_GRATE_TO_MMM_PUZZLE_OPEN);
break; break;
case 0x22D: case 0x22D:
@@ -315,7 +317,7 @@ void func_802D31AC(ActorMarker *arg0, ActorMarker * arg1) {
func_802EE278(sp2C, 4, 0x32, 0x50, 1.0f, 1.4f); func_802EE278(sp2C, 4, 0x32, 0x50, 1.0f, 1.4f);
func_802EE278(sp2C, 4, 0x32, 0xA0, 1.0f, 1.4f); func_802EE278(sp2C, 4, 0x32, 0xA0, 1.0f, 1.4f);
func_802EE278(sp2C, 4, 0x1E, 0xF0, 0.8f, 1.1f); func_802EE278(sp2C, 4, 0x1E, 0xF0, 0.8f, 1.1f);
func_802D317C(arg0, 0xC3); func_802D317C(arg0, FILEPROG_C3_ICE_BALL_TO_CHEATO_BROKEN);
break; break;
case MARKER_121_GLASS_EYE: case MARKER_121_GLASS_EYE:
@@ -572,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){
func_803204E4(0, 0); volatileFlag_set(VOLATILE_FLAG_0_IN_FURNACE_FUN_QUIZ, 0);
func_802D4614(MAP_80_GL_FF_ENTRANCE); func_802D4614(MAP_80_GL_FF_ENTRANCE);
} }
else{ else{
@@ -624,7 +626,7 @@ void func_802D4928(Actor *this, s32 arg1, s32 arg2, s32 arg3) {
this->marker->propPtr->unk8_3 = TRUE; this->marker->propPtr->unk8_3 = TRUE;
if( ( (((arg1 & 0xC00000) == 0) && mapSpecificFlags_get(arg1 - 0)) if( ( (((arg1 & 0xC00000) == 0) && mapSpecificFlags_get(arg1 - 0))
|| (((arg1 & 0xC00000) == 0x800000) && fileProgressFlag_get(arg1 - 0x800000)) || (((arg1 & 0xC00000) == 0x800000) && fileProgressFlag_get(arg1 - 0x800000))
|| (((arg1 & 0xC00000) == 0x400000) && func_803203FC(arg1 - 0x400000)) || (((arg1 & 0xC00000) == 0x400000) && volatileFlag_get(arg1 - 0x400000))
) )
&& (arg2 != this->state) && (arg2 != this->state)
) { ) {
@@ -633,7 +635,7 @@ void func_802D4928(Actor *this, s32 arg1, s32 arg2, s32 arg3) {
} }
if( ( (((arg1 & 0xC00000) == 0) && !mapSpecificFlags_get(arg1 - 0)) if( ( (((arg1 & 0xC00000) == 0) && !mapSpecificFlags_get(arg1 - 0))
|| (((arg1 & 0xC00000) == 0x800000) && !fileProgressFlag_get(arg1 - 0x800000)) || (((arg1 & 0xC00000) == 0x800000) && !fileProgressFlag_get(arg1 - 0x800000))
|| (((arg1 & 0xC00000) == 0x400000) && !func_803203FC(arg1 - 0x400000)) || (((arg1 & 0xC00000) == 0x400000) && !volatileFlag_get(arg1 - 0x400000))
) )
&& (arg2 == this->state) && (arg2 == this->state)
) { ) {
@@ -652,10 +654,10 @@ void func_802D4AC0(Actor *this, s32 arg1, s32 arg2) {
fileProgressFlag_set(arg1 + 0xFF800000, 1); fileProgressFlag_set(arg1 + 0xFF800000, 1);
} }
if (arg1 & 0x400000) { if (arg1 & 0x400000) {
func_803204E4(arg1 + 0xFFC00000, 1); volatileFlag_set(arg1 + 0xFFC00000, 1);
} }
} }
if( (((arg1 & 0x800000) && (fileProgressFlag_get(arg1 + 0xFF800000))) || ((arg1 & 0x400000) && (func_803203FC(arg1 + 0xFFC00000)))) if( (((arg1 & 0x800000) && (fileProgressFlag_get(arg1 + 0xFF800000))) || ((arg1 & 0x400000) && (volatileFlag_get(arg1 + 0xFFC00000))))
&& (fileProgressFlag_get(arg2)) && (this->animctrl == NULL) && (fileProgressFlag_get(arg2)) && (this->animctrl == NULL)
) { ) {
subaddie_set_state_with_direction(this, 8, 0.0f, 1); subaddie_set_state_with_direction(this, 8, 0.0f, 1);
@@ -761,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) {
func_803204E4(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) {
@@ -784,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(func_80320424(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){
@@ -798,7 +800,7 @@ void func_802D5178(s32 arg0, enum file_progress_e arg1, s32 arg2, enum map_e arg
} }
void func_802D520C(Gfx **gfx, Mtx **mtx, Vtx **vtx){ void func_802D520C(Gfx **gfx, Mtx **mtx, Vtx **vtx){
if(func_803203FC(1) && map_get() != MAP_8E_GL_FURNACE_FUN){ if(volatileFlag_get(VOLATILE_FLAG_1) && map_get() != MAP_8E_GL_FURNACE_FUN){
func_80319214(gfx, mtx, vtx); func_80319214(gfx, mtx, vtx);
} }
} }
@@ -1020,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(func_803203FC(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);
func_803204E4(0x18, 0); volatileFlag_set(VOLATILE_FLAG_18, 0);
} }
else{//L802D5DD8 else{//L802D5DD8
if(!func_803203FC(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);
func_803204E4(0x18, 0); volatileFlag_set(VOLATILE_FLAG_18, 0);
} }
} }
}//L802D5E18 }//L802D5E18
@@ -1042,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 && !func_803203FC(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;
} }
@@ -1054,10 +1056,10 @@ void func_802D5628(void){
D_8037DE00 = randi2(0xF86, sp4C); D_8037DE00 = randi2(0xF86, sp4C);
}//L802D5F1C }//L802D5F1C
if(func_803203FC(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);
func_803204E4(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)
@@ -1109,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
func_803204E4(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();
} }
@@ -1194,7 +1196,7 @@ void func_802D63D4(void){
default: //L802D6460 default: //L802D6460
func_802BAFE4(D_80367688); func_802BAFE4(D_80367688);
timedFuncQueue_update(); timedFuncQueue_update();
func_803204E4(0xbf, 0); volatileFlag_set(VOLATILE_FLAG_BF, 0);
func_802D6750(); func_802D6750();
break; break;
} }
@@ -1216,43 +1218,43 @@ void func_802D6494(void){
func_8025A6CC(COMUSIC_64_WORLD_OPENING_A, 32000); func_8025A6CC(COMUSIC_64_WORLD_OPENING_A, 32000);
break; break;
case ACTOR_212_CC_ENTRANCE_BARS:// L802D6550 case ACTOR_212_CC_ENTRANCE_BARS:// L802D6550
if(map_get() == MAP_70_GL_CC_LOBBY && !func_803203FC(UNKFLAGS1_7F_SANDCASTLE_OPEN_CC)){ if(map_get() == MAP_70_GL_CC_LOBBY && !volatileFlag_get(VOLATILE_FLAG_7F_SANDCASTLE_OPEN_CC)){
func_802D4830(actorArray_findActorFromActorId(ACTOR_212_CC_ENTRANCE_BARS), SFX_9A_MECHANICAL_CLOSING, 0.5f); func_802D4830(actorArray_findActorFromActorId(ACTOR_212_CC_ENTRANCE_BARS), SFX_9A_MECHANICAL_CLOSING, 0.5f);
func_8025A6CC(COMUSIC_64_WORLD_OPENING_A, 32000); func_8025A6CC(COMUSIC_64_WORLD_OPENING_A, 32000);
} }
break; break;
case ACTOR_234_CCW_ENTRANCE_DOOR:// L802D65A0 case ACTOR_234_CCW_ENTRANCE_DOOR:// L802D65A0
if(map_get() == MAP_79_GL_CCW_LOBBY && !func_803203FC(UNKFLAGS1_93_SANDCASTLE_OPEN_CCW)){ if(map_get() == MAP_79_GL_CCW_LOBBY && !volatileFlag_get(VOLATILE_FLAG_93_SANDCASTLE_OPEN_CCW)){
func_802D485C(actorArray_findActorFromActorId(ACTOR_234_CCW_ENTRANCE_DOOR), SFX_3EC_CCW_DOOR_OPENING, 0.8f, 15000); func_802D485C(actorArray_findActorFromActorId(ACTOR_234_CCW_ENTRANCE_DOOR), SFX_3EC_CCW_DOOR_OPENING, 0.8f, 15000);
func_8025A6CC(COMUSIC_64_WORLD_OPENING_A, 32000); func_8025A6CC(COMUSIC_64_WORLD_OPENING_A, 32000);
} }
break; break;
case ACTOR_210_BGS_ENTRANCE_DOOR:// L802D65F8 case ACTOR_210_BGS_ENTRANCE_DOOR:// L802D65F8
if(!func_803203FC(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);
} }
break; break;
case ACTOR_235_FP_ENTANCE_DOOR:// L802D6624 case ACTOR_235_FP_ENTANCE_DOOR:// L802D6624
if(map_get() == MAP_6F_GL_FP_LOBBY && !func_803203FC(UNKFLAGS1_8B_SANDCASTLE_OPEN_FP)){ if(map_get() == MAP_6F_GL_FP_LOBBY && !volatileFlag_get(VOLATILE_FLAG_8B_SANDCASTLE_OPEN_FP)){
func_802D4830(actorArray_findActorFromActorId(ACTOR_235_FP_ENTANCE_DOOR), SFX_18_BIGBUTT_SLIDE, 0.5f); func_802D4830(actorArray_findActorFromActorId(ACTOR_235_FP_ENTANCE_DOOR), SFX_18_BIGBUTT_SLIDE, 0.5f);
func_8025A6CC(COMUSIC_64_WORLD_OPENING_A, 32000); func_8025A6CC(COMUSIC_64_WORLD_OPENING_A, 32000);
} }
break; break;
case ACTOR_226_GV_ENTRANCE:// L802D6674 case ACTOR_226_GV_ENTRANCE:// L802D6674
if(map_get() == MAP_6E_GL_GV_LOBBY && !func_803203FC(UNKFLAGS1_87_SANDCASTLE_OPEN_GV)){ if(map_get() == MAP_6E_GL_GV_LOBBY && !volatileFlag_get(VOLATILE_FLAG_87_SANDCASTLE_OPEN_GV)){
func_802D485C(actorArray_findActorFromActorId(ACTOR_226_GV_ENTRANCE), SFX_3EC_CCW_DOOR_OPENING, 0.8f, 15000); func_802D485C(actorArray_findActorFromActorId(ACTOR_226_GV_ENTRANCE), SFX_3EC_CCW_DOOR_OPENING, 0.8f, 15000);
func_8025A6CC(COMUSIC_64_WORLD_OPENING_A, 32000); func_8025A6CC(COMUSIC_64_WORLD_OPENING_A, 32000);
} }
break; break;
case ACTOR_228_MMM_ENTRANCE_DOOR:// L802D66CC case ACTOR_228_MMM_ENTRANCE_DOOR:// L802D66CC
if(!func_803203FC(UNKFLAGS1_8C_SANDCASTLE_OPEN_MMM)){ if(!volatileFlag_get(VOLATILE_FLAG_8C_SANDCASTLE_OPEN_MMM)){
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);
} }
break; break;
case ACTOR_20F_RBB_ENTRANCE_DOOR:// L802D66F8 case ACTOR_20F_RBB_ENTRANCE_DOOR:// L802D66F8
if(map_get() == MAP_77_GL_RBB_LOBBY && !func_803203FC(UNKFLAGS1_90_SANDCASTLE_OPEN_RBB)){ if(map_get() == MAP_77_GL_RBB_LOBBY && !volatileFlag_get(VOLATILE_FLAG_90_SANDCASTLE_OPEN_RBB)){
func_802D4830(actorArray_findActorFromActorId(ACTOR_20F_RBB_ENTRANCE_DOOR), SFX_9A_MECHANICAL_CLOSING, 0.5f); func_802D4830(actorArray_findActorFromActorId(ACTOR_20F_RBB_ENTRANCE_DOOR), SFX_9A_MECHANICAL_CLOSING, 0.5f);
func_8025A6CC(COMUSIC_64_WORLD_OPENING_A, 32000); func_8025A6CC(COMUSIC_64_WORLD_OPENING_A, 32000);
} }
@@ -1311,14 +1313,14 @@ s32 func_802D683C(s32 arg0){
} }
int func_802D686C(void){ int func_802D686C(void){
if(func_803203FC(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() || func_803203FC(0x21); return func_802D686C() || volatileFlag_get(VOLATILE_FLAG_21);
} }
//BREAK???? //BREAK????

View File

@@ -36,7 +36,7 @@ void func_802DAA14(Actor *this){
s32 tmp; s32 tmp;
s32 text_id; s32 text_id;
if(func_803203FC(1) || func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)){ if(volatileFlag_get(VOLATILE_FLAG_1) || volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE)){
marker_despawn(this->marker); marker_despawn(this->marker);
return; return;
} }

View File

@@ -247,7 +247,7 @@ void func_802DB5A0(Actor *this) {
this->unk124_0 = this->unk138_31 = FALSE; this->unk124_0 = this->unk138_31 = FALSE;
local->unk38 = 0; local->unk38 = 0;
this->unk16C_4 = TRUE; this->unk16C_4 = TRUE;
if (func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)) { if (volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE)) {
subaddie_set_state(this, 2U); subaddie_set_state(this, 2U);
return; return;
} }

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
@@ -133,7 +133,7 @@ void func_802DEE1C(Actor *this) {
case 3: case 3:
if(animctrl_isStopped(this->animctrl)) { if(animctrl_isStopped(this->animctrl)) {
func_803204E4(0xC3, 1); volatileFlag_set(VOLATILE_FLAG_C3, 1);
this->state = 4; this->state = 4;
} }
break; break;

View File

@@ -69,9 +69,9 @@ void func_802E0B10(Actor *this){
} }
} }
if( mumboscore_get(local->uid) if( mumboscore_get(local->uid)
|| func_803203FC(1) || volatileFlag_get(VOLATILE_FLAG_1)
|| func_803203FC(2) || volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)
|| func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE) || volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE)
){ ){
marker_despawn(this->marker); marker_despawn(this->marker);
return; return;

View File

@@ -214,7 +214,7 @@ void func_802E3BF8(enum game_mode_e next_mode, s32 arg1){
if(arg1){ if(arg1){
sp20 = FALSE; sp20 = FALSE;
if(next_mode == GAME_MODE_3_NORMAL){ if(next_mode == GAME_MODE_3_NORMAL){
if(func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)){ if(volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE)){
sp20 = TRUE; sp20 = TRUE;
sp1C = 7; sp1C = 7;
} }
@@ -265,8 +265,8 @@ void func_802E3E7C(enum game_mode_e mode){
sp28 = D_8037E8E0.exit; sp28 = D_8037E8E0.exit;
prev_mode = D_8037E8E0.unk0; prev_mode = D_8037E8E0.unk0;
func_802E3BF8(GAME_MODE_2_UNKNOWN, 0); func_802E3BF8(GAME_MODE_2_UNKNOWN, 0);
if(!func_80320454(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(!func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)) if(!volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE))
mapSavestate_save(map_get()); mapSavestate_save(map_get());
} }
func_802E398C(1); func_802E398C(1);
@@ -547,7 +547,7 @@ bool func_802E4424(void) {
&& !func_8028F22C() && !func_8028F22C()
&& func_8032056C() && func_8032056C()
&& levelSpecificFlags_validateCRC1() && levelSpecificFlags_validateCRC1()
&& func_80320248() && dummy_func_80320248()
) { ) {
func_802E3BF8(GAME_MODE_4_PAUSED, 0U); func_802E3BF8(GAME_MODE_4_PAUSED, 0U);
} else if ((func_8024E67C(0) == 1) && (D_8037E8E0.unk0 != 0)) { } else if ((func_8024E67C(0) == 1) && (D_8037E8E0.unk0 != 0)) {

Some files were not shown because too many files have changed in this diff Show More