diff --git a/include/functions.h b/include/functions.h index 4dac94871..2fef88b66 100644 --- a/include/functions.h +++ b/include/functions.h @@ -2095,7 +2095,7 @@ void func_80115D5C(GameState* gamestate); // void func_80118BA4(void); // void func_80119030(void); // void Interface_DrawClock(void); -void func_8011B4E0(GlobalContext* globalCtx, s16 arg1); +void Interface_SetPerfectMinigame(GlobalContext* globalCtx, s16 rewardType); // void func_8011B5C0(void); // void func_8011B9E0(void); // void func_8011BF70(void); diff --git a/include/z64.h b/include/z64.h index e9bc5676e..de053cecb 100644 --- a/include/z64.h +++ b/include/z64.h @@ -711,8 +711,8 @@ typedef struct { /* 0x280 */ u8 unk_280; /* 0x282 */ s16 unk_282; /* 0x284 */ s16 unk_284; - /* 0x286 */ s16 unk_286; - /* 0x288 */ s16 unk_288; + /* 0x286 */ s16 isMinigamePerfect; + /* 0x288 */ s16 minigameRewardType; /* 0x28A */ s16 unk_28A[8]; /* 0x29A */ u16 unk_29A[8]; /* 0x2AA */ s16 unk_2AA[8]; diff --git a/src/code/z_parameter.c b/src/code/z_parameter.c index 4d9216453..dd6db1a54 100644 --- a/src/code/z_parameter.c +++ b/src/code/z_parameter.c @@ -1947,7 +1947,6 @@ s32 Inventory_ReplaceItem(GlobalContext* globalCtx, u8 oldItem, u8 newItem) { #pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80114CA0.s") - s32 Inventory_HasEmptyBottle(void) { s32 slot; @@ -1980,7 +1979,7 @@ void Inventory_UpdateBottleItem(GlobalContext* globalCtx, u8 item, u8 btn) { gSaveContext.buttonStatus[btn] = BTN_ENABLED; if (item == ITEM_HOT_SPRING_WATER) { - func_8010EBA0(60, GET_CUR_FORM_BTN_SLOT(btn) - 18); + func_8010EBA0(60, GET_CUR_FORM_BTN_SLOT(btn) - 18); } } @@ -2947,17 +2946,17 @@ void Interface_DrawClock(GlobalContext* globalCtx); #pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/Interface_DrawClock.s") #endif -void func_8011B4E0(GlobalContext* globalCtx, s16 arg1) { +void Interface_SetPerfectMinigame(GlobalContext* globalCtx, s16 rewardType) { InterfaceContext* interfaceCtx = &globalCtx->interfaceCtx; s16 i; - interfaceCtx->unk_286 = 1; - interfaceCtx->unk_288 = arg1; + interfaceCtx->isMinigamePerfect = true; + interfaceCtx->minigameRewardType = rewardType; interfaceCtx->unk_2FC[0] = 255; interfaceCtx->unk_2FC[1] = 165; interfaceCtx->unk_2FC[2] = 55; interfaceCtx->unk_2FC[3] = 255; - interfaceCtx->unk_30A = 0x14; + interfaceCtx->unk_30A = 20; interfaceCtx->unk_308 = 0; interfaceCtx->unk_304 = 1; interfaceCtx->unk_30C = 0; @@ -2966,7 +2965,7 @@ void func_8011B4E0(GlobalContext* globalCtx, s16 arg1) { interfaceCtx->unk_2AA[i] = 0; interfaceCtx->unk_29A[i] = 0; interfaceCtx->unk_28A[i] = interfaceCtx->unk_2AA[i]; - if (interfaceCtx->unk_288 == 1) { + if (interfaceCtx->minigameRewardType == 1) { interfaceCtx->unk_2BC[i] = 140.0f; interfaceCtx->unk_2DC[i] = 100.0f; } else { @@ -3062,7 +3061,7 @@ void func_8011B5C0(GlobalContext* globalCtx) { } if (count == 8) { - interfaceCtx->unk_286 = 0; + interfaceCtx->isMinigamePerfect = false; } } @@ -3528,7 +3527,7 @@ void Interface_Draw(GlobalContext* globalCtx) { } } - if (interfaceCtx->unk_286 != 0) { + if (interfaceCtx->isMinigamePerfect != 0) { Interface_DrawMinigamePerfect(globalCtx); } @@ -3854,12 +3853,12 @@ void Interface_Update(GlobalContext* globalCtx) { } if ((globalCtx->pauseCtx.state == 0) && (globalCtx->pauseCtx.debugState == 0)) { - if (interfaceCtx->unk_286 != 0) { - if (interfaceCtx->unk_288 == 1) { + if (interfaceCtx->isMinigamePerfect) { + if (interfaceCtx->minigameRewardType == 1) { func_8011B5C0(globalCtx); - } else if (interfaceCtx->unk_288 == 2) { + } else if (interfaceCtx->minigameRewardType == 2) { func_8011B9E0(globalCtx); - } else if (interfaceCtx->unk_288 == 3) { + } else if (interfaceCtx->minigameRewardType == 3) { func_8011BF70(globalCtx); } } diff --git a/src/overlays/actors/ovl_En_Fu/z_en_fu.c b/src/overlays/actors/ovl_En_Fu/z_en_fu.c index f2ebc0668..bd9fd446f 100644 --- a/src/overlays/actors/ovl_En_Fu/z_en_fu.c +++ b/src/overlays/actors/ovl_En_Fu/z_en_fu.c @@ -806,7 +806,7 @@ void func_80962F4C(EnFu* this, GlobalContext* globalCtx) { gSaveContext.unk_3DE0[4] = 0; gSaveContext.unk_3DD0[4] = 5; func_801A3098(NA_BGM_GET_ITEM | 0x900); - func_8011B4E0(globalCtx, 1); + Interface_SetPerfectMinigame(globalCtx, 1); this->unk_54A = 3; func_809632D0(this); } @@ -853,7 +853,7 @@ void func_80963350(EnFu* this, GlobalContext* globalCtx) { D_80964C24 = 1; } - if ((this->unk_54A == 3) && (globalCtx->interfaceCtx.unk_286 == 0)) { + if ((this->unk_54A == 3) && !globalCtx->interfaceCtx.isMinigamePerfect) { this->unk_54A = 2; D_80964C24 = 1; } diff --git a/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.c b/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.c index b0c699c9b..e97a29797 100644 --- a/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.c +++ b/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.c @@ -966,7 +966,7 @@ void func_809C81D0(EnSyatekiMan* this, GlobalContext* globalCtx) { func_801A2C20(); this->unk_26A = 5; if (this->unk_280 == 0x848) { - func_8011B4E0(globalCtx, 2); + Interface_SetPerfectMinigame(globalCtx, 2); gSaveContext.unk_3DD0[1] = 6; this->actionFunc = func_809C8610; } else { @@ -1026,7 +1026,7 @@ void func_809C8610(EnSyatekiMan* this, GlobalContext* globalCtx) { Player* player = GET_PLAYER(globalCtx); player->stateFlags1 |= 0x20; - if (globalCtx->interfaceCtx.unk_286 == 0) { + if (!globalCtx->interfaceCtx.isMinigamePerfect) { if (gSaveContext.unk_3DE0[1] == 0) { gSaveContext.unk_3DE0[1] = 0; gSaveContext.unk_3DD0[1] = 5; @@ -1162,7 +1162,7 @@ void func_809C898C(EnSyatekiMan* this, GlobalContext* globalCtx) { this->actionFunc = func_809C8BF0; if (this->unk_280 == 50) { func_801A3098(NA_BGM_GET_ITEM | 0x900); - func_8011B4E0(globalCtx, 1); + Interface_SetPerfectMinigame(globalCtx, 1); } } } @@ -1171,7 +1171,7 @@ void func_809C898C(EnSyatekiMan* this, GlobalContext* globalCtx) { void func_809C8BF0(EnSyatekiMan* this, GlobalContext* globalCtx) { if (this->unk_26A == 1) { this->unk_190 = 0; - if ((this->unk_270 <= 0) && (globalCtx->interfaceCtx.unk_286 == 0)) { + if ((this->unk_270 <= 0) && !globalCtx->interfaceCtx.isMinigamePerfect) { Actor_SetAllChestFlag(globalCtx, this->unk_280); this->unk_270 = 15; if (((s32)(gSaveContext.save.roomInf[127][6] & 0xFFFF) < this->unk_280) || (this->unk_280 == 50)) { diff --git a/tools/disasm/functions.txt b/tools/disasm/functions.txt index 862391454..64915df39 100644 --- a/tools/disasm/functions.txt +++ b/tools/disasm/functions.txt @@ -2151,7 +2151,7 @@ 0x80118BA4:("func_80118BA4",), 0x80119030:("func_80119030",), 0x80119610:("Interface_DrawClock",), - 0x8011B4E0:("func_8011B4E0",), + 0x8011B4E0:("Interface_SetPerfectMinigame",), 0x8011B5C0:("func_8011B5C0",), 0x8011B9E0:("func_8011B9E0",), 0x8011BF70:("func_8011BF70",), diff --git a/tools/sizes/code_functions.csv b/tools/sizes/code_functions.csv index 186b55038..02824b114 100644 --- a/tools/sizes/code_functions.csv +++ b/tools/sizes/code_functions.csv @@ -1665,7 +1665,7 @@ asm/non_matchings/code/z_parameter/func_80118890.s,func_80118890,0x80118890,0xC5 asm/non_matchings/code/z_parameter/func_80118BA4.s,func_80118BA4,0x80118BA4,0x123 asm/non_matchings/code/z_parameter/func_80119030.s,func_80119030,0x80119030,0x178 asm/non_matchings/code/z_parameter/Interface_DrawClock.s,Interface_DrawClock,0x80119610,0x7B4 -asm/non_matchings/code/z_parameter/func_8011B4E0.s,func_8011B4E0,0x8011B4E0,0x38 +asm/non_matchings/code/z_parameter/Interface_SetPerfectMinigame.s,Interface_SetPerfectMinigame,0x8011B4E0,0x38 asm/non_matchings/code/z_parameter/func_8011B5C0.s,func_8011B5C0,0x8011B5C0,0x108 asm/non_matchings/code/z_parameter/func_8011B9E0.s,func_8011B9E0,0x8011B9E0,0x164 asm/non_matchings/code/z_parameter/func_8011BF70.s,func_8011BF70,0x8011BF70,0x155