From 18a88b3436456173d31642b209ce9170183e994f Mon Sep 17 00:00:00 2001 From: Bl00D4NGEL Date: Tue, 1 Oct 2024 21:38:40 +0200 Subject: [PATCH 1/6] refac: rename variables in func_802C4768 --- src/core2/ch/gameSelect.c | 60 +++++++++++++++++++-------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/src/core2/ch/gameSelect.c b/src/core2/ch/gameSelect.c index 570c89cb..6c762752 100644 --- a/src/core2/ch/gameSelect.c +++ b/src/core2/ch/gameSelect.c @@ -178,8 +178,8 @@ void *func_802C44EC(f32 arg0[3], f32 arg1[3], f32 arg2) { void func_802C4768(s32 gamenum){ u8 * sp20[2]; - static u8 D_8037DD48[0x20]; - static u8 D_8037DD68[0x20]; + static u8 upperTextLine[0x20]; + static u8 lowerTextLine[0x20]; func_8031FBF8(); D_80365E00 = gamenum; @@ -188,59 +188,59 @@ void func_802C4768(s32 gamenum){ gameFile_load(gamenum); D_8037DCCE[gamenum] = (itemscore_timeScores_get(LEVEL_6_LAIR)) ? 1 : 0; - strcpy(D_8037DD48, ""); - strcat(D_8037DD48, "GAME "); + strcpy(upperTextLine, ""); + strcat(upperTextLine, "GAME "); switch(gamenum){ case 0: //L802C4820 - strIToA(D_8037DD48, 1); + strIToA(upperTextLine, 1); break; case 1: //L802C4838 - strIToA(D_8037DD48, 3); + strIToA(upperTextLine, 3); break; case 2: //L802C484C - strIToA(D_8037DD48, 2); + strIToA(upperTextLine, 2); break; }//L802C4858 - strcat(D_8037DD48, ": TIME "); - strcat(D_8037DD48, gcpausemenu_TimeToA(itemscore_timeScores_getTotal())); - strcat(D_8037DD48, ","); - strcat(D_8037DD48, ""); + strcat(upperTextLine, ": TIME "); + strcat(upperTextLine, gcpausemenu_TimeToA(itemscore_timeScores_getTotal())); + strcat(upperTextLine, ","); + strcat(upperTextLine, ""); - strcpy(D_8037DD68, ""); - strIToA(D_8037DD68, jiggyscore_total()); - strcat(D_8037DD68, " JIGSAW"); + strcpy(lowerTextLine, ""); + strIToA(lowerTextLine, jiggyscore_total()); + strcat(lowerTextLine, " JIGSAW"); if(jiggyscore_total() != 1){ - strcat(D_8037DD68, "S"); + strcat(lowerTextLine, "S"); } - strcat(D_8037DD68, ", "); - strIToA(D_8037DD68, itemscore_noteScores_getTotal()); - strcat(D_8037DD68, " NOTE"); + strcat(lowerTextLine, ", "); + strIToA(lowerTextLine, itemscore_noteScores_getTotal()); + strcat(lowerTextLine, " NOTE"); if(itemscore_noteScores_getTotal() != 1){ - strcat(D_8037DD68, "S"); + strcat(lowerTextLine, "S"); } - strcat(D_8037DD68, "."); - strcat(D_8037DD68, ""); + strcat(lowerTextLine, "."); + strcat(lowerTextLine, ""); }//L802C49AC else{ D_8037DCCE[gamenum] = 0; - strcpy(D_8037DD48, ""); - strcat(D_8037DD48, "GAME "); + strcpy(upperTextLine, ""); + strcat(upperTextLine, "GAME "); switch (gamenum){ case 0: - strIToA(D_8037DD48, 1); + strIToA(upperTextLine, 1); break; case 1: - strIToA(D_8037DD48, 3); + strIToA(upperTextLine, 3); break; case 2: - strIToA(D_8037DD48, 2); + strIToA(upperTextLine, 2); break; }//L802C4A40 - strcat(D_8037DD48, ": EMPTY"); - strcpy(D_8037DD68, ""); + strcat(upperTextLine, ": EMPTY"); + strcpy(lowerTextLine, ""); }//L802C4A68 - sp20[0] = D_8037DD48;\ - sp20[1] = D_8037DD68; + sp20[0] = upperTextLine;\ + sp20[1] = lowerTextLine; func_8031877C(chGameSelectBottomZoombox); gczoombox_setStrings(chGameSelectBottomZoombox, 2, sp20); gczoombox_maximize(chGameSelectBottomZoombox); From 7984c313a8f8969c8ed658e079c289f76a61ad0e Mon Sep 17 00:00:00 2001 From: Bl00D4NGEL Date: Tue, 1 Oct 2024 23:48:12 +0200 Subject: [PATCH 2/6] document: fileprogresss related code, replaced magic numbers with constants where applicable --- include/enums.h | 61 ++++++++++++++++++++++++++++++--- include/functions.h | 12 +++---- include/prop.h | 2 +- src/BGS/ch/code_2270.c | 4 +-- src/CCW/code_1B20.c | 2 +- src/CCW/code_3310.c | 4 +-- src/FP/ch/xmastree.c | 6 ++-- src/TTC/code_3E30.c | 6 ++-- src/core2/ba/marker.c | 12 +++---- src/core2/ch/snowman.c | 2 +- src/core2/code_47BD0.c | 2 +- src/core2/code_4A6F0.c | 8 ++--- src/core2/code_4C020.c | 55 +++++++++++++++++------------ src/core2/code_53A10.c | 16 ++++----- src/core2/code_956B0.c | 8 ++--- src/core2/code_98CB0.c | 25 +++++++------- src/core2/code_B5040.c | 78 +++++++++++++++++++++--------------------- src/core2/code_C4320.c | 13 ++++++- src/lair/code_0.c | 30 ++++++++-------- src/lair/code_86F0.c | 2 +- src/lair/code_9C40.c | 11 +++--- 21 files changed, 218 insertions(+), 141 deletions(-) diff --git a/include/enums.h b/include/enums.h index 543185ca..40705f65 100644 --- a/include/enums.h +++ b/include/enums.h @@ -13,7 +13,7 @@ #define SPRITE_TYPE_RGBA16 (1 << 10) ////0x400 #define SPRITE_TYPE_RGBA32 (1 << 11) -enum file_progress_e{ +enum file_progress_e { FILEPROG_0_UNKNOWN, FILEPROG_1_UNKNOWN, FILEPROG_2_UNKNOWN, @@ -201,8 +201,8 @@ enum file_progress_e{ FILEPROG_DE_USED_ALL_YOUR_PUZZLE_PIECES, FILEPROG_DF_CAN_REMOVE_ALL_PUZZLE_PIECES, FILEPROG_E0_CAN_PLACE_ALL_PUZZLE_PIECES, - - FILEPROG_E2_DOOR_OF_GRUNTY_OPEN = 0xE2, + FILEPROG_E1_UNKNOWN, // is set in cutscene_skipGameOverCutsceneCheck + FILEPROG_E2_DOOR_OF_GRUNTY_OPEN, FILEPROG_E3_CCW_FLOWER_SPRING, FILEPROG_E4_CCW_FLOWER_SUMMER, FILEPROG_E5_CCW_FLOWER_AUTUMN, @@ -227,8 +227,48 @@ enum file_progress_e{ FILEPROG_F8_KING_SANDYBUTT_PYRAMID_STATE = 0xF8, //2bit // FILEPROG_F8_KING_SANDYBUTT_PYRAMID_STATE = 0xF9, //2bit + FILEPROG_FA_UNKNOWN = 0xFA, // Something that's set in FF + FILEPROG_FC_DEFEAT_GRUNTY = 0xFC, - FILEPROG_FD_BANNED_CHEATCODES_ENTERED //2 bit + FILEPROG_FD_BANNED_CHEATCODES_ENTERED, //2 bit + + FILEPROG_FF_SANDCASTLE_OPEN_DOOR_TWO = 0xFF, + FILEPROG_100_SANDCASTLE_OPEN_DOOR_THREE, + FILEPROG_101_SANDCASTLE_OPEN_DOOR_FOUR, + FILEPROG_102_SANDCASTLE_OPEN_DOOR_FIVE, + FILEPROG_103_SANDCASTLE_OPEN_DOOR_SIX, + FILEPROG_104_SANDCASTLE_OPEN_DOOR_SEVEN, + FILEPROG_105_SANDCASTLE_PUZZLE_COMPLETE_CC, + FILEPROG_106_SANDCASTLE_PUZZLE_COMPLETE_BGS, + FILEPROG_107_SANDCASTLE_PUZZLE_COMPLETE_FP, + FILEPROG_108_SANDCASTLE_PUZZLE_COMPLETE_GV, + FILEPROG_109_SANDCASTLE_PUZZLE_COMPLETE_MMM, + FILEPROG_10A_SANDCASTLE_PUZZLE_COMPLETE_RBB, + FILEPROG_10B_SANDCASTLE_PUZZLE_COMPLETE_CCC, + FILEPROG_10C_SANDCASTLE_RAISE_PIPES_TO_CC, + FILEPROG_10D_SANDCASTLE_RAISE_PIPE_TO_BRENTILDA, + FILEPROG_10E_SANDCASTLE_OPEN_CC, + FILEPROG_10F_SANDCASTLE_REMOVE_GRILL_NEAR_BGS_JIGGY, + FILEPROG_110_SANDCASTLE_CCC_JIGGY_PODIUM, + FILEPROG_111_SANDCASTLE_REMOVE_GRILL_AND_HAT_FROM_STATUE, + FILEPROG_112_SANDCASTLE_REMOVE_ICE, + FILEPROG_113_SANDCASTLE_OPEN_BGS, + FILEPROG_114_SANDCASTLE_REMOVE_BREAKABLE_WALLS, + FILEPROG_115_SANDCASTLE_SHOCKSPRING_JUMP_UNLOCKED, + FILEPROG_116_SANDCASTLE_OPEN_GV, + FILEPROG_117_SANDCASTLE_REMOVE_WEBS, + FILEPROG_118_SANDCASTLE_REMOVE_GLASS_EYE, + FILEPROG_119_SANDCASTLE_FLIGHT_UNLOCKED, + FILEPROG_11A_SANDCASTLE_OPEN_FP, + FILEPROG_11B_SANDCASTLE_OPEN_MMM, + FILEPROG_11C_SANDCASTLE_REMOVE_CRYPT_GATE, + FILEPROG_11D_SANDCASTLE_REMOVE_CRYPT_COFFIN_LID, + FILEPROG_11E_SANDCASTLE_REMOVE_GRATE_NEAR_WATER_SWITCH, + FILEPROG_11F_SANDCASTLE_OPEN_RBB, + FILEPROG_120_SANDCASTLE_REMOVE_GRILL_NEAR_RBB_JIGGY, + FILEPROG_121_SANDCASTLE_REMOVE_TUNNEL_GRILL_NEAR_RBB_JIGGY, + FILEPROG_122_SANDCASTLE_OPEN_CCW, + FILEPROG_123_CHEAT_ENTERED }; enum volatile_flags_e { @@ -2732,14 +2772,21 @@ enum asset_e ASSET_1E0_ANIM_BEE_OW = 0x1e0, ASSET_1E1_ANIM_BEE_DIE, ASSET_1E2_ANIM_BEE_JUMP, + ASSET_1E3_ANIM_UNKNOWN, ASSET_1ED_ANIM_GRAVESTONE_OW = 0x1ED, ASSET_1EE_ANIM_GRAVESTONE_DIE, - ASSET_1F4_ANIM_SHRAPNEL_IDLE = 0x1F4, + ASSET_1F0_ANIM_UNKNOWN = 0x1F0, + ASSET_1F1_ANIM_UNKNOWN, + ASSET_1F2_ANIM_UNKNOWN, + ASSET_1F3_ANIM_UNKNOWN, + ASSET_1F4_ANIM_SHRAPNEL_IDLE, ASSET_1F5_ANIM_TRANSITION_FALLING_JIGGIES, + ASSET_217_ANIM_UNKNOWN = 0x217, + ASSET_220_ANIM_SIR_SLUSH_DIE = 0x220, ASSET_221_ANIM_WOZZA_IN_CAVE, @@ -4028,6 +4075,8 @@ enum asset_e ASSET_A84_DIALOG_TURBOTRAINERS_LEARN, ASSET_A85_DIALOG_TURBOTRAINERS_REFRESHER, + ASSET_ADC_DIALOG_UNKNOWN = 0xadc, + ASSET_ADE_TEXT_LOGGO_AS_BEAR = 0xade, ASSET_ADF_TEXT_ENTER_LOGGO, ASSET_AE0_TEXT_EXIT_LOGGO, @@ -4246,6 +4295,8 @@ enum asset_e ASSET_F64_DIALOG_NOTEDOORS_LEARN = 0xf64, ASSET_F65_DIALOG_NOTEDOORS_REFRESHER, + ASSET_F66_DIALOG_UNKNOWN, + ASSET_F67_DIALOG_UNKNOWN, ASSET_F79_TEXT_UNKNOWN = 0xf79, ASSET_F7A_TEXT_UNKNOWN, diff --git a/include/functions.h b/include/functions.h index 244ecfcf..2cc7fedb 100644 --- a/include/functions.h +++ b/include/functions.h @@ -416,7 +416,7 @@ void func_8030EBC8(enum sfx_e uid, f32 arg1, f32 arg2, s32 arg3, s32 arg4); void func_8030EC20(enum sfx_e uid, f32 arg1, f32 arg2, u32 arg3, u32 arg4); u8 func_8030ED2C(enum sfx_e uid, s32 arg1); -void fileProgressFlag_setN(s32, s32, s32); +void fileProgressFlag_setN(enum file_progress_e, s32, s32); Actor *marker_getActorAndRotation(ActorMarker *marker, f32 rotation[3]); Actor *func_80325934(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); Actor *actor_drawFullDepth(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); @@ -560,11 +560,11 @@ extern void marker_setActorUpdateFunc(ActorMarker *marker, ActorUpdateFunc metho extern void marker_setActorUpdate2Func(ActorMarker *marker, ActorUpdateFunc method); extern void marker_callCollisionFunc(ActorMarker *, ActorMarker *, enum marker_collision_func_type_e); extern enum marker_collision_func_type_e func_8033D574(struct5Cs *arg0); -extern s32 volatileFlag_get(s32); -extern s32 volatileFlag_getN(s32 index, s32 numBits); -extern s32 volatileFlag_getAndSet(s32 index, s32 arg1); -extern void volatileFlag_set(s32 index, s32 set); -extern void volatileFlag_setN(s32 startIndex, s32 set, s32 length); +extern s32 volatileFlag_get(enum volatile_flags_e); +extern s32 volatileFlag_getN(enum volatile_flags_e index, s32 numBits); +extern s32 volatileFlag_getAndSet(enum volatile_flags_e index, s32 arg1); +extern void volatileFlag_set(enum volatile_flags_e index, s32 set); +extern void volatileFlag_setN(enum volatile_flags_e startIndex, s32 set, s32 length); extern void itemscore_noteScores_clear(void); extern s32 itemscore_noteScores_get(enum level_e lvl_id); diff --git a/include/prop.h b/include/prop.h index a147b9be..b7e95dbb 100644 --- a/include/prop.h +++ b/include/prop.h @@ -230,7 +230,7 @@ typedef struct actor_s{ u32 unkF4_22:1; u32 initialized:1; //unkF4_21; u32 unkF4_20:12; - u32 unkF4_8:9; + u32 unkF4_8:9; // is used to determine file progress related stuff, can also be a file_progress_e f32 stored_animctrl_subrangeMin; //animCtrl_SubRangeStart f32 stored_animctrl_subrangeMax; //animCtrl_SubRangeEnd ActorMarker *unk100; diff --git a/src/BGS/ch/code_2270.c b/src/BGS/ch/code_2270.c index aed2229f..28ec6c82 100644 --- a/src/BGS/ch/code_2270.c +++ b/src/BGS/ch/code_2270.c @@ -255,7 +255,7 @@ void func_80388FC0(Actor *this){ ActorLocal_Tiptup *local; local = (ActorLocal_Tiptup *)&this->local; - fileProgressFlag_setN(0, local->unkA, 2); + fileProgressFlag_setN(FILEPROG_0_UNKNOWN, local->unkA, 2); vector_free(local->unk4); } @@ -291,7 +291,7 @@ void chTiptup_update(Actor *this){ unqPtr->unk4 = vector_new(sizeof(Struct_BGS_2270_0s), 8); unqPtr->unk8 = 0; unqPtr->unk9 = 0; - unqPtr->unkA = fileProgressFlag_getN(0,2); + unqPtr->unkA = fileProgressFlag_getN(FILEPROG_0_UNKNOWN, 2); unqPtr->unkB = 0; unqPtr->unkC = 0.0f; if(volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)){ diff --git a/src/CCW/code_1B20.c b/src/CCW/code_1B20.c index afeb3639..e80eaf1c 100644 --- a/src/CCW/code_1B20.c +++ b/src/CCW/code_1B20.c @@ -8,7 +8,7 @@ typedef struct{ u8 unk3; s16 unk4; s16 unk6; - s16 unk8; + s16 unk8; // enum file_progress_e s16 unkA; }Struct_CCW_1B20_0; diff --git a/src/CCW/code_3310.c b/src/CCW/code_3310.c index 7a2b7391..0c9e695f 100644 --- a/src/CCW/code_3310.c +++ b/src/CCW/code_3310.c @@ -11,8 +11,8 @@ typedef struct { typedef struct { s16 map_id; - s16 unk2; - s16 unk4; + s16 unk2; // enum file_progress_e + s16 unk4; // enum file_progress_e s16 unk6; Struct_CCW_3310_1 *unk8; s16 unkC; diff --git a/src/FP/ch/xmastree.c b/src/FP/ch/xmastree.c index 9d5aea68..48b3ad8a 100644 --- a/src/FP/ch/xmastree.c +++ b/src/FP/ch/xmastree.c @@ -18,7 +18,7 @@ ActorInfo chXmasTree = { Actor *chXmasTree_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ Actor *this = marker_getActor(marker); func_8033A45C(5, this->unk38_31); - func_8033A45C(6, fileProgressFlag_get(0x13) && !func_8033A0F0(5)); + func_8033A45C(6, fileProgressFlag_get(FILEPROG_13_COMPLETED_TWINKLIES_MINIGAME) && !func_8033A0F0(5)); return actor_draw(marker, gfx, mtx, vtx); } @@ -100,7 +100,7 @@ void chXmasTree_update(Actor *this){ } __spawnQueue_add_0(__chXmasTree_spawnSwitch); __spawnQueue_add_1((GenFunction_1)__chXmasTree_spawnStar, reinterpret_cast(s32, this->marker)); - if(fileProgressFlag_get(0x13)){ + if(fileProgressFlag_get(FILEPROG_13_COMPLETED_TWINKLIES_MINIGAME)){ __chXmasTree_80386F84(this); mapSpecificFlags_set(2, FALSE); } @@ -115,7 +115,7 @@ void chXmasTree_update(Actor *this){ switch(this->state){ case 1: // L80387268 __chXmasTree_80386EF4(this, 0); - if(fileProgressFlag_get(0x13)){ + if(fileProgressFlag_get(FILEPROG_13_COMPLETED_TWINKLIES_MINIGAME)){ __chXmasTree_80386F84(this); } break; diff --git a/src/TTC/code_3E30.c b/src/TTC/code_3E30.c index 97e2cf1e..6b17a88b 100644 --- a/src/TTC/code_3E30.c +++ b/src/TTC/code_3E30.c @@ -319,7 +319,7 @@ void func_8038AC48(LetterFloorTile *arg0) { D_8038D720.unk8 = 2U; D_8038D720.unkC = 0.0f; mapSpecificFlags_set(1, TRUE); - fileProgressFlag_set(0xFA, TRUE); + fileProgressFlag_set(FILEPROG_FA_UNKNOWN, TRUE); func_8030E2C4(D_8038D720.sfxsourceIdx); func_8038A258(2); } else if (var_v0 & 0xE) { @@ -612,11 +612,11 @@ u32 func_8038B600(void) { return var_a3; } -void TTC_func_8038B6D4(s32 arg0, s32 secretCodeIndex, s32 arg2, enum file_progress_e prog_id, s32 prog_val, s32 prog_bit_size, enum file_progress_e arg6){ +void TTC_func_8038B6D4(s32 arg0, s32 secretCodeIndex, s32 arg2, enum file_progress_e progress_flag, s32 prog_val, s32 prog_bit_size, enum file_progress_e arg6){ if( ((arg2 + 20 == secretCodesTable[secretCodeIndex].id) && volatileFlag_get(arg2)) || arg0 == 3 ){ - fileProgressFlag_setN(prog_id, prog_val, prog_bit_size); + fileProgressFlag_setN(progress_flag, prog_val, prog_bit_size); if(arg6){ fileProgressFlag_set(arg6, TRUE); } diff --git a/src/core2/ba/marker.c b/src/core2/ba/marker.c index ff8185e2..2782353d 100644 --- a/src/core2/ba/marker.c +++ b/src/core2/ba/marker.c @@ -195,7 +195,7 @@ void __baMarker_8028BAB0(enum jiggy_e jiggy_id, s32 arg1, s32 arg2, s32 arg3){ } // arg1 - if bit 0x400000 is set, it's a volatile flag, else it's a file progress flag (for witch switches) -void __baMarker_8028BB1C(s32 arg0, u32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6){ +void __baMarker_8028BB1C(s32 arg0, enum file_progress_e progress_flag, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6){ u32 sp24; if(arg0 != 1) return; @@ -203,9 +203,9 @@ 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; // weird truncing + // if bit 0x400000 of fileProgressFlag is set, it's a volatile flag, else it's a file progress flag (for witch switches) + if(progress_flag & 0x400000){ + sp24 = progress_flag + 0xFFC00000; // weird truncing if(!volatileFlag_get(sp24)){ volatileFlag_set(sp24, 1); func_8030E6D4(SFX_90_SWITCH_PRESS); @@ -214,8 +214,8 @@ void __baMarker_8028BB1C(s32 arg0, u32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 a } } else{//L8028BBB8 - if(!fileProgressFlag_get(arg1)){ - fileProgressFlag_set(arg1, 1); + if(!fileProgressFlag_get(progress_flag)){ + fileProgressFlag_set(progress_flag, 1); func_8030E6D4(SFX_90_SWITCH_PRESS); volatileFlag_set(VOLATILE_FLAG_BF, 1); func_802D6264(1.0f, arg2, arg3, arg4, arg5, arg6); diff --git a/src/core2/ch/snowman.c b/src/core2/ch/snowman.c index 50e179ec..de5f7bb0 100644 --- a/src/core2/ch/snowman.c +++ b/src/core2/ch/snowman.c @@ -257,7 +257,7 @@ void chSnowman_update(Actor *this){ else if( map_get() != MAP_27_FP_FREEZEEZY_PEAK || func_8038DD34(local->unk0) == 0 - || fileProgressFlag_get(0x13) + || fileProgressFlag_get(FILEPROG_13_COMPLETED_TWINKLIES_MINIGAME) ){//L802E2318 if(0.0 < local->unk4){ if( (globalTimer_getTime() & 1) diff --git a/src/core2/code_47BD0.c b/src/core2/code_47BD0.c index 06bed9a5..9b4fb7fd 100644 --- a/src/core2/code_47BD0.c +++ b/src/core2/code_47BD0.c @@ -6,7 +6,7 @@ extern void func_8030DBFC(u32, f32, f32, f32); extern bool func_80309DBC(f32[3], f32[3], f32, f32 sp54[3], s32, s32); -extern void fileProgressFlag_set(s32, bool); +extern void fileProgressFlag_set(enum file_progress_e, bool); extern void sfxsource_set_fade_distances(u8, f32, f32); extern void sfxsource_set_position(u8, f32[3]); extern void func_8030E2C4(u8); diff --git a/src/core2/code_4A6F0.c b/src/core2/code_4A6F0.c index b3ac781c..d09a2e69 100644 --- a/src/core2/code_4A6F0.c +++ b/src/core2/code_4A6F0.c @@ -428,7 +428,7 @@ void chMumbo_update(Actor *this) { case 7: //L802D2704 chMumbo_func_802D186C(this); - if (volatileFlag_get(FILEPROG_11_HAS_MET_MUMBO) == 0) { + if (volatileFlag_get(VOLATILE_FLAG_11) == 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) { gcdialog_showText(ASSET_DA7_DIALOG_MUMBO_CCW_SUMMER, 7, NULL, NULL, NULL, NULL); - volatileFlag_set(FILEPROG_11_HAS_MET_MUMBO, TRUE); + volatileFlag_set(VOLATILE_FLAG_11, TRUE); } } actor_loopAnimation(this); @@ -444,7 +444,7 @@ void chMumbo_update(Actor *this) { case 8: //L802D2790 chMumbo_func_802D186C(this); - if (volatileFlag_get(FILEPROG_12_HAS_TRANSFORMED_BEFORE) == 0) { + if (volatileFlag_get(VOLATILE_FLAG_12) == 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) { gcdialog_showText(ASSET_DA8_DIALOG_MUMBO_CCW_AUTUMN, 7, NULL, NULL, NULL, NULL); - volatileFlag_set(FILEPROG_12_HAS_TRANSFORMED_BEFORE, TRUE); + volatileFlag_set(VOLATILE_FLAG_12, TRUE); } } actor_loopAnimation(this); diff --git a/src/core2/code_4C020.c b/src/core2/code_4C020.c index 28a92ae6..e371d3c2 100644 --- a/src/core2/code_4C020.c +++ b/src/core2/code_4C020.c @@ -13,7 +13,7 @@ extern void func_802EE6CC(f32[3], f32[3], s32[4], s32, f32, f32, s32, s32, s32); 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 fileProgressFlag_set(enum file_progress_e, bool); void func_802D3D54(Actor *this); void func_802D3DA4(Actor *this); @@ -50,7 +50,7 @@ s32 D_8036768C = 0; s32 D_80367690 = 0; s32 D_80367694 = 0; //enum map_e s32 D_80367698 = 0; -s32 D_8036769C = 0; //enum file_progress_e +enum file_progress_e D_8036769C = 0; s32 D_803676A0 = 0; //enum actor_e f32 D_803676A4 = 0.0f; s32 D_803676A8 = 0; @@ -59,26 +59,26 @@ u8 D_803676AC = 0; ActorAnimationInfo D_803676B0[] = { {0x000, 0.0f}, {0x000, 0.0f}, - {0x0D4, 0.15f}, - {0x0D5, 0.5f}, + {ASSET_D4_ANIM_SWITCH_DOWN, 0.15f}, + {ASSET_D5_ANIM_SWITCH_UP, 0.5f}, {0x000, 0.0f}, {0x000, 0.0f}, - {0x0D4, 0.15f}, - {0x0D5, 0.5f}, - {0x0D5, 1e+8f}, - {0x1E3, 0.73f}, - {0x1E3, 1e+8f}, - {0x1F0, 1.0f}, - {0x1F1, 0.7f}, - {0x1F1, 1e+8f}, - {0x1F2, 1.0f}, - {0x1F3, 0.4f}, - {0x1F3, 1e+8f}, + {ASSET_D4_ANIM_SWITCH_DOWN, 0.15f}, + {ASSET_D5_ANIM_SWITCH_UP, 0.5f}, + {ASSET_D5_ANIM_SWITCH_UP, 1e+8f}, + {ASSET_1E3_ANIM_UNKNOWN, 0.73f}, + {ASSET_1E3_ANIM_UNKNOWN, 1e+8f}, + {ASSET_1F0_ANIM_UNKNOWN, 1.0f}, + {ASSET_1F1_ANIM_UNKNOWN, 0.7f}, + {ASSET_1F1_ANIM_UNKNOWN, 1e+8f}, + {ASSET_1F2_ANIM_UNKNOWN, 1.0f}, + {ASSET_1F3_ANIM_UNKNOWN, 0.4f}, + {ASSET_1F3_ANIM_UNKNOWN, 1e+8f}, {0x000, 0.0f}, - {0x217, 1e+8f}, - {0x217, 0.3f}, - {0x217, 1e+8f}, - {0x217, 0.3f} + {ASSET_217_ANIM_UNKNOWN, 1e+8f}, + {ASSET_217_ANIM_UNKNOWN, 0.3f}, + {ASSET_217_ANIM_UNKNOWN, 1e+8f}, + {ASSET_217_ANIM_UNKNOWN, 0.3f} }; ActorInfo D_80367760 = { 0x26E, 0x2D9, 0x3B4, 0x1, NULL, func_802D3D54, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; @@ -99,7 +99,20 @@ ActorInfo D_80367958 = { MARKER_162_BGS_WITCH_SWITCH, ACTOR_257_BGS_WITCH_SWITCH ActorInfo D_8036797C = { MARKER_161_GV_WITCH_SWITCH, ACTOR_256_GV_WITCH_SWITCH, ASSET_4DC_MODEL_WITCH_SWITCH, 0x1, D_803676B0, func_802D4C0C, func_80326224, actor_draw, 0, 0, 0.0f, 0}; s32 D_803679A0[4] = {0x87, 0x87, 0x87, 0xA0}; -s16 D_803679B0[] = {0x5, 0x90, 0xA, 0x93, 0xF,0x92, 0x14, 0x91, 0x19, 0x94, -1}; +s16 D_803679B0[] = { + FILEPROG_5_BLUE_EGG_TEXT, + FILEPROG_90_PAID_TERMITE_COST, + FILEPROG_A_HONEYCOMB_TEXT, + FILEPROG_93_PAID_CROC_COST, + FILEPROG_F_HAS_TOUCHED_PIRAHANA_WATER, + FILEPROG_92_PAID_WALRUS_COST, + FILEPROG_14_HAS_TOUCHED_FP_ICY_WATER, + FILEPROG_91_PAID_PUMPKIN_COST, + FILEPROG_19_MMM_WITCH_SWITCH_JIGGY_PRESSED, + FILEPROG_94_PAID_BEE_COST, + -1 +}; + Struct_core2_4C020_0 D_803679C8[] = { {0, 600, 1200, 1900}, {-580, 0, 1550, 2200}, @@ -648,7 +661,7 @@ void func_802D4A9C(Actor *this, s32 arg1){ func_802D4928(this, arg1, 2, 3); } -void func_802D4AC0(Actor *this, s32 arg1, s32 arg2) { +void func_802D4AC0(Actor *this, s32 arg1, enum file_progress_e arg2) { if (fileProgressFlag_get(arg2)) { if (arg1 & 0x800000) { fileProgressFlag_set(arg1 + 0xFF800000, 1); diff --git a/src/core2/code_53A10.c b/src/core2/code_53A10.c index e8a644fc..05ea8e27 100644 --- a/src/core2/code_53A10.c +++ b/src/core2/code_53A10.c @@ -15,8 +15,8 @@ ActorInfo D_80367E70= { /* .code */ void func_802DA9A0(ActorMarker *caller, enum asset_e text_id, s32 arg2){ - s32 flag; - s32 tmp; + enum file_progress_e flag; + enum file_progress_e tmp; if(level_get() == LEVEL_A_MAD_MONSTER_MANSION){ flag = FILEPROG_15_ENTER_MMM_TEXT; } @@ -32,9 +32,9 @@ void func_802DA9A0(ActorMarker *caller, enum asset_e text_id, s32 arg2){ } void func_802DAA14(Actor *this){ - s32 flag; - s32 tmp; - s32 text_id; + enum file_progress_e flag; + s32 tmp; // file_progress_e OR asset_e + enum asset_e text_id; if(volatileFlag_get(VOLATILE_FLAG_1) || volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE)){ marker_despawn(this->marker); @@ -69,13 +69,13 @@ void func_802DAA14(Actor *this){ if(!this->has_met_before){ if(level_get() == LEVEL_A_MAD_MONSTER_MANSION){ - text_id = 0xadc; + text_id = ASSET_ADC_DIALOG_UNKNOWN; } else{ if(map_get() == MAP_69_GL_MM_LOBBY) - tmp = 0xf66; + tmp = ASSET_F66_DIALOG_UNKNOWN; else - tmp = 0xf67; + tmp = ASSET_F67_DIALOG_UNKNOWN; text_id = tmp; } gcdialog_showText(text_id, 4, NULL, this->marker, func_802DA9A0, NULL); diff --git a/src/core2/code_956B0.c b/src/core2/code_956B0.c index 35b85a1c..0083123f 100644 --- a/src/core2/code_956B0.c +++ b/src/core2/code_956B0.c @@ -8,7 +8,7 @@ extern void func_8031CE70(f32 *arg0, s32 arg1, s32 arg2); 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 fileProgressFlag_set(enum file_progress_e index, s32 set); extern void ml_vec3h_to_vec3f(f32 *, s32); extern NodeProp *func_80304ED0(void*, f32 *); extern void func_8031CD44(s32, s32, f32, f32, s32); @@ -56,9 +56,9 @@ bool cutscene_skipGameOverCutsceneCheck(void) { sp24 = func_8024E698(0); if (mapSpecificFlags_get(0) != 0) { - fileProgressFlag_set(0xE1, 1); + fileProgressFlag_set(FILEPROG_E1_UNKNOWN, 1); } - if ((sp24 == 1) && fileProgressFlag_get(0xE1) && !gctransition_8030BDC0()) { + if ((sp24 == 1) && fileProgressFlag_get(FILEPROG_E1_UNKNOWN) && !gctransition_8030BDC0()) { if (!mapSpecificFlags_get(0xC)) { mapSpecificFlags_set(0xC, TRUE); func_802DC528(0, 0); @@ -302,7 +302,7 @@ void warp_gvEnterWaterPyramidUpper(s32 arg0, s32 arg1) { } void warp_gvEnterMazePyramid(s32 arg0, s32 arg1) { - if (fileProgressFlag_getN(0xF8, 2) == 3) { + if (fileProgressFlag_getN(FILEPROG_F8_KING_SANDYBUTT_PYRAMID_STATE, 2) == 3) { func_8031CC8C(arg0, 0x1401); } } diff --git a/src/core2/code_98CB0.c b/src/core2/code_98CB0.c index d34e9f17..2cb555f1 100644 --- a/src/core2/code_98CB0.c +++ b/src/core2/code_98CB0.c @@ -1,16 +1,17 @@ #include #include "functions.h" #include "variables.h" +#include "enums.h" void func_8031FFAC(void); -void fileProgressFlag_set(s32 index, s32 set); +void fileProgressFlag_set(enum file_progress_e index, s32 set); s32 bitfield_get_bit(u8 *array, s32 index); s32 bitfield_get_n_bits(u8 *array, s32 offset, s32 numBits); 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 volatileFlag_set(enum volatile_flags_e index, s32 set); +s32 fileProgressFlag_getN(enum file_progress_e offset, s32 numBits); void func_8031CE70(f32 *arg0, s32 arg1, s32 arg2); void ml_vec3h_to_vec3f(f32 *, s32); void func_8028F3D8(f32 *, f32, void(*)(ActorMarker *), ActorMarker *); @@ -109,11 +110,11 @@ bool fileProgressFlag_get(enum file_progress_e index) { return bitfield_get_bit(gFileProgressFlags.unk8, index); } -s32 fileProgressFlag_getN(s32 offset, s32 numBits) { +s32 fileProgressFlag_getN(enum file_progress_e offset, s32 numBits) { return bitfield_get_n_bits(gFileProgressFlags.unk8, offset, numBits); } -s32 fileProgressFlag_getAndSet(s32 index, s32 set) { +s32 fileProgressFlag_getAndSet(enum file_progress_e index, s32 set) { s32 ret; ret = fileProgressFlag_get(index); @@ -131,13 +132,13 @@ void func_8031FFAC(void) { func_8031FEC0(); } -void fileProgressFlag_set(s32 index, s32 set) { +void fileProgressFlag_set(enum file_progress_e index, s32 set) { bitfield_set_bit(gFileProgressFlags.unk8, index, set); func_8031FC40(); func_8031FEC0(); } -void fileProgressFlag_setN(s32 startIndex, s32 set, s32 length) { +void fileProgressFlag_setN(enum file_progress_e startIndex, s32 set, s32 length) { bitfield_set_n_bits(gFileProgressFlags.unk8, startIndex, set, length); func_8031FC40(); func_8031FEC0(); @@ -243,15 +244,15 @@ void func_803203A0(void) { *obscured_addr = func_80320320(); } -s32 volatileFlag_get(s32 index) { +s32 volatileFlag_get(enum volatile_flags_e index) { return bitfield_get_bit(gVolatileFlags.unk8, index); } -s32 volatileFlag_getN(s32 index, s32 numBits) { +s32 volatileFlag_getN(enum volatile_flags_e index, s32 numBits) { return bitfield_get_n_bits(gVolatileFlags.unk8, index, numBits); } -s32 volatileFlag_getAndSet(s32 index, s32 arg1) { +s32 volatileFlag_getAndSet(enum volatile_flags_e index, s32 arg1) { s32 temp_v0; temp_v0 = volatileFlag_get(index); @@ -268,13 +269,13 @@ void volatileFlag_clear(void) { func_803203A0(); } -void volatileFlag_set(s32 index, s32 set) { +void volatileFlag_set(enum volatile_flags_e index, s32 set) { bitfield_set_bit(gVolatileFlags.unk8, index, set); func_803202D0(); func_803203A0(); } -void volatileFlag_setN(s32 startIndex, s32 set, s32 length) { +void volatileFlag_setN(enum volatile_flags_e startIndex, s32 set, s32 length) { bitfield_set_n_bits(gVolatileFlags.unk8, startIndex, set, length); func_803202D0(); func_803203A0(); diff --git a/src/core2/code_B5040.c b/src/core2/code_B5040.c index 6e291afd..e41a75d4 100644 --- a/src/core2/code_B5040.c +++ b/src/core2/code_B5040.c @@ -6,8 +6,8 @@ typedef struct { - s16 unk0; - s16 unk2; + s16 unk0; // enum volatile_flags_e + s16 unk2; // enum file_progress_e }Struct_B5040; void savedata_clear(u8 *savedata); @@ -15,43 +15,43 @@ s32 savedata_verify(s32 arg0, SaveData *savedata); /* .data */ Struct_B5040 D_80370A20[] = { - {0x66, 0xFF}, - {0x67, 0x100}, - {0x68, 0x101}, - {0x69, 0x102}, - {0x6A, 0x103}, - {0x6B, 0x104}, - {0x6C, 0x105}, - {0x6D, 0x106}, - {0x6E, 0x107}, - {0x6F, 0x108}, - {0x70, 0x109}, - {0x71, 0x10A}, - {0x72, 0x10B}, - {0x7D, 0x10C}, - {0x7E, 0x10D}, - {0x7F, 0x10E}, - {0x80, 0x10F}, - {0x81, 0x110}, - {0x82, 0x111}, - {0x83, 0x112}, - {0x84, 0x113}, - {0x85, 0x114}, - {0x86, 0x115}, - {0x87, 0x116}, - {0x88, 0x117}, - {0x89, 0x118}, - {0x8A, 0x119}, - {0x8B, 0x11A}, - {0x8C, 0x11B}, - {0x8D, 0x11C}, - {0x8E, 0x11D}, - {0x8F, 0x11E}, - {0x90, 0x11F}, - {0x91, 0x120}, - {0x92, 0x121}, - {0x93, 0x122}, - {0x65, 0x123}, + {VOLATILE_FLAG_66_SANDCASTLE_OPEN_DOOR_TWO, FILEPROG_FF_SANDCASTLE_OPEN_DOOR_TWO}, + {VOLATILE_FLAG_67_SANDCASTLE_OPEN_DOOR_THREE, FILEPROG_100_SANDCASTLE_OPEN_DOOR_THREE}, + {VOLATILE_FLAG_68_SANDCASTLE_OPEN_DOOR_FOUR, FILEPROG_101_SANDCASTLE_OPEN_DOOR_FOUR}, + {VOLATILE_FLAG_69_SANDCASTLE_OPEN_DOOR_FIVE, FILEPROG_102_SANDCASTLE_OPEN_DOOR_FIVE}, + {VOLATILE_FLAG_6A_SANDCASTLE_OPEN_DOOR_SIX, FILEPROG_103_SANDCASTLE_OPEN_DOOR_SIX}, + {VOLATILE_FLAG_6B_SANDCASTLE_OPEN_DOOR_SEVEN, FILEPROG_104_SANDCASTLE_OPEN_DOOR_SEVEN}, + {VOLATILE_FLAG_6C_SANDCASTLE_PUZZLE_COMPLETE_CC, FILEPROG_105_SANDCASTLE_PUZZLE_COMPLETE_CC}, + {VOLATILE_FLAG_6D_SANDCASTLE_PUZZLE_COMPLETE_BGS, FILEPROG_106_SANDCASTLE_PUZZLE_COMPLETE_BGS}, + {VOLATILE_FLAG_6E_SANDCASTLE_PUZZLE_COMPLETE_FP, FILEPROG_107_SANDCASTLE_PUZZLE_COMPLETE_FP}, + {VOLATILE_FLAG_6F_SANDCASTLE_PUZZLE_COMPLETE_GV, FILEPROG_108_SANDCASTLE_PUZZLE_COMPLETE_GV}, + {VOLATILE_FLAG_70_SANDCASTLE_PUZZLE_COMPLETE_MMM, FILEPROG_109_SANDCASTLE_PUZZLE_COMPLETE_MMM}, + {VOLATILE_FLAG_71_SANDCASTLE_PUZZLE_COMPLETE_RBB, FILEPROG_10A_SANDCASTLE_PUZZLE_COMPLETE_RBB}, + {VOLATILE_FLAG_72_SANDCASTLE_PUZZLE_COMPLETE_CCC, FILEPROG_10B_SANDCASTLE_PUZZLE_COMPLETE_CCC}, + {VOLATILE_FLAG_7D_SANDCASTLE_RAISE_PIPES_TO_CC, FILEPROG_10C_SANDCASTLE_RAISE_PIPES_TO_CC}, + {VOLATILE_FLAG_7E_SANDCASTLE_RAISE_PIPE_TO_BRENTILDA, FILEPROG_10D_SANDCASTLE_RAISE_PIPE_TO_BRENTILDA}, + {VOLATILE_FLAG_7F_SANDCASTLE_OPEN_CC, FILEPROG_10E_SANDCASTLE_OPEN_CC}, + {VOLATILE_FLAG_80_SANDCASTLE_REMOVE_GRILL_NEAR_BGS_JIGGY, FILEPROG_10F_SANDCASTLE_REMOVE_GRILL_NEAR_BGS_JIGGY}, + {VOLATILE_FLAG_81_SANDCASTLE_CCC_JIGGY_PODIUM, FILEPROG_110_SANDCASTLE_CCC_JIGGY_PODIUM}, + {VOLATILE_FLAG_82_SANDCASTLE_REMOVE_GRILL_AND_HAT_FROM_STATUE, FILEPROG_111_SANDCASTLE_REMOVE_GRILL_AND_HAT_FROM_STATUE}, + {VOLATILE_FLAG_83_SANDCASTLE_REMOVE_ICE, FILEPROG_112_SANDCASTLE_REMOVE_ICE}, + {VOLATILE_FLAG_84_SANDCASTLE_OPEN_BGS, FILEPROG_113_SANDCASTLE_OPEN_BGS}, + {VOLATILE_FLAG_85_SANDCASTLE_REMOVE_BREAKABLE_WALLS, FILEPROG_114_SANDCASTLE_REMOVE_BREAKABLE_WALLS}, + {VOLATILE_FLAG_86_SANDCASTLE_SHOCKSPRING_JUMP_UNLOCKED, FILEPROG_115_SANDCASTLE_SHOCKSPRING_JUMP_UNLOCKED}, + {VOLATILE_FLAG_87_SANDCASTLE_OPEN_GV, FILEPROG_116_SANDCASTLE_OPEN_GV}, + {VOLATILE_FLAG_88_SANDCASTLE_REMOVE_WEBS, FILEPROG_117_SANDCASTLE_REMOVE_WEBS}, + {VOLATILE_FLAG_89_SANDCASTLE_REMOVE_GLASS_EYE, FILEPROG_118_SANDCASTLE_REMOVE_GLASS_EYE}, + {VOLATILE_FLAG_8A_SANDCASTLE_FLIGHT_UNLOCKED, FILEPROG_119_SANDCASTLE_FLIGHT_UNLOCKED}, + {VOLATILE_FLAG_8B_SANDCASTLE_OPEN_FP, FILEPROG_11A_SANDCASTLE_OPEN_FP}, + {VOLATILE_FLAG_8C_SANDCASTLE_OPEN_MMM, FILEPROG_11B_SANDCASTLE_OPEN_MMM}, + {VOLATILE_FLAG_8D_SANDCASTLE_REMOVE_CRYPT_GATE, FILEPROG_11C_SANDCASTLE_REMOVE_CRYPT_GATE}, + {VOLATILE_FLAG_8E_SANDCASTLE_REMOVE_CRYPT_COFFIN_LID, FILEPROG_11D_SANDCASTLE_REMOVE_CRYPT_COFFIN_LID}, + {VOLATILE_FLAG_8F_SANDCASTLE_REMOVE_GRATE_NEAR_WATER_SWITCH, FILEPROG_11E_SANDCASTLE_REMOVE_GRATE_NEAR_WATER_SWITCH}, + {VOLATILE_FLAG_90_SANDCASTLE_OPEN_RBB, FILEPROG_11F_SANDCASTLE_OPEN_RBB}, + {VOLATILE_FLAG_91_SANDCASTLE_REMOVE_GRILL_NEAR_RBB_JIGGY, FILEPROG_120_SANDCASTLE_REMOVE_GRILL_NEAR_RBB_JIGGY}, + {VOLATILE_FLAG_92_SANDCASTLE_REMOVE_TUNNEL_GRILL_NEAR_RBB_JIGGY, FILEPROG_121_SANDCASTLE_REMOVE_TUNNEL_GRILL_NEAR_RBB_JIGGY}, + {VOLATILE_FLAG_93_SANDCASTLE_OPEN_CCW, FILEPROG_122_SANDCASTLE_OPEN_CCW}, + {VOLATILE_FLAG_65_CHEAT_ENTERED, FILEPROG_123_CHEAT_ENTERED}, {-1, 0x000} }; diff --git a/src/core2/code_C4320.c b/src/core2/code_C4320.c index e1856afc..c475b7fd 100644 --- a/src/core2/code_C4320.c +++ b/src/core2/code_C4320.c @@ -54,7 +54,18 @@ extern s32 D_80371F90 = 0x7; //bottles bonus demo count extern s32 D_80371F94 = 1; extern s32 D_80371F98 = 3; extern s32 D_80371F9C = 1; -extern u16 D_80371FA0[] = { 3, 4, 5, 6, 7, 8, 9, 0xA, 0xB, 0xC }; +extern u16 D_80371FA0[] = { + FILEPROG_3_MUSIC_NOTE_TEXT, + FILEPROG_4_MUMBO_TOKEN_TEXT, + FILEPROG_5_BLUE_EGG_TEXT, + FILEPROG_6_RED_FEATHER_TEXT, + FILEPROG_7_GOLD_FEATHER_TEXT, + FILEPROG_8_ORANGE_TEXT, + FILEPROG_9_GOLD_BULLION_TEXT, + FILEPROG_A_HONEYCOMB_TEXT, + FILEPROG_B_EMPTY_HONEYCOMB_TEXT, + FILEPROG_C_EXTRA_LIFE_TEXT +}; //EB030: /* .bss */ diff --git a/src/lair/code_0.c b/src/lair/code_0.c index 4901b5b3..3fcdb7c2 100644 --- a/src/lair/code_0.c +++ b/src/lair/code_0.c @@ -178,12 +178,12 @@ s16 D_80393454[] = { FILEPROG_37_MMM_OPEN, FILEPROG_38_RBB_OPEN, FILEPROG_39_CCW_OPEN, - 0 + FILEPROG_0_UNKNOWN }; s16 D_80393468[] = { - 0, - 0, + VOLATILE_FLAG_0_IN_FURNACE_FUN_QUIZ, + VOLATILE_FLAG_0_IN_FURNACE_FUN_QUIZ, VOLATILE_FLAG_7F_SANDCASTLE_OPEN_CC, VOLATILE_FLAG_84_SANDCASTLE_OPEN_BGS, VOLATILE_FLAG_8B_SANDCASTLE_OPEN_FP, @@ -191,7 +191,7 @@ s16 D_80393468[] = { VOLATILE_FLAG_8C_SANDCASTLE_OPEN_MMM, VOLATILE_FLAG_90_SANDCASTLE_OPEN_RBB, VOLATILE_FLAG_93_SANDCASTLE_OPEN_CCW, - 0 + VOLATILE_FLAG_0_IN_FURNACE_FUN_QUIZ }; s16 D_8039347C[] = {50, 180, 260, 350, 450, 640, 765, 810, 828, 846, 864, 882}; //notedoor_notes_required_to_open @@ -662,7 +662,7 @@ void func_80387730(Actor *this) { this->alpha_124_19 = 0xFF; this->unk1C[1] = 0.0f; this->unk1C[2] = 3.5f; - if (fileProgressFlag_get(this->unkF4_8 + 0x39)) { + if (fileProgressFlag_get(this->unkF4_8 + FILEPROG_39_CCW_OPEN)) { marker_despawn(this->marker); return; } @@ -681,7 +681,7 @@ void func_80387730(Actor *this) { this->unk1C[1] = 0.0f; this->unk1C[2] = 3.5f; } - if (!fileProgressFlag_get(this->unkF4_8 + 0x39) && ability_isUnlocked(ABILITY_13_1ST_NOTEDOOR)) { + if (!fileProgressFlag_get(this->unkF4_8 + FILEPROG_39_CCW_OPEN) && ability_isUnlocked(ABILITY_13_1ST_NOTEDOOR)) { player_getPosition(spAC); if ((ml_distance_vec3f(spAC, this->position) < 500.0f) && (func_803114C4() != 0xF64)) { func_802FACA4(0xC); @@ -711,7 +711,7 @@ void func_80387730(Actor *this) { this->alpha_124_19 -= 7; } if (this->alpha_124_19 == 0) { - fileProgressFlag_set(this->unkF4_8 + 0x39, TRUE); + fileProgressFlag_set(this->unkF4_8 + FILEPROG_39_CCW_OPEN, TRUE); marker_despawn(this->marker); func_8028F918(0); func_8028F66C(BS_INTR_35); @@ -825,14 +825,14 @@ void func_80387F1C(void) } } -void func_80387F78(Actor *this, u32 flag) +void func_80387F78(Actor *this, enum file_progress_e progress_flag) { if (this->unk1C[0] != 2.f) { if (this->unk1C[0] != 0 && fileProgressFlag_get(FILEPROG_9B_LAIR_CC_WITCH_SWITCH_EYES_ACTIVE)) { - u32 flagState = fileProgressFlag_get(flag); - fileProgressFlag_set(flag, TRUE); + u32 flagState = fileProgressFlag_get(progress_flag); + fileProgressFlag_set(progress_flag, TRUE); if (flagState == FALSE && !jiggyscore_isSpawned(JIGGY_35_LAIR_CC_WITCH_SWITCH) @@ -844,7 +844,7 @@ void func_80387F78(Actor *this, u32 flag) } } - if (fileProgressFlag_get(flag)) + if (fileProgressFlag_get(progress_flag)) { this->position_y -= 4.5; // f64 @@ -966,12 +966,12 @@ void func_803882B0(Actor *this) } } -void func_80388404(enum file_progress_e flag, enum sfx_e sfx, f32 a2, s32 a3) +void func_80388404(enum file_progress_e progress_flag, enum sfx_e sfx, f32 a2, s32 a3) { - if (fileProgressFlag_get(flag) == FALSE) + if (fileProgressFlag_get(progress_flag) == FALSE) func_8030E6A4(sfx, a2, a3); - fileProgressFlag_set(flag, TRUE); + fileProgressFlag_set(progress_flag, TRUE); } void func_80388450(Actor *actor1, Actor *actor2) @@ -1730,7 +1730,7 @@ void func_80389D08(Actor *this) this->volatile_initialized = TRUE; this->lifetime_value = 0; - if (fileProgressFlag_get(0xA5)) + if (fileProgressFlag_get(FILEPROG_A5_LAIR_CRYPT_GATE_OPEN)) { marker_despawn(this->marker); return; diff --git a/src/lair/code_86F0.c b/src/lair/code_86F0.c index 9905582d..4608df2e 100644 --- a/src/lair/code_86F0.c +++ b/src/lair/code_86F0.c @@ -18,7 +18,7 @@ typedef struct { typedef struct { u8 cost; u8 size_bits; - u16 progress_flag; + u16 progress_flag; // enum file_progress_e }Struct_lair_86F0_0; void func_8038F350(Actor *this, s32 next_state); diff --git a/src/lair/code_9C40.c b/src/lair/code_9C40.c index 0d9c5b25..ed9d28fa 100644 --- a/src/lair/code_9C40.c +++ b/src/lair/code_9C40.c @@ -28,7 +28,7 @@ s32 func_80390084(void) { s32 phi_s1; for(phi_s0 = 0, phi_s1 = 0; phi_s0 < 3; phi_s0++){ - if (fileProgressFlag_get(phi_s0 + 0xAD)) { + if (fileProgressFlag_get(phi_s0 + FILEPROG_AD_CHEATO_BLUEEGGS_UNLOCKED)) { phi_s1++; } } @@ -44,8 +44,8 @@ void func_803900EC(ActorMarker *marker, enum asset_e text_id, s32 arg2){ sp1C = marker->id - 0x16D; func_8028F918(0); - if (!fileProgressFlag_get(sp1C + 0xAD)) { - fileProgressFlag_set(sp1C + 0xAD, 1); + if (!fileProgressFlag_get(sp1C + FILEPROG_AD_CHEATO_BLUEEGGS_UNLOCKED)) { + fileProgressFlag_set(sp1C + FILEPROG_AD_CHEATO_BLUEEGGS_UNLOCKED, 1); func_8025A6EC(COMUSIC_2B_DING_B, 28000); } } @@ -63,7 +63,8 @@ void func_80390174(ActorMarker *marker, s32 arg1) { this = marker_getActor(marker); sp28 = this->marker->id - 0x16D; func_8028F94C(2, this->position); - if (fileProgressFlag_get(sp28 + 0xAD)) { + if (fileProgressFlag_get(sp28 + FILEPROG_AD_CHEATO_BLUEEGGS_UNLOCKED)) { + // cheato hint texts gcdialog_showText(sp28 + 0xF83, 0xE, this->position, this->marker, func_803900EC, lair_func_803900DC); return; } @@ -106,7 +107,7 @@ void func_803902B8(Actor *this) { } this->unk38_0 = sp58; sp58 = func_80259384(this->position, sp5C, 400.0f); - if (fileProgressFlag_get(sp54 + 0xAD)) { + if (fileProgressFlag_get(sp54 + FILEPROG_AD_CHEATO_BLUEEGGS_UNLOCKED)) { func_8024E55C(0, sp3C); sp58 &= (sp3C[FACE_BUTTON(BUTTON_B)] == 1) || func_8028EC04(); } From a9605a685f6b5ccfc7ff02e585014ed20a301266 Mon Sep 17 00:00:00 2001 From: Bl00D4NGEL Date: Wed, 2 Oct 2024 00:15:39 +0200 Subject: [PATCH 3/6] document: change types for volatileFlag_setAndTriggerDialog_x functions --- src/core2/code_CF3E0.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/core2/code_CF3E0.c b/src/core2/code_CF3E0.c index af97ebf8..be686261 100644 --- a/src/core2/code_CF3E0.c +++ b/src/core2/code_CF3E0.c @@ -119,16 +119,16 @@ s32 volatileFlag_setAndTriggerDialog(enum volatile_flags_e id, s32 arg1) { } // 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) { +void volatileFlag_setAndTriggerDialog_0(enum volatile_flags_e arg0) { volatileFlag_setAndTriggerDialog(arg0, 0); } // called for FFQ dialogs -void volatileFlag_setAndTriggerDialog_4(s32 arg0) { +void volatileFlag_setAndTriggerDialog_4(enum volatile_flags_e arg0) { volatileFlag_setAndTriggerDialog(arg0, 4); } // called for WISHYWASHYBANJO dialog -void volatileFlag_setAndTriggerDialog_E(s32 arg0) { +void volatileFlag_setAndTriggerDialog_E(enum volatile_flags_e arg0) { volatileFlag_setAndTriggerDialog(arg0, 0xE); } From f7a084aa10c303170cc161bcdaf4a07e1f802c6f Mon Sep 17 00:00:00 2001 From: Bl00D4NGEL Date: Wed, 2 Oct 2024 01:21:51 +0200 Subject: [PATCH 4/6] fix: volatileFlag_set definition --- src/core2/gc/pauseMenu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core2/gc/pauseMenu.c b/src/core2/gc/pauseMenu.c index 849456fe..72b48cac 100644 --- a/src/core2/gc/pauseMenu.c +++ b/src/core2/gc/pauseMenu.c @@ -26,7 +26,7 @@ typedef struct struct_1A_s { extern void func_802C5994(void); extern void func_802E412C(s32, s32); -void volatileFlag_set(s32, s32); +void volatileFlag_set(enum volatile_flags_e, s32); f32 func_8024DE1C(f32, f32, f32 *, f32 *); void func_80310D2C(void); From dd2611e5956729135e6aaefc2be1376fa517705b Mon Sep 17 00:00:00 2001 From: Bl00D4NGEL Date: Thu, 3 Oct 2024 04:25:14 +0200 Subject: [PATCH 5/6] document: FILEPROG_0_TIPTUP_MINIGAME_PROGRESS, replace FILEPROG_0 usage with NULL where applicable --- include/enums.h | 34 ++++++++++++++++------------------ src/BGS/ch/code_2270.c | 4 ++-- src/core2/ba/marker.c | 14 ++++++++++++++ src/core2/bs/bee.c | 3 ++- src/core2/code_CF3E0.c | 2 +- src/lair/code_0.c | 8 ++++---- 6 files changed, 39 insertions(+), 26 deletions(-) diff --git a/include/enums.h b/include/enums.h index 40705f65..176ad8e9 100644 --- a/include/enums.h +++ b/include/enums.h @@ -14,9 +14,9 @@ #define SPRITE_TYPE_RGBA32 (1 << 11) enum file_progress_e { - FILEPROG_0_UNKNOWN, - FILEPROG_1_UNKNOWN, - FILEPROG_2_UNKNOWN, + FILEPROG_0_TIPTUP_MINIGAME_PROGRESS, + // unused + // unused FILEPROG_3_MUSIC_NOTE_TEXT, FILEPROG_4_MUMBO_TOKEN_TEXT, FILEPROG_5_BLUE_EGG_TEXT, @@ -79,17 +79,17 @@ enum file_progress_e { FILEPROG_46_CCW_WITCH_SWITCH_JIGGY_PRESSED, FILEPROG_47_FP_WITCH_SWITCH_JIGGY_PRESSED, FILEPROG_48_FP_WITCH_SWITCH_ADVENT_DOOR_OPEN, - // {index=0x49, type="Prog", level=6, name="Pink Cauldron 1 Active"}, - // {index=0x4A, type="Prog", level=6, name="Pink Cauldron 2 Active"}, - // {index=0x4B, type="Prog", level=6, name="Green Cauldron 1 Active"}, - // {index=0x4C, type="Prog", level=6, name="Green Cauldron 2 Active"}, - // {index=0x4D, type="Prog", level=6, name="Red Cauldron 1 Active"}, - // {index=0x4E, type="Prog", level=6, name="Red Cauldron 2 Active"}, - // -- 0x4F - Unused Cauldron Pair? - // -- 0x50 - Unused Cauldron Pair? - // {index=0x51, type="Prog", level=6, name="Yellow Cauldron 1 Active"}, - // {index=0x52, type="Prog", level=6, name="Yellow Cauldron 2 Active"}, - FILEPROG_53_CCW_PUZZLE_PODIUM_SWITCH_PRESSED = 0x53, + FILEPROG_49_PINK_CAULDRON_1_ACTIVE, + FILEPROG_4A_PINK_CAULDRON_2_ACTIVE, + FILEPROG_4B_GREEN_CAULDRON_1_ACTIVE, + FILEPROG_4C_GREEN_CAULDRON_2_ACTIVE, + FILEPROG_4D_RED_CAULDRON_1_ACTIVE, + FILEPROG_4E_RED_CAULDRON_2_ACTIVE, + FILEPROG_4F_UNUSED_CAULDRON_1_ACTIVE, + FILEPROG_50_UNUSED_CAULDRON_2_ACTIVE, + FILEPROG_51_YELLOW_CAULDRON_1_ACTIVE, + FILEPROG_52_YELLOW_CAULDRON_2_ACTIVE, + FILEPROG_53_CCW_PUZZLE_PODIUM_SWITCH_PRESSED, FILEPROG_54_CCW_PUZZLE_PODIUM_ACTIVE, FILEPROG_55_FF_BK_SQUARE_INSTRUCTIONS, FILEPROG_56_FF_PICTURE_SQUARE_INSTRUCTIONS, @@ -110,7 +110,6 @@ enum file_progress_e { FILEPROG_76_CCW_PUZZLE_PIECES_PLACED = 0x76, //4 bit FILEPROG_7A_DOG_PUZZLE_PIECES_PLACED = 0x7A, //5 bit FILEPROG_7F_DOUBLE_HEALTH_PUZZLE_PIECES_PLACED = 0x7F, //3 bit - // {index=0x82, unknown} FILEPROG_82_MET_TWINKLIES = 0x82, FILEPROG_83_MAGIC_GET_WEAK_TEXT, FILEPROG_84_MAGIC_ALL_GONE_TEXT, @@ -130,8 +129,8 @@ enum file_progress_e { FILEPROG_92_PAID_WALRUS_COST, FILEPROG_93_PAID_CROC_COST, FILEPROG_94_PAID_BEE_COST, - - FILEPROG_96_MET_BRENTILDA = 0x96, + FILEPROG_95_UNKNOWN, + FILEPROG_96_MET_BRENTILDA, FILEPROG_97_ENTERED_LAIR_TEXT, FILEPROG_98_EXITED_LEVEL_TEXT, FILEPROG_99_PAST_50_NOTE_DOOR_TEXT, @@ -225,7 +224,6 @@ enum file_progress_e { FILEPROG_F6_SEEN_DOOR_OF_GRUNTY_PUZZLE_PODIUM, FILEPROG_F7_HAS_TRANSFORMED_IN_CRYPT, FILEPROG_F8_KING_SANDYBUTT_PYRAMID_STATE = 0xF8, //2bit - // FILEPROG_F8_KING_SANDYBUTT_PYRAMID_STATE = 0xF9, //2bit FILEPROG_FA_UNKNOWN = 0xFA, // Something that's set in FF diff --git a/src/BGS/ch/code_2270.c b/src/BGS/ch/code_2270.c index 28ec6c82..c555ab04 100644 --- a/src/BGS/ch/code_2270.c +++ b/src/BGS/ch/code_2270.c @@ -255,7 +255,7 @@ void func_80388FC0(Actor *this){ ActorLocal_Tiptup *local; local = (ActorLocal_Tiptup *)&this->local; - fileProgressFlag_setN(FILEPROG_0_UNKNOWN, local->unkA, 2); + fileProgressFlag_setN(FILEPROG_0_TIPTUP_MINIGAME_PROGRESS, local->unkA, 2); vector_free(local->unk4); } @@ -291,7 +291,7 @@ void chTiptup_update(Actor *this){ unqPtr->unk4 = vector_new(sizeof(Struct_BGS_2270_0s), 8); unqPtr->unk8 = 0; unqPtr->unk9 = 0; - unqPtr->unkA = fileProgressFlag_getN(FILEPROG_0_UNKNOWN, 2); + unqPtr->unkA = fileProgressFlag_getN(FILEPROG_0_TIPTUP_MINIGAME_PROGRESS, 2); unqPtr->unkB = 0; unqPtr->unkC = 0.0f; if(volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)){ diff --git a/src/core2/ba/marker.c b/src/core2/ba/marker.c index 06bdeade..1fb03d9f 100644 --- a/src/core2/ba/marker.c +++ b/src/core2/ba/marker.c @@ -391,6 +391,20 @@ void __baMarker_resolveCollision(Prop *other_prop){ if(func_802458E0(spAC, actor, 0x87) == 0) return; volatileFlag_set(VOLATILE_FLAG_1E, 1); + /** + * This should use the following fileprog flags: + * + * FILEPROG_49_PINK_CAULDRON_1_ACTIVE + * FILEPROG_4A_PINK_CAULDRON_2_ACTIVE + * FILEPROG_4B_GREEN_CAULDRON_1_ACTIVE + * FILEPROG_4C_GREEN_CAULDRON_2_ACTIVE + * FILEPROG_4D_RED_CAULDRON_1_ACTIVE + * FILEPROG_4E_RED_CAULDRON_2_ACTIVE + * FILEPROG_4F_UNUSED_CAULDRON_1_ACTIVE + * FILEPROG_50_UNUSED_CAULDRON_2_ACTIVE + * FILEPROG_51_YELLOW_CAULDRON_1_ACTIVE + * FILEPROG_52_YELLOW_CAULDRON_2_ACTIVE + */ if(fileProgressFlag_get(((actor->unkF4_8 - 1) ^ 1) + 0x49)){ actor->unk10_12 = 2; } diff --git a/src/core2/bs/bee.c b/src/core2/bs/bee.c index 52c2831a..2b16d033 100644 --- a/src/core2/bs/bee.c +++ b/src/core2/bs/bee.c @@ -36,7 +36,8 @@ void func_802A0340(void){ } } -// bsBee_inSet +// bsBee_inSet +// move_idx is probably a bs_e int bsbee_inSet(s32 move_idx){ return (move_idx == 0x85) || (move_idx == 0x86) diff --git a/src/core2/code_CF3E0.c b/src/core2/code_CF3E0.c index be686261..b0f2f5b1 100644 --- a/src/core2/code_CF3E0.c +++ b/src/core2/code_CF3E0.c @@ -29,7 +29,7 @@ MapProgressFlagToDialogID fileProgressDialogMap[] = { { FILEPROG_BE_CHEATO_BLUEEGGS, 0xFA8}, { FILEPROG_BF_CHEATO_REDFEATHERS, 0xFA9}, { FILEPROG_C0_CHEATO_GOLDFEATHERS, 0xFAA}, - {0x95, 0xB50}, + { FILEPROG_95_UNKNOWN, 0xB50}, { FILEPROG_A7_NEAR_PUZZLE_PODIUM_TEXT, 0xF7B}, { -1, -1} }; diff --git a/src/lair/code_0.c b/src/lair/code_0.c index 3fcdb7c2..ac5aa67e 100644 --- a/src/lair/code_0.c +++ b/src/lair/code_0.c @@ -178,12 +178,12 @@ s16 D_80393454[] = { FILEPROG_37_MMM_OPEN, FILEPROG_38_RBB_OPEN, FILEPROG_39_CCW_OPEN, - FILEPROG_0_UNKNOWN + NULL }; s16 D_80393468[] = { - VOLATILE_FLAG_0_IN_FURNACE_FUN_QUIZ, - VOLATILE_FLAG_0_IN_FURNACE_FUN_QUIZ, + NULL, + NULL, VOLATILE_FLAG_7F_SANDCASTLE_OPEN_CC, VOLATILE_FLAG_84_SANDCASTLE_OPEN_BGS, VOLATILE_FLAG_8B_SANDCASTLE_OPEN_FP, @@ -191,7 +191,7 @@ s16 D_80393468[] = { VOLATILE_FLAG_8C_SANDCASTLE_OPEN_MMM, VOLATILE_FLAG_90_SANDCASTLE_OPEN_RBB, VOLATILE_FLAG_93_SANDCASTLE_OPEN_CCW, - VOLATILE_FLAG_0_IN_FURNACE_FUN_QUIZ + NULL }; s16 D_8039347C[] = {50, 180, 260, 350, 450, 640, 765, 810, 828, 846, 864, 882}; //notedoor_notes_required_to_open From ee5d7e2fd8b2db21288c9ea74ae3dabf4c64f8bc Mon Sep 17 00:00:00 2001 From: Bl00D4NGEL Date: Thu, 3 Oct 2024 04:34:20 +0200 Subject: [PATCH 6/6] fix: add offset in file_progress_e enum --- include/enums.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/enums.h b/include/enums.h index 176ad8e9..33acece9 100644 --- a/include/enums.h +++ b/include/enums.h @@ -17,7 +17,7 @@ enum file_progress_e { FILEPROG_0_TIPTUP_MINIGAME_PROGRESS, // unused // unused - FILEPROG_3_MUSIC_NOTE_TEXT, + FILEPROG_3_MUSIC_NOTE_TEXT = 0x03, FILEPROG_4_MUMBO_TOKEN_TEXT, FILEPROG_5_BLUE_EGG_TEXT, FILEPROG_6_RED_FEATHER_TEXT,