Document level specific flags

This commit is contained in:
Owlenuff
2024-10-08 06:07:42 +00:00
committed by Banjo Kazooie
parent ea4b9ab1a6
commit ea6b1e5291
47 changed files with 274 additions and 173 deletions

View File

@@ -376,7 +376,62 @@ enum volatile_flags_e {
enum level_flags_e enum level_flags_e
{ {
LEVEL_FLAG_0_CC_TOKEN_TOOTH_OPEN = 0, LEVEL_FLAG_0_CC_TOKEN_TOOTH_OPEN = 0,
LEVEL_FLAG_1_CC_JIGGY_TOOTH_OPEN = 1 LEVEL_FLAG_1_CC_JIGGY_TOOTH_OPEN,
LEVEL_FLAG_2_TTC_UNKNOWN,
LEVEL_FLAG_3_RBB_UNKNOWN,
LEVEL_FLAG_4_RBB_UNKNOWN,
LEVEL_FLAG_5_TTC_UNKNOWN,
LEVEL_FLAG_6_GV_UNKNOWN,
LEVEL_FLAG_B_MM_UNKNOWN = 0xB,
LEVEL_FLAG_C_MM_UNKNOWN,
LEVEL_FLAG_D_MM_UNKNOWN,
LEVEL_FLAG_E_CC_UNKNOWN,
LEVEL_FLAG_10_CCW_UNKNOWN = 0x10,
LEVEL_FLAG_11_FP_UNKNOWN,
LEVEL_FLAG_12_FP_UNKNOWN,
LEVEL_FLAG_13_FP_UNKNOWN,
LEVEL_FLAG_14_TTC_UNKNOWN,
LEVEL_FLAG_15_GV_UNKNOWN,
LEVEL_FLAG_16_GV_UNKNOWN,
LEVEL_FLAG_17_GV_UNKNOWN,
LEVEL_FLAG_19_FP_UNKNOWN = 0x19,
LEVEL_FLAG_1A_UNKNOWN,
LEVEL_FLAG_1B_MMM_UNKNOWN,
LEVEL_FLAG_1C_MM_UNKNOWN,
LEVEL_FLAG_1D_TTC_UNKNOWN,
LEVEL_FLAG_1E_CC_UNKNOWN,
LEVEL_FLAG_1F_BGS_UNKNOWN,
LEVEL_FLAG_20_FP_UNKNOWN,
LEVEL_FLAG_21_GV_UNKNOWN,
LEVEL_FLAG_22_MMM_UNKNOWN,
LEVEL_FLAG_23_RBB_UNKNOWN,
LEVEL_FLAG_24_CCW_UNKNOWN,
LEVEL_FLAG_25_CCW_UNKNOWN,
LEVEL_FLAG_26_FP_UNKNOWN,
LEVEL_FLAG_27_RBB_UNKNOWN,
LEVEL_FLAG_28_RBB_UNKNOWN,
LEVEL_FLAG_29_FP_UNKNOWN,
LEVEL_FLAG_2A_FP_UNKNOWN,
LEVEL_FLAG_2B_FP_UNKNOWN,
LEVEL_FLAG_2C_FP_UNKNOWN,
LEVEL_FLAG_2D_RBB_UNKNOWN,
LEVEL_FLAG_2E_MMM_UNKNOWN,
LEVEL_FLAG_2F_MMM_UNKNOWN,
LEVEL_FLAG_30_RBB_UNKNOWN,
LEVEL_FLAG_31_FP_UNKNOWN,
LEVEL_FLAG_32_FP_UNKNOWN,
LEVEL_FLAG_33_MMM_UNKNOWN,
LEVEL_FLAG_34_UNKNOWN,
LEVEL_FLAG_38_CCW_UNKNOWN = 0x38,
LEVEL_FLAG_3C_LAIR_UNKNOWN = 0x3C,
LEVEL_FLAG_3D_LAIR_UNKNOWN,
LEVEL_FLAG_3E_UNKNOWN,
LEVEL_FLAG_3F_LAIR_UNKNOWN
}; };
enum transformation_e enum transformation_e

View File

@@ -39,7 +39,7 @@ void CC_func_80386FE0(Actor *this, s32 next_state){
} }
else if(this->state == 3){ else if(this->state == 3){
if(prev_state == 2){ if(prev_state == 2){
levelSpecificFlags_set((local->unk0 == 1) ? 0 : 1, TRUE); levelSpecificFlags_set((local->unk0 == 1) ? LEVEL_FLAG_0_CC_TOKEN_TOOTH_OPEN : LEVEL_FLAG_1_CC_JIGGY_TOOTH_OPEN, TRUE);
} }
if(local->unk0 == 1){ if(local->unk0 == 1){
this->yaw = -30.0f; this->yaw = -30.0f;

View File

@@ -11,7 +11,7 @@ ActorInfo D_8038EB74 = { 0x1AC, 0x29A, 0x445, 0x0, NULL, func_803864B8, NULL, ac
void CCW_func_803863F0(Actor *this, s32 next_state){ void CCW_func_803863F0(Actor *this, s32 next_state){
if(next_state == 2){ if(next_state == 2){
FUNC_8030E8B4(SFX_2F_ORANGE_SPLAT, 1.0f, 32000, this->position, 500, 3000); FUNC_8030E8B4(SFX_2F_ORANGE_SPLAT, 1.0f, 32000, this->position, 500, 3000);
levelSpecificFlags_set(0x10, TRUE); levelSpecificFlags_set(LEVEL_FLAG_10_CCW_UNKNOWN, TRUE);
marker_despawn(this->marker); marker_despawn(this->marker);
} }
this->state = next_state; this->state = next_state;
@@ -30,7 +30,8 @@ void func_803864B8(Actor *this){
this->marker->propPtr->unk8_3 = TRUE; this->marker->propPtr->unk8_3 = TRUE;
marker_setCollisionScripts(this->marker, NULL, NULL, func_80386468); marker_setCollisionScripts(this->marker, NULL, NULL, func_80386468);
CCW_func_803863F0(this, 1); CCW_func_803863F0(this, 1);
if(levelSpecificFlags_get(0x10)){
if (levelSpecificFlags_get(LEVEL_FLAG_10_CCW_UNKNOWN)) {
marker_despawn(this->marker); marker_despawn(this->marker);
} }
} }

View File

@@ -97,12 +97,15 @@ void func_8038CC4C(Actor *this) {
local->unk0++; local->unk0++;
} }
func_8038CB40(this, 1); func_8038CB40(this, 1);
if (jiggyscore_isCollected(JIGGY_4B_CCW_GNAWTY)) { if (jiggyscore_isCollected(JIGGY_4B_CCW_GNAWTY)) {
levelSpecificFlags_set(0x25, TRUE); levelSpecificFlags_set(LEVEL_FLAG_25_CCW_UNKNOWN, TRUE);
} }
if ((local->unk0->unk2 != 0) && levelSpecificFlags_get(0x25)) {
if ((local->unk0->unk2 != 0) && levelSpecificFlags_get(LEVEL_FLAG_25_CCW_UNKNOWN)) {
marker_despawn(this->marker); marker_despawn(this->marker);
} }
return; return;
} }

View File

@@ -85,9 +85,9 @@ void func_8038CFB4(Actor *this) {
this->has_met_before = FALSE; this->has_met_before = FALSE;
func_8038CEB0(this, 1); func_8038CEB0(this, 1);
if (jiggyscore_isCollected(JIGGY_4B_CCW_GNAWTY) != 0) { if (jiggyscore_isCollected(JIGGY_4B_CCW_GNAWTY) != 0) {
levelSpecificFlags_set(0x25, 1); levelSpecificFlags_set(LEVEL_FLAG_25_CCW_UNKNOWN, TRUE);
} }
if (levelSpecificFlags_get(0x25) != 0) { if (levelSpecificFlags_get(LEVEL_FLAG_25_CCW_UNKNOWN) != FALSE) {
marker_despawn(this->marker); marker_despawn(this->marker);
} }
return; return;
@@ -121,7 +121,8 @@ void func_8038CFB4(Actor *this) {
this->has_met_before = TRUE; this->has_met_before = TRUE;
} }
} }
if (levelSpecificFlags_get(0x25) != 0) {
if (levelSpecificFlags_get(LEVEL_FLAG_25_CCW_UNKNOWN) != FALSE) {
func_8038CEB0(this, 2); func_8038CEB0(this, 2);
} }
} }

View File

@@ -39,9 +39,10 @@ void func_8038D2B0(Actor *this, s32 next_state) {
} }
Actor *func_8038D30C(ActorMarker* marker, Gfx** gfx, Mtx** mtx, Vtx** vtx) { Actor *func_8038D30C(ActorMarker* marker, Gfx** gfx, Mtx** mtx, Vtx** vtx) {
if (levelSpecificFlags_get(0x25) == 0) { if (levelSpecificFlags_get(LEVEL_FLAG_25_CCW_UNKNOWN) == FALSE) {
return func_80325340(marker, gfx, mtx, vtx); return func_80325340(marker, gfx, mtx, vtx);
} }
return actor_draw(marker, gfx, mtx, vtx); return actor_draw(marker, gfx, mtx, vtx);
} }
@@ -61,7 +62,7 @@ void func_8038D368(Actor *this) {
func_8038D2B0(this, 1); func_8038D2B0(this, 1);
if (jiggyscore_isCollected(JIGGY_4B_CCW_GNAWTY)) { if (jiggyscore_isCollected(JIGGY_4B_CCW_GNAWTY)) {
levelSpecificFlags_set(0x25, TRUE); levelSpecificFlags_set(LEVEL_FLAG_25_CCW_UNKNOWN, TRUE);
} }
return; return;
} }

View File

@@ -78,7 +78,7 @@ void func_8038D6D8(Actor *this, s32 next_state) {
FUNC_8030E624(SFX_9B_BOULDER_BREAKING_1, 0.9f, 15000); FUNC_8030E624(SFX_9B_BOULDER_BREAKING_1, 0.9f, 15000);
func_80324E38(0.0f, 3); func_80324E38(0.0f, 3);
timed_setStaticCameraToNode(0.5f, 3); timed_setStaticCameraToNode(0.5f, 3);
timedFunc_set_2(0.5f, levelSpecificFlags_set, 0x25, TRUE); timedFunc_set_2(0.5f, levelSpecificFlags_set, LEVEL_FLAG_25_CCW_UNKNOWN, TRUE);
timed_exitStaticCamera(4.0f); timed_exitStaticCamera(4.0f);
func_80324E38(4.0f, 0); func_80324E38(4.0f, 0);
local->unk0 = 0.5f; local->unk0 = 0.5f;
@@ -107,10 +107,12 @@ void func_8038D85C(Actor *this) {
this->volatile_initialized = TRUE; this->volatile_initialized = TRUE;
marker_setCollisionScripts(this->marker, 0, &func_8038D81C, 0); marker_setCollisionScripts(this->marker, 0, &func_8038D81C, 0);
func_8038D6D8(this, 1); func_8038D6D8(this, 1);
if (jiggyscore_isCollected(JIGGY_4B_CCW_GNAWTY) != 0) {
levelSpecificFlags_set(0x25, 1); if (jiggyscore_isCollected(JIGGY_4B_CCW_GNAWTY) != FALSE) {
levelSpecificFlags_set(LEVEL_FLAG_25_CCW_UNKNOWN, TRUE);
} }
if ((levelSpecificFlags_get(0x25) != 0) && (map_get() != MAP_43_CCW_SPRING)) {
if ((levelSpecificFlags_get(LEVEL_FLAG_25_CCW_UNKNOWN) != FALSE) && (map_get() != MAP_43_CCW_SPRING)) {
marker_despawn(this->marker); marker_despawn(this->marker);
} }
return; return;

View File

@@ -83,7 +83,8 @@ void func_8038DAB0(Actor *this){
if(!this->initialized){ if(!this->initialized){
func_802D3CE8(this); func_802D3CE8(this);
this->initialized = TRUE; this->initialized = TRUE;
if(levelSpecificFlags_get(0x38)){
if (levelSpecificFlags_get(LEVEL_FLAG_38_CCW_UNKNOWN)) {
marker_despawn(this->marker); marker_despawn(this->marker);
} }
} }

View File

@@ -41,9 +41,9 @@ ActorInfo D_80391E50 = { MARKER_1FC_POLAR_BEAR_CUB_RED, ACTOR_1EC_POLAR_BEAR_CUB
f32 FP_D_80391E74[3] = {-5.0f, 180.0f, 1.0f}; f32 FP_D_80391E74[3] = {-5.0f, 180.0f, 1.0f};
Struct_FP_3E00 D_80391E80[] ={ Struct_FP_3E00 D_80391E80[] ={
{0x11, MARKER_1FD_BLUE_PRESENT_COLLECTIBLE, ACTOR_1ED_BLUE_PRESENT_COLLECTIBLE, 0x1EE}, {LEVEL_FLAG_11_FP_UNKNOWN, MARKER_1FD_BLUE_PRESENT_COLLECTIBLE, ACTOR_1ED_BLUE_PRESENT_COLLECTIBLE, 0x1EE},
{0x12, MARKER_1FE_GREEN_PRESENT_COLLECTIBLE, ACTOR_1EF_GREEN_PRESENT_COLLECTIBLE, 0x1F0}, {LEVEL_FLAG_12_FP_UNKNOWN, MARKER_1FE_GREEN_PRESENT_COLLECTIBLE, ACTOR_1EF_GREEN_PRESENT_COLLECTIBLE, 0x1F0},
{0x13, MARKER_1FF_RED_PRESENT_COLLECTIBLE, ACTOR_1F1_RED_PRESENT_COLLECTIBLE, 0x1F2} {LEVEL_FLAG_13_FP_UNKNOWN, MARKER_1FF_RED_PRESENT_COLLECTIBLE, ACTOR_1F1_RED_PRESENT_COLLECTIBLE, 0x1F2}
}; };
/* .code */ /* .code */
@@ -123,7 +123,7 @@ void func_8038A384(Actor *this){
} }
}//L8038A4E4 }//L8038A4E4
sp34 = levelSpecificFlags_get(0x11) + levelSpecificFlags_get(0x12) + levelSpecificFlags_get(0x13); sp34 = levelSpecificFlags_get(LEVEL_FLAG_11_FP_UNKNOWN) + levelSpecificFlags_get(LEVEL_FLAG_12_FP_UNKNOWN) + levelSpecificFlags_get(LEVEL_FLAG_13_FP_UNKNOWN);
sp38 = (sp34 == 1) ? ASSET_C17_TEXT_UNKNOWN sp38 = (sp34 == 1) ? ASSET_C17_TEXT_UNKNOWN
: (sp34 == 2) ? ASSET_C18_TEXT_UNKNOWN : (sp34 == 2) ? ASSET_C18_TEXT_UNKNOWN
: ASSET_C19_TEXT_UNKNOWN; : ASSET_C19_TEXT_UNKNOWN;
@@ -134,14 +134,14 @@ void func_8038A384(Actor *this){
switch(this->state){ switch(this->state){
case 1://L8038A5B0 case 1://L8038A5B0
if(!levelSpecificFlags_get(0x19) && func_80329530(this, 0xfa)){ if(!levelSpecificFlags_get(LEVEL_FLAG_19_FP_UNKNOWN) && func_80329530(this, 0xfa)){
if(func_8028ECAC() == 0 || func_8028ECAC() == BSGROUP_8_TROT){ if(func_8028ECAC() == 0 || func_8028ECAC() == BSGROUP_8_TROT){
if(sp34 == 0 if(sp34 == 0
&& !jiggyscore_isCollected(JIGGY_2C_FP_BOGGY_3) && !jiggyscore_isCollected(JIGGY_2C_FP_BOGGY_3)
&& !jiggyscore_isSpawned(JIGGY_2C_FP_BOGGY_3) && !jiggyscore_isSpawned(JIGGY_2C_FP_BOGGY_3)
){ ){
if (gcdialog_showText(ASSET_C1A_TEXT_UNKNOWN, 0x2a, NULL, NULL, NULL, NULL)) { if (gcdialog_showText(ASSET_C1A_TEXT_UNKNOWN, 0x2a, NULL, NULL, NULL, NULL)) {
levelSpecificFlags_set(0x19, TRUE); levelSpecificFlags_set(LEVEL_FLAG_19_FP_UNKNOWN, TRUE);
} }
} }
} }

View File

@@ -36,9 +36,10 @@ Actor *func_80390290(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
int func_80390334(void) { int func_80390334(void) {
if( levelSpecificFlags_get(0x11) && levelSpecificFlags_get(0x12) && levelSpecificFlags_get(0x13)){ if (levelSpecificFlags_get(LEVEL_FLAG_11_FP_UNKNOWN) && levelSpecificFlags_get(LEVEL_FLAG_12_FP_UNKNOWN) && levelSpecificFlags_get(LEVEL_FLAG_13_FP_UNKNOWN)) {
return TRUE; return TRUE;
} }
return FALSE; return FALSE;
} }
@@ -47,9 +48,9 @@ void func_80390388(Actor *this){
if(!this->volatile_initialized){ if(!this->volatile_initialized){
this->volatile_initialized = TRUE; this->volatile_initialized = TRUE;
if(jiggyscore_isSpawned(JIGGY_2E_FP_PRESENTS) || jiggyscore_isCollected(JIGGY_2E_FP_PRESENTS)){ if(jiggyscore_isSpawned(JIGGY_2E_FP_PRESENTS) || jiggyscore_isCollected(JIGGY_2E_FP_PRESENTS)){
levelSpecificFlags_set(0x11, TRUE); levelSpecificFlags_set(LEVEL_FLAG_11_FP_UNKNOWN, TRUE);
levelSpecificFlags_set(0x12, TRUE); levelSpecificFlags_set(LEVEL_FLAG_12_FP_UNKNOWN, TRUE);
levelSpecificFlags_set(0x13, TRUE); levelSpecificFlags_set(LEVEL_FLAG_13_FP_UNKNOWN, TRUE);
} }
if(jiggyscore_isCollected(JIGGY_2C_FP_BOGGY_3) || jiggyscore_isSpawned(JIGGY_2C_FP_BOGGY_3)){ if(jiggyscore_isCollected(JIGGY_2C_FP_BOGGY_3) || jiggyscore_isSpawned(JIGGY_2C_FP_BOGGY_3)){
this->unk38_31 = FALSE; this->unk38_31 = FALSE;

View File

@@ -34,7 +34,7 @@ void func_80390630(Actor *this){
this->volatile_initialized = TRUE; this->volatile_initialized = TRUE;
this->marker->propPtr->unk8_3 = FALSE; this->marker->propPtr->unk8_3 = FALSE;
actor_collisionOn(this); actor_collisionOn(this);
this->unk38_31 = jiggyscore_isCollected(JIGGY_32_FP_WOZZA) || levelSpecificFlags_get(0x26) ? 0 : 1; this->unk38_31 = jiggyscore_isCollected(JIGGY_32_FP_WOZZA) || levelSpecificFlags_get(LEVEL_FLAG_26_FP_UNKNOWN) ? 0 : 1;
}//L80390714 }//L80390714
if(this->unk38_31){ if(this->unk38_31){
@@ -68,16 +68,16 @@ void func_80390630(Actor *this){
if (func_80329530(this, 350)) { if (func_80329530(this, 350)) {
if (player_getTransformation() == TRANSFORM_4_WALRUS) { if (player_getTransformation() == TRANSFORM_4_WALRUS) {
if(!levelSpecificFlags_get(0x31)){ if (!levelSpecificFlags_get(LEVEL_FLAG_31_FP_UNKNOWN)) {
if (gcdialog_showText(ASSET_C27_TEXT_UNKNOWN, 0x23, NULL, NULL, NULL, NULL)) { if (gcdialog_showText(ASSET_C27_TEXT_UNKNOWN, 0x23, NULL, NULL, NULL, NULL)) {
levelSpecificFlags_set(0x31, TRUE); levelSpecificFlags_set(LEVEL_FLAG_31_FP_UNKNOWN, TRUE);
} }
} }
} }
else { else {
if(!levelSpecificFlags_get(0x32)){ if (!levelSpecificFlags_get(LEVEL_FLAG_32_FP_UNKNOWN)) {
if (gcdialog_showText(ASSET_C26_TEXT_UNKNOWN, 0x23, NULL, NULL, NULL, NULL)) { if (gcdialog_showText(ASSET_C26_TEXT_UNKNOWN, 0x23, NULL, NULL, NULL, NULL)) {
levelSpecificFlags_set(0x32, TRUE); levelSpecificFlags_set(LEVEL_FLAG_32_FP_UNKNOWN, TRUE);
} }
} }
} }

View File

@@ -192,7 +192,7 @@ void FP_func_8038F7AC(Actor *this){
return; return;
} }
if(levelSpecificFlags_get(0x26)){ if (levelSpecificFlags_get(LEVEL_FLAG_26_FP_UNKNOWN)) {
this->unk38_31 = TRUE; this->unk38_31 = TRUE;
func_8038F274(); func_8038F274();
} }

View File

@@ -76,7 +76,7 @@ void func_8038FF54(Actor *this){
sp40[2] = (f32)(s32)sp40[2]; sp40[2] = (f32)(s32)sp40[2];
bundle_setYaw(this->yaw + 90.0f); bundle_setYaw(this->yaw + 90.0f);
jiggy_spawn(JIGGY_32_FP_WOZZA, sp40); jiggy_spawn(JIGGY_32_FP_WOZZA, sp40);
levelSpecificFlags_set(0x26, TRUE); levelSpecificFlags_set(LEVEL_FLAG_26_FP_UNKNOWN, TRUE);
marker_despawn(this->marker); marker_despawn(this->marker);
} }
else if(this->marker->unk14_21){//L8039016C else if(this->marker->unk14_21){//L8039016C

View File

@@ -40,7 +40,7 @@ void __chXmasTree_80386EF4(Actor *this, int arg1){
} }
void __chXmasTree_80386F3C(void){ void __chXmasTree_80386F3C(void){
levelSpecificFlags_set(0x29, TRUE); levelSpecificFlags_set(LEVEL_FLAG_29_FP_UNKNOWN, TRUE);
func_803228D8(); func_803228D8();
volatileFlag_set(VOLATILE_FLAG_E, 1); volatileFlag_set(VOLATILE_FLAG_E, 1);
func_802E4078(MAP_53_FP_CHRISTMAS_TREE, 1, 0); func_802E4078(MAP_53_FP_CHRISTMAS_TREE, 1, 0);
@@ -107,7 +107,8 @@ void chXmasTree_update(Actor *this){
} }
this->depth_mode = 1; this->depth_mode = 1;
if(jiggyscore_isCollected(JIGGY_2F_FP_XMAS_TREE) || levelSpecificFlags_get(0x29)){
if (jiggyscore_isCollected(JIGGY_2F_FP_XMAS_TREE) || levelSpecificFlags_get(LEVEL_FLAG_29_FP_UNKNOWN)) {
__chXmasTree_80386EF4(this, 1); __chXmasTree_80386EF4(this, 1);
return; return;
} }

View File

@@ -86,15 +86,15 @@ void func_80390B70(Actor *this){
void func_80390BDC(Actor *this) { void func_80390BDC(Actor *this) {
this->marker->propPtr->unk8_3 = TRUE; this->marker->propPtr->unk8_3 = TRUE;
actor_collisionOff(this); actor_collisionOff(this);
if (!this->volatile_initialized) { if (!this->volatile_initialized) {
this->volatile_initialized = TRUE; this->volatile_initialized = TRUE;
if (jiggyscore_isCollected(JIGGY_2F_FP_XMAS_TREE)) { if (jiggyscore_isCollected(JIGGY_2F_FP_XMAS_TREE)) {
marker_despawn(this->marker); marker_despawn(this->marker);
} }
else{ else if (levelSpecificFlags_get(LEVEL_FLAG_29_FP_UNKNOWN)) {
if(levelSpecificFlags_get(0x29)){
func_80390B70(this); func_80390B70(this);
} }
} }
} }
}

View File

@@ -67,7 +67,7 @@ void func_8038E840(f32 position[3], s32 cnt, enum asset_e sprite_id){
} }
void func_8038E940(Actor *this){ void func_8038E940(Actor *this){
if(jiggyscore_isCollected(JIGGY_2F_FP_XMAS_TREE) || levelSpecificFlags_get(0x29)){ if (jiggyscore_isCollected(JIGGY_2F_FP_XMAS_TREE) || levelSpecificFlags_get(LEVEL_FLAG_29_FP_UNKNOWN)) {
this->marker->propPtr->unk8_3 = TRUE; this->marker->propPtr->unk8_3 = TRUE;
this->marker->collidable = FALSE; this->marker->collidable = FALSE;
subaddie_set_state_with_direction(this, 3, 0.95f, 0); subaddie_set_state_with_direction(this, 3, 0.95f, 0);

View File

@@ -83,9 +83,10 @@ void __chMazeCtrl_setState(Actor *this, s32 next_state){
else{//L8038F754 else{//L8038F754
timed_playSfx(1.0f, SFX_7F_HEAVYDOOR_SLAM, 1.0f, 32000); timed_playSfx(1.0f, SFX_7F_HEAVYDOOR_SLAM, 1.0f, 32000);
} }
if(!levelSpecificFlags_get(0x16)){
if (!levelSpecificFlags_get(LEVEL_FLAG_16_GV_UNKNOWN)) {
gcdialog_showText(ASSET_A82_TEXT_SANDYBUTT_START_MAZE, 4, NULL, NULL, NULL, NULL); gcdialog_showText(ASSET_A82_TEXT_SANDYBUTT_START_MAZE, 4, NULL, NULL, NULL, NULL);
levelSpecificFlags_set(0x16, TRUE); levelSpecificFlags_set(LEVEL_FLAG_16_GV_UNKNOWN, TRUE);
} }
}//L8038F794 }//L8038F794
@@ -133,9 +134,9 @@ void __chMazeCtrl_setState(Actor *this, s32 next_state){
if(++local->unk4 == 1) if(++local->unk4 == 1)
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 0x7fff); func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 0x7fff);
if(!levelSpecificFlags_get(0x17)){ if(!levelSpecificFlags_get(LEVEL_FLAG_17_GV_UNKNOWN)){
gcdialog_showText(ASSET_A83_TEXT_SANDYBUTT_DONE, 4, NULL, NULL, NULL, NULL); gcdialog_showText(ASSET_A83_TEXT_SANDYBUTT_DONE, 4, NULL, NULL, NULL, NULL);
levelSpecificFlags_set(0x17, TRUE); levelSpecificFlags_set(LEVEL_FLAG_17_GV_UNKNOWN, TRUE);
} }
} }
@@ -165,7 +166,7 @@ void chMazeCtrl_update(Actor *this){
local->unk8 = 1.0f; local->unk8 = 1.0f;
}//L8038FA8C }//L8038FA8C
if(jiggyscore_isCollected(JIGGY_41_GV_MAZE)) if(jiggyscore_isCollected(JIGGY_41_GV_MAZE))
levelSpecificFlags_set(0x17, TRUE); levelSpecificFlags_set(LEVEL_FLAG_17_GV_UNKNOWN, TRUE);
}//L8038FAA4 }//L8038FAA4
player_getPosition(sp3C); player_getPosition(sp3C);
@@ -174,11 +175,12 @@ void chMazeCtrl_update(Actor *this){
if(sp38 != NULL && func_8034DC80(sp38, sp3C)){ if(sp38 != NULL && func_8034DC80(sp38, sp3C)){
__chMazeCtrl_setState(this, 2); __chMazeCtrl_setState(this, 2);
} }
if( !levelSpecificFlags_get(0x15)
if (!levelSpecificFlags_get(LEVEL_FLAG_15_GV_UNKNOWN)
&& ml_timer_update(&local->unk8, sp34) && ml_timer_update(&local->unk8, sp34)
&& gcdialog_showText(ASSET_A81_TEXT_SANDYBUTT_ENTER, 0, NULL, NULL, NULL, NULL) && gcdialog_showText(ASSET_A81_TEXT_SANDYBUTT_ENTER, 0, NULL, NULL, NULL, NULL)
) { ) {
levelSpecificFlags_set(0x15, TRUE); levelSpecificFlags_set(LEVEL_FLAG_15_GV_UNKNOWN, TRUE);
} }
}//L8038FB34 }//L8038FB34

View File

@@ -30,7 +30,7 @@ void func_80390000(s32 arg0){
}//L803900AC }//L803900AC
if(GV_D_80391AD0 == 2){ if(GV_D_80391AD0 == 2){
levelSpecificFlags_set(6, FALSE); levelSpecificFlags_set(LEVEL_FLAG_6_GV_UNKNOWN, FALSE);
func_803228D8(); func_803228D8();
func_802E4078(MAP_15_GV_WATER_PYRAMID, 1, 0); func_802E4078(MAP_15_GV_WATER_PYRAMID, 1, 0);
} }
@@ -40,7 +40,8 @@ void func_803900F8(void){}
void func_80390100(void){ void func_80390100(void){
GV_D_80391AD0 = 0; GV_D_80391AD0 = 0;
if(levelSpecificFlags_get(6)){
if (levelSpecificFlags_get(LEVEL_FLAG_6_GV_UNKNOWN)) {
func_80390000(1); func_80390000(1);
} }
} }

View File

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

View File

@@ -70,7 +70,8 @@ void chLoggo_update(Actor *this){
subaddie_set_state_with_direction(this, 1, 0.01f, 1); subaddie_set_state_with_direction(this, 1, 0.01f, 1);
actor_loopAnimation(this); actor_loopAnimation(this);
this->lifetime_value = 0.0f; this->lifetime_value = 0.0f;
if(!fileProgressFlag_get(FILEPROG_8A_EXITED_LOGGO) && levelSpecificFlags_get(0x33)){
if (!fileProgressFlag_get(FILEPROG_8A_EXITED_LOGGO) && levelSpecificFlags_get(LEVEL_FLAG_33_MMM_UNKNOWN)) {
if (gcdialog_showText(ASSET_AE0_TEXT_EXIT_LOGGO, 4, NULL, NULL, NULL, NULL)) { if (gcdialog_showText(ASSET_AE0_TEXT_EXIT_LOGGO, 4, NULL, NULL, NULL, NULL)) {
fileProgressFlag_set(FILEPROG_8A_EXITED_LOGGO, TRUE); fileProgressFlag_set(FILEPROG_8A_EXITED_LOGGO, TRUE);
} }
@@ -107,7 +108,7 @@ void chLoggo_update(Actor *this){
if(actor_animationIsAt(this, 0.46f)){ if(actor_animationIsAt(this, 0.46f)){
this->marker->propPtr->unk8_3 = FALSE; this->marker->propPtr->unk8_3 = FALSE;
FUNC_8030E8B4(SFX_92_TOILET_FLUSH, 1.0f, 32000, this->position, 600, 1500); FUNC_8030E8B4(SFX_92_TOILET_FLUSH, 1.0f, 32000, this->position, 600, 1500);
levelSpecificFlags_set(0x33, TRUE); levelSpecificFlags_set(LEVEL_FLAG_33_MMM_UNKNOWN, TRUE);
ml_vec3f_assign(sp38, this->position_x - 50.0f, this->position_y + 50.0f, this->position_z); ml_vec3f_assign(sp38, this->position_x - 50.0f, this->position_y + 50.0f, this->position_z);
func_8028F6E4(BS_INTR_2F_LOGGO, sp38); func_8028F6E4(BS_INTR_2F_LOGGO, sp38);
} }

View File

@@ -370,12 +370,15 @@ void func_80388FE4(Actor *this) {
void func_80389004(Actor *this){ void func_80389004(Actor *this){
func_802D3CE8(this); func_802D3CE8(this);
if (!this->volatile_initialized) { if (!this->volatile_initialized) {
this->volatile_initialized = TRUE; this->volatile_initialized = TRUE;
if(levelSpecificFlags_get(0x2e))
if (levelSpecificFlags_get(LEVEL_FLAG_2E_MMM_UNKNOWN)) {
marker_despawn(this->marker); marker_despawn(this->marker);
} }
} }
}
void func_80389060(Actor *this){ void func_80389060(Actor *this){
if(!this->initialized && sns_get_item_state(SNS_ITEM_EGG_CYAN, TRUE)){ if(!this->initialized && sns_get_item_state(SNS_ITEM_EGG_CYAN, TRUE)){

View File

@@ -104,11 +104,12 @@ void func_8038966C(void){
if((s32)(tmp_v0->flags << 4) < 0){ if((s32)(tmp_v0->flags << 4) < 0){
FUNC_8030E624(SFX_6B_LOCKUP_OPENING, 1.4f, 32750); FUNC_8030E624(SFX_6B_LOCKUP_OPENING, 1.4f, 32750);
MMM_D_8038C4E0.unk1 = 2; MMM_D_8038C4E0.unk1 = 2;
if(!levelSpecificFlags_get(0x1b)){
if (!levelSpecificFlags_get(LEVEL_FLAG_1B_MMM_UNKNOWN)) {
func_80324E38(0.0f, 3); func_80324E38(0.0f, 3);
timed_setStaticCameraToNode(0.0f, 0); timed_setStaticCameraToNode(0.0f, 0);
func_80324DBC(0.0f, 0xad7, 6, NULL, NULL, func_803895D8, NULL); func_80324DBC(0.0f, 0xad7, 6, NULL, NULL, func_803895D8, NULL);
levelSpecificFlags_set(0x1b, TRUE); levelSpecificFlags_set(LEVEL_FLAG_1B_MMM_UNKNOWN, TRUE);
} }
} }
} }

View File

@@ -251,8 +251,8 @@ void func_8038AA44(void){
&& MMM_D_8038C510.unkC != NULL && MMM_D_8038C510.unkC != NULL
&& func_8038AD4C(MMM_D_8038C510.unkC, MMM_D_8038C510.unk10) && func_8038AD4C(MMM_D_8038C510.unkC, MMM_D_8038C510.unk10)
){ ){
if(!levelSpecificFlags_get(0x2f)){ if (!levelSpecificFlags_get(LEVEL_FLAG_2F_MMM_UNKNOWN)) {
levelSpecificFlags_set(0x2f, TRUE); levelSpecificFlags_set(LEVEL_FLAG_2F_MMM_UNKNOWN, TRUE);
func_8038A140(2); func_8038A140(2);
} }
else { else {

View File

@@ -53,10 +53,13 @@ void __chAnchorCtrl_setState(Actor *this, s32 new_state){
void chAnchorCtrl_update(Actor *this){ void chAnchorCtrl_update(Actor *this){
if(!this->volatile_initialized){ if(!this->volatile_initialized){
this->volatile_initialized = TRUE; this->volatile_initialized = TRUE;
if(levelSpecificFlags_getSet(0x30, FALSE))
if (levelSpecificFlags_getSet(LEVEL_FLAG_30_RBB_UNKNOWN, FALSE)) {
__chAnchorCtrl_setState(this, 2); __chAnchorCtrl_setState(this, 2);
else }
else {
__chAnchorCtrl_setState(this, 1); __chAnchorCtrl_setState(this, 1);
}
if(jiggyscore_isSpawned(JIGGY_53_RBB_SNORKEL)) if(jiggyscore_isSpawned(JIGGY_53_RBB_SNORKEL))
marker_despawn(this->marker); marker_despawn(this->marker);

View File

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

View File

@@ -59,7 +59,7 @@ f32 D_80390860[3] = {1.0f, 0.5f, 0.5f};
/* .code */ /* .code */
f32 func_8038A4E0(void) { f32 func_8038A4E0(void) {
return D_80390860[2*levelSpecificFlags_get(0x27) + levelSpecificFlags_get(0x28)]; return D_80390860[2 * levelSpecificFlags_get(LEVEL_FLAG_27_RBB_UNKNOWN) + levelSpecificFlags_get(LEVEL_FLAG_28_RBB_UNKNOWN)];
} }
void func_8038A524(Actor *this, s32 arg1){ void func_8038A524(Actor *this, s32 arg1){

View File

@@ -24,7 +24,7 @@ s32 D_80390704[4] = {0x258, 0x12C, 0x12C, 0};
/*.code */ /*.code */
f32 __chPropellor_getSpeed(void) { f32 __chPropellor_getSpeed(void) {
return (f32) D_80390704[2*levelSpecificFlags_get(0x27) + levelSpecificFlags_get(0x28)]; return (f32) D_80390704[2 * levelSpecificFlags_get(LEVEL_FLAG_27_RBB_UNKNOWN) + levelSpecificFlags_get(LEVEL_FLAG_28_RBB_UNKNOWN)];
} }
void __chPropellor_setState(Actor *this, s32 arg1){ void __chPropellor_setState(Actor *this, s32 arg1){
@@ -50,7 +50,8 @@ void func_80389B80(Actor *this, f32 arg1){
func_802F9DB8(local->unk0, arg1, arg1, 0.0f); func_802F9DB8(local->unk0, arg1, arg1, 0.0f);
func_802F9F80(local->unk0, 0.0f, 8999999488.0f, 0.0f); func_802F9F80(local->unk0, 0.0f, 8999999488.0f, 0.0f);
func_802FA060(local->unk0, 0x4650, 0x4650, 0.0f); func_802FA060(local->unk0, 0x4650, 0x4650, 0.0f);
if(!levelSpecificFlags_get(3) && !levelSpecificFlags_get(4)){
if (!levelSpecificFlags_get(LEVEL_FLAG_3_RBB_UNKNOWN) && !levelSpecificFlags_get(LEVEL_FLAG_4_RBB_UNKNOWN)) {
func_802F9EC4(local->unk0, &this->position, 0x1f4, 0x7d0); func_802F9EC4(local->unk0, &this->position, 0x1f4, 0x7d0);
func_802FA0B0(local->unk0, 1); func_802FA0B0(local->unk0, 1);
} }
@@ -90,7 +91,8 @@ void chPropellor_update(Actor *this){
local->unk4 = 0.0f; local->unk4 = 0.0f;
local->unkC = 0.0f; local->unkC = 0.0f;
__chPropellor_setState(this, 1); __chPropellor_setState(this, 1);
if(levelSpecificFlags_get(local->unk8 ? 4 : 3)){
if (levelSpecificFlags_get(local->unk8 ? LEVEL_FLAG_4_RBB_UNKNOWN : LEVEL_FLAG_3_RBB_UNKNOWN)) {
ncStaticCamera_setToNode(9); ncStaticCamera_setToNode(9);
func_80324E38(0.0f, 3); func_80324E38(0.0f, 3);
timedFunc_set_2(0.1f, (GenFunction_2)levelSpecificFlags_set, local->unk8 ? 0x28 : 0x27, 1); timedFunc_set_2(0.1f, (GenFunction_2)levelSpecificFlags_set, local->unk8 ? 0x28 : 0x27, 1);
@@ -107,10 +109,12 @@ void chPropellor_update(Actor *this){
if( (0.0f < tmp && this->pitch <= 0.0f) if( (0.0f < tmp && this->pitch <= 0.0f)
|| (180.0f < tmp && this->pitch <= 180.0f) || (180.0f < tmp && this->pitch <= 180.0f)
){ ){
if(levelSpecificFlags_get(3) || levelSpecificFlags_get(4)) if (levelSpecificFlags_get(LEVEL_FLAG_3_RBB_UNKNOWN) || levelSpecificFlags_get(LEVEL_FLAG_4_RBB_UNKNOWN)) {
func_8030E760(SFX_2_CLAW_SWIPE, 0.4f, 20000); func_8030E760(SFX_2_CLAW_SWIPE, 0.4f, 20000);
else }
else {
func_8030E988(SFX_2_CLAW_SWIPE, 0.4f, 20000, &this->position, 500.0f, 1000.0f); func_8030E988(SFX_2_CLAW_SWIPE, 0.4f, 20000, &this->position, 500.0f, 1000.0f);
}
}//L80389F94 }//L80389F94
if(this->pitch < 0.0f) if(this->pitch < 0.0f)
this->pitch += 360.0f; this->pitch += 360.0f;

View File

@@ -114,8 +114,8 @@ void chPropellorSwitch_update(Actor *this){
}//L8038A47C }//L8038A47C
if(this->state == 2){ if(this->state == 2){
if( !levelSpecificFlags_get(local->unk0->unkA) if( !levelSpecificFlags_get(local->unk0->unkA)
&& !levelSpecificFlags_get(3) && !levelSpecificFlags_get(LEVEL_FLAG_3_RBB_UNKNOWN)
&& !levelSpecificFlags_get(4) && !levelSpecificFlags_get(LEVEL_FLAG_4_RBB_UNKNOWN)
){ ){
__chPropellorSwitch_setState(this, 1); __chPropellorSwitch_setState(this, 1);
} }

View File

@@ -210,7 +210,7 @@ void func_803881E8(Actor *this, s32 arg1){
func_80324E38(0.2f, 3); func_80324E38(0.2f, 3);
timed_setStaticCameraToNode(1.1f, 7); timed_setStaticCameraToNode(1.1f, 7);
timedFunc_set_1(1.6f, (GenFunction_1)func_80388154, (s32)this->marker); timedFunc_set_1(1.6f, (GenFunction_1)func_80388154, (s32)this->marker);
levelSpecificFlags_set(0x2D, 1); levelSpecificFlags_set(LEVEL_FLAG_2D_RBB_UNKNOWN, TRUE);
} }
} }
@@ -223,12 +223,14 @@ void func_803882B4(ActorMarker *marker, s32 arg1){
void RBB_func_803882F4(Actor *this){ void RBB_func_803882F4(Actor *this){
if(!this->volatile_initialized){ if(!this->volatile_initialized){
this->volatile_initialized = TRUE; this->volatile_initialized = TRUE;
if(levelSpecificFlags_get(0x2d)){
if (levelSpecificFlags_get(LEVEL_FLAG_2D_RBB_UNKNOWN)) {
func_80387AC0(); func_80387AC0();
RBB_func_80387960(0.0f); RBB_func_80387960(0.0f);
func_80387B24(); func_80387B24();
func_803881E8(this, 3); func_803881E8(this, 3);
}else{ }
else {
marker_setCollisionScripts(this->marker, NULL, func_803882B4, NULL); marker_setCollisionScripts(this->marker, NULL, func_803882B4, NULL);
func_8032AA58(this, 1.1f); func_8032AA58(this, 1.1f);
func_803881E8(this, 1); func_803881E8(this, 1);

View File

@@ -21,8 +21,8 @@ void __propellorCtrl_setState(s32 arg0){
} }
if(arg0 == 3 || arg0 == 4){ if(arg0 == 3 || arg0 == 4){
levelSpecificFlags_set(0x27, FALSE); levelSpecificFlags_set(LEVEL_FLAG_27_RBB_UNKNOWN, FALSE);
levelSpecificFlags_set(0x28, FALSE); levelSpecificFlags_set(LEVEL_FLAG_28_RBB_UNKNOWN, FALSE);
item_set(ITEM_9_PROPELLOR,0); item_set(ITEM_9_PROPELLOR,0);
if(arg0 == 3 && !jiggyscore_isCollected(JIGGY_57_RBB_PROPELLOR)){ if(arg0 == 3 && !jiggyscore_isCollected(JIGGY_57_RBB_PROPELLOR)){
timedFunc_set_1(0.5f, (GenFunction_1)func_802FAD64, 3); timedFunc_set_1(0.5f, (GenFunction_1)func_802FAD64, 3);
@@ -51,9 +51,11 @@ void rbb_propellorCtrl_start(void){
} }
void rbb_propellorCtrl_update(void){ void rbb_propellorCtrl_update(void){
if( __propellorCtrlState == 0) if (__propellorCtrlState == 0) {
if(levelSpecificFlags_get(0x27) && levelSpecificFlags_get(0x28)) if (levelSpecificFlags_get(LEVEL_FLAG_27_RBB_UNKNOWN) && levelSpecificFlags_get(LEVEL_FLAG_28_RBB_UNKNOWN)) {
__propellorCtrl_setState(1); __propellorCtrl_setState(1);
}
}
if(__propellorCtrlState == 1) if(__propellorCtrlState == 1)
if(ml_timer_update(&__propellorTimer,time_getDelta())) if(ml_timer_update(&__propellorTimer,time_getDelta()))

View File

@@ -39,11 +39,13 @@ void chLeaky_update(Actor *this) {
if (!this->volatile_initialized) { if (!this->volatile_initialized) {
this->volatile_initialized = TRUE; this->volatile_initialized = TRUE;
this->marker->propPtr->unk8_3 = FALSE; this->marker->propPtr->unk8_3 = FALSE;
if (levelSpecificFlags_get(5) != 0) {
levelSpecificFlags_set(5, FALSE); if (levelSpecificFlags_get(LEVEL_FLAG_5_TTC_UNKNOWN) != FALSE) {
levelSpecificFlags_set(LEVEL_FLAG_5_TTC_UNKNOWN, FALSE);
timedFunc_set_1(0.5f, (GenFunction_1)comusic_playTrack, COMUSIC_2D_PUZZLE_SOLVED_FANFARE); timedFunc_set_1(0.5f, (GenFunction_1)comusic_playTrack, COMUSIC_2D_PUZZLE_SOLVED_FANFARE);
} }
if (levelSpecificFlags_get(2) != 0) {
if (levelSpecificFlags_get(LEVEL_FLAG_2_TTC_UNKNOWN) != FALSE) {
temp_v0_2 = func_8034C5AC(300); temp_v0_2 = func_8034C5AC(300);
if (temp_v0_2 != 0) { if (temp_v0_2 != 0) {
func_8034E71C(temp_v0_2, -600, 0.0f); func_8034E71C(temp_v0_2, -600, 0.0f);
@@ -101,16 +103,19 @@ void __chLeaky_startCutscene(ActorMarker *caller, enum asset_e text_id, s32 arg2
bool chLeaky_eggCollision(ActorMarker *marker){ bool chLeaky_eggCollision(ActorMarker *marker){
Actor *this = marker_getActor(marker); Actor *this = marker_getActor(marker);
if(levelSpecificFlags_get(2)) if (levelSpecificFlags_get(LEVEL_FLAG_2_TTC_UNKNOWN)) {
return TRUE; return TRUE;
}
comusic_playTrack(COMUSIC_2B_DING_B); comusic_playTrack(COMUSIC_2B_DING_B);
this->unk38_31++; this->unk38_31++;
if(this->unk38_31 < 2)
return TRUE;
levelSpecificFlags_set(2, TRUE); if (this->unk38_31 < 2) {
levelSpecificFlags_set(5, TRUE); return TRUE;
}
levelSpecificFlags_set(LEVEL_FLAG_2_TTC_UNKNOWN, TRUE);
levelSpecificFlags_set(LEVEL_FLAG_5_TTC_UNKNOWN, TRUE);
gcdialog_showText(ASSET_A28_TEXT_LEAKY_DONE, 0x2a, this->position, this->marker, __chLeaky_startCutscene, NULL); gcdialog_showText(ASSET_A28_TEXT_LEAKY_DONE, 0x2a, this->position, this->marker, __chLeaky_startCutscene, NULL);
return TRUE; return TRUE;
} }

View File

@@ -387,7 +387,7 @@ void func_8038B094(void){
void *sp28; void *sp28;
if( map_get() == MAP_7_TTC_TREASURE_TROVE_COVE if( map_get() == MAP_7_TTC_TREASURE_TROVE_COVE
&& levelSpecificFlags_get(0x2) && levelSpecificFlags_get(LEVEL_FLAG_2_TTC_UNKNOWN)
){ ){
sp2C = func_8034C5AC(0x12C); sp2C = func_8034C5AC(0x12C);
if(sp2C){ if(sp2C){
@@ -401,7 +401,8 @@ void func_8038B094(void){
else{ else{
sp2C = func_8034C5AC(0x131); sp2C = func_8034C5AC(0x131);
sp28 = func_8034C5AC(0x12C); sp28 = func_8034C5AC(0x12C);
if(levelSpecificFlags_get(5)){
if (levelSpecificFlags_get(LEVEL_FLAG_5_TTC_UNKNOWN)) {
func_8034E71C(sp2C, -500, 10.0f); func_8034E71C(sp2C, -500, 10.0f);
func_80324E38(0.0f, 3); func_80324E38(0.0f, 3);
timed_setStaticCameraToNode(0.0f, 1); timed_setStaticCameraToNode(0.0f, 1);
@@ -410,7 +411,7 @@ void func_8038B094(void){
func_803228D8(); func_803228D8();
timedFunc_set_3(2.0f, (GenFunction_3) func_802E4078, MAP_7_TTC_TREASURE_TROVE_COVE, 1, 0); timedFunc_set_3(2.0f, (GenFunction_3) func_802E4078, MAP_7_TTC_TREASURE_TROVE_COVE, 1, 0);
} }
else if(levelSpecificFlags_get(2) || volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)){ else if (levelSpecificFlags_get(LEVEL_FLAG_2_TTC_UNKNOWN) || volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)) {
func_8034E71C(sp2C, -500, 0.0f); func_8034E71C(sp2C, -500, 0.0f);
} }
else { else {
@@ -474,7 +475,7 @@ void func_8038B2F0(void) {
} }
} }
if ((D_8038D720.unk8 == 0) || (D_8038D720.unk8 == 3)) { if ((D_8038D720.unk8 == 0) || (D_8038D720.unk8 == 3)) {
if( (levelSpecificFlags_get(2) || volatileFlag_get(VOLATILE_FLAG_3)) if( (levelSpecificFlags_get(LEVEL_FLAG_2_TTC_UNKNOWN) || volatileFlag_get(VOLATILE_FLAG_3))
&& (player_getActiveHitbox(0) == HITBOX_1_BEAK_BUSTER) && (player_getActiveHitbox(0) == HITBOX_1_BEAK_BUSTER)
&& func_8028F20C() && func_8028F20C()
) { ) {

View File

@@ -107,7 +107,7 @@ void func_8024AAB0(void){
break; break;
case MAP_41_FP_BOGGYS_IGLOO: //L8024AD08 case MAP_41_FP_BOGGYS_IGLOO: //L8024AD08
if( jiggyscore_isCollected(JIGGY_2E_FP_PRESENTS) if( jiggyscore_isCollected(JIGGY_2E_FP_PRESENTS)
|| (levelSpecificFlags_get(0x11) && levelSpecificFlags_get(0x12) && levelSpecificFlags_get(0x13)) || (levelSpecificFlags_get(LEVEL_FLAG_11_FP_UNKNOWN) && levelSpecificFlags_get(LEVEL_FLAG_12_FP_UNKNOWN) && levelSpecificFlags_get(LEVEL_FLAG_13_FP_UNKNOWN))
){ ){
D_80280708[2] = 0; D_80280708[2] = 0;
} }

View File

@@ -128,7 +128,7 @@ void bsjig_jiggy_end(void){
sp2C = 0xa16; sp2C = 0xa16;
break; break;
case 0x17: case 0x17:
if(!levelSpecificFlags_get(0) || !levelSpecificFlags_get(1)) if(!levelSpecificFlags_get(LEVEL_FLAG_0_CC_TOKEN_TOOTH_OPEN) || !levelSpecificFlags_get(LEVEL_FLAG_1_CC_JIGGY_TOOTH_OPEN))
sp2C = 0xd2d; sp2C = 0xd2d;
break; break;
} }

View File

@@ -90,10 +90,10 @@ void func_80357264(Actor *this, s32 next_state){
} }
if(next_state == 5){ if(next_state == 5){
if(!levelSpecificFlags_get(0x14) if(!levelSpecificFlags_get(LEVEL_FLAG_14_TTC_UNKNOWN)
&& !( actorArray_findClosestActorFromActorId(this->position, 0x318, -1, &sp38) && ( sp38 < 250.0f)) && !( actorArray_findClosestActorFromActorId(this->position, 0x318, -1, &sp38) && ( sp38 < 250.0f))
){ ){
levelSpecificFlags_set(0x14, TRUE); levelSpecificFlags_set(LEVEL_FLAG_14_TTC_UNKNOWN, TRUE);
func_80324E38(0.0f, 3); func_80324E38(0.0f, 3);
__clucker_setDeathCutsceneCamera(this); __clucker_setDeathCutsceneCamera(this);
timed_exitStaticCamera(2.0f); timed_exitStaticCamera(2.0f);

View File

@@ -152,7 +152,7 @@ void __chCrab_mutantTextCallback(ActorMarker *caller, enum asset_e text_id, s32
func_80324E38(3.0f, 0); func_80324E38(3.0f, 0);
return; return;
} }
levelSpecificFlags_set(0xE, FALSE); levelSpecificFlags_set(LEVEL_FLAG_E_CC_UNKNOWN, FALSE);
} }
bool __chCrab_802CB76C(ActorMarker *marker, ActorMarker *other) { bool __chCrab_802CB76C(ActorMarker *marker, ActorMarker *other) {
@@ -272,13 +272,13 @@ void chCrab_update(Actor *this) {
if ((this->state != 6) && (this->state != 5)) { if ((this->state != 6) && (this->state != 5)) {
gcdialog_showText(ASSET_D32_DIALOG_MUTANT_CRAB_MEET, 0xF, this->position, NULL, __chCrab_mutantTextCallback, NULL); gcdialog_showText(ASSET_D32_DIALOG_MUTANT_CRAB_MEET, 0xF, this->position, NULL, __chCrab_mutantTextCallback, NULL);
mapSpecificFlags_set(0, TRUE); mapSpecificFlags_set(0, TRUE);
levelSpecificFlags_set(0xE, TRUE); levelSpecificFlags_set(LEVEL_FLAG_E_CC_UNKNOWN, TRUE);
this->has_met_before = TRUE; this->has_met_before = TRUE;
} }
} }
if (map_get() == MAP_A_TTC_SANDCASTLE) { if (map_get() == MAP_A_TTC_SANDCASTLE) {
if( !mapSpecificFlags_get(0) if( !mapSpecificFlags_get(0)
&& levelSpecificFlags_get(2) && levelSpecificFlags_get(LEVEL_FLAG_2_TTC_UNKNOWN)
&& !volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME) && !volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)
&& !jiggyscore_isCollected(JIGGY_10_TTC_SANDCASTLE) && !jiggyscore_isCollected(JIGGY_10_TTC_SANDCASTLE)
&& func_80329530(this, 1600) && func_80329530(this, 1600)
@@ -290,7 +290,7 @@ void chCrab_update(Actor *this) {
mapSpecificFlags_set(1, FALSE); mapSpecificFlags_set(1, FALSE);
} }
} }
if (levelSpecificFlags_get(0xE)) { if (levelSpecificFlags_get(LEVEL_FLAG_E_CC_UNKNOWN)) {
if ((this->state != 8) && (this->state != 9)) { if ((this->state != 8) && (this->state != 9)) {
subaddie_set_state_with_direction(this, (this->has_met_before) ? 8 : 9, 0.0f, 1); subaddie_set_state_with_direction(this, (this->has_met_before) ? 8 : 9, 0.0f, 1);
this->has_met_before = FALSE; this->has_met_before = FALSE;
@@ -306,7 +306,7 @@ void chCrab_update(Actor *this) {
break; break;
case 9: //L802CBE6C case 9: //L802CBE6C
if (!levelSpecificFlags_get(0xE)) { if (!levelSpecificFlags_get(LEVEL_FLAG_E_CC_UNKNOWN)) {
subaddie_set_state_with_direction(this, 3, 0.0f, 1); subaddie_set_state_with_direction(this, 3, 0.0f, 1);
} }
break; break;
@@ -337,7 +337,7 @@ void chCrab_update(Actor *this) {
if (func_80329480(this)) { if (func_80329480(this)) {
subaddie_set_state(this, 9); subaddie_set_state(this, 9);
this->actor_specific_1_f = 12.0f; this->actor_specific_1_f = 12.0f;
} else if (!levelSpecificFlags_get(0xE)) { } else if (!levelSpecificFlags_get(LEVEL_FLAG_E_CC_UNKNOWN)) {
subaddie_set_state_with_direction(this, 3, 0.0f, 1); subaddie_set_state_with_direction(this, 3, 0.0f, 1);
} }
break; break;

View File

@@ -181,10 +181,12 @@ void chjiggy_update(Actor *this){
func_802C7B8C(this, 0xd, 0xc, 0x1e, 9, 0xb, VOLATILE_FLAG_AF_BGS_MAZE_JIGGY_MISSED); func_802C7B8C(this, 0xd, 0xc, 0x1e, 9, 0xb, VOLATILE_FLAG_AF_BGS_MAZE_JIGGY_MISSED);
break; break;
case JIGGY_2F_FP_XMAS_TREE://L802C8048 case JIGGY_2F_FP_XMAS_TREE://L802C8048
if(levelSpecificFlags_get(0x29)) if (levelSpecificFlags_get(LEVEL_FLAG_29_FP_UNKNOWN)) {
actor_collisionOn(this); actor_collisionOn(this);
else }
else {
actor_collisionOff(this); actor_collisionOff(this);
}
break; break;
} }
break; break;

View File

@@ -185,18 +185,18 @@ void chmole_additionalAbilityLearnActions(ActorMarker *marker, enum asset_e arg1
switch(arg2){ switch(arg2){
case 1: // Stilt Stride case 1: // Stilt Stride
timed_setStaticCameraToNode(0.0f, 0x11); timed_setStaticCameraToNode(0.0f, 0x11);
levelSpecificFlags_set(0x1A, 1); levelSpecificFlags_set(LEVEL_FLAG_1A_UNKNOWN, TRUE);
break; break;
case 2: case 2:
levelSpecificFlags_set(0x1A, 0); levelSpecificFlags_set(LEVEL_FLAG_1A_UNKNOWN, FALSE);
chmole_setStaticCamera(actor); chmole_setStaticCamera(actor);
break; break;
case 3: // Turbo Talon Trainer case 3: // Turbo Talon Trainer
timed_setStaticCameraToNode(0.0f, 0x29); timed_setStaticCameraToNode(0.0f, 0x29);
levelSpecificFlags_set(0x1A, 1); levelSpecificFlags_set(LEVEL_FLAG_1A_UNKNOWN, TRUE);
break; break;
case 4: case 4:
levelSpecificFlags_set(0x1A, 0); levelSpecificFlags_set(LEVEL_FLAG_1A_UNKNOWN, FALSE);
chmole_setStaticCamera(actor); chmole_setStaticCamera(actor);
break; break;
case 5: // Egg Firing case 5: // Egg Firing

View File

@@ -142,12 +142,13 @@ void __chTermite_die(ActorMarker *marker, ActorMarker *other_marker){
FUNC_8030E624(SFX_D1_SNORKEL_WAH, 1.4f, 32750); FUNC_8030E624(SFX_D1_SNORKEL_WAH, 1.4f, 32750);
marker_despawn(marker); marker_despawn(marker);
} }
void __chTermite_testCallback(ActorMarker *caller, enum asset_e text_id, s32 arg2) { void __chTermite_testCallback(ActorMarker *caller, enum asset_e text_id, s32 arg2) {
Actor *this; Actor *this;
this = marker_getActor(caller); this = marker_getActor(caller);
this->has_met_before = FALSE; this->has_met_before = FALSE;
levelSpecificFlags_set(0xd, FALSE); levelSpecificFlags_set(LEVEL_FLAG_D_MM_UNKNOWN, FALSE);
} }
void chTermite_update(Actor *this) { void chTermite_update(Actor *this) {
@@ -172,7 +173,7 @@ void chTermite_update(Actor *this) {
) { ) {
gcdialog_showText(ASSET_B43_DIALOG_TERMITE_MEET_AS_BEAR, 7, this->position, this->marker, __chTermite_testCallback, NULL); gcdialog_showText(ASSET_B43_DIALOG_TERMITE_MEET_AS_BEAR, 7, this->position, this->marker, __chTermite_testCallback, NULL);
mapSpecificFlags_set(0, TRUE); mapSpecificFlags_set(0, TRUE);
levelSpecificFlags_set(0xD, TRUE); levelSpecificFlags_set(LEVEL_FLAG_D_MM_UNKNOWN, TRUE);
this->has_met_before = TRUE; this->has_met_before = TRUE;
} }
@@ -181,13 +182,14 @@ void chTermite_update(Actor *this) {
&& func_8028ECAC() == 0 && func_8028ECAC() == 0
&& player_getTransformation() == TRANSFORM_2_TERMITE && player_getTransformation() == TRANSFORM_2_TERMITE
) { ) {
if (!levelSpecificFlags_get(0xB)) { if (!levelSpecificFlags_get(LEVEL_FLAG_B_MM_UNKNOWN)) {
if (gcdialog_showText(ASSET_B41_DIALOG_TERMITE_COOL_SHORTS, 0, NULL, NULL, NULL, NULL)) { if (gcdialog_showText(ASSET_B41_DIALOG_TERMITE_COOL_SHORTS, 0, NULL, NULL, NULL, NULL)) {
levelSpecificFlags_set(0xB, TRUE); levelSpecificFlags_set(LEVEL_FLAG_B_MM_UNKNOWN, TRUE);
this->unk138_23 = TRUE; this->unk138_23 = TRUE;
} }
} else if (!levelSpecificFlags_get(0xC) && !this->unk138_23 && (gcdialog_showText(ASSET_B42_DIALOG_TERMITE_COOL_BACKPACK, 0, NULL, NULL, NULL, NULL))) { }
levelSpecificFlags_set(0xC, TRUE); else if (!levelSpecificFlags_get(LEVEL_FLAG_C_MM_UNKNOWN) && !this->unk138_23 && (gcdialog_showText(ASSET_B42_DIALOG_TERMITE_COOL_BACKPACK, 0, NULL, NULL, NULL, NULL))) {
levelSpecificFlags_set(LEVEL_FLAG_C_MM_UNKNOWN, TRUE);
} }
} }
switch (this->state) { switch (this->state) {

View File

@@ -56,7 +56,8 @@ void _chtrainers_802CA378(Actor *this, bool arg1){
} }
void chtrainers_update(Actor *this){ void chtrainers_update(Actor *this){
s32 sp2C = levelSpecificFlags_get(0x1a); s32 sp2C = levelSpecificFlags_get(LEVEL_FLAG_1A_UNKNOWN);
if (sp2C && this->unkF4_8 != 1) { if (sp2C && this->unkF4_8 != 1) {
return; return;
} }

View File

@@ -33,7 +33,8 @@ Actor *chwadingboots_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
} }
void chwadingboots_update(Actor *this){ void chwadingboots_update(Actor *this){
s32 sp2C = levelSpecificFlags_get(0x1a); s32 sp2C = levelSpecificFlags_get(LEVEL_FLAG_1A_UNKNOWN);
if (sp2C && this->unkF4_8 != 1) { if (sp2C && this->unkF4_8 != 1) {
return; return;
} }

View File

@@ -360,8 +360,8 @@ void chMumbo_update(Actor *this) {
break; break;
} }
func_8025A6EC(COMUSIC_2C_BUZZER, 22000); func_8025A6EC(COMUSIC_2C_BUZZER, 22000);
if ((levelSpecificFlags_get(0x3E) == 0) && (gcdialog_showText(ASSET_DAC_DIALOG_MUMBO_FAIL_TO_BUY, 0, NULL, NULL, NULL, NULL) != 0)) { if ((levelSpecificFlags_get(LEVEL_FLAG_3E_UNKNOWN) == FALSE) && (gcdialog_showText(ASSET_DAC_DIALOG_MUMBO_FAIL_TO_BUY, 0, NULL, NULL, NULL, NULL) != 0)) {
levelSpecificFlags_set(0x3E, 1); levelSpecificFlags_set(LEVEL_FLAG_3E_UNKNOWN, 1);
} }
} }
} }

View File

@@ -218,10 +218,10 @@ void func_802D31AC(ActorMarker *arg0, ActorMarker * arg1) {
case 0x108: case 0x108:
case 0x263: case 0x263:
if ((arg0->id == 0x9D) || (arg0->id == 0xE7)) { if ((arg0->id == 0x9D) || (arg0->id == 0xE7)) {
levelSpecificFlags_set(0x2E, 1); levelSpecificFlags_set(LEVEL_FLAG_2E_MMM_UNKNOWN, 1);
} }
if (arg0->id == 0x263) { if (arg0->id == 0x263) {
levelSpecificFlags_set(0x38, 1); levelSpecificFlags_set(LEVEL_FLAG_38_CCW_UNKNOWN, 1);
} }
func_802D2FB0(sp2C, 5, -0x28, 0xC8, 0.85f, 0xDC, 0x3C, 0x64); func_802D2FB0(sp2C, 5, -0x28, 0xC8, 0.85f, 0xDC, 0x3C, 0x64);
func_8030E540(SFX_D_EGGSHELL_BREAKING); func_8030E540(SFX_D_EGGSHELL_BREAKING);
@@ -817,46 +817,50 @@ void func_802D5260(void) {
: -1; : -1;
if (sp3C == -1) { if (sp3C == -1) {
levelSpecificFlags_set(0x3C, FALSE); levelSpecificFlags_set(LEVEL_FLAG_3C_LAIR_UNKNOWN, FALSE);
fileProgressFlag_set(FILEPROG_26_WATER_SWITCH_3_PRESSED, FALSE); fileProgressFlag_set(FILEPROG_26_WATER_SWITCH_3_PRESSED, FALSE);
fileProgressFlag_set(FILEPROG_27_LAIR_WATER_LEVEL_3, FALSE); fileProgressFlag_set(FILEPROG_27_LAIR_WATER_LEVEL_3, FALSE);
levelSpecificFlags_set(0x3D, FALSE); levelSpecificFlags_set(LEVEL_FLAG_3D_LAIR_UNKNOWN, FALSE);
return; return;
} }
sp38 = func_8034C528(sp3C + 0x190); sp38 = func_8034C528(sp3C + 0x190);
if( fileProgressFlag_get(FILEPROG_27_LAIR_WATER_LEVEL_3) if( fileProgressFlag_get(FILEPROG_27_LAIR_WATER_LEVEL_3)
&& !levelSpecificFlags_get(0x3D) && !levelSpecificFlags_get(LEVEL_FLAG_3D_LAIR_UNKNOWN)
&& !levelSpecificFlags_get(0x3C) && !levelSpecificFlags_get(LEVEL_FLAG_3C_LAIR_UNKNOWN)
) { ) {
func_802D68F0(30); func_802D68F0(30);
item_set(ITEM_6_HOURGLASS, TRUE); item_set(ITEM_6_HOURGLASS, TRUE);
levelSpecificFlags_set(0x3D, TRUE); levelSpecificFlags_set(LEVEL_FLAG_3D_LAIR_UNKNOWN, TRUE);
} }
if( levelSpecificFlags_get(0x3D) if( levelSpecificFlags_get(LEVEL_FLAG_3D_LAIR_UNKNOWN)
&& !levelSpecificFlags_get(0x3C) && !levelSpecificFlags_get(LEVEL_FLAG_3C_LAIR_UNKNOWN)
&& item_getCount(ITEM_6_HOURGLASS) == FALSE && item_getCount(ITEM_6_HOURGLASS) == FALSE
) { ) {
levelSpecificFlags_set(0x3C, TRUE); levelSpecificFlags_set(LEVEL_FLAG_3C_LAIR_UNKNOWN, TRUE);
levelSpecificFlags_set(0x3D, FALSE); levelSpecificFlags_set(LEVEL_FLAG_3D_LAIR_UNKNOWN, FALSE);
D_803676A4 = 0.0f; D_803676A4 = 0.0f;
} }
if (levelSpecificFlags_get(0x3C)) {
if (levelSpecificFlags_get(LEVEL_FLAG_3C_LAIR_UNKNOWN)) {
D_803676A4 -= 5.0; D_803676A4 -= 5.0;
if (D_803676A8 == 0) { if (D_803676A8 == 0) {
D_803676A8 = func_802F9AA8(SFX_3EC_CCW_DOOR_OPENING); D_803676A8 = func_802F9AA8(SFX_3EC_CCW_DOOR_OPENING);
func_802FA060(D_803676A8, 20000, 20000, 0.0f); func_802FA060(D_803676A8, 20000, 20000, 0.0f);
func_802F9F80(D_803676A8, 0.0f, 1.0e8f, 0.0f); func_802F9F80(D_803676A8, 0.0f, 1.0e8f, 0.0f);
} }
if (D_803679C8[sp3C].unk6 + D_803676A4 <= D_803679C8[sp3C].unk4) { if (D_803679C8[sp3C].unk6 + D_803676A4 <= D_803679C8[sp3C].unk4) {
levelSpecificFlags_set(0x3C, FALSE); levelSpecificFlags_set(LEVEL_FLAG_3C_LAIR_UNKNOWN, FALSE);
fileProgressFlag_set(FILEPROG_26_WATER_SWITCH_3_PRESSED, FALSE); fileProgressFlag_set(FILEPROG_26_WATER_SWITCH_3_PRESSED, FALSE);
fileProgressFlag_set(FILEPROG_27_LAIR_WATER_LEVEL_3, FALSE); fileProgressFlag_set(FILEPROG_27_LAIR_WATER_LEVEL_3, FALSE);
func_802F9D38(D_803676A8); func_802F9D38(D_803676A8);
D_803676A8 = 0; D_803676A8 = 0;
} }
} }
if (sp38 != 0) { if (sp38 != 0) {
if (levelSpecificFlags_get(0x3C) != 0) { if (levelSpecificFlags_get(LEVEL_FLAG_3C_LAIR_UNKNOWN) != FALSE) {
sp34 = D_803679C8[sp3C].unk6 + D_803676A4; sp34 = D_803679C8[sp3C].unk6 + D_803676A4;
} else { } else {
sp34 = ((s16 *)&D_803679C8[sp3C])[(fileProgressFlag_get(FILEPROG_27_LAIR_WATER_LEVEL_3)) ? 3 sp34 = ((s16 *)&D_803679C8[sp3C])[(fileProgressFlag_get(FILEPROG_27_LAIR_WATER_LEVEL_3)) ? 3
@@ -1012,16 +1016,16 @@ void func_802D5628(void){
} }
else{//L802D5B64 else{//L802D5B64
func_802D5260(); func_802D5260();
func_802D5178(0x1C, 0x28, 0x30, MAP_69_GL_MM_LOBBY, 0x8, 0xA, ACTOR_20E_MM_ENTRANCE_DOOR, 0x28); func_802D5178(LEVEL_FLAG_1C_MM_UNKNOWN, 0x28, 0x30, MAP_69_GL_MM_LOBBY, 0x8, 0xA, ACTOR_20E_MM_ENTRANCE_DOOR, 0x28);
func_802D5178(0x21, 0x2D, 0x31, MAP_6E_GL_GV_LOBBY, 0xA, 0xA, ACTOR_226_GV_ENTRANCE, 0x12); func_802D5178(LEVEL_FLAG_21_GV_UNKNOWN, 0x2D, 0x31, MAP_6E_GL_GV_LOBBY, 0xA, 0xA, ACTOR_226_GV_ENTRANCE, 0x12);
func_802D5178(0x1E, 0x2A, 0x32, MAP_70_GL_CC_LOBBY, 0xE, 0xA, ACTOR_212_CC_ENTRANCE_BARS, 0xA); func_802D5178(LEVEL_FLAG_1E_CC_UNKNOWN, 0x2A, 0x32, MAP_70_GL_CC_LOBBY, 0xE, 0xA, ACTOR_212_CC_ENTRANCE_BARS, 0xA);
func_802D5178(0x1D, 0x29, 0x33, MAP_6D_GL_TTC_LOBBY, 0x9, 0xB, ACTOR_211_TCC_ENTRANCE_CHEST_LID, 0xA); func_802D5178(LEVEL_FLAG_1D_TTC_UNKNOWN, 0x29, 0x33, MAP_6D_GL_TTC_LOBBY, 0x9, 0xB, ACTOR_211_TCC_ENTRANCE_CHEST_LID, 0xA);
func_802D5178(0x1F, 0x2B, 0x34, MAP_72_GL_BGS_LOBBY, 0xB, 0xB, ACTOR_210_BGS_ENTRANCE_DOOR, 0xA); func_802D5178(LEVEL_FLAG_1F_BGS_UNKNOWN, 0x2B, 0x34, MAP_72_GL_BGS_LOBBY, 0xB, 0xB, ACTOR_210_BGS_ENTRANCE_DOOR, 0xA);
func_802D5178(0x23, 0x2F, 0x35, MAP_77_GL_RBB_LOBBY, 0xD, 0x5, ACTOR_20F_RBB_ENTRANCE_DOOR, 0xA); func_802D5178(LEVEL_FLAG_23_RBB_UNKNOWN, 0x2F, 0x35, MAP_77_GL_RBB_LOBBY, 0xD, 0x5, ACTOR_20F_RBB_ENTRANCE_DOOR, 0xA);
func_802D5178(0x22, 0x2E, 0x36, MAP_75_GL_MMM_LOBBY, 0xC, 0x6, ACTOR_228_MMM_ENTRANCE_DOOR, 0xA); func_802D5178(LEVEL_FLAG_22_MMM_UNKNOWN, 0x2E, 0x36, MAP_75_GL_MMM_LOBBY, 0xC, 0x6, ACTOR_228_MMM_ENTRANCE_DOOR, 0xA);
func_802D5178(0x24, 0x30, 0x37, MAP_79_GL_CCW_LOBBY, 0xF, 0xB, ACTOR_234_CCW_ENTRANCE_DOOR, 0xA); func_802D5178(LEVEL_FLAG_24_CCW_UNKNOWN, 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(LEVEL_FLAG_20_FP_UNKNOWN, 0x2C, 0x38, MAP_6F_GL_FP_LOBBY, 0x11, 0xA, ACTOR_235_FP_ENTANCE_DOOR, 0xA);
func_802D5178(0x3F, 0xE2, 0x40, MAP_93_GL_DINGPOT, 0x10, 0xA, ACTOR_2E5_DOOR_OF_GRUNTY, 0x28); func_802D5178(LEVEL_FLAG_3F_LAIR_UNKNOWN, 0xE2, 0x40, MAP_93_GL_DINGPOT, 0x10, 0xA, ACTOR_2E5_DOOR_OF_GRUNTY, 0x28);
if(volatileFlag_get(VOLATILE_FLAG_18)){ if(volatileFlag_get(VOLATILE_FLAG_18)){
if(!fileProgressFlag_get(FILEPROG_99_PAST_50_NOTE_DOOR_TEXT)){ if(!fileProgressFlag_get(FILEPROG_99_PAST_50_NOTE_DOOR_TEXT)){
func_80311174(0xF75, 0xE, NULL, NULL, NULL, NULL, func_802D5140); func_80311174(0xF75, 0xE, NULL, NULL, NULL, NULL, func_802D5140);

View File

@@ -85,7 +85,7 @@ void __chLevelCollectible_presentCollectEmitSparkles(f32 position[3], enum asset
} }
s32 __chLevelCollectible_dialogCallback(ActorMarker *marker, enum asset_e text_id, s32 arg2) { s32 __chLevelCollectible_dialogCallback(ActorMarker *marker, enum asset_e text_id, s32 arg2) {
return -(levelSpecificFlags_get(0x2A) + levelSpecificFlags_get(0x2B) + levelSpecificFlags_get(0x2C)); return -(levelSpecificFlags_get(LEVEL_FLAG_2A_FP_UNKNOWN) + levelSpecificFlags_get(LEVEL_FLAG_2B_FP_UNKNOWN) + levelSpecificFlags_get(LEVEL_FLAG_2C_FP_UNKNOWN));
} }
@@ -123,21 +123,21 @@ void __chLevelCollectible_collide(ActorMarker *marker, ActorMarker *other_marker
break; break;
case MARKER_1FD_BLUE_PRESENT_COLLECTIBLE: case MARKER_1FD_BLUE_PRESENT_COLLECTIBLE:
levelSpecificFlags_set(0x2A, TRUE); levelSpecificFlags_set(LEVEL_FLAG_2A_FP_UNKNOWN, TRUE);
func_8025A6EC(COMUSIC_2B_DING_B, 0x7FFF); func_8025A6EC(COMUSIC_2B_DING_B, 0x7FFF);
__chLevelCollectible_presentCollectEmitSparkles(this->position, ASSET_711_SPRITE_SPARKLE_DARK_BLUE); __chLevelCollectible_presentCollectEmitSparkles(this->position, ASSET_711_SPRITE_SPARKLE_DARK_BLUE);
dialog_id = ASSET_C20_DIALOG_PRESENT_COLLECTIBLE_MEET_BLUE; dialog_id = ASSET_C20_DIALOG_PRESENT_COLLECTIBLE_MEET_BLUE;
break; break;
case MARKER_1FE_GREEN_PRESENT_COLLECTIBLE: case MARKER_1FE_GREEN_PRESENT_COLLECTIBLE:
levelSpecificFlags_set(0x2B, TRUE); levelSpecificFlags_set(LEVEL_FLAG_2B_FP_UNKNOWN, TRUE);
func_8025A6EC(COMUSIC_2B_DING_B, 0x7FFF); func_8025A6EC(COMUSIC_2B_DING_B, 0x7FFF);
__chLevelCollectible_presentCollectEmitSparkles(this->position, ASSET_712_SPRITE_SPARKLE_GREEN); __chLevelCollectible_presentCollectEmitSparkles(this->position, ASSET_712_SPRITE_SPARKLE_GREEN);
dialog_id = ASSET_C21_DIALOG_PRESENT_COLLECTIBLE_MEET_GREEN; dialog_id = ASSET_C21_DIALOG_PRESENT_COLLECTIBLE_MEET_GREEN;
break; break;
case MARKER_1FF_RED_PRESENT_COLLECTIBLE: case MARKER_1FF_RED_PRESENT_COLLECTIBLE:
levelSpecificFlags_set(0x2C, TRUE); levelSpecificFlags_set(LEVEL_FLAG_2C_FP_UNKNOWN, TRUE);
func_8025A6EC(COMUSIC_2B_DING_B, 0x7FFF); func_8025A6EC(COMUSIC_2B_DING_B, 0x7FFF);
__chLevelCollectible_presentCollectEmitSparkles(this->position, ASSET_715_SPRITE_SPARKLE_RED); __chLevelCollectible_presentCollectEmitSparkles(this->position, ASSET_715_SPRITE_SPARKLE_RED);
dialog_id = ASSET_C22_DIALOG_PRESENT_COLLECTIBLE_MEET_RED; dialog_id = ASSET_C22_DIALOG_PRESENT_COLLECTIBLE_MEET_RED;
@@ -241,15 +241,15 @@ void __chLevelCollectible_returnObj(Actor *this) {
break; break;
case MARKER_1FD_BLUE_PRESENT_COLLECTIBLE: case MARKER_1FD_BLUE_PRESENT_COLLECTIBLE:
func_8025A6EC(COMUSIC_2B_DING_B, 32000); func_8025A6EC(COMUSIC_2B_DING_B, 32000);
levelSpecificFlags_set(0x11, 1); levelSpecificFlags_set(LEVEL_FLAG_11_FP_UNKNOWN, TRUE);
break; break;
case MARKER_1FE_GREEN_PRESENT_COLLECTIBLE: case MARKER_1FE_GREEN_PRESENT_COLLECTIBLE:
func_8025A6EC(COMUSIC_2B_DING_B, 32000); func_8025A6EC(COMUSIC_2B_DING_B, 32000);
levelSpecificFlags_set(0x12, 1); levelSpecificFlags_set(LEVEL_FLAG_12_FP_UNKNOWN, TRUE);
break; break;
case MARKER_1FF_RED_PRESENT_COLLECTIBLE: case MARKER_1FF_RED_PRESENT_COLLECTIBLE:
func_8025A6EC(COMUSIC_2B_DING_B, 32000); func_8025A6EC(COMUSIC_2B_DING_B, 32000);
levelSpecificFlags_set(0x13, 1); levelSpecificFlags_set(LEVEL_FLAG_13_FP_UNKNOWN, TRUE);
break; break;
} }
} }

View File

@@ -278,7 +278,7 @@ void func_803465E4(void){
} }
if(!func_8028EC04() && func_8028F070()){ if(!func_8028EC04() && func_8028F070()){
if(level_get() != LEVEL_2_TREASURE_TROVE_COVE || !levelSpecificFlags_get(5)){ if(level_get() != LEVEL_2_TREASURE_TROVE_COVE || !levelSpecificFlags_get(LEVEL_FLAG_5_TTC_UNKNOWN)){
is_underwater = (player_getWaterState() == BSWATERGROUP_2_UNDERWATER); is_underwater = (player_getWaterState() == BSWATERGROUP_2_UNDERWATER);
is_on_water_surface = (player_getWaterState() == BSWATERGROUP_1_SURFACE); is_on_water_surface = (player_getWaterState() == BSWATERGROUP_1_SURFACE);
is_in_polluted_or_winter_water = ((level_get() == LEVEL_9_RUSTY_BUCKET_BAY) || (map_get() == MAP_46_CCW_WINTER)); is_in_polluted_or_winter_water = ((level_get() == LEVEL_9_RUSTY_BUCKET_BAY) || (map_get() == MAP_46_CCW_WINTER));
@@ -398,10 +398,10 @@ void func_80346DB4(s32 note_count) {
gcdialog_showText(0xF78, 4, NULL, NULL, NULL, NULL); gcdialog_showText(0xF78, 4, NULL, NULL, NULL, NULL);
} }
if (note_count == 1) { if (note_count == 1) {
levelSpecificFlags_set(0x34, TRUE); levelSpecificFlags_set(LEVEL_FLAG_34_UNKNOWN, TRUE);
} }
if (!levelSpecificFlags_get(0x34) && (gcdialog_showText(0xF76, 0, NULL, NULL, NULL, NULL))) { if (!levelSpecificFlags_get(LEVEL_FLAG_34_UNKNOWN) && (gcdialog_showText(0xF76, 0, NULL, NULL, NULL, NULL))) {
levelSpecificFlags_set(0x34, TRUE); levelSpecificFlags_set(LEVEL_FLAG_34_UNKNOWN, TRUE);
} }
if (volatileFlag_get(VOLATILE_FLAG_17) == 0) { if (volatileFlag_get(VOLATILE_FLAG_17) == 0) {
volatileFlag_set(VOLATILE_FLAG_17, 1); volatileFlag_set(VOLATILE_FLAG_17, 1);

View File

@@ -252,7 +252,7 @@ void mapModel_opa_draw(Gfx **gfx, Mtx **mtx, Vtx **vtx) {
break; break;
case MAP_12_GV_GOBIS_VALLEY: case MAP_12_GV_GOBIS_VALLEY:
func_8033A45C(1, levelSpecificFlags_get(6) ? 1 : 0); func_8033A45C(1, levelSpecificFlags_get(LEVEL_FLAG_6_GV_UNKNOWN) ? 1 : 0);
func_8033A45C(2, jiggyscore_isCollected(JIGGY_42_GV_WATER_PYRAMID) ? 0 : 1); func_8033A45C(2, jiggyscore_isCollected(JIGGY_42_GV_WATER_PYRAMID) ? 0 : 1);
func_8033A45C(5, jiggyscore_isCollected(JIGGY_42_GV_WATER_PYRAMID) ? 1 : 0); func_8033A45C(5, jiggyscore_isCollected(JIGGY_42_GV_WATER_PYRAMID) ? 1 : 0);
break; break;

View File

@@ -90,7 +90,7 @@ void func_8038EBEC(ActorMarker *marker) {
if (this->unkF4_8 == 0xA) { if (this->unkF4_8 == 0xA) {
func_8028F918(0); func_8028F918(0);
func_8028F918(2); func_8028F918(2);
levelSpecificFlags_set(0x3F, TRUE); levelSpecificFlags_set(LEVEL_FLAG_3F_LAIR_UNKNOWN, TRUE);
return; return;
} }
if (this->unkF4_8 == 0xB) { if (this->unkF4_8 == 0xB) {