Merge branch 'mr-origin-65'
This commit is contained in:
@@ -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;
|
||||
|
@@ -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];
|
||||
}
|
||||
}
|
||||
|
@@ -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();
|
||||
}
|
||||
|
@@ -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()){
|
||||
|
@@ -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;
|
||||
|
@@ -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);
|
||||
|
@@ -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();
|
||||
|
@@ -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();
|
||||
|
@@ -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
|
||||
|
@@ -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++;
|
||||
|
@@ -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();
|
||||
|
@@ -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){
|
||||
|
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -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;
|
||||
|
@@ -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);
|
||||
|
@@ -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;
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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){}
|
||||
|
@@ -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);
|
||||
|
@@ -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;
|
||||
}
|
||||
|
||||
|
@@ -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;
|
||||
|
@@ -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);
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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);
|
||||
|
@@ -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);
|
||||
|
@@ -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;
|
||||
|
@@ -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()){
|
||||
|
@@ -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){
|
||||
|
@@ -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);
|
||||
}
|
||||
}
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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) {
|
||||
|
@@ -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)
|
||||
) {
|
||||
|
@@ -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);
|
||||
}
|
||||
|
||||
|
@@ -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);
|
||||
|
@@ -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))
|
||||
|
@@ -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
|
||||
|
@@ -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);
|
||||
|
@@ -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);
|
||||
|
@@ -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;
|
||||
|
@@ -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)){
|
||||
|
@@ -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);
|
||||
}
|
||||
}
|
||||
|
@@ -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();
|
||||
}
|
||||
|
@@ -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;
|
||||
|
@@ -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);
|
||||
}
|
||||
}
|
||||
|
@@ -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;
|
||||
|
@@ -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);
|
||||
}
|
||||
|
||||
|
@@ -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) {
|
||||
|
@@ -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))
|
||||
|
@@ -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);
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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????
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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;
|
||||
|
@@ -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;
|
||||
|
@@ -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)) {
|
||||
|
@@ -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){
|
||||
|
@@ -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);
|
||||
|
@@ -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){
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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;
|
||||
|
@@ -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();
|
||||
}
|
||||
|
||||
|
@@ -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];
|
||||
}
|
||||
}
|
||||
|
@@ -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
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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));
|
||||
|
@@ -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;
|
||||
|
@@ -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();
|
||||
|
@@ -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(¬escores_size, ¬escores_addr);
|
||||
timeScores_getSizeAndPtr(×cores_size, ×cores_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);
|
||||
|
@@ -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;
|
||||
}
|
||||
|
||||
|
@@ -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();
|
||||
}
|
||||
|
@@ -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();
|
||||
|
@@ -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;
|
||||
}
|
||||
}
|
||||
|
@@ -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;
|
||||
}
|
||||
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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) {
|
||||
|
@@ -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);
|
||||
|
@@ -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;
|
||||
|
@@ -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();
|
||||
|
@@ -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
|
||||
}
|
||||
|
@@ -191,7 +191,7 @@ void func_80295914(void){
|
||||
func_80291910();
|
||||
badrone_init();
|
||||
bafalldamage_init();
|
||||
miscflag_clearAll();
|
||||
miscFlag_clearAll();
|
||||
func_8028B6FC();
|
||||
func_80291590();
|
||||
func_802953A0();
|
||||
|
@@ -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){
|
||||
|
@@ -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);
|
||||
|
@@ -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();
|
||||
}
|
||||
|
@@ -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);
|
||||
}
|
||||
}
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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();
|
||||
}
|
||||
|
@@ -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);
|
||||
|
@@ -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){
|
||||
|
@@ -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){
|
||||
|
Reference in New Issue
Block a user