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

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

View File

@@ -83,11 +83,11 @@ void __baanim_applyBottlesBonus(s32 arg0, s32 arg1) {
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;
} else {
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];
}
}

View File

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

View File

@@ -142,7 +142,7 @@ void __baMarker_8028B904(s32 arg0, s32 arg1, s32 arg2, s32 arg3){
func_80296CC0(&sp1C);
func_80296CB4(arg3);
if(miscflag_isTrue(7)){
if(miscFlag_isTrue(MISC_FLAG_7)){
func_8029CDA0();
}
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);
}
// 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){
u32 sp24;
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)
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){
sp24 = arg1 + 0xFFC00000;
if(!func_803203FC(sp24)){
func_803204E4(sp24, 1);
sp24 = arg1 + 0xFFC00000; // weird truncing
if(!volatileFlag_get(sp24)){
volatileFlag_set(sp24, 1);
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);
}
}
@@ -216,7 +218,7 @@ void __baMarker_8028BB1C(s32 arg0, u32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 a
if(!fileProgressFlag_get(arg1)){
fileProgressFlag_set(arg1, 1);
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);
}
}
@@ -231,8 +233,8 @@ int __baMarker_8028BC60(void){
}
void __baMarker_resolveCollision(Prop *other_prop){
s32 plyr_collision_type;
s32 obj_collision_type;
enum marker_collision_func_type_e plyr_collision_type;
enum marker_collision_func_type_e obj_collision_type;
s32 plyr_hitbox_type;
int i;
ActorMarker *marker; //0xbc
@@ -253,8 +255,8 @@ void __baMarker_resolveCollision(Prop *other_prop){
s32 tmp1;
if(*((u32*)(((u32)other_prop) + 8)) & 1){
plyr_collision_type = 0;
obj_collision_type = 0;
plyr_collision_type = MARKER_COLLISION_FUNC_0;
obj_collision_type = MARKER_COLLISION_FUNC_0;
marker = other_prop->actorProp.marker;
actor = NULL;
if(marker->unk3E_0){
@@ -273,12 +275,12 @@ void __baMarker_resolveCollision(Prop *other_prop){
switch(marker->id){
case 0x125: //L8028BE88
case 0x126: //L8028BE88
obj_collision_type = 1;
obj_collision_type = MARKER_COLLISION_FUNC_1;
break;
case 0x97: //L8028BE94
plyr_collision_type = 1;
obj_collision_type = 1;
case MARKER_97_BOGGY_2: //L8028BE94
plyr_collision_type = MARKER_COLLISION_FUNC_1;
obj_collision_type = MARKER_COLLISION_FUNC_1;
break;
case 0xBA: //L8028BEA8
@@ -289,7 +291,7 @@ void __baMarker_resolveCollision(Prop *other_prop){
|| marker->unk40_31 == 5
|| marker->unk40_31 == 6
){
obj_collision_type = 1;
obj_collision_type = MARKER_COLLISION_FUNC_1;
}
break;
@@ -314,7 +316,7 @@ void __baMarker_resolveCollision(Prop *other_prop){
case 0xA1: //L8028BF54
if(plyr_hitbox_type == HITBOX_1_BEAK_BUSTER){
func_802A02B4(1);
obj_collision_type = 2;
obj_collision_type = MARKER_COLLISION_FUNC_2_DIE;
}
break;
@@ -327,7 +329,7 @@ void __baMarker_resolveCollision(Prop *other_prop){
}
if(plyr_hitbox_type != HITBOX_6_WONDERWING){
plyr_collision_type = 2;
plyr_collision_type = MARKER_COLLISION_FUNC_2_DIE;
}
break;
@@ -379,8 +381,8 @@ void __baMarker_resolveCollision(Prop *other_prop){
}
break;
case 0x231: //L8028C104
case 0x244: //L8028C104
case MARKER_231_WARP_CAULDRON: //L8028C104
case MARKER_244_DINGPOT: //L8028C104
{
if(func_8028ECAC() == 1)
@@ -389,7 +391,7 @@ void __baMarker_resolveCollision(Prop *other_prop){
spAC[1] += 40.0f;
if(func_802458E0(spAC, actor, 0x87) == 0)
return;
func_803204E4(0x1E, 1);
volatileFlag_set(VOLATILE_FLAG_1E, 1);
if(fileProgressFlag_get(((actor->unkF4_8 - 1) ^ 1) + 0x49)){
actor->unk10_12 = 2;
}
@@ -463,38 +465,38 @@ void __baMarker_resolveCollision(Prop *other_prop){
break;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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
if(plyr_hitbox_type == HITBOX_3_BEAK_BOMB){
mapSpecificFlags_set(6,1);
obj_collision_type = 1;
obj_collision_type = MARKER_COLLISION_FUNC_1;
}
break;
@@ -583,10 +585,10 @@ void __baMarker_resolveCollision(Prop *other_prop){
return;
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)
){
func_80356540(FILEPROG_A6_FURNACE_FUN_COMPLETE);
volatileFlag_setAndTriggerDialog_4(VOLATILE_FLAG_A6_FF_FOUND_HONEYCOMB);
func_8030E6D4(SFX_126_AUDIENCE_BOOING);
}
@@ -695,10 +697,10 @@ void __baMarker_resolveCollision(Prop *other_prop){
if(__baMarker_8028BC20(marker))
return;
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)
){
func_80356540(FILEPROG_A7_NEAR_PUZZLE_PODIUM_TEXT);
volatileFlag_setAndTriggerDialog_4(VOLATILE_FLAG_A7_FF_FOUND_EXTRALIFE);
func_8030E6D4(SFX_127_AUDIENCE_MIXED);
}
func_8025A6EC(COMUSIC_15_EXTRA_LIFE_COLLECTED, 0x7FFF);
@@ -713,9 +715,9 @@ void __baMarker_resolveCollision(Prop *other_prop){
case MARKER_D4_SPRING_PAD: //L8028CDEC
case 0x242: //L8028CDEC
if(ability_isUnlocked(ABILITY_D_SHOCK_JUMP)){
miscflag_set(MISC_FLAG_2_ON_SPRING_PAD);
miscFlag_set(MISC_FLAG_2_ON_SPRING_PAD);
}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);
}
}
@@ -725,9 +727,9 @@ void __baMarker_resolveCollision(Prop *other_prop){
case MARKER_240_LAIR_SWITCH_FLIGHT_PAD: //L8028CE3C
case MARKER_261_FIGHT_FLIGHT_PAD: //L8028CE3C
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);
}
break;
@@ -744,7 +746,7 @@ void __baMarker_resolveCollision(Prop *other_prop){
if(chwadingboots_802D6E0C(actor) == 0)
return;
miscflag_set(MISC_FLAG_E_TOUCHING_WADING_BOOTS);
miscFlag_set(MISC_FLAG_E_TOUCHING_WADING_BOOTS);
func_802A6388(chwadingboots_802D6E4C(actor));
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));
@@ -768,40 +770,40 @@ void __baMarker_resolveCollision(Prop *other_prop){
if(!chtrainers_canUse(actor))
return;
miscflag_set(MISC_FLAG_10_TOUCHING_TURBO_TRAINERS);
miscFlag_set(MISC_FLAG_10_TOUCHING_TURBO_TRAINERS);
set_turbo_duration(chtrainers_getDuration(actor));
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));
chtrainers_pickup(actor);
break;
case 0x1AE: //L8028CFEC
case MARKER_1AE_ZUBBA: //L8028CFEC
switch(plyr_hitbox_type){
case HITBOX_1_BEAK_BUSTER:
case HITBOX_2_BEAK_BARGE:
case HITBOX_5_PECK:
case HITBOX_6_WONDERWING:
obj_collision_type = 2;
obj_collision_type = MARKER_COLLISION_FUNC_2_DIE;
break;
default:
plyr_collision_type = 2;
plyr_collision_type = MARKER_COLLISION_FUNC_2_DIE;
break;
}
break;
case MARKER_1B1_CCW_GOBI: //L8028D024
if(plyr_hitbox_type == HITBOX_1_BEAK_BUSTER)
obj_collision_type = 1;
obj_collision_type = MARKER_COLLISION_FUNC_1;
break;
}//L8028D034
if(func_80297C6C() == 3){
plyr_collision_type = 0;
plyr_collision_type = MARKER_COLLISION_FUNC_0;
}
if(obj_collision_type){
miscflag_set(8);
miscFlag_set(MISC_FLAG_8);
}
func_8032FFF4(playerMarker, marker, plyr_collision_type);
func_8032FFF4(marker, playerMarker, obj_collision_type);
marker_callCollisionFunc(playerMarker, marker, plyr_collision_type);
marker_callCollisionFunc(marker, playerMarker, obj_collision_type);
if(marker->unk3E_0){
func_8032B258(actor, obj_collision_type);
}
@@ -812,10 +814,10 @@ void __baMarker_resolveCollision(Prop *other_prop){
switch (tmp2)
{
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;
case 0x2DD: //on shock spring pad
miscflag_set(MISC_FLAG_2_ON_SPRING_PAD);
miscFlag_set(MISC_FLAG_2_ON_SPRING_PAD);
break;
default:
func_80332790(tmp2);
@@ -864,9 +866,9 @@ void baMarker_init(void){
playerMarker->unk2C_1 = 1;
marker_setCollisionScripts(playerMarker, NULL, func_80291634, func_80291610);
func_803300B8(playerMarker, baMarker_8028D7B8);
miscflag_clear(MISC_FLAG_1_ON_FLIGHT_PAD);
miscflag_clear(MISC_FLAG_2_ON_SPRING_PAD);
miscflag_clear(8);
miscFlag_clear(MISC_FLAG_1_ON_FLIGHT_PAD);
miscFlag_clear(MISC_FLAG_2_ON_SPRING_PAD);
miscFlag_clear(MISC_FLAG_8);
baMarker_8028D638(0,0);
func_8033D2F4();
D_8037BF8C = 0;
@@ -897,11 +899,11 @@ void baMarker_update(void){
D_8037BF88 = 0;
}
}//L8028D364
miscflag_clear(8);
miscFlag_clear(MISC_FLAG_8);
if(playerMarker->collidable){
temp_s0_2 = __baMarker_8028B750();
miscflag_clear(MISC_FLAG_1_ON_FLIGHT_PAD);
miscflag_clear(MISC_FLAG_2_ON_SPRING_PAD);
miscFlag_clear(MISC_FLAG_1_ON_FLIGHT_PAD);
miscFlag_clear(MISC_FLAG_2_ON_SPRING_PAD);
_player_getPosition(sp168);
func_8032F64C(sp168, playerMarker);
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;
if(func_8033D5A4(collision_flags))
miscflag_set(8);
miscFlag_set(MISC_FLAG_8);
if((func_80297C6C() != 3 && func_8028F1E0()) || !sp20){
if(!func_8028F25C()){

View File

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

View File

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

View File

@@ -180,7 +180,7 @@ void bsbfly_enter_end(void){
void bsbfly_init(void){
baanim_playForDuration_loopSmooth(ASSET_38_ANIM_BSBFLY, 0.62f);
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);
}else{
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);
}
baphysics_set_gravity(-300.0f);
if(miscflag_isTrue(9)){
if(miscFlag_isTrue(MISC_FLAG_9)){
baphysics_set_terminal_velocity(0.0f);
baphysics_set_velocity(0);
sp38 = 0.0f;
@@ -409,7 +409,7 @@ void func_802A411C(void) {
ml_vec3f_copy(sp28, D_8037D338);
ml_vec3f_normalize(sp28);
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();
next_state = BS_18_FLY_KNOCKBACK;
} else if (0.4 < sp24) {
@@ -782,7 +782,7 @@ void func_802A503C(void){
void func_802A505C(void){
if(bs_getInterruptType() == BS_INTR_9){
func_8029A86C(2);
miscflag_set(7);
miscFlag_set(MISC_FLAG_7);
func_8029CCC4();
}else{
func_80296608();

View File

@@ -70,7 +70,7 @@ void func_802A5374(void){
func_8029E0F4(1);
pitch_setAngVel(1000.0f, 12.0f);
roll_setAngularVelocity(1000.0f, 12.0f);
miscflag_set(3);
miscFlag_set(MISC_FLAG_3);
}
void func_802A5404(void){
@@ -87,7 +87,7 @@ void func_802A5404(void){
roll_setIdeal(0.0f);
stateTimer_clear(STATE_TIMER_2_LONGLEG);
func_803219F4(1);
miscflag_clear(3);
miscFlag_clear(MISC_FLAG_3);
func_8029E180(4, 0.5f);
func_802A531C();
}
@@ -121,7 +121,7 @@ void bsblongleg_enter_init(void){
D_8037D361 = func_8030D90C();
sfxsource_setSfxId(D_8037D361, SFX_2C_PULLING_NOISE);
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()))
__bsblongleg_enterFromTrot();
else

View File

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

View File

@@ -106,15 +106,15 @@ void func_802A8A40(void){
func_8029E064(1);
pitch_setAngVel(1000.0f, 12.0f);
roll_setAngularVelocity(1000.0f, 12.0f);
miscflag_set(3);
miscFlag_set(MISC_FLAG_3);
func_8029CF48(4,1,0.24f);
baModel_setDirection(PLAYER_MODEL_DIR_KAZOOIE);
}
void func_802A8AD8(void){
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)){
miscflag_clear(MISC_FLAG_10_TOUCHING_TURBO_TRAINERS);
if(miscFlag_isTrue(MISC_FLAG_10_TOUCHING_TURBO_TRAINERS) &&(bs_getState() != BS_17_BTROT_EXIT)){
miscFlag_clear(MISC_FLAG_10_TOUCHING_TURBO_TRAINERS);
stateTimer_set(STATE_TIMER_3_TURBO_TALON, get_turbo_duration());
func_803219F4(4);
}
@@ -122,7 +122,7 @@ void func_802A8AD8(void){
if(stateTimer_isDone(STATE_TIMER_3_TURBO_TALON)){
if(func_8029DFE0()){
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_803219F4(1);
}
@@ -143,7 +143,7 @@ void func_802A8BB0(void){
func_8029E064(0);
pitch_setIdeal(0.0f);
roll_setIdeal(0.0f);
miscflag_clear(3);
miscFlag_clear(MISC_FLAG_3);
if(next_state != BS_5A_LOADZONE)
stateTimer_set(STATE_TIMER_3_TURBO_TALON, 0.0f);
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){
if(miscflag_isTrue(0xf))
if(miscFlag_isTrue(MISC_FLAG_F))
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_8_BTROT_JUMP;
@@ -377,7 +377,7 @@ void bsbtrot_jump_update(void){
if(stateTimer_isActive(STATE_TIMER_3_TURBO_TALON))
func_802A87C0();
if(miscflag_isTrue(0xF))
if(miscFlag_isTrue(MISC_FLAG_F))
baphysics_reset_horizontal_velocity();
else
func_802A89D4();
@@ -588,7 +588,7 @@ void bsbtrot_fall_update(void){
if(stateTimer_isActive(STATE_TIMER_3_TURBO_TALON))
func_802A87C0();
if(miscflag_isTrue(0xf))
if(miscFlag_isTrue(MISC_FLAG_F))
baphysics_reset_horizontal_velocity();
else
func_802A89D4();

View File

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

View File

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

View File

@@ -152,7 +152,7 @@ void bsbeefly_enter(void){
mvmnt = bs_getPrevState();
baanim_playForDuration_loopSmooth(ASSET_1DC_ANIM_BEE_FLY, 0.38);
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);
else
baphysics_set_target_horizontal_velocity(600.0f);
@@ -235,7 +235,7 @@ void bsbeefly_update(void){
}
break;
}//L802A0DF0
if(miscflag_isTrue(9)){
if(miscFlag_isTrue(MISC_FLAG_9)){
baphysics_set_terminal_velocity(0.0f);
baphysics_set_velocity(0);
sp38 = 0.0f;

View File

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

View File

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

View File

@@ -30,7 +30,7 @@ void bsDroneLook_init(void) {
eye_rotation[1] += 180.0f;
eye_rotation[2] = 0.0f;
ncFirstPersonCamera_setZoomedOutRotation(eye_rotation);
miscflag_set(MISC_FLAG_17_FPV);
miscFlag_set(MISC_FLAG_17_FIRST_PERSON_VIEW);
}
void bsDroneLook_update(void) {
@@ -79,5 +79,5 @@ void bsDroneLook_end(void) {
func_80299D2C(SFX_12E_CAMERA_ZOOM_MEDIUM, 1.2f, 12000);
}
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();
D_8037D470.player_transformation = bsStoredState_getTransformation();
D_8037D470.room_transformation = func_80294A4C();
miscflag_set(MISC_FLAG_1B_TRANSFORMING);
miscFlag_set(MISC_FLAG_1B_TRANSFORMING);
D_8037D470.state = 0;
__bsdronexform_setState(1);
}
@@ -444,7 +444,7 @@ void bsdronexform_end(void){
func_802AFADC();
func_802B014C();
func_80298A64();
miscflag_clear(MISC_FLAG_1B_TRANSFORMING);
miscFlag_clear(MISC_FLAG_1B_TRANSFORMING);
}
void bsdronexform_interrupt(void){}

View File

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

View File

@@ -35,7 +35,7 @@ void bsjump_init(void){
AnimCtrl *aCtrl = baanim_getAnimCtrlPtr();
enum bs_e sp30;
D_8037D4C2 = miscflag_isTrue(2);
D_8037D4C2 = miscFlag_isTrue(MISC_FLAG_2_ON_SPRING_PAD);
sp30 = bs_getPrevState();
if(bsclimb_inSet(sp30)){
climbRelease();
@@ -89,7 +89,7 @@ void bsjump_update(void){
if(D_8037D4C2)
func_8029C348();
if(miscflag_isTrue(0xf)){
if(miscFlag_isTrue(MISC_FLAG_F)){
baphysics_reset_horizontal_velocity();
}else{
func_802B6FA8();
@@ -172,7 +172,7 @@ void bsjump_fall_init(void){
AnimCtrl *aCtrl = baanim_getAnimCtrlPtr();
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);
sp20 = (bs_getPrevState() == BS_12_BFLIP)? 0 : 1;
@@ -191,7 +191,7 @@ void bsjump_fall_update(void){
AnimCtrl *aCtrl = baanim_getAnimCtrlPtr();
f32 player_velocity[3];
if(miscflag_isTrue(0xf))
if(miscFlag_isTrue(MISC_FLAG_F))
baphysics_reset_horizontal_velocity();
else
func_802B6FA8();
@@ -213,11 +213,11 @@ void bsjump_fall_update(void){
case 1:
break;
}//L802B1824
if(miscflag_isFalse(0xf)){
if(miscFlag_isFalse(MISC_FLAG_F)){
if(player_isFallTumbling())
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;
if(should_peck())
@@ -231,7 +231,7 @@ void bsjump_fall_update(void){
}
else if(player_inWater()){
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;
}

View File

@@ -55,8 +55,8 @@ void func_802B229C(void) {
func_8029B0C0();
func_8029E070(0);
func_8029E064(0);
miscflag_clear(3);
miscflag_clear(4);
miscFlag_clear(MISC_FLAG_3);
miscFlag_clear(MISC_FLAG_4);
func_80293D74();
}
baanim_setUpdateType(BAANIM_UPDATE_1_NORMAL);
@@ -80,8 +80,8 @@ void bspumpkin_idle_init(void) {
pitch_setAngVel(1000.0f, 12.0f);
roll_setAngularVelocity(1000.0f, 12.0f);
func_80293D48(50.0f, 25.0f);
miscflag_set(3);
miscflag_set(4);
miscFlag_set(MISC_FLAG_3);
miscFlag_set(MISC_FLAG_4);
func_802900B4();
}
@@ -290,7 +290,7 @@ void bspumpkin_fall_update(void) {
break;
}
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();
} else {
next_state = BS_48_PUMPKIN_IDLE;

View File

@@ -160,7 +160,7 @@ void func_802B3E64(void) {
if (func_802B3BB0()) {
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);
}
bs_setState(next_state);

View File

@@ -323,7 +323,7 @@ void func_802B5350(void){
}
else if(sp1C == 0x12){//L802B53D0
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_8029A86C(2);
}

View File

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

View File

@@ -179,7 +179,7 @@ void func_802B5950(void) {
if (func_80294524() && button_pressed(BUTTON_A)) {
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;
}
bs_setState(next_state);
@@ -256,7 +256,7 @@ void func_802B5C40(void) {
if (func_80294524() && button_pressed(BUTTON_A)) {
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;
}
bs_setState(next_state);

View File

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

View File

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

View File

@@ -44,7 +44,7 @@ void func_802C5E80(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;
if(this->unk38_31){

View File

@@ -77,7 +77,7 @@ void func_802D77D4(Actor *this) {
ml_vec3f_diff_copy(sp4C, this->position, sp40);
if (((sp4C[0] * sp4C[0]) + (sp4C[2] * sp4C[2])) < (sp3C * sp3C)) {
if ((this->position[1] < sp40[1]) && (sp40[1] <= local->unk0[1])) {
if (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);
}
}

View File

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

View File

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

View File

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

View File

@@ -176,7 +176,7 @@ void func_8035B6CC(Actor *this){
void func_8035B75C(Actor *this){
subaddie_set_state_with_direction(this, 3, 0.01f, 1);
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);
}

View File

@@ -303,7 +303,7 @@ void chicecube_update(Actor *this){
case 1: // L8035AC9C
animctrl_setAnimTimer(this->animctrl, 0.0f);
if( func_80359DF4(this, 900)
|| (this->unkF4_8 == 2 && func_803203FC(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);
actor_playAnimationOnce(this);

View File

@@ -1,6 +1,7 @@
#include <ultra64.h>
#include "functions.h"
#include "variables.h"
#include "enums.h"
extern void func_802BE720(void);
extern f32 func_8033A244(f32);
@@ -71,7 +72,7 @@ void func_802C7B6C(u32 arg0){
mapSpecificFlags_set(arg0, 0);
}
void func_802C7B8C(Actor *this, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6){
void func_802C7B8C(Actor *this, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, enum volatile_flags_e arg6){
if( !mapSpecificFlags_get(arg1)
&& mapSpecificFlags_get(arg2)
&& item_getCount(ITEM_0_HOURGLASS_TIMER) == 0
@@ -79,7 +80,7 @@ void func_802C7B8C(Actor *this, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5
func_8028FCC8(1);
actor_collisionOff(this);
func_802BAFE4(arg3);
func_80356520(arg6);
volatileFlag_setAndTriggerDialog_0(arg6);
timedFunc_set_4(0.6f, (GenFunction_4)func_802C7AF8, (s32)this->position[0], (s32)this->position[1], (s32)this->position[2], arg4);
timedFunc_set_2(0.6f, (GenFunction_2)func_802C7AB0, (s32)this->marker, arg5);
timedFunc_set_0(1.0f, (GenFunction_0)func_802BE720);
@@ -174,10 +175,10 @@ void chjiggy_update(Actor *this){
chjiggy_updateRotation(this);
switch(chjiggy_getJiggyId(this)){
case JIGGY_20_BGS_ELEVATED_WALKWAY: //L802C7FE8
func_802C7B8C(this, 4, 3, 0xD, 5, 2, 0xae);
func_802C7B8C(this, 4, 3, 0xD, 5, 2, VOLATILE_FLAG_AE_BGS_WALKWAY_JIGGY_MISSED);
break;
case JIGGY_25_BGS_MAZE://L802C8018
func_802C7B8C(this, 0xd, 0xc, 0x1e, 9, 0xb, 0xaf);
func_802C7B8C(this, 0xd, 0xc, 0x1e, 9, 0xb, VOLATILE_FLAG_AF_BGS_MAZE_JIGGY_MISSED);
break;
case JIGGY_2F_FP_XMAS_TREE://L802C8048
if(levelSpecificFlags_get(0x29))

View File

@@ -110,7 +110,7 @@ void chJinjo_update(Actor * this){
local->unk8 = (this->position_y < func_80309B24(this->position));
this->marker->collisionFunc = __chJinjo_802CDBA8;
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);
}
}//L802CDE24

View File

@@ -332,7 +332,7 @@ void chSnacker_spawn(void) {
_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);
}
else{
@@ -372,7 +372,7 @@ void chSnacker_spawn(void) {
marker_despawn(s_chSnacker_marker);
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_8024BD08(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);
this->velocity[0] = this->yaw;
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);
}
if(!func_803203FC(0xF) && ability_isUnlocked(ABILITY_11_TURBO_TALON)){
func_803204E4(0xF, TRUE);
if(!volatileFlag_get(VOLATILE_FLAG_F_HAS_MEET_TURBO_SHOES) && ability_isUnlocked(ABILITY_11_TURBO_TALON)){
volatileFlag_set(VOLATILE_FLAG_F_HAS_MEET_TURBO_SHOES, TRUE);
}
switch(this->state){
case 0://L802CA5A8
if(func_803296D8(this, 2000) || sp2C){
if( func_80329530(this, 0xfa)
&& !func_803203FC(0xf)
&& !volatileFlag_get(VOLATILE_FLAG_F_HAS_MEET_TURBO_SHOES)
&& player_getTransformation() == TRANSFORM_1_BANJO
){
if(func_80311480(0xda4, 0, NULL, NULL, NULL, NULL)){
func_803204E4(0xf, TRUE);
volatileFlag_set(VOLATILE_FLAG_F_HAS_MEET_TURBO_SHOES, TRUE);
}
}//L802CA620
_chtrainers_802CA378(this, sp2C);

View File

@@ -41,12 +41,12 @@ void chwadingboots_update(Actor *this){
if(!this->initialized){
this->initialized = TRUE;
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);
}
if(!func_803203FC(0x10) && ability_isUnlocked(ABILITY_E_WADING_BOOTS)){
func_803204E4(0x10, TRUE);
if(!volatileFlag_get(VOLATILE_FLAG_10_HAS_MEET_WADING_BOOTS) && ability_isUnlocked(ABILITY_E_WADING_BOOTS)){
volatileFlag_set(VOLATILE_FLAG_10_HAS_MEET_WADING_BOOTS, TRUE);
}
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(player_getTransformation() != TRANSFORM_1_BANJO) break;
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;

View File

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

View File

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

View File

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

View File

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

View File

@@ -14,7 +14,7 @@ void chextralife_update(Actor *this){
if(!this->initialized){
func_8032AA58(this, 0.8f);
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);
}
}

View File

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

View File

@@ -47,7 +47,7 @@ extern struct43s chFightFlightPad_D_80366FB4 = {
/* .code */
void chShockJump_update(Actor *this){
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);
}
@@ -61,7 +61,7 @@ void chShockJump_update(Actor *this){
void chFlightPad_update(Actor *this){
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);
}

View File

@@ -372,7 +372,7 @@ void func_802CCC5C(Actor *this) {
}
if (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;
} else {
if (this->state == 2) {

View File

@@ -378,7 +378,7 @@ void chBeeSwarm_update(Actor *this) {
subaddie_set_state(this, (this->unk100 != NULL) ? 1 : 2);
this->unk60 = 0.0f;
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))

View File

@@ -123,7 +123,7 @@ void chMumbo_func_802D18B4(Actor *this) {
} else {
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);
if( !fileProgressFlag_get(FILEPROG_11_HAS_MET_MUMBO)
|| (!fileProgressFlag_get(FILEPROG_DC_HAS_HAD_ENOUGH_TOKENS_BEFORE) && this->unk38_0)
@@ -221,8 +221,8 @@ void chMumbo_update(Actor *this) {
f32 temp_f12;
this->unk130 = func_803255FC;
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)
&& map_get() != MAP_7A_GL_CRYPT) {
item_adjustByDiffWithHud(ITEM_1C_MUMBO_TOKEN, 0);
}
@@ -278,8 +278,8 @@ void chMumbo_update(Actor *this) {
actor_playAnimationOnce(this);
if (actor_animationIsAt(this, 0.999f)) {
if( !fileProgressFlag_get(FILEPROG_11_HAS_MET_MUMBO)
&& !func_803203FC(1)
&& !func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)
&& !volatileFlag_get(VOLATILE_FLAG_1)
&& !volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE)
) {
subaddie_set_state(this, 3);
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)
&& !func_803203FC(1)
&& !func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)
&& !volatileFlag_get(VOLATILE_FLAG_1)
&& !volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE)
&& this->unk38_0
){
subaddie_set_state(this, 3);
@@ -428,7 +428,7 @@ void chMumbo_update(Actor *this) {
case 7: //L802D2704
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) {
sp48 = chMumbo_withinHorzDistToPlayer(0x453, 0, 0xBC);
} else {
@@ -436,7 +436,7 @@ void chMumbo_update(Actor *this) {
}
if (sp48 != 0) {
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);
@@ -444,7 +444,7 @@ void chMumbo_update(Actor *this) {
case 8: //L802D2790
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) {
sp48 = chMumbo_withinHorzDistToPlayer(0x453, 0, 0xBC);
} else {
@@ -452,7 +452,7 @@ void chMumbo_update(Actor *this) {
}
if (sp48 != 0) {
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);

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) {
if (!this->unk16C_4) {
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);
}

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_80319EA4(void);
extern void fileProgressFlag_set(s32, bool);
extern void func_803204E4(s32, bool);
void func_802D3D54(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){
if(marker->id == 0x224 || marker->id == 0x225){
// collision function if player shoots egg at spider webs
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);
}
}
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);
marker_despawn(marker);
}
// collision die function for several objects in Lair
void func_802D31AC(ActorMarker *arg0, ActorMarker * arg1) {
Actor *sp2C;
@@ -166,7 +168,7 @@ void func_802D31AC(ActorMarker *arg0, ActorMarker * arg1) {
FUNC_8030E624(SFX_82_METAL_BREAK, 0.6f, 32736);
func_802D2FB0(sp2C, 0x14, -0x1E, 0x190, 3.0f, 0x15E, 0x50, 0x96);
sp2C->unk60 = 1.0f;
fileProgressFlag_set(0xA5, 1);
fileProgressFlag_set(FILEPROG_A5_LAIR_CRYPT_GATE_OPEN, 1);
break;
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_802EE2E8(sp2C, 7, 9, 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;
case 0x11A:
func_8030E540(SFX_82_METAL_BREAK);
func_802EE278(sp2C, 0xE, 0xD, 0x32, 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;
case 0x118:
func_8030E540(SFX_82_METAL_BREAK);
func_802EE278(sp2C, 0xE, 0xD, 0x50, 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;
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, 0xAA, 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;
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, 0xA0, 1.0f, 1.4f);
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;
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_8028ECAC() == 0 || func_8028ECAC() == BSGROUP_8_TROT){
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);
}
else{
@@ -624,7 +626,7 @@ void func_802D4928(Actor *this, s32 arg1, s32 arg2, s32 arg3) {
this->marker->propPtr->unk8_3 = TRUE;
if( ( (((arg1 & 0xC00000) == 0) && mapSpecificFlags_get(arg1 - 0))
|| (((arg1 & 0xC00000) == 0x800000) && fileProgressFlag_get(arg1 - 0x800000))
|| (((arg1 & 0xC00000) == 0x400000) && func_803203FC(arg1 - 0x400000))
|| (((arg1 & 0xC00000) == 0x400000) && volatileFlag_get(arg1 - 0x400000))
)
&& (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))
|| (((arg1 & 0xC00000) == 0x800000) && !fileProgressFlag_get(arg1 - 0x800000))
|| (((arg1 & 0xC00000) == 0x400000) && !func_803203FC(arg1 - 0x400000))
|| (((arg1 & 0xC00000) == 0x400000) && !volatileFlag_get(arg1 - 0x400000))
)
&& (arg2 == this->state)
) {
@@ -652,10 +654,10 @@ void func_802D4AC0(Actor *this, s32 arg1, s32 arg2) {
fileProgressFlag_set(arg1 + 0xFF800000, 1);
}
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)
) {
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) {
func_803204E4(1, 1);
volatileFlag_set(VOLATILE_FLAG_1, 1);
D_80367684 = map_id;
D_80367688 = arg1;
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){
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){
@@ -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){
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);
}
}
@@ -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(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);
if(func_803203FC(0x18)){
if(volatileFlag_get(VOLATILE_FLAG_18)){
if(!fileProgressFlag_get(FILEPROG_99_PAST_50_NOTE_DOOR_TEXT)){
func_80311174(0xF75, 0xE, NULL, NULL, NULL, NULL, func_802D5140);
fileProgressFlag_set(FILEPROG_99_PAST_50_NOTE_DOOR_TEXT, TRUE);
func_803204E4(0x18, 0);
volatileFlag_set(VOLATILE_FLAG_18, 0);
}
else{//L802D5DD8
if(!func_803203FC(0x16)){
if(!volatileFlag_get(VOLATILE_FLAG_16)){
func_80311174(0xF77, 0x4, NULL, NULL, NULL, NULL, func_802D5140);
func_803204E4(0x18, 0);
volatileFlag_set(VOLATILE_FLAG_18, 0);
}
}
}//L802D5E18
@@ -1042,7 +1044,7 @@ void func_802D5628(void){
&& !fileProgressFlag_get(FILEPROG_FC_DEFEAT_GRUNTY)
){
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)){
sp4C = 0xF9D;
}
@@ -1054,10 +1056,10 @@ void func_802D5628(void){
D_8037DE00 = randi2(0xF86, sp4C);
}//L802D5F1C
if(func_803203FC(0x22)){
if(volatileFlag_get(VOLATILE_FLAG_22)){
if(func_80311480(0xF82, 4, NULL, NULL, NULL, NULL)){
fileProgressFlag_set(FILEPROG_C1_BADDIES_ESCAPE_TEXT, TRUE);
func_803204E4(0x22, 0);
volatileFlag_set(VOLATILE_FLAG_22, 0);
D_8037DE04 = 0.0f;
D_80367680 += 60.0;
if(300.0 < D_80367680)
@@ -1109,7 +1111,7 @@ void func_802D6114(void){
if(map_getLevel(sp24) != map_getLevel(map_get())){
func_802E4A70();
}//L802D6194
func_803204E4(0x21, 1);
volatileFlag_set(VOLATILE_FLAG_21, 1);
if(sp24 != 0x1C || !func_8025ADBC(COMUSIC_23_MMM_INSIDE_CHURCH)){
func_803228D8();
}
@@ -1194,7 +1196,7 @@ void func_802D63D4(void){
default: //L802D6460
func_802BAFE4(D_80367688);
timedFuncQueue_update();
func_803204E4(0xbf, 0);
volatileFlag_set(VOLATILE_FLAG_BF, 0);
func_802D6750();
break;
}
@@ -1216,43 +1218,43 @@ void func_802D6494(void){
func_8025A6CC(COMUSIC_64_WORLD_OPENING_A, 32000);
break;
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_8025A6CC(COMUSIC_64_WORLD_OPENING_A, 32000);
}
break;
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_8025A6CC(COMUSIC_64_WORLD_OPENING_A, 32000);
}
break;
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_8025A6CC(COMUSIC_64_WORLD_OPENING_A, 32000);
}
break;
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_8025A6CC(COMUSIC_64_WORLD_OPENING_A, 32000);
}
break;
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_8025A6CC(COMUSIC_64_WORLD_OPENING_A, 32000);
}
break;
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_8025A6CC(COMUSIC_64_WORLD_OPENING_A, 32000);
}
break;
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_8025A6CC(COMUSIC_64_WORLD_OPENING_A, 32000);
}
@@ -1311,14 +1313,14 @@ s32 func_802D683C(s32 arg0){
}
int func_802D686C(void){
if(func_803203FC(0x1E)){
if(volatileFlag_get(VOLATILE_FLAG_1E)){
return FALSE;
}
return map_get() == D_80367684;
}
int func_802D68B4(void){
return func_802D686C() || func_803203FC(0x21);
return func_802D686C() || volatileFlag_get(VOLATILE_FLAG_21);
}
//BREAK????

View File

@@ -36,7 +36,7 @@ void func_802DAA14(Actor *this){
s32 tmp;
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);
return;
}

View File

@@ -247,7 +247,7 @@ void func_802DB5A0(Actor *this) {
this->unk124_0 = this->unk138_31 = FALSE;
local->unk38 = 0;
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);
return;
}

View File

@@ -22,7 +22,7 @@ ActorAnimationInfo D_80368300[] ={
f32 D_80368330[3] = {0.0f, 0.0f, 0.0f};
ActorInfo D_8036833C = {
0x294, 0x19B, 0x56D,
0x294, 0x19B, ASSET_56D_MUMBOS_HAND_WITH_PICTURE,
0x1, D_80368300,
func_802DEE1C, func_80326224, func_802DEC00,
0, 0, 0.0f, 0
@@ -133,7 +133,7 @@ void func_802DEE1C(Actor *this) {
case 3:
if(animctrl_isStopped(this->animctrl)) {
func_803204E4(0xC3, 1);
volatileFlag_set(VOLATILE_FLAG_C3, 1);
this->state = 4;
}
break;

View File

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

View File

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

View File

@@ -13,7 +13,6 @@
extern bool player_isInHorizontalRadius(f32[3], f32);
extern bool player_isInVerticalRange(f32[3], f32);
extern void miscflag_clear(s32);
extern void func_80295A8C(void);
extern void climbSet(f32[3], f32[3], f32, u32);
extern void func_80296C90(f32);
@@ -72,8 +71,8 @@ bool func_8028E060(s32 arg0, s32 *arg1){
void func_8028E0B0(ActorMarker *arg0){
bs_setState(bs_getIdleState());
bsStoredState_setTrot(FALSE);
miscflag_clear(0x16);
miscflag_clear(0x18);
miscFlag_clear(MISC_FLAG_16);
miscFlag_clear(MISC_FLAG_18);
}
void func_8028E0F0(s32 arg0, s32 arg1[3]) {
@@ -119,17 +118,17 @@ void func_8028E0F0(s32 arg0, s32 arg1[3]) {
switch (map_get()) {
case MAP_27_FP_FREEZEEZY_PEAK:
if (arg0 == 0xD) {
miscflag_set(0x16);
miscFlag_set(MISC_FLAG_16);
}
break;
case MAP_77_GL_RBB_LOBBY:
if ((arg0 == 2) && func_802D6088()) {
miscflag_set(0x18);
miscFlag_set(MISC_FLAG_18);
}
break;
case MAP_76_GL_640_NOTE_DOOR:
if ((arg0 == 1) && func_802D60C4()) {
miscflag_set(0x18);
miscFlag_set(MISC_FLAG_18);
}
break;
}
@@ -155,8 +154,8 @@ void func_8028E0F0(s32 arg0, s32 arg1[3]) {
func_8028F85C(&sp7C);
func_80295A8C();
bsStoredState_setTrot(FALSE);
miscflag_clear(0x16);
miscflag_clear(0x18);
miscFlag_clear(MISC_FLAG_16);
miscFlag_clear(MISC_FLAG_18);
func_8028E060(arg0, &sp6C);
yaw_setIdeal((f32) sp6C);
yaw_applyIdeal();
@@ -189,7 +188,7 @@ void func_8028E4B0(void) {
sp20 = exit_get();
D_8037BFB8 = 0;
player_setPosition(D_803636C0);
if (func_803203FC(0xE) || func_802D686C() || (sp20 == 0x65)){
if (volatileFlag_get(VOLATILE_FLAG_E) || func_802D686C() || (sp20 == 0x65)){
return;
}
if (sp20 == 0x63) {
@@ -199,7 +198,7 @@ void func_8028E4B0(void) {
D_8037BFB8 = 1;
func_80295A8C();
bsStoredState_setTrot(FALSE);
miscflag_clear(0x16);
miscFlag_clear(MISC_FLAG_16);
yaw_setIdeal(D_8037BFCC);
yaw_applyIdeal();
} else if (func_8028DFF0(sp20, sp24)) {
@@ -441,10 +440,10 @@ enum bsgroup_e func_8028ECAC(void) {
s32 temp_a1;
state_id = bs_getState();
if (miscflag_isTrue(MISC_FLAG_1B_TRANSFORMING)) {
if (miscFlag_isTrue(MISC_FLAG_1B_TRANSFORMING)) {
return BSGROUP_D_TRANSFORMING;
}
if (miscflag_isTrue(MISC_FLAG_17_FPV)) {
if (miscFlag_isTrue(MISC_FLAG_17_FIRST_PERSON_VIEW)) {
return BSGROUP_4_LOOK;
}
if (bsbfly_inSet(state_id)) {
@@ -459,7 +458,7 @@ enum bsgroup_e func_8028ECAC(void) {
if (bswalrus_inSledSet(state_id)) {
return BSGROUP_C_WALRUS_SLED;
}
if (miscflag_isTrue(9) != 0) {
if (miscFlag_isTrue(MISC_FLAG_9) != 0) {
return 1;
}
switch(state_id){
@@ -609,7 +608,7 @@ bool func_8028F150(void){
}
bool func_8028F170(void){
return miscflag_isTrue(MISC_FLAG_17_FPV);
return miscFlag_isTrue(MISC_FLAG_17_FIRST_PERSON_VIEW);
}
int ability_isUnlocked(enum ability_e uid){

View File

@@ -1265,7 +1265,7 @@ Actor * func_803055E0(enum actor_e arg0, s32 arg1[3], s32 arg2, s32 arg3, s32 ar
Actor *spawn_actor(enum actor_e arg0, s32 arg1[3], s32 arg2) {
s32 i;
arg0 = (!func_80320248()) ? (ACTOR_4_BIGBUTT) : (arg0);
arg0 = (!dummy_func_80320248()) ? (ACTOR_4_BIGBUTT) : (arg0);
for (i = 0; i < sSpawnableActorSize; i++) {
if (arg0 == sSpawnableActorList[i].infoPtr->actorId) {
return sSpawnableActorList[i].spawnFunc(arg1, arg2, ((0, sSpawnableActorList[i])).infoPtr, sSpawnableActorList[i].unk8);

View File

@@ -905,7 +905,7 @@ void sfx_play(enum sfx_e uid, f32 arg1, u32 sampleRate, f32 position[3], f32 min
__sfx_getPlayerPositionIfPresent(plyr_pos);
if( !(maxFadeDistance <= ml_distance_vec3f(plyr_pos, position))
&& levelSpecificFlags_validateCRC2()
&& func_80320240()
&& dummy_func_80320240()
){
sfxsource = func_8030D90C();
if(sfxsource){

View File

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

View File

@@ -120,9 +120,9 @@ void __chMinigame_setState(Actor *this, u32 arg1) {
if (this->unk10_12 == MINIGAME_1_VILE) {
func_80347A14(0);
}
if (func_803203FC(this->unk10_12 + 6) == 0) {
if (volatileFlag_get(this->unk10_12 + 6) == 0) {
func_80324DBC(2.0f, this->unk10_12 + 0x1026, 0xA2, NULL, this->marker, __chMinigame_textCallback1, __chMinigame_transformToCroc);
func_803204E4(this->unk10_12 + 6, 1);
volatileFlag_set(this->unk10_12 + 6, 1);
this->unk138_23 = TRUE;
} else {
func_80324DBC(2.0f, 0xD38, 0x20, NULL, this->marker, __chMinigame_textCallback1, NULL);
@@ -130,15 +130,15 @@ void __chMinigame_setState(Actor *this, u32 arg1) {
break;
case MINIGAME_STATE_2_IN_PROGESS:
func_8028F918(0);
func_803204E4(3, 1);
volatileFlag_set(VOLATILE_FLAG_3, 1);
break;
case MINIGAME_STATE_3_RETURN_TO_FF:
func_803204E4(4, 1);
volatileFlag_set(VOLATILE_FLAG_4, 1);
func_8028F918(2);
func_8025AB00();
func_8025A70C((func_803203FC(5)) ? COMUSIC_3B_MINIGAME_VICTORY : COMUSIC_3C_MINIGAME_LOSS);
func_8025A70C((volatileFlag_get(VOLATILE_FLAG_5_FF_MINIGAME_WON)) ? COMUSIC_3B_MINIGAME_VICTORY : COMUSIC_3C_MINIGAME_LOSS);
func_802E4A70();
func_803204E4(0x21, TRUE);
volatileFlag_set(VOLATILE_FLAG_21, TRUE);
timedFunc_set_3(2.0f, (GenFunction_3)func_802E4078, MAP_8E_GL_FURNACE_FUN, 1, 1);
break;
}
@@ -146,7 +146,7 @@ void __chMinigame_setState(Actor *this, u32 arg1) {
}
void __chMinigame_free(Actor *this){
func_803204E4(3, 0);
volatileFlag_set(VOLATILE_FLAG_3, 0);
}
void chMinigame_update(Actor *this){
@@ -154,7 +154,7 @@ void chMinigame_update(Actor *this){
this->unk16C_4 = 1;
this->unk10_12 = __chminigame_getCurrentMapId();
actor_collisionOff(this);
if(!func_803203FC(2)){
if(!volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)){
func_8031A678(this);
return;
}
@@ -169,12 +169,12 @@ void chMinigame_update(Actor *this){
marker_despawn(this->marker);
return;
}
func_803204E4(5, 0);
func_803204E4(3, 0);
volatileFlag_set(VOLATILE_FLAG_5_FF_MINIGAME_WON, 0);
volatileFlag_set(VOLATILE_FLAG_3, 0);
__chMinigame_setState(this, MINIGAME_STATE_1_INTRODUCE_GAME);
gcpausemenu_80314AC8(0);
}
if(func_803203FC(2)){
if(volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)){
switch(this->state){
case MINIGAME_STATE_1_INTRODUCE_GAME://L8031AB2C
if(this->unk138_24)
@@ -184,7 +184,7 @@ void chMinigame_update(Actor *this){
func_8028FA14(MAP_8E_GL_FURNACE_FUN, 2);
if(item_getCount(ITEM_14_HEALTH) == 0)
item_set(ITEM_6_HOURGLASS, 0);
if(!func_803203FC(3)){
if(!volatileFlag_get(VOLATILE_FLAG_3)){
__chMinigame_setState(this, MINIGAME_STATE_3_RETURN_TO_FF);
}
break;

View File

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

View File

@@ -6,10 +6,10 @@ void func_8031FFAC(void);
void fileProgressFlag_set(s32 index, s32 set);
s32 bitfield_get_bit(u8 *array, s32 index);
s32 bitfield_get_n_bits(u8 *array, s32 offset, s32 numBits);
void setBitToArray(u8 *array, s32 index, s32 set);
void func_803201C8(u8 *array, s32 startIndex, s32 set, s32 length);
void func_8032048C(void);
void func_803204E4(s32 arg0, s32 arg1);
void bitfield_set_bit(u8 *array, s32 index, s32 set);
void bitfield_set_n_bits(u8 *array, s32 startIndex, s32 set, s32 length);
void volatileFlag_clear(void);
void volatileFlag_set(s32 arg0, s32 arg1);
s32 fileProgressFlag_getN(s32 offset, s32 numBits);
void func_8031CE70(f32 *arg0, s32 arg1, s32 arg2);
void ml_vec3h_to_vec3f(f32 *, s32);
@@ -22,22 +22,22 @@ void func_80256E24(f32 *, f32, f32, f32, f32, f32);
/* .data */
s32 D_8036DDF0 = 0x24;
s32 gVolatileFlagsSize = 0x24; // sizeof(gVolatileFlags)
/* .bss */
struct {
s32 unk0;
s32 unk4;
u8 unk8[0x25];
} D_803831A0;
} gFileProgressFlags;
struct {
s32 unk0;
s32 unk4;
u8 unk8[0x19];
} D_803831D0;
} gVolatileFlags;
u8 D_803831F8[0x21]; //copy of D_803831D0
u8 glVolatileFlagsCopy[0x21]; //copy of gVolatileFlags
/* .code */
@@ -53,16 +53,16 @@ void func_8031FC40(void) {
u32 v1;
//obsucre address
t0 = (((s32)&D_803831A0.unk8 & 0xE0000000) >> 15) +
(((s32)&D_803831A0.unk8 & 0x1FC00000) >> 22) +
(((s32)&D_803831A0.unk8 & 0x00300000) << 10) +
(((s32)&D_803831A0.unk8 & 0x000F0000) << 7) +
(((s32)&D_803831A0.unk8 & 0x0000E000) << 14) +
(((s32)&D_803831A0.unk8 & 0x00001800) >> 4) +
(((s32)&D_803831A0.unk8 & 0x00000780) << 10) +
(((s32)&D_803831A0.unk8 & 0x00000060) << 4) +
(((s32)&D_803831A0.unk8 & 0x00000018) << 18) +
(((s32)&D_803831A0.unk8 & 0x00000007) << 11);
t0 = (((s32)&gFileProgressFlags.unk8 & 0xE0000000) >> 15) +
(((s32)&gFileProgressFlags.unk8 & 0x1FC00000) >> 22) +
(((s32)&gFileProgressFlags.unk8 & 0x00300000) << 10) +
(((s32)&gFileProgressFlags.unk8 & 0x000F0000) << 7) +
(((s32)&gFileProgressFlags.unk8 & 0x0000E000) << 14) +
(((s32)&gFileProgressFlags.unk8 & 0x00001800) >> 4) +
(((s32)&gFileProgressFlags.unk8 & 0x00000780) << 10) +
(((s32)&gFileProgressFlags.unk8 & 0x00000060) << 4) +
(((s32)&gFileProgressFlags.unk8 & 0x00000018) << 18) +
(((s32)&gFileProgressFlags.unk8 & 0x00000007) << 11);
//unobscure address
t1 = ((t0 & 0x1E0600) << 0xB) | ((s32) (t0 & 0x603800) / 8);
@@ -79,7 +79,7 @@ void func_8031FC40(void) {
v0 = (((v0 - ptr[v1]) & 0x1F) << 0xF) ^ ((ptr[v1]* 0x1B) + (v0 >> 0xB));
}
scrambled_ptr = (s32 *) ((((s32) &D_803831A0 & 0x55555555) << 1) + (((s32) &D_803831A0 & 0xAAAAAAAA) >> 1));
scrambled_ptr = (s32 *) ((((s32) &gFileProgressFlags & 0x55555555) << 1) + (((s32) &gFileProgressFlags & 0xAAAAAAAA) >> 1));
unscrambled_ptr = (s32 *) ((((s32) scrambled_ptr & 0x55555555) << 1) | (((s32) scrambled_ptr & 0xAAAAAAAA) >> 1));
*unscrambled_ptr = v0;
}
@@ -92,7 +92,7 @@ u32 func_8031FE40(void) {
var_v1 = 0xDE1C05;
var_v0 = 0x25;
obscured_addr = (u8*)OBSCURE(&D_803831A0.unk8[0]);
obscured_addr = (u8*)OBSCURE(&gFileProgressFlags.unk8[0]);
for(var_a2 = 0; var_a2 < var_v0; var_a2++){
var_v1 += ((var_v1 % 4) + var_a2) * obscured_addr[var_a2];
}
@@ -101,16 +101,16 @@ u32 func_8031FE40(void) {
void func_8031FEC0(void) {
u32 *obscured_addr;
obscured_addr = (u32*)OBSCURE(&D_803831A0.unk4);
obscured_addr = (u32*)OBSCURE(&gFileProgressFlags.unk4);
*obscured_addr = func_8031FE40();
}
bool fileProgressFlag_get(enum file_progress_e index) {
return bitfield_get_bit(D_803831A0.unk8, index);
return bitfield_get_bit(gFileProgressFlags.unk8, index);
}
s32 fileProgressFlag_getN(s32 offset, s32 numBits) {
return bitfield_get_n_bits(D_803831A0.unk8, offset, numBits);
return bitfield_get_n_bits(gFileProgressFlags.unk8, offset, numBits);
}
s32 fileProgressFlag_getAndSet(s32 index, s32 set) {
@@ -125,27 +125,27 @@ void func_8031FFAC(void) {
s32 i;
for (i = 0; i < 37; i++) {
D_803831A0.unk8[i] = 0;
gFileProgressFlags.unk8[i] = 0;
}
func_8031FC40();
func_8031FEC0();
}
void fileProgressFlag_set(s32 index, s32 set) {
setBitToArray(D_803831A0.unk8, index, set);
bitfield_set_bit(gFileProgressFlags.unk8, index, set);
func_8031FC40();
func_8031FEC0();
}
void fileProgressFlag_setN(s32 startIndex, s32 set, s32 length) {
func_803201C8(D_803831A0.unk8, startIndex, set, length);
bitfield_set_n_bits(gFileProgressFlags.unk8, startIndex, set, length);
func_8031FC40();
func_8031FEC0();
}
void progressflags_getSizeAndPtr(s32 *size, u8 **addr) {
void fileProgressFlag_getSizeAndPtr(s32 *size, u8 **addr) {
*size = 0x25;
*addr = D_803831A0.unk8;
*addr = gFileProgressFlags.unk8;
}
// Returns a single bit from a byte array
@@ -171,7 +171,7 @@ s32 bitfield_get_n_bits(u8 *array, s32 offset, s32 numBits) {
}
// Sets or clears a single bit in a byte array
void setBitToArray(u8 *array, s32 index, s32 set) {
void bitfield_set_bit(u8 *array, s32 index, s32 set) {
if (set) {
array[index / 8] |= (1 << (index & 7));
} else {
@@ -180,21 +180,21 @@ void setBitToArray(u8 *array, s32 index, s32 set) {
}
// Sets or clears a range of bits in a byte array
void func_803201C8(u8 *array, s32 startIndex, s32 set, s32 length) {
void bitfield_set_n_bits(u8 *array, s32 startIndex, s32 set, s32 length) {
s32 i;
for (i = 0; i < length; i++) {
setBitToArray(array, startIndex + i, (1 << i) & set);
bitfield_set_bit(array, startIndex + i, (1 << i) & set);
}
}
s32 func_80320240(void){return 1;}
s32 dummy_func_80320240(void){return 1;}
s32 func_80320248(void){return 1;}
s32 dummy_func_80320248(void){return 1;}
u32 func_80320250(void) {
u32 checksum = 0x6CE9E91F;
u8 *obscured_addr = (u8*)OBSCURE(&D_803831D0.unk8[0]);
u8 *obscured_addr = (u8*)OBSCURE(&gVolatileFlags.unk8[0]);
s32 len = 25;
u32 i;
@@ -207,7 +207,7 @@ u32 func_80320250(void) {
}
void func_803202D0(void) {
s32 addr = (s32) &D_803831D0.unk0;
s32 addr = (s32) &gVolatileFlags.unk0;
addr ^= 0x7EDDF5F4;
addr ^= 0x7BEF9D80;
addr ^= 0x5326874;
@@ -215,7 +215,7 @@ void func_803202D0(void) {
}
s32 func_80320320(void) {
s32 addr = (s32) &D_803831D0.unk8[0];
s32 addr = (s32) &gVolatileFlags.unk8[0];
s32 checksum = 0x281E421C;
s32 len = 25;
s32 scrambled;
@@ -238,44 +238,44 @@ s32 func_80320320(void) {
}
void func_803203A0(void) {
u32 *obscured_addr = (u32*)OBSCURE(&D_803831D0.unk4);
u32 *obscured_addr = (u32*)OBSCURE(&gVolatileFlags.unk4);
*obscured_addr = func_80320320();
}
s32 func_803203FC(s32 index) {
return bitfield_get_bit(D_803831D0.unk8, index);
s32 volatileFlag_get(s32 index) {
return bitfield_get_bit(gVolatileFlags.unk8, index);
}
void func_80320424(s32 index, s32 numBits) {
bitfield_get_n_bits(D_803831D0.unk8, index, numBits);
s32 volatileFlag_getN(s32 index, s32 numBits) {
return bitfield_get_n_bits(gVolatileFlags.unk8, index, numBits);
}
s32 func_80320454(s32 index, s32 arg1) {
s32 volatileFlag_getAndSet(s32 index, s32 arg1) {
s32 temp_v0;
temp_v0 = func_803203FC(index);
func_803204E4(index, arg1);
temp_v0 = volatileFlag_get(index);
volatileFlag_set(index, arg1);
return temp_v0;
}
void func_8032048C(void) {
void volatileFlag_clear(void) {
s32 i;
for (i = 0; i < 25; i++) {
D_803831D0.unk8[i] = 0;
gVolatileFlags.unk8[i] = 0;
}
func_803202D0();
func_803203A0();
}
void func_803204E4(s32 index, s32 set) {
setBitToArray(D_803831D0.unk8, index, set);
void volatileFlag_set(s32 index, s32 set) {
bitfield_set_bit(gVolatileFlags.unk8, index, set);
func_803202D0();
func_803203A0();
}
void func_80320524(s32 startIndex, s32 set, s32 length) {
func_803201C8(D_803831D0.unk8, startIndex, set, length);
void volatileFlag_setN(s32 startIndex, s32 set, s32 length) {
bitfield_set_n_bits(gVolatileFlags.unk8, startIndex, set, length);
func_803202D0();
func_803203A0();
}
@@ -285,7 +285,7 @@ s32 func_8032056C(void) {
s32 temp_a1;
s32 temp_a1_2;
s32 phi_t9;
s32 addr = (s32)&D_803831D0;
s32 addr = (s32)&gVolatileFlags;
s32 temp_v1;
temp_v1 = ((addr & 0xE0000000) >> 15) +
@@ -312,31 +312,32 @@ s32 func_80320708(void) {
u16 temp_t6;
s32 addr;
temp_t6 = ((s32) &D_803831D0.unk4 >> 0x10);
addr = (s32) &D_803831D0.unk4 ^ temp_t6;
temp_t6 = ((s32) &gVolatileFlags.unk4 >> 0x10);
addr = (s32) &gVolatileFlags.unk4 ^ temp_t6;
return func_80320320() == *(s32*)(addr ^ temp_t6);
}
void func_80320748(void) {
s32 var_v0;
u8 *var_a0;
u8 *var_a1;
void volatileFlag_backupAll(void) {
s32 i;
u8 *dst;
u8 *src;
var_a1 = &D_803831D0;
var_a0 = D_803831F8;
for(var_v0 = 0; var_v0 < D_8036DDF0; var_v0++){
var_a0[var_v0] = var_a1[var_v0];
src = (u8 *) &gVolatileFlags;
dst = glVolatileFlagsCopy;
for(i = 0; i < gVolatileFlagsSize; i++){
dst[i] = src[i];
}
}
void func_80320798(void) {
s32 var_v0;
u8 *var_a0;
u8 *var_a1;
void volatileFlag_restoreAll(void) {
s32 i;
u8 *dst;
u8 *src;
var_a1 = D_803831F8;
var_a0 = &D_803831D0;
for(var_v0 = 0; var_v0 < D_8036DDF0; var_v0++){
var_a0[var_v0] = var_a1[var_v0];
src = glVolatileFlagsCopy;
dst = (u8 *) &gVolatileFlags;
for(i = 0; i < gVolatileFlagsSize; i++) {
dst[i] = src[i];
}
}

View File

@@ -37,12 +37,12 @@ void func_803216D0(enum map_e map){
levelSpecificFlags_clear();
bsStoredState_clearTimers();
func_803219A8();
if( func_80320454(0x17, FALSE)
if( volatileFlag_getAndSet(VOLATILE_FLAG_17, FALSE)
&& getGameMode() != 0
&& D_80383300.level != LEVEL_D_CUTSCENE
&& map != MAP_91_FILE_SELECT
){
func_803204E4(0x18, TRUE);
volatileFlag_set(VOLATILE_FLAG_18, TRUE);
}
if(D_80383300.level == LEVEL_9_RUSTY_BUCKET_BAY){
@@ -74,7 +74,7 @@ void func_80321854(void){
&& fileProgressFlag_get(FILEPROG_31_MM_OPEN)
&& !fileProgressFlag_get(FILEPROG_C1_BADDIES_ESCAPE_TEXT)
){
func_803204E4(0x22, 1);
volatileFlag_set(VOLATILE_FLAG_22, 1);
}
bsStoredState_8029A924(); //null
func_803465BC(); //null

View File

@@ -286,8 +286,8 @@ void __overlay_bgs_release(void){ return; }
void func_80322D38(void){
if( map_get() == MAP_10_BGS_MR_VILE
&& func_803203FC(2)
&& func_803203FC(7)
&& volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)
&& volatileFlag_get(VOLATILE_FLAG_7_HAS_SEEN_VILE_FF_MINIGAME)
){
player_setTransformation(TRANSFORM_5_CROC);
}

View File

@@ -19,7 +19,6 @@ f32 func_80257204(f32, f32, f32, f32);
extern Actor *func_802C4260(enum actor_e actor_id, s32 x, s32 y, s32 z, s32 yaw);
f32 func_8033229C(ActorMarker *);
f32 player_getYaw(void);
extern void func_8032FFF4(ActorMarker *, ActorMarker *, s32);
extern void func_802C9334(s32, Actor *);
extern void func_8032B3A0(Actor *, ActorMarker *);
extern void func_8032EE0C(GenFunction_2, s32);
@@ -529,7 +528,7 @@ void func_803268B4(void) {
if (suBaddieActorArray != NULL) {
sp54 = func_803203FC(101);
sp54 = volatileFlag_get(VOLATILE_FLAG_65_CHEAT_ENTERED);
for(temp_v1 = suBaddieActorArray->cnt - 1; temp_v1 >= 0; temp_v1--){
actor = &suBaddieActorArray->data[temp_v1];
actor_info = actor->actor_info;
@@ -538,7 +537,7 @@ void func_803268B4(void) {
temp_s1 = actor->actor_info->unk18;
if (marker->propPtr->unk8_4) {
if(sp54){
if ( actor->actor_info->unk20 && func_803203FC( actor->actor_info->unk20)) {
if ( actor->actor_info->unk20 && volatileFlag_get( actor->actor_info->unk20)) {
marker_despawn(marker);
}
}
@@ -724,7 +723,7 @@ Actor **actorArray_findJiggyActors(void) {
return suBaddieJiggyArray;
}
bool func_803270B8(f32 arg0[3], f32 arg1, s32 arg2, int (*arg3)(Actor *), ActorMarker * arg4){
bool func_803270B8(f32 arg0[3], f32 arg1, enum marker_collision_func_type_e arg2, int (*arg3)(Actor *), ActorMarker * arg4){
bool var_s4;
Actor * start;
Actor * i_ptr;
@@ -741,7 +740,7 @@ bool func_803270B8(f32 arg0[3], f32 arg1, s32 arg2, int (*arg3)(Actor *), ActorM
) {
var_s4 = TRUE;
if (!func_8033D410(arg4, i_ptr->marker)) {
func_8032FFF4(i_ptr->marker, arg4, arg2);
marker_callCollisionFunc(i_ptr->marker, arg4, arg2);
}
}
}
@@ -849,7 +848,7 @@ Actor *actor_new(s32 position[3], s32 yaw, ActorInfo* actorInfo, u32 flags){
func_8032FFD4(suLastBaddie->marker, suBaddieActorArray->cnt - 1);
marker_setModelId(suLastBaddie->marker, actorInfo->modelId);
marker_setActorUpdateFunc(suLastBaddie->marker, actorInfo->update_func);
marker_setActorUpdate2Func(suLastBaddie->marker, actorInfo->unk10);
marker_setActorUpdate2Func(suLastBaddie->marker, actorInfo->update2_func);
ml_vec3f_clear(suLastBaddie->unk1C);
ml_vec3f_clear(suLastBaddie->velocity);
ml_vec3f_clear(suLastBaddie->spawn_position);
@@ -859,7 +858,7 @@ Actor *actor_new(s32 position[3], s32 yaw, ActorInfo* actorInfo, u32 flags){
suLastBaddie->stored_animctrl_forwards = 0;
suLastBaddie->stored_animctrl_smoothTransistion = 0;
suLastBaddie->stored_animctrl_duration = 0.0f;
suLastBaddie->unkEC = 0.0f;
suLastBaddie->stored_animctrl_timer = 0.0f;
suLastBaddie->unk138_19 = 0;
suLastBaddie->stored_animctrl_subrangeMin = 0.0f;
suLastBaddie->stored_animctrl_subrangeMax = 1.0f;
@@ -868,7 +867,7 @@ Actor *actor_new(s32 position[3], s32 yaw, ActorInfo* actorInfo, u32 flags){
suLastBaddie->unk138_29 = 0;
suLastBaddie->unk18 = actorInfo->animations;
suLastBaddie->animctrl = NULL;
suLastBaddie->unkEC = 0.0f;
suLastBaddie->stored_animctrl_timer = 0.0f;
suLastBaddie->unk130 = 0;
suLastBaddie->unk124_5 = 0;
suLastBaddie->unk124_3 = 0;
@@ -1518,7 +1517,7 @@ bool func_803294F0(Actor *this, s32 arg1, s32 arg2){
bool func_80329530(Actor *this, s32 dist){
if( func_8028F098()
&& !func_803203FC(0xBF)
&& !volatileFlag_get(VOLATILE_FLAG_BF)
&& subaddie_playerIsWithinSphere(this, dist)
){
return TRUE;
@@ -1684,7 +1683,7 @@ void func_80329B68(Actor *this){
animctrl_setDirection(this->animctrl, this->stored_animctrl_forwards);
animctrl_setSmoothTransition(this->animctrl, this->stored_animctrl_smoothTransistion);
animctrl_setDuration(this->animctrl, this->stored_animctrl_duration);
animctrl_setStart(this->animctrl, this->unkEC);
animctrl_setStart(this->animctrl, this->stored_animctrl_timer);
animctrl_setSubRange(this->animctrl, this->stored_animctrl_subrangeMin, this->stored_animctrl_subrangeMax);
animctrl_start(this->animctrl, "subaddie.c", 0x8fd);
animctrl_setTimer(this->animctrl, this->sound_timer);
@@ -1761,7 +1760,7 @@ void *actors_appendToSavestate(void * begin, u32 end){
s0->stored_animctrl_forwards = animctrl_isPlayedForwards(s0->animctrl);
s0->stored_animctrl_smoothTransistion = animctrl_isSmoothTransistion(s0->animctrl);
s0->stored_animctrl_duration = animctrl_getDuration(s0->animctrl);
s0->unkEC = animctrl_getAnimTimer(s0->animctrl);
s0->stored_animctrl_timer = animctrl_getAnimTimer(s0->animctrl);
animctrl_getSubRange(s0->animctrl, &s0->stored_animctrl_subrangeMin, &s0->stored_animctrl_subrangeMax);
}
s0->animctrl = NULL;
@@ -2231,7 +2230,7 @@ void func_8032B5C0(ActorMarker *arg0, ActorMarker *arg1, struct5Cs *arg2) {
s32 sp70;
s32 sp6C;
s32 sp68;
s32 sp64;
enum marker_collision_func_type_e sp64;
s32 var_v0;
f32 player_yaw;
f32 sp50[3];
@@ -2311,7 +2310,7 @@ void func_8032B5C0(ActorMarker *arg0, ActorMarker *arg1, struct5Cs *arg2) {
}
func_8032EE20();
}
func_8032FFF4(arg0, arg1, sp64);
marker_callCollisionFunc(arg0, arg1, sp64);
}
if ((sp64 != 0) && (sp6C != 0)) {
FUNC_8030E8B4(SFX_1D_HITTING_AN_ENEMY_1, 1.0f, 25984, this->position, (s32)((500.0f + func_8033229C(arg0)) * 0.5), (s32)((500.0f + func_8033229C(arg0)) * 5));

View File

@@ -1,6 +1,7 @@
#include <ultra64.h>
#include "functions.h"
#include "variables.h"
#include "enums.h"
#define AssetCacheSize 0x3D5
@@ -887,7 +888,7 @@ void cube_fromFile(Struct61s *file_ptr, Cube *cube) {
}
if (file_getByte_ifExpected(file_ptr, 8, &sp47)) {
sp34 = func_803203FC(1) + func_803203FC(2) + func_803203FC(0x1F);
sp34 = volatileFlag_get(VOLATILE_FLAG_1) + volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME) + volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE);
if ((sp34) && gcparade_8031B4CC()) {
sp34 = 0;
@@ -1219,17 +1220,17 @@ void func_8032FFEC(ActorMarker *this, s32 arg1){
this->unk28 = arg1;
}
void func_8032FFF4(ActorMarker *this, ActorMarker *other, s32 type){
void marker_callCollisionFunc(ActorMarker *this, ActorMarker *other, enum marker_collision_func_type_e type){
switch(type){
case 0: //ow
case MARKER_COLLISION_FUNC_0: //ow
if(this->collisionFunc)
this->collisionFunc(this, other);
break;
case 1:
case MARKER_COLLISION_FUNC_1:
if(this->collision2Func)
this->collision2Func(this, other);
break;
case 2: //die
case MARKER_COLLISION_FUNC_2_DIE: //die
if(this->dieFunc)
this->dieFunc(this, other);
break;

View File

@@ -6,7 +6,7 @@
void func_80291930(s32);
int func_802918F0(void){
return miscflag_isTrue(0x15);
return miscFlag_isTrue(MISC_FLAG_15);
}
void func_80291910(void){
@@ -15,7 +15,7 @@ void func_80291910(void){
void func_80291930(s32 arg0){
if(!func_802918F0()){
miscflag_set(0x15);
miscFlag_set(MISC_FLAG_15);
if(arg0){
func_8029E3C0(5, 2.0f);
func_8029C984();

View File

@@ -112,7 +112,7 @@ void savedata_init(void){ //savedata_init
jiggyscore_getSizeAndPtr(&jiggy_size, &jiggy_addr);
honeycombscore_getSizeAndPtr(&honeycomb_size, &honeycomb_addr);
mumboscore_getSizeAndPtr(&mumbotoken_size, &mumbotoken_addr);
progressflags_getSizeAndPtr(&progressflags_size, &progressflags_addr);
fileProgressFlag_getSizeAndPtr(&progressflags_size, &progressflags_addr);
notescore_getSizeAndPtr(&notescores_size, &notescores_addr);
timeScores_getSizeAndPtr(&timescores_size, &timescores_addr);
saveditem_getSizeAndPtr(&saved_item_size, &saved_item_addr);
@@ -194,7 +194,7 @@ void func_8033C460(u8 *savedata){ //global_progress
u8 *progressflags_addr;
int i;
progressflags_getSizeAndPtr(&progressflags_size, &progressflags_addr);
fileProgressFlag_getSizeAndPtr(&progressflags_size, &progressflags_addr);
for(i = progressflagsOffset; i < progressflagsOffset + progressflags_size; i++){
progressflags_addr[i - progressflagsOffset] = savedata[i];
}
@@ -287,7 +287,7 @@ void __savedata_8033C8A0(u8 *savedata){ //global_progress
u8 *progressflags_addr;
int i;
progressflags_getSizeAndPtr(&progressflags_size, &progressflags_addr);
fileProgressFlag_getSizeAndPtr(&progressflags_size, &progressflags_addr);
for(i = progressflagsOffset; i < progressflagsOffset + progressflags_size; i++){
savedata[i] = progressflags_addr[i - progressflagsOffset];
}
@@ -360,14 +360,14 @@ void saveData_load(SaveData *savedata){
func_8033C4E4(savedata);
__savedata_load_abilities(savedata);
for(i = 0; D_80370A20[i].unk0 != -1; i++){
func_803204E4(D_80370A20[i].unk0, fileProgressFlag_get(D_80370A20[i].unk2));
volatileFlag_set(D_80370A20[i].unk0, fileProgressFlag_get(D_80370A20[i].unk2));
}
}
void saveData_create(SaveData *savedata){
int i;
for(i = 0; D_80370A20[i].unk0 != -1; i++){
fileProgressFlag_set(D_80370A20[i].unk2, func_803203FC(D_80370A20[i].unk0));
fileProgressFlag_set(D_80370A20[i].unk2, volatileFlag_get(D_80370A20[i].unk0));
}
savedata_clear(savedata);
__savedata_save_magic(savedata);

View File

@@ -291,7 +291,7 @@ s32 func_8033D564(struct5Cs *arg0){
return arg0->unk0_15;
}
s32 func_8033D574(struct5Cs *arg0){
enum marker_collision_func_type_e func_8033D574(struct5Cs *arg0){
return arg0->unk0_11;
}

View File

@@ -7,9 +7,6 @@ f32 time_getDelta(void);
void func_80346DB4(s32);
s32 item_adjustByDiffWithHud(enum item_e item, s32 diff);
void itemscore_noteScores_clear(void);
s32 itemscore_noteScores_get(enum level_e lvl_id);
void itemscore_timeScores_clear(void);
/* .bss */
s32 D_80385F30[0x2C];
@@ -66,11 +63,11 @@ s32 item_adjustByDiff(enum item_e item, s32 diff, s32 no_hud){
diff = 0;
if(diff < 0){
if( (item == ITEM_D_EGGS && func_803203FC(UNKFLAGS1_74_SANDCASTLE_INFINITE_EGGS))
|| (item == ITEM_16_LIFE && func_803203FC(UNKFLAGS1_73_SANDCASTLE_INFINITE_LIVES))
|| (item == ITEM_F_RED_FEATHER && func_803203FC(UNKFLAGS1_75_SANDCASTLE_INFINITE_RED_FEATHERS))
|| (item == ITEM_10_GOLD_FEATHER && func_803203FC(UNKFLAGS1_76_SANDCASTLE_INFINITE_GOLD_FEATHERS))
|| (item == ITEM_17_AIR && func_803203FC(UNKFLAGS1_96_SANDCASTLE_INFINITE_AIR))
if( (item == ITEM_D_EGGS && volatileFlag_get(VOLATILE_FLAG_74_SANDCASTLE_INFINITE_EGGS))
|| (item == ITEM_16_LIFE && volatileFlag_get(VOLATILE_FLAG_73_SANDCASTLE_INFINITE_LIVES))
|| (item == ITEM_F_RED_FEATHER && volatileFlag_get(VOLATILE_FLAG_75_SANDCASTLE_INFINITE_RED_FEATHERS))
|| (item == ITEM_10_GOLD_FEATHER && volatileFlag_get(VOLATILE_FLAG_76_SANDCASTLE_INFINITE_GOLD_FEATHERS))
|| (item == ITEM_17_AIR && volatileFlag_get(VOLATILE_FLAG_96_SANDCASTLE_INFINITE_AIR))
){
diff = 0;
}
@@ -253,7 +250,7 @@ void func_803465E4(void){
}//L8034667C
if(D_80385FE0){
if(gctransition_done() || func_803203FC(0)){
if(gctransition_done() || volatileFlag_get(VOLATILE_FLAG_0_IN_FURNACE_FUN_QUIZ)){
if(D_80385FE4){
item_dec(ITEM_16_LIFE);
func_802FACA4(ITEM_14_HEALTH);
@@ -308,7 +305,7 @@ void func_803465E4(void){
}//L803469E4
}//L803469E4
if(!func_803203FC(0xbf)){
if(!volatileFlag_get(VOLATILE_FLAG_BF)){
for(i = 0; i < 6; i++){
if(D_80385F30[ITEM_6_HOURGLASS + i]){
func_80345EB0(ITEM_0_HOURGLASS_TIMER + i);
@@ -327,7 +324,7 @@ void func_803465E4(void){
}//L80346B6C
if((globalTimer_getTime() & 7) == 6){
if(!func_80320708() || !func_80320248()){
if(!func_80320708() || !dummy_func_80320248()){
D_80385F30[randi2(0, 0x2C)] = 1;
D_80385FF0[randi2(0, 0xE)] = 1;
D_80386000[randi2(0, 0xE)] = 1.0f;
@@ -406,9 +403,9 @@ void func_80346DB4(s32 note_count) {
if (!levelSpecificFlags_get(0x34) && (func_80311480(0xF76, 0, NULL, NULL, NULL, NULL))) {
levelSpecificFlags_set(0x34, TRUE);
}
if (func_803203FC(0x17) == 0) {
func_803204E4(0x17, 1);
func_80320524(0x19, level_id, 4);
if (volatileFlag_get(VOLATILE_FLAG_17) == 0) {
volatileFlag_set(VOLATILE_FLAG_17, 1);
volatileFlag_setN(VOLATILE_FLAG_19_CURRENT_LEVEL_ID, level_id, 4);
}
}
}
@@ -537,7 +534,7 @@ void func_8034789C(void) {
} else {
D_80385F30[ITEM_15_HEALTH_TOTAL] = 5 + MIN(3, (sp1C / 6));
}
if (func_803203FC(0x94)) {
if (volatileFlag_get(VOLATILE_FLAG_94_SANDCASTLE_INFINITE_HEALTH)) {
temp_v0 = D_80385F30[ITEM_15_HEALTH_TOTAL];
if (temp_v0 >= 9) {
D_80385F30[ITEM_15_HEALTH_TOTAL] = temp_v0;
@@ -591,16 +588,16 @@ void func_80347A70(void){
s32 D_80386068;
void func_80347A7C(void){
func_80320748();
volatileFlag_backupAll();
D_80386068 = item_getCount(ITEM_16_LIFE);
}
void func_80347AA8(void) {
func_80320798();
func_803204E4(0x1F, FALSE);
func_803204E4(0x20, FALSE);
func_803204E4(0xC1, FALSE);
func_803204E4(0xC0, FALSE);
volatileFlag_restoreAll();
volatileFlag_set(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE, FALSE);
volatileFlag_set(VOLATILE_FLAG_20_BEGIN_CHARACTER_PARADE, FALSE);
volatileFlag_set(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE, FALSE);
volatileFlag_set(VOLATILE_FLAG_C0_BEGIN_FINAL_CHARACTER_PARADE, FALSE);
item_set(ITEM_16_LIFE, D_80386068);
itemPrint_reset();
}

View File

@@ -77,7 +77,7 @@ void func_80349FB0(DemoInput *input_ptr, u32 size, int arg2){
func_8031FBA0();
func_803216D0(map_get());
func_8030AFA0(map_get());
func_803204E4(0xc4, 1);
volatileFlag_set(VOLATILE_FLAG_C4_WOZZA_HIDE_IN_SNS_PARADE, 1);
func_8024F224();
rand_reset();
globalTimer_reset();

View File

@@ -1,41 +1,40 @@
#include <ultra64.h>
#include "functions.h"
#include "variables.h"
void miscflag_clear(enum misc_flag_e arg0);
#include "enums.h"
/*.bss */
u8 D_8037C1D0[0x1C];
u8 gMiscFlags[0x1C];
/* code */
void miscflag_clearAll(void){
void miscFlag_clearAll(void){
int i;
for(i = 1; i < 0x1C; i++){
miscflag_clear(i);
miscFlag_clear(i);
}
}
bool miscflag_isTrue(enum misc_flag_e arg0){
return D_8037C1D0[arg0];
bool miscFlag_isTrue(enum misc_flag_e arg0){
return gMiscFlags[arg0];
}
bool miscflag_isFalse(enum misc_flag_e arg0){
return !D_8037C1D0[arg0];
bool miscFlag_isFalse(enum misc_flag_e arg0){
return !gMiscFlags[arg0];
}
void miscflag_set(enum misc_flag_e arg0){
D_8037C1D0[arg0] = TRUE;
void miscFlag_set(enum misc_flag_e arg0){
gMiscFlags[arg0] = TRUE;
}
void miscflag_clear(enum misc_flag_e arg0){
D_8037C1D0[arg0] = FALSE;
void miscFlag_clear(enum misc_flag_e arg0){
gMiscFlags[arg0] = FALSE;
}
void miscflag_toggle(enum misc_flag_e arg0){
if(D_8037C1D0[arg0]){
D_8037C1D0[arg0] = FALSE;
void miscFlag_toggle(enum misc_flag_e arg0){
if(gMiscFlags[arg0]){
gMiscFlags[arg0] = FALSE;
}
else {
D_8037C1D0[arg0] = TRUE;
gMiscFlags[arg0] = TRUE;
}
}

View File

@@ -207,7 +207,7 @@ void func_8034B8C0(enum map_e map_id, s32 demo_id) {
demo_load(map_id,demo_id);
D_80386118 = D_8038611C = 0;
if (D_80386114->unk1 == 6) {
func_803204E4(0x1F, 1);
volatileFlag_set(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE, 1);
func_802E4A70();
}
if ((demo_id == 0x5B) || (demo_id == 0x5F)) {
@@ -297,16 +297,16 @@ void func_8034BB90(void) {
D_80386118 = 1;
}
func_8034B580(D_80386114->unk1);
if (func_803203FC(0xC3)) {
func_803204E4(0xC3, 0);
if (volatileFlag_get(VOLATILE_FLAG_C3)) {
volatileFlag_set(VOLATILE_FLAG_C3, 0);
func_8034B9E4();
}
if( !sp1C
&& sp18
&& !D_8038611C
&& (getGameMode() != GAME_MODE_8_BOTTLES_BONUS)
&& ((func_803203FC(0x64) && (getGameMode() != GAME_MODE_A_SNS_PICTURE))
|| func_803203FC(0x63))
&& ((volatileFlag_get(VOLATILE_FLAG_64) && (getGameMode() != GAME_MODE_A_SNS_PICTURE))
|| volatileFlag_get(VOLATILE_FLAG_63))
) {
func_8034B7F0(D_80386114->unk1);
if (getGameMode() == GAME_MODE_9_BANJO_AND_KAZOOIE) {
@@ -317,7 +317,7 @@ void func_8034BB90(void) {
} else {
func_802DF0C8();
}
} else if (func_803203FC(0x64)) {
} else if (volatileFlag_get(VOLATILE_FLAG_64)) {
func_802E412C(1, D_80386114->unk5);
func_8034B994();
} else {
@@ -329,8 +329,8 @@ void func_8034BB90(void) {
func_8025A58C(0, 800);
func_8025AB00();
}
func_803204E4(0x64, 0);
func_803204E4(0x63, 0);
volatileFlag_set(VOLATILE_FLAG_64, 0);
volatileFlag_set(VOLATILE_FLAG_63, 0);
D_8038611C = 1;
}
}
@@ -338,7 +338,7 @@ void func_8034BB90(void) {
s32 func_8034BDA4(enum map_e map_id, s32 exit_id) {
s32 phi_v0;
if (func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)) {
if (volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE)) {
return D_80371F70.unk3;
}

View File

@@ -36,28 +36,28 @@ MapProgressFlagToDialogID fileProgressDialogMap[] = {
/* This progress IDs are not saved in the save file, like when Banjo goes near a Note door which requires more notes than the Banjo has. */
/* Triggers a dialog every time after the game restarts. */
MapProgressFlagToDialogID volatileProgressDialogMap[] = {
{0x9E, 0xBA3},
{0x9F, 0xCE8},
{0xA0, 0x1032},
{0xA1, 0x1033},
{0xA2, 0x1034},
{0xA3, 0x1035},
{0xA4, 0x1036},
{0xA5, 0x1037},
{0xA6, 0x1038},
{0xA7, 0x1039},
{0xA8, 0x103A},
{0xA9, 0x103B},
{0xAA, 0x103C},
{0xAB, 0x103D},
{0xAC, 0xA88},
{0xAD, 0xAE2},
{0xAE, 0xC8B},
{0xAF, 0xC8C},
{0xB0, 0xFBD},
{0xC2, 0xE36},
{0xC5, 0xDB6},
MapProgressFlagToDialogID gVolatileFlagDialogMap[] = {
{VOLATILE_FLAG_9E_BETA_OILY_SCUM, 0xBA3}, // Oily scum (unused)
{VOLATILE_FLAG_9F_BETA_DIVE_IN_ICY_WATER, 0xCE8}, // Dive in icy water (unused)
{VOLATILE_FLAG_A0_FF_FIRST_ANSWER_RIGHT, 0x1032},
{VOLATILE_FLAG_A1_FF_NEXT_ANSWER_RIGHT, 0x1033},
{VOLATILE_FLAG_A2_FF_GRUNTY_ANSWER_RIGHT, 0x1034},
{VOLATILE_FLAG_A3_FF_FIRST_ANSWER_WRONG, 0x1035},
{VOLATILE_FLAG_A4_FF_NEXT_ANSWER_WRONG, 0x1036},
{VOLATILE_FLAG_A5_FF_UNUSED, 0x1037}, // FF "the choice is yours"
{VOLATILE_FLAG_A6_FF_FOUND_HONEYCOMB, 0x1038},
{VOLATILE_FLAG_A7_FF_FOUND_EXTRALIFE, 0x1039},
{VOLATILE_FLAG_A8_FF_GOT_JOKER, 0x103A},
{VOLATILE_FLAG_A9_FF_USED_JOKER, 0x103B},
{VOLATILE_FLAG_AA_FF_LOW_HEALTH, 0x103C},
{VOLATILE_FLAG_AB_LAST_LIFE_ON_SKULL, 0x103D},
{VOLATILE_FLAG_AC_GV_TRAPDOOR_MISSED, 0xA88},
{VOLATILE_FLAG_AD_MMM_CHURCH_DOOR_MISSED, 0xAE2},
{VOLATILE_FLAG_AE_BGS_WALKWAY_JIGGY_MISSED, 0xC8B},
{VOLATILE_FLAG_AF_BGS_MAZE_JIGGY_MISSED, 0xC8C},
{VOLATILE_FLAG_B0_NOT_ENOUGH_NOTES, 0xFBD},
{VOLATILE_FLAG_C2_NOBONUS_TEXT, 0xE36},
{VOLATILE_FLAG_C5_WISHYWASHYBANJO_TEXT, 0xDB6},
{ -1, -1}
};
@@ -101,31 +101,34 @@ void func_8035646C(enum file_progress_e progress_flag) {
}
/* Checks for a specific "volatile" progress flag and triggers a dialog only if the progress flag was not set and sets the progress flag */
s32 func_8035648C(s32 arg0, s32 arg1) {
s32 volatileFlag_setAndTriggerDialog(enum volatile_flags_e id, s32 arg1) {
s32 index;
if (func_803203FC() != 0) {
if (volatileFlag_get(id) != 0) {
return 0;
} else {
index = __findIndex(volatileProgressDialogMap, arg0);
index = __findIndex(gVolatileFlagDialogMap, id);
if (index != -1) {
if (func_80311480(volatileProgressDialogMap[index].value, arg1, 0, 0, 0, 0) != 0) {
func_803204E4(arg0, 1);
if (func_80311480(gVolatileFlagDialogMap[index].value, arg1, 0, 0, 0, 0) != 0) {
volatileFlag_set(id, 1);
}
return func_803203FC(arg0);
return volatileFlag_get(id);
}
return 0;
}
}
void func_80356520(s32 arg0) {
func_8035648C(arg0, 0);
// called for dialogs when banjo is not fast enough to reach a door or jiggy and for NOBONUS text
void volatileFlag_setAndTriggerDialog_0(s32 arg0) {
volatileFlag_setAndTriggerDialog(arg0, 0);
}
void func_80356540(s32 arg0) {
func_8035648C(arg0, 4);
// called for FFQ dialogs
void volatileFlag_setAndTriggerDialog_4(s32 arg0) {
volatileFlag_setAndTriggerDialog(arg0, 4);
}
void func_80356560(s32 arg0) {
func_8035648C(arg0, 0xE);
// called for WISHYWASHYBANJO dialog
void volatileFlag_setAndTriggerDialog_E(s32 arg0) {
volatileFlag_setAndTriggerDialog(arg0, 0xE);
}

View File

@@ -357,7 +357,7 @@ void func_80358684(Actor *this) {
}
if (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->unk39 = 0;
} else {
if (this->state == 2) {

View File

@@ -130,7 +130,7 @@ void func_8035DA1C(Actor *this) {
this->unk138_25 = TRUE;
this->unk28 = 4.0f;
LOCAL_D6600(this)->unk4 =(map_get() == MAP_71_GL_STATUE_ROOM) ? 8 : 0xf;
if (func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE)) {
if (volatileFlag_get(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE)) {
this->unk28 = 0.0f;
subaddie_set_state_with_direction(this, 1, 0.0f, 1);
}
@@ -151,7 +151,7 @@ void func_8035DA1C(Actor *this) {
func_80328FB0(this, 0.5f);
func_80328FF0(this, 0.5f);
func_8032CA80(this, LOCAL_D6600(this)->unk4);
if (subaddie_maybe_set_state(this, 2, 0.05f) && !func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE)) {
if (subaddie_maybe_set_state(this, 2, 0.05f) && !volatileFlag_get(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE)) {
this->unk28 = 4.0f;
}
func_8035D65C(this);

View File

@@ -43,7 +43,7 @@ void func_8035F970(Actor *this){
}
void func_8035F99C(Actor *this){
if(!func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE)){
if(!volatileFlag_get(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE)){
subaddie_set_state_with_direction(this, 2, 0.01f, 1);
actor_playAnimationOnce(this);
this->unk28 = 5.0f;

View File

@@ -185,13 +185,13 @@ void func_80294E60(void){
}
if(player_isStable() || bsclimb_inSet(bs_getState())){
miscflag_clear(MISC_FLAG_5_HAS_PECKED);
miscflag_clear(MISC_FLAG_12_HAS_FLAPPED);
miscFlag_clear(MISC_FLAG_5_HAS_PECKED);
miscFlag_clear(MISC_FLAG_12_HAS_FLAPPED);
}
if(player_inWater()){
miscflag_clear(MISC_FLAG_5_HAS_PECKED);
miscflag_clear(MISC_FLAG_12_HAS_FLAPPED);
miscFlag_clear(MISC_FLAG_5_HAS_PECKED);
miscFlag_clear(MISC_FLAG_12_HAS_FLAPPED);
}
func_80294BDC();

View File

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

View File

@@ -191,7 +191,7 @@ void func_80295914(void){
func_80291910();
badrone_init();
bafalldamage_init();
miscflag_clearAll();
miscFlag_clearAll();
func_8028B6FC();
func_80291590();
func_802953A0();

View File

@@ -61,7 +61,7 @@ enum bs_e func_80295EE0(enum bs_e arg0){
func_8029CDA0();
}
else{
miscflag_set(7);
miscFlag_set(MISC_FLAG_7);
if(sp2C){
func_8029CCC4();
}
@@ -304,7 +304,7 @@ void func_80296608(void){
next_state = badrone_transform();
}
else{
miscflag_set(0x19);
miscFlag_set(MISC_FLAG_19);
next_state = func_8029B504();
}
break;
@@ -424,7 +424,7 @@ void func_80296608(void){
sp2C = 2;
break;
case BS_INTR_35: //L80296984
miscflag_set(0x1a);
miscFlag_set(MISC_FLAG_1A);
next_state = func_8029B504();
sp2C = 2;
break;
@@ -442,7 +442,7 @@ void func_80296608(void){
if(
!func_80298850()
&& !sp1C
&& !miscflag_isTrue(0xf)
&& !miscFlag_isTrue(MISC_FLAG_F)
&& !player_isStable()
){
next_state = BS_4F_CLIMB_IDLE;
@@ -498,13 +498,13 @@ void func_80296608(void){
next_state = func_8029BED4();
break;
case BS_INTR_F: //L80296B68
miscflag_set(6);
miscFlag_set(MISC_FLAG_6);
next_state = func_8029B504();
sp2C = 2;
break;
case BS_INTR_30: //L80296B88
item_set(ITEM_14_HEALTH, 0);
miscflag_set(6);
miscFlag_set(MISC_FLAG_6);
next_state = func_8029B504();
sp2C = 2;
break;
@@ -515,7 +515,7 @@ void func_80296608(void){
case BS_INTR_2A: //L80296BCC
sp2C = 2;
next_state = func_8029B504();
miscflag_set(MISC_FLAG_14_LOSE_BOGGY_RACE);
miscFlag_set(MISC_FLAG_14_LOSE_BOGGY_RACE);
break;
case BS_INTR_27_WALRUS_SLED: //L80296BEC
if(player_getTransformation() == TRANSFORM_4_WALRUS){

View File

@@ -228,7 +228,7 @@ void func_8030F338(void){
}
}
if(g_Dialog.unk128_31 & 0x8){
if((!func_802E4A08() && !func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)) || !g_Dialog.unk128_3){
if((!func_802E4A08() && !volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE)) || !g_Dialog.unk128_3){
func_8028F918(0);
}
}//L8030F3E8
@@ -710,13 +710,13 @@ void func_803106BC(s32 text_id, s32 arg1, ActorMarker *marker, void(*callback)(A
g_Dialog.active_zoombox = 1;
}//L8031095C
g_Dialog.unk128_6 = 1;
g_Dialog.unk12C_23 = ((func_802E4A08() || func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)) && g_Dialog.unk128_3) ? 1 : -1;
g_Dialog.unk12C_23 = ((func_802E4A08() || volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE)) && g_Dialog.unk128_3) ? 1 : -1;
g_Dialog.caller = marker;
g_Dialog.unk13C = callback;
g_Dialog.unk140 = arg4;
g_Dialog.unk144 = (void *)arg5;
g_Dialog.unk138 = (marker != NULL )? ((marker->unk5C)? marker->unk5C : -1) : 0;
gcdialog_setState(((func_802E4A08() || func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)) && g_Dialog.unk128_3) ? 6 : 1);
gcdialog_setState(((func_802E4A08() || volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE)) && g_Dialog.unk128_3) ? 6 : 1);
//L803109EC
}
@@ -795,7 +795,7 @@ void func_80310D2C(void){
g_Dialog.unk138 = sp24->unk14;
func_8025A55C(8000, 300, 2);
if((sp24->unk2 & 0x8) && !((func_802E4A08() || func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)) && g_Dialog.unk128_3)){//L80310E6C
if((sp24->unk2 & 0x8) && !((func_802E4A08() || volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE)) && g_Dialog.unk128_3)){//L80310E6C
func_8028F918(0);
if( 0.0f == sp24->unk4_x
&& 0.0f == sp24->unk4_y
@@ -871,13 +871,13 @@ int func_80311174(s32 text_id, s32 arg1, f32 *pos, ActorMarker *marker, void(*ca
f32 pad;
s32 temp_v1;
if(func_803203FC(1) || func_802D686C())
if(volatileFlag_get(VOLATILE_FLAG_1) || func_802D686C())
return 0;
if(!func_803114B0()){
func_80310B1C(text_id, arg1, marker, (void *)callback, (void *)arg5, arg6);
if(arg1 & 8){
if(!(func_802E4A08() || func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)) || !g_Dialog.unk128_3){//L80311214
if(!(func_802E4A08() || volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE)) || !g_Dialog.unk128_3){//L80311214
if(pos != NULL){
func_8028F94C(((g_Dialog.string_cmd[1] < 0)? 1 : 3), pos);
}else{//L8031126C
@@ -922,7 +922,7 @@ int func_80311174(s32 text_id, s32 arg1, f32 *pos, ActorMarker *marker, void(*ca
g_Dialog.unk148[temp_v1].unk20 = arg6;
g_Dialog.unk12C_15++;
if(arg1 & 0x08){
if(!( func_802E4A08() || func_803203FC(0x1f, &g_Dialog)) || !g_Dialog.unk128_3){//L8031141C
if(!( func_802E4A08() || volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE)) || !g_Dialog.unk128_3){//L8031141C
if(!func_8028EC04()){
if(pos != NULL){
func_8028F94C(2, pos);

View File

@@ -7,7 +7,6 @@
extern void func_8028F918(s32);
extern void func_80311714(int);
extern void func_803204E4(s32, s32);
typedef struct struct_1C_s{
u8 map;
@@ -166,9 +165,9 @@ void gcparade_8031ABF8(void) {
func_80347A7C();
func_8031FBF8();
func_8031FBA0();
func_803204E4(0x1F, 1);
volatileFlag_set(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE, 1);
if (D_803830F0.parade_id == PARADE_1_POST_GRUNTY_BATTLE) {
func_803204E4(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE, TRUE);
volatileFlag_set(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE, TRUE);
}
func_803228D8();
func_802E4A70();
@@ -203,7 +202,7 @@ void gcparade_setState(enum parade_state_e next_state) {
gcparade_8031AC8C();
break;
case PARADE_STATE_2_INIT_FINAL_PARADE: //parade 1 init
func_803204E4(0xC1, TRUE);
volatileFlag_set(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE, TRUE);
D_803830F0.parade_element = D_8036DAE4;
D_803830F0.indx = 0;
D_803830F0.parade_id = PARADE_1_POST_GRUNTY_BATTLE;
@@ -243,8 +242,8 @@ void gcparade_setState(enum parade_state_e next_state) {
timedFunc_set_1(0.25f, (GenFunction_1)gcparade_setState, (D_803830F0.indx == D_803830F0.count) ? PARADE_STATE_8_END : PARADE_STATE_3_WARP);
break;
case PARADE_STATE_8_END:
func_803204E4(0x1F, 0);
func_803204E4(0xC1, FALSE);
volatileFlag_set(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE, 0);
volatileFlag_set(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE, FALSE);
func_802E412C(1, 8);
func_802E40C4(0xA);
if (D_803830F0.parade_id == 0) {
@@ -286,7 +285,7 @@ void gcparade_update(void) {
gcparade_beginFinalParade();
return;
}
if (func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE) != 0) {
if (volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE) != 0) {
snackerctl_update();
switch (D_803830F0.state) {
case PARADE_STATE_3_WARP:
@@ -333,9 +332,9 @@ void gcparade_update(void) {
void gcparade_free(void){}
void gcparade_start(void){
func_803204E4(UNKFLAGS1_20_BEGIN_CHARACTER_PARADE, FALSE);
func_803204E4(0x1F, TRUE);
if(func_80320454(UNKFLAGS1_C0_BEGIN_FINAL_CHARACTER_PARADE, FALSE))
volatileFlag_set(VOLATILE_FLAG_20_BEGIN_CHARACTER_PARADE, FALSE);
volatileFlag_set(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE, TRUE);
if(volatileFlag_getAndSet(VOLATILE_FLAG_C0_BEGIN_FINAL_CHARACTER_PARADE, FALSE))
gcparade_setState(PARADE_STATE_2_INIT_FINAL_PARADE);
else
gcparade_setState(PARADE_STATE_1_INIT_FF_PARADE);
@@ -348,11 +347,11 @@ void gcparade_init(void) {
s32 temp_v0;
s32 var_s2;
if (func_803203FC(UNKFLAGS1_20_BEGIN_CHARACTER_PARADE)) {
if (volatileFlag_get(VOLATILE_FLAG_20_BEGIN_CHARACTER_PARADE)) {
gcparade_start();
return;
}
if (func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)) {
if (volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE)) {
func_80347A14(0);
if ((D_803830F0.state == 3)){
var_s2 = FALSE;
@@ -390,18 +389,18 @@ int gcparade_8031B4F4(void){
}
void gcparade_beginFFParade(void){
if (func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)) return;
if (volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE)) return;
func_803204E4(UNKFLAGS1_20_BEGIN_CHARACTER_PARADE, TRUE);
volatileFlag_set(VOLATILE_FLAG_20_BEGIN_CHARACTER_PARADE, TRUE);
gcparade_init();
}
void gcparade_beginFinalParade(void){
if (func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)) return;
if (volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE)) return;
func_803204E4(UNKFLAGS1_20_BEGIN_CHARACTER_PARADE, TRUE);
func_803204E4(UNKFLAGS1_C0_BEGIN_FINAL_CHARACTER_PARADE, TRUE);
volatileFlag_set(VOLATILE_FLAG_20_BEGIN_CHARACTER_PARADE, TRUE);
volatileFlag_set(VOLATILE_FLAG_C0_BEGIN_FINAL_CHARACTER_PARADE, TRUE);
D_803830F0.jiggyscore = jiggyscore_total();
gcparade_init();
}

View File

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

View File

@@ -990,7 +990,7 @@ void gczoombox_draw(GcZoombox *this, Gfx **gdl, Mtx ** mptr, void *vptr){
|| ( getGameMode() != GAME_MODE_3_NORMAL
&& getGameMode() != GAME_MODE_8_BOTTLES_BONUS
&& getGameMode() != GAME_MODE_A_SNS_PICTURE
&& !func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE))
&& !volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE))
){//L80316C64
func_80316764(this, 0);
}

View File

@@ -84,13 +84,13 @@ void levelSpecificFlags_clear(void){
}
void levelSpecificFlags_set(s32 index, s32 val){
setBitToArray(&D_80383320.unk8, index, val);
bitfield_set_bit(&D_80383320.unk8, index, val);
_levelSpecificFlags_updateCRC1();
_levelSpecificFlags_updateCRC2();
}
void levelSpecificFlags_setN(s32 index, s32 val, s32 n){
func_803201C8(&D_80383320.unk8, index, val, n);
bitfield_set_n_bits(&D_80383320.unk8, index, val, n);
_levelSpecificFlags_updateCRC1();
_levelSpecificFlags_updateCRC2();
}

View File

@@ -237,7 +237,7 @@ f32 func_80308FDC(f32 arg0[3], u32 arg1) {
void mapModel_opa_draw(Gfx **gfx, Mtx **mtx, Vtx **vtx) {
s32 temp_a0;
if (func_80320708() && levelSpecificFlags_validateCRC2() && func_80320248()) {
if (func_80320708() && levelSpecificFlags_validateCRC2() && dummy_func_80320248()) {
if (mapModel_getOpaModelId() == ASSET_14CF_MODEL_SM_SPIRAL_MOUNTAIN_OPA) {
func_8033A45C(1, 0);
func_8033A45C(2, 1);
@@ -332,7 +332,7 @@ void mapModel_opa_draw(Gfx **gfx, Mtx **mtx, Vtx **vtx) {
case MAP_93_GL_DINGPOT:
func_8033A45C(4, 1);
func_8033A45C(5, 1);
func_8033A45C(6, (func_8038EAE0(0xA) || fileProgressFlag_get(FILEPROG_E2_DOOR_OF_GRUNTY_OPEN) || func_803203FC(0xC1)));
func_8033A45C(6, (func_8038EAE0(0xA) || fileProgressFlag_get(FILEPROG_E2_DOOR_OF_GRUNTY_OPEN) || volatileFlag_get(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE)));
break;
}
func_8033A450(mapModel.unk24);

View File

@@ -26,7 +26,7 @@ void quizQuestionAskedBitfield_init(void){
}
void quizQuestionAskedBitfield_set(s32 index, bool value){
setBitToArray(quizQuestionAskedBitfield, index, value);
bitfield_set_bit(quizQuestionAskedBitfield, index, value);
}
void quizQuestionAskedBitfield_defrag(void){

View File

@@ -37,7 +37,7 @@ static SnackerCtlState __snackerctl_update_ttc(void){
f32 player_position[3];
_player_getPosition(player_position);
if(func_8028B470() || func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE)){ //(swimming || ???)
if(func_8028B470() || volatileFlag_get(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE)){ //(swimming || ???)
if(player_position[1] < 600.0f
&& !__snackerctl_player_within_distance(2478.0f, 4586.0f, 1750.0f) //within 1750 of sandcastle center
&& !__snackerctl_player_within_distance(-400.0, 2315.0f, 2000.0f) //within 2000 of blubber's ship center
@@ -83,7 +83,7 @@ static SnackerCtlState _snackerctl_update_bottles_bonus(void){
if(!func_8028F25C() && func_80321960() == 3)
func_803219F4(1);
if(miscflag_isTrue(MISC_FLAG_17_FPV) && !func_8028F25C()){
if(miscFlag_isTrue(MISC_FLAG_17_FIRST_PERSON_VIEW) && !func_8028F25C()){
if(__snackerctl_player_within_distance(183.0f, -100.0f, 75.0f)){
if(chBottlesBonus_getPuzzleIndex() == 6){
if(!D_8037DCCC){