diff --git a/include/functions.h b/include/functions.h index 8fd2e769f..b76114785 100644 --- a/include/functions.h +++ b/include/functions.h @@ -2051,20 +2051,20 @@ void Interface_ChangeAlpha(u16 param_1); // void func_8010F1A8(void); // void func_80110038(void); // void func_80111CB4(void); -// void func_801129E4(void); -void func_80112AFC(GlobalContext* globalCtx); -void Interface_LoadItemIcon(GlobalContext* globalCtx, u32 arg1); +// void Interface_SetSceneRestrictions(void); +void Interface_InitMinigame(GlobalContext* globalCtx); +void Interface_LoadItemIcon(GlobalContext* globalCtx, u8 arg1); // void func_80112BE4(void); // void func_80112C0C(void); u8 Item_Give(GlobalContext* globalCtx, u8 param_2); -// void func_801143CC(void); -s32 func_80114978(u8 arg0); -void func_801149A0(s16 arg0, s16 arg1); -// void func_80114A9C(void); -// void func_80114B84(void); +// void Item_CheckObtainabilityImpl(void); +s32 Item_CheckObtainability(u8 arg0); +void Inventory_DeleteItem(s16 arg0, s16 arg1); +// void Inventory_UnequipItem(void); +// void Inventory_ReplaceItem(void); // void func_80114CA0(void); -s32 Interface_HasEmptyBottle(void); -s32 Interface_HasItemInBottle(u8 itemId); +s32 Inventory_HasEmptyBottle(void); +s32 Inventory_HasItemInBottle(u8 itemId); // void func_80114FD0(void); // void func_80115130(void); // void func_801152B8(void); diff --git a/include/macros.h b/include/macros.h index f08d810a7..464e460d5 100644 --- a/include/macros.h +++ b/include/macros.h @@ -66,6 +66,8 @@ #define INV_CONTENT_VOID(item) ((void)0, gSaveContext.save.inventory.items)[SLOT(item)] #define CUR_FORM ((gSaveContext.save.playerForm == PLAYER_FORM_HUMAN) ? 0 : gSaveContext.save.playerForm) +#define CUR_FORM_BTN_ITEM(btn) ((u8)((btn) == 0 ? gSaveContext.save.equips.buttonItems[CUR_FORM][btn] : gSaveContext.save.equips.buttonItems[0][btn])) +#define CUR_FORM_CBTN_SLOT(btn) ((u8)((btn) == 0 ? gSaveContext.save.equips.cButtonSlots[CUR_FORM][btn] : gSaveContext.save.equips.cButtonSlots[0][btn])) #define ALL_EQUIP_VALUE(equip) ((gSaveContext.save.inventory.equipment & gEquipMasks[equip]) >> gEquipShifts[equip]) #define CUR_EQUIP_VALUE(equip) ((gSaveContext.save.equips.equipment & gEquipMasks[equip]) >> gEquipShifts[equip]) diff --git a/include/variables.h b/include/variables.h index 8b9999058..4e4b444eb 100644 --- a/include/variables.h +++ b/include/variables.h @@ -1043,8 +1043,8 @@ extern UNK_PTR D_801BF5C0; // extern UNK_TYPE1 D_801BF79E; // extern UNK_TYPE2 D_801BF884; // extern UNK_TYPE2 D_801BF888; -// extern UNK_TYPE2 D_801BF88C; -// extern UNK_TYPE2 D_801BF890; +// extern UNK_TYPE2 sHBAScoreTier; +// extern UNK_TYPE2 sMinigameScoreDigits; // extern UNK_TYPE2 D_801BF898; // extern UNK_TYPE2 D_801BF89C; // extern UNK_TYPE2 sMagicBarOutlinePrimRed; diff --git a/src/code/z_parameter.c b/src/code/z_parameter.c index 421ccecba..479e9c5a5 100644 --- a/src/code/z_parameter.c +++ b/src/code/z_parameter.c @@ -60,8 +60,6 @@ extern u8 D_801E3BB0[]; } \ (void)0 - - typedef struct { /* 0x00 */ u8 scene; /* 0x01 */ u8 flags1; @@ -193,11 +191,9 @@ s16 D_801BF884 = 0; // pictoBox related s32 D_801BF888 = 0; -// sMinigameScoreTier -s16 D_801BF88C = 0; +s16 sHBAScoreTier = 0; -// sMinigameScoreDigits -u16 D_801BF890[] = { 0, 0, 0, 0 }; +u16 sMinigameScoreDigits[] = { 0, 0, 0, 0 }; s32 D_801BF898 = 0; @@ -212,9 +208,9 @@ s16 D_801BF8AC = 2; s16 D_801BF8B0 = 1; s16 sExtraItemBases[] = { - ITEM_STICK, ITEM_STICK, ITEM_NUT, ITEM_NUT, ITEM_BOMB, ITEM_BOMB, ITEM_BOMB, ITEM_BOMB, ITEM_BOW, - ITEM_BOW, ITEM_BOW, ITEM_BOMBCHU, ITEM_BOMBCHU, ITEM_BOMBCHU, ITEM_BOMBCHU, ITEM_STICK, ITEM_STICK, ITEM_NUT, - ITEM_NUT, + ITEM_STICK, ITEM_STICK, ITEM_NUT, ITEM_NUT, ITEM_BOMB, ITEM_BOMB, ITEM_BOMB, + ITEM_BOMB, ITEM_BOW, ITEM_BOW, ITEM_BOW, ITEM_BOMBCHU, ITEM_BOMBCHU, ITEM_BOMBCHU, + ITEM_BOMBCHU, ITEM_STICK, ITEM_STICK, ITEM_NUT, ITEM_NUT, }; s16 D_801BF8DC = 0; @@ -581,7 +577,7 @@ void func_8010EBA0(s16 arg0, s16 arg1) { // Crazy u64 math #ifdef NON_EQUIVALENT -s32 func_8010EC54(s32 timerId) { +s32 func_8010EC54(s16 timerId) { u64 time; s16 sp22; s16 sp20; @@ -592,22 +588,20 @@ s32 func_8010EC54(s32 timerId) { time = gSaveContext.unk_3DE0[timerId]; - sp1C = time / 36000; - time -= sp1C * 36000; + time -= (sp1C = time / 36000) * 36000; + if (1) {} - sp1E = time / 6000; - time -= sp1E * 6000; + time -= (sp1E = time / 6000) * 6000; - sp20 = time / 1000; - time -= sp20 * 1000; + time -= (sp20 = time / 1000) * 1000; - sp22 = time / 100; - time -= sp22 * 100; + time -= (sp22 = time / 100) * 100; - temp_a0 = time / 10; - time -= sp22 * 10; + time -= (temp_a0 = time / 10) * 10; - return (s16)time | (sp1C << 0x14) | (sp1E << 0x10) | (sp20 << 0xC) | (sp22 << 8) | (temp_a0 << 4); + final = (sp1C << 0x14); + + return time | final | (sp1E << 0x10) | (sp20 << 0xC) | (sp22 << 8) | (temp_a0 << 4); } #else #pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_8010EC54.s") @@ -1379,7 +1373,7 @@ void func_8010F1A8(GlobalContext* globalCtx, s16 maxAlpha) { void func_80111CB4(GlobalContext* globalCtx); #pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80111CB4.s") -void func_801129E4(GlobalContext* globalCtx) { +void Interface_SetSceneRestrictions(GlobalContext* globalCtx) { InterfaceContext* interfaceCtx = &globalCtx->interfaceCtx; s16 i = 0; u8 currentScene; @@ -1408,29 +1402,26 @@ void func_801129E4(GlobalContext* globalCtx) { void func_80112AF4(void) { } -#ifdef NON_MATCHING -void func_80112AFC(GlobalContext* globalCtx) { +/** + * Initializes Romani's balloon horseback archery minigame + */ +void Interface_InitMinigame(GlobalContext* globalCtx) { InterfaceContext* interfaceCtx = &globalCtx->interfaceCtx; gSaveContext.minigameState = 1; gSaveContext.minigameScore = 0; gSaveContext.unk_3F3C = 0; - D_801BF88C = 0; + sHBAScoreTier = 0; + interfaceCtx->unk_25C = interfaceCtx->unk_25E = interfaceCtx->unk_262 = 0; - interfaceCtx->unk_262 = 0; - interfaceCtx->unk_25E = 0; - interfaceCtx->unk_25C = 0; - interfaceCtx->hbaAmmo = 0x14; + interfaceCtx->hbaAmmo = 20; } -#else -#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80112AFC.s") -#endif void func_80178E3C(u32 romSegment, u32 arg1, void* dst, u32 size); #ifdef NON_EQUIVALENT -void Interface_LoadItemIcon(GlobalContext* globalCtx, volatile u8 arg1) { +void Interface_LoadItemIcon(GlobalContext* globalCtx, u8 arg1) { InterfaceContext* interfaceCtx = &globalCtx->interfaceCtx; u8 phi_v0; @@ -1451,7 +1442,36 @@ void func_80112BE4(GlobalContext* globalCtx, u8 arg1) { Interface_LoadItemIcon(globalCtx, arg1); } -#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80112C0C.s") +void func_80112C0C(GlobalContext* globalCtx, u16 flag) { + if (flag) { + if ((gSaveContext.save.equips.buttonItems[CUR_FORM][0] == ITEM_BOW) || + (gSaveContext.save.equips.buttonItems[CUR_FORM][0] == ITEM_BOMB) || + (gSaveContext.save.equips.buttonItems[CUR_FORM][0] == ITEM_BOMBCHU) || + (gSaveContext.save.equips.buttonItems[CUR_FORM][0] == ITEM_FISHING_POLE) || + (gSaveContext.buttonStatus[0] == BTN_DISABLED)) { + if ((gSaveContext.save.equips.buttonItems[CUR_FORM][0] == ITEM_BOW) || + (gSaveContext.save.equips.buttonItems[CUR_FORM][0] == ITEM_BOMB) || + (gSaveContext.save.equips.buttonItems[CUR_FORM][0] == ITEM_BOMBCHU) || + (gSaveContext.save.equips.buttonItems[CUR_FORM][0] == ITEM_FISHING_POLE)) { + gSaveContext.save.equips.buttonItems[CUR_FORM][0] = gSaveContext.buttonStatus[0]; + Interface_LoadItemIcon(globalCtx, 0); + } + } else if (gSaveContext.save.equips.buttonItems[CUR_FORM][0] == ITEM_NONE) { + if (gSaveContext.save.equips.buttonItems[CUR_FORM][0] != ITEM_NONE) { + gSaveContext.save.equips.buttonItems[CUR_FORM][0] = gSaveContext.buttonStatus[0]; + Interface_LoadItemIcon(globalCtx, 0); + } + } + + gSaveContext.buttonStatus[3] = gSaveContext.buttonStatus[2] = gSaveContext.buttonStatus[1] = + gSaveContext.buttonStatus[0] = BTN_ENABLED; + Interface_ChangeAlpha(7); + } else { + gSaveContext.buttonStatus[3] = gSaveContext.buttonStatus[2] = gSaveContext.buttonStatus[1] = + gSaveContext.buttonStatus[0] = BTN_ENABLED; + func_80111CB4(globalCtx); + } +} #ifdef NON_EQUIVALENT u8 Item_Give(GlobalContext* globalCtx, u8 item) { @@ -1584,7 +1604,7 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) { } else if (item == ITEM_WALLET_ADULT) { Inventory_ChangeUpgrade(UPG_WALLET, 1); return ITEM_NONE; - + } else if (item == ITEM_WALLET_GIANT) { Inventory_ChangeUpgrade(UPG_WALLET, 2); return ITEM_NONE; @@ -1620,7 +1640,7 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) { Inventory_ChangeUpgrade(UPG_NUTS, 3); AMMO(ITEM_NUT) = CAPACITY(UPG_NUTS, 3); return ITEM_NONE; - + } else if (item == ITEM_STICK) { if (INV_CONTENT(ITEM_STICK) != ITEM_STICK) { Inventory_ChangeUpgrade(UPG_STICKS, 1); @@ -1673,7 +1693,7 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) { } else if (item == ITEM_POWDER_KEG) { if (INV_CONTENT(ITEM_POWDER_KEG) != ITEM_POWDER_KEG) { - INV_CONTENT(ITEM_POWDER_KEG)= ITEM_POWDER_KEG; + INV_CONTENT(ITEM_POWDER_KEG) = ITEM_POWDER_KEG; } AMMO(ITEM_POWDER_KEG) = 1; @@ -1682,13 +1702,13 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) { } else if (item == ITEM_BOMB) { AMMO(ITEM_BOMB)++; if (AMMO(ITEM_BOMB) > CUR_CAPACITY(UPG_BOMB_BAG)) { - AMMO(ITEM_BOMB) = CUR_CAPACITY(UPG_BOMB_BAG); + AMMO(ITEM_BOMB) = CUR_CAPACITY(UPG_BOMB_BAG); } return ITEM_NONE; } else if ((item >= ITEM_BOMBS_5) && (item <= ITEM_BOMBS_30)) { if (gSaveContext.save.inventory.items[6] != ITEM_BOMB) { - INV_CONTENT(ITEM_BOMB) = ITEM_BOMB; + INV_CONTENT(ITEM_BOMB) = ITEM_BOMB; AMMO(ITEM_BOMB) += sAmmoRefillCounts[item - ITEM_BOMBS_5]; return ITEM_NONE; } @@ -1696,7 +1716,7 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) { AMMO(ITEM_BOMB) += sAmmoRefillCounts[item - ITEM_BOMBS_5]; if (AMMO(ITEM_BOMB) > CUR_CAPACITY(UPG_BOMB_BAG)) { - AMMO(ITEM_BOMB) = CUR_CAPACITY(UPG_BOMB_BAG); + AMMO(ITEM_BOMB) = CUR_CAPACITY(UPG_BOMB_BAG); } return ITEM_NONE; @@ -1735,7 +1755,6 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) { if ((AMMO(ITEM_BOW) >= CUR_CAPACITY(UPG_QUIVER)) || (AMMO(ITEM_BOW) < 0)) { AMMO(ITEM_BOW) = CUR_CAPACITY(UPG_QUIVER); - } return ITEM_BOW; @@ -1812,64 +1831,64 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) { } return item; - } else if (((item >= 0x13) && (item < 0x28)) || (item == 0x9F) || (item == 0xA0) || (item == 0xA1) || (item == 0xA2) || (item == 0xA3)) { + } else if (((item >= 0x13) && (item < 0x28)) || (item == 0x9F) || (item == 0xA0) || (item == 0xA1) || + (item == 0xA2) || (item == 0xA3)) { slot = gItemSlots[item]; if ((item != 0x18) && (item != 0x19)) { - // i = 0; - if (item == 0x9F) { - slot = gItemSlots[0x25]; - item = 0x25; + // i = 0; + if (item == 0x9F) { + slot = gItemSlots[0x25]; + item = 0x25; - } else if (item == 0xA0) { - slot = gItemSlots[0x18]; - item = 0x18; + } else if (item == 0xA0) { + slot = gItemSlots[0x18]; + item = 0x18; - } else if (item == 0xA1) { - slot = gItemSlots[0x22]; - item = 0x22; + } else if (item == 0xA1) { + slot = gItemSlots[0x22]; + item = 0x22; - } else if (item == 0xA2) { - slot = gItemSlots[0x26]; - item = 0x26; + } else if (item == 0xA2) { + slot = gItemSlots[0x26]; + item = 0x26; - } else if (item == 0xA3) { - slot = gItemSlots[0x24]; - item = 0x24; - } + } else if (item == 0xA3) { + slot = gItemSlots[0x24]; + item = 0x24; + } - - for (i = 0; i < 6; i++) { - if (gSaveContext.save.inventory.items[slot + i] == 0x12) { - if (item == 0x20) { - func_8010EBA0(0x3C, i); - } - - if ((slot + i) == gSaveContext.save.equips.cButtonSlots[0][1]) { - gSaveContext.save.equips.buttonItems[0][1] = item; - Interface_LoadItemIcon(globalCtx, 1); - gSaveContext.buttonStatus[1] = 0; - } else if ((slot + i) == gSaveContext.save.equips.cButtonSlots[0][2]) { - gSaveContext.save.equips.buttonItems[0][2] = item; - Interface_LoadItemIcon(globalCtx, 2); - gSaveContext.buttonStatus[2] = 0; - } else if ((slot + i) == gSaveContext.save.equips.cButtonSlots[0][3]) { - gSaveContext.save.equips.buttonItems[0][3] = item; - Interface_LoadItemIcon(globalCtx, 3); - gSaveContext.buttonStatus[3] = 0; - } - - gSaveContext.save.inventory.items[slot] = item; - return ITEM_NONE; + for (i = 0; i < 6; i++) { + if (gSaveContext.save.inventory.items[slot + i] == 0x12) { + if (item == 0x20) { + func_8010EBA0(0x3C, i); } + + if ((slot + i) == gSaveContext.save.equips.cButtonSlots[0][1]) { + gSaveContext.save.equips.buttonItems[0][1] = item; + Interface_LoadItemIcon(globalCtx, 1); + gSaveContext.buttonStatus[1] = 0; + } else if ((slot + i) == gSaveContext.save.equips.cButtonSlots[0][2]) { + gSaveContext.save.equips.buttonItems[0][2] = item; + Interface_LoadItemIcon(globalCtx, 2); + gSaveContext.buttonStatus[2] = 0; + } else if ((slot + i) == gSaveContext.save.equips.cButtonSlots[0][3]) { + gSaveContext.save.equips.buttonItems[0][3] = item; + Interface_LoadItemIcon(globalCtx, 3); + gSaveContext.buttonStatus[3] = 0; + } + + gSaveContext.save.inventory.items[slot] = item; + return ITEM_NONE; } + } } else { for (i = 0; i < 6; i++) { if (gSaveContext.save.inventory.items[i] == ITEM_NONE) { gSaveContext.save.inventory.items[i] = item; return ITEM_NONE; } - } + } } } else if ((item >= ITEM_MOON_TEAR) && (item <= ITEM_MASK_GIANT)) { @@ -1895,108 +1914,82 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) { } } return ITEM_NONE; - } + } gSaveContext.save.inventory.items[slot] = item; return gSaveContext.save.inventory.items[slot]; } #else s16 sAmmoRefillCounts[] = { - 5, 10, 20, 30, 10, 30, 40, 50, 20, 10, 1, 5, 1, 5, 10, 20, 50, 100, 200, 0, - }; + 5, 10, 20, 30, 10, 30, 40, 50, 20, 10, 1, 5, 1, 5, 10, 20, 50, 100, 200, 0, +}; #pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/Item_Give.s") #endif -s32 func_801143CC(u8); -#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_801143CC.s") +s32 Item_CheckObtainabilityImpl(u8 item); +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/Item_CheckObtainabilityImpl.s") -s32 func_80114978(u8 arg0) { - return func_801143CC(arg0); +s32 Item_CheckObtainability(u8 item) { + return Item_CheckObtainabilityImpl(item); } -void func_801149A0(s16 itemId, s16 invSlot) { +void Inventory_DeleteItem(s16 itemId, s16 invSlot) { s16 i; - s16 new_var; - s32 phi_a1; gSaveContext.save.inventory.items[invSlot] = ITEM_NONE; for (i = 1; i < 4; i++) { - if (i == 0) { - phi_a1 = CUR_FORM_EQUIP(i); - } else { - phi_a1 = gSaveContext.save.equips.buttonItems[0][i]; - } - - if (itemId == (phi_a1 & 0xFF)) { + if (itemId == CUR_FORM_BTN_ITEM(i)) { if (i == 0) { - phi_a1 = CUR_FORM; - gSaveContext.save.equips.buttonItems[phi_a1][i] = ITEM_NONE; + gSaveContext.save.equips.buttonItems[CUR_FORM][i] = ITEM_NONE; } else { gSaveContext.save.equips.buttonItems[0][i] = ITEM_NONE; } if (i == 0) { - phi_a1 = CUR_FORM; - gSaveContext.save.equips.cButtonSlots[phi_a1][i] = ITEM_NONE; + gSaveContext.save.equips.cButtonSlots[CUR_FORM][i] = SLOT_NONE; } else { - gSaveContext.save.equips.cButtonSlots[0][i] = ITEM_NONE; + gSaveContext.save.equips.cButtonSlots[0][i] = SLOT_NONE; } } } } -void func_80114A9C(s16 itemId) { +void Inventory_UnequipItem(s16 itemId) { s16 i; - s32 phi_a1; for (i = 1; i < 4; i++) { - if (i == 0) { - phi_a1 = gSaveContext.save.equips.buttonItems[CUR_FORM][i]; - } else { - phi_a1 = gSaveContext.save.equips.buttonItems[0][i]; - } - - if (itemId == (phi_a1 & 0xFF)) { + if (itemId == CUR_FORM_BTN_ITEM(i)) { if (i == 0) { - phi_a1 = CUR_FORM; - gSaveContext.save.equips.buttonItems[phi_a1][i] = ITEM_NONE; + gSaveContext.save.equips.buttonItems[CUR_FORM][i] = ITEM_NONE; } else { gSaveContext.save.equips.buttonItems[0][i] = ITEM_NONE; } if (i == 0) { - phi_a1 = CUR_FORM; - gSaveContext.save.equips.cButtonSlots[phi_a1][i] = ITEM_NONE; + gSaveContext.save.equips.cButtonSlots[CUR_FORM][i] = SLOT_NONE; } else { - gSaveContext.save.equips.cButtonSlots[0][i] = ITEM_NONE; + gSaveContext.save.equips.cButtonSlots[0][i] = SLOT_NONE; } } } } -#ifdef NON_MATCHING -s32 func_80114B84(s32 arg0, u8 arg1, u8 arg2) { - u8 phi_a3; - u8 phi_a0; - u8 phi_a3_2; - for (phi_a3 = 0; phi_a3 < 24; phi_a3++) { - if (gSaveContext.save.inventory.items[phi_a3] == arg1) { - gSaveContext.save.inventory.items[phi_a3] = arg2; - for (phi_a3_2 = 1; phi_a3_2 < 4; phi_a3_2++) { - if (phi_a3_2 == 0) { - phi_a0 = gSaveContext.save.equips.buttonItems[CUR_FORM][phi_a3_2]; - } else { - phi_a0 = gSaveContext.save.equips.buttonItems[0][phi_a3_2]; - } +s32 Inventory_ReplaceItem(GlobalContext* globalCtx, u8 oldItem, u8 newItem) { + u8 i; - if (arg1 == (phi_a0 & 0xFF)) { - if (phi_a3_2 == 0) { - gSaveContext.save.equips.buttonItems[CUR_FORM][phi_a3_2] = arg2; + for (i = 0; i < ARRAY_COUNT(gSaveContext.save.inventory.items); i++) { + if (gSaveContext.save.inventory.items[i] == oldItem) { + gSaveContext.save.inventory.items[i] = newItem; + + for (i = 1; i < 4; i++) { + if (oldItem == CUR_FORM_BTN_ITEM(i)) { + if (i == 0) { + gSaveContext.save.equips.buttonItems[CUR_FORM][i] = newItem; } else { - gSaveContext.save.equips.buttonItems[0][phi_a3_2] = arg2; + gSaveContext.save.equips.buttonItems[0][i] = newItem; } - Interface_LoadItemIcon(arg0, phi_a3_2 & 0xFF); - return true; + Interface_LoadItemIcon(globalCtx, i); + break; } } return true; @@ -2004,13 +1997,10 @@ s32 func_80114B84(s32 arg0, u8 arg1, u8 arg2) { } return false; } -#else -#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80114B84.s") -#endif #pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80114CA0.s") -s32 Interface_HasEmptyBottle(void) { +s32 Inventory_HasEmptyBottle(void) { s32 slot; for (slot = SLOT_BOTTLE_1; slot <= SLOT_BOTTLE_6; slot++) { @@ -2021,7 +2011,7 @@ s32 Interface_HasEmptyBottle(void) { return false; } -s32 Interface_HasItemInBottle(u8 itemId) { +s32 Inventory_HasItemInBottle(u8 itemId) { s32 slot; for (slot = SLOT_BOTTLE_1; slot <= SLOT_BOTTLE_6; slot++) { @@ -2032,59 +2022,38 @@ s32 Interface_HasItemInBottle(u8 itemId) { return false; } -#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80114FD0.s") -/* void func_80114FD0(GlobalContext* globalCtx, u8 arg1, u8 arg2) { - u8 phi_v1; - s32 phi_a0; +void func_80114FD0(GlobalContext* globalCtx, u8 item, u8 arg2) { + gSaveContext.save.inventory.items[CUR_FORM_CBTN_SLOT(arg2)] = item; if (arg2 == 0) { - phi_v1 = gSaveContext.save.equips.cButtonSlots[CUR_FORM][arg2]; + gSaveContext.save.equips.buttonItems[CUR_FORM][arg2] = item; } else { - phi_v1 = gSaveContext.save.equips.cButtonSlots[0][arg2]; - } - gSaveContext.save.inventory.items[phi_v1] = arg1; - if (arg2 == 0) { - phi_a0 = CUR_FORM; - gSaveContext.save.equips.buttonItems[phi_a0][arg2] = arg1; - } else { - gSaveContext.save.equips.buttonItems[0][arg2] = arg1; + gSaveContext.save.equips.buttonItems[0][arg2] = item; } Interface_LoadItemIcon(globalCtx, arg2); - globalCtx->pauseCtx.cursorItem[0] = arg1; + globalCtx->pauseCtx.unk_25E[0] = item; gSaveContext.buttonStatus[arg2] = 0; - if (arg1 == 0x20) { - if (arg2 == 0) { - phi_a0 = CUR_FORM; - phi_v1 = gSaveContext.save.equips.cButtonSlots[phi_a0][arg2]; - } else { - phi_v1 = gSaveContext.save.equips.cButtonSlots[0][arg2]; - } - func_8012FB84(0x3C, phi_v1 - 0x12); + if (item == ITEM_HOT_SPRING_WATER) { + func_8010EBA0(0x3C, CUR_FORM_CBTN_SLOT(arg2) - 0x12); } -} */ +} #pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80115130.s") -#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_801152B8.s") -/* void func_801152B8(GlobalContext* globalCtx, s16 arg1, s16 arg2) { - s16 phi_s0; - u8 phi_v1; - gSaveContext.save.inventory.items[arg1] = arg2; - for (phi_s0 = 1; phi_s0 < 4; phi_s0++) { - if (phi_s0 == 0) { - phi_v1 = gSaveContext.save.equips.cButtonSlots[CUR_FORM][phi_s0]; - } else { - phi_v1 = gSaveContext.save.equips.cButtonSlots[0][phi_s0]; - } - if (arg1 == (phi_v1 & 0xFF)) { - if (phi_s0 == 0) { - gSaveContext.save.equips.buttonItems[CUR_FORM][phi_s0] = arg2; +void func_801152B8(GlobalContext* globalCtx, s16 slot, s16 item) { + s16 i; + + gSaveContext.save.inventory.items[slot] = item; + for (i = 1; i < 4; i++) { + if (slot == CUR_FORM_CBTN_SLOT(i)) { + if (i == 0) { + gSaveContext.save.equips.buttonItems[CUR_FORM][i] = item; } else { - gSaveContext.save.equips.buttonItems[0][phi_s0] = arg2; + gSaveContext.save.equips.buttonItems[0][i] = item; } - Interface_LoadItemIcon(globalCtx, phi_s0); + Interface_LoadItemIcon(globalCtx, i); } } -} */ +} void func_801153C8(s32* buf, s32 size) { s32 i; @@ -2184,7 +2153,7 @@ void Inventory_ChangeAmmo(s16 item, s16 ammoChange) { } else if (AMMO(ITEM_BOW) < 0) { AMMO(ITEM_BOW) = 0; } - + } else if (item == ITEM_BOMB) { AMMO(ITEM_BOMB) += ammoChange; @@ -2246,11 +2215,11 @@ void func_80116088(void) { void func_80116114(void) { static s16 magicBorderColors[][3] = { - { 255, 255, 255 }, + { 255, 255, 255 }, { 150, 150, 150 }, }; static s16 magicBorderIndices[] = { 0, 1, 1, 0 }; - static s16 magicBorderColorTimerIndex[] = { 2, 1, 2, 1 }; + static s16 magicBorderColorTimerIndex[] = { 2, 1, 2, 1 }; s16 colorStep1; s16 colorStep2; s16 colorStep3; @@ -3911,40 +3880,40 @@ void Interface_Update(GlobalContext* globalCtx) { } } - // Update Horseback Archery (remnant of OoT) + // Update Minigame if (gSaveContext.minigameState == 1) { gSaveContext.minigameScore += interfaceCtx->unk_25C; gSaveContext.unk_3F3C += interfaceCtx->unk_25E; interfaceCtx->unk_25C = 0; interfaceCtx->unk_25E = 0; - if (D_801BF88C == 0) { + if (sHBAScoreTier == 0) { if (gSaveContext.minigameScore >= 1000) { - D_801BF88C++; + sHBAScoreTier++; } - } else if (D_801BF88C == 1) { + } else if (sHBAScoreTier == 1) { if (gSaveContext.minigameScore >= 1500) { - D_801BF88C++; + sHBAScoreTier++; } } - D_801BF890[0] = D_801BF890[1] = 0; - D_801BF890[2] = 0; - D_801BF890[3] = gSaveContext.minigameScore; + sMinigameScoreDigits[0] = sMinigameScoreDigits[1] = 0; + sMinigameScoreDigits[2] = 0; + sMinigameScoreDigits[3] = gSaveContext.minigameScore; - while (D_801BF890[3] >= 1000) { - D_801BF890[0]++; - D_801BF890[3] -= 1000; + while (sMinigameScoreDigits[3] >= 1000) { + sMinigameScoreDigits[0]++; + sMinigameScoreDigits[3] -= 1000; } - while (D_801BF890[3] >= 100) { - D_801BF890[1]++; - D_801BF890[3] -= 100; + while (sMinigameScoreDigits[3] >= 100) { + sMinigameScoreDigits[1]++; + sMinigameScoreDigits[3] -= 100; } - while (D_801BF890[3] >= 10) { - D_801BF890[2]++; - D_801BF890[3] -= 10; + while (sMinigameScoreDigits[3] >= 10) { + sMinigameScoreDigits[2]++; + sMinigameScoreDigits[3] -= 10; } } diff --git a/src/overlays/actors/ovl_En_Akindonuts/z_en_akindonuts.c b/src/overlays/actors/ovl_En_Akindonuts/z_en_akindonuts.c index c79c6c580..a808f5d07 100644 --- a/src/overlays/actors/ovl_En_Akindonuts/z_en_akindonuts.c +++ b/src/overlays/actors/ovl_En_Akindonuts/z_en_akindonuts.c @@ -219,7 +219,7 @@ s32 func_80BECFBC(EnAkindonuts* this) { return 0x9A; case 3: - func_801149A0(ITEM_DEED_OCEAN, SLOT(ITEM_DEED_OCEAN)); + Inventory_DeleteItem(ITEM_DEED_OCEAN, SLOT(ITEM_DEED_OCEAN)); return 0x7; } return 0; @@ -321,7 +321,7 @@ s32 func_80BED27C(EnAkindonuts* this) { } s32 func_80BED2FC(EnAkindonuts* this) { - if (!Interface_HasEmptyBottle()) { + if (!Inventory_HasEmptyBottle()) { return 2; } @@ -335,7 +335,7 @@ s32 func_80BED2FC(EnAkindonuts* this) { } s32 func_80BED35C(EnAkindonuts* this) { - if (!Interface_HasEmptyBottle()) { + if (!Inventory_HasEmptyBottle()) { return 2; } diff --git a/src/overlays/actors/ovl_En_Cow/z_en_cow.c b/src/overlays/actors/ovl_En_Cow/z_en_cow.c index 5a938bce4..811eef903 100644 --- a/src/overlays/actors/ovl_En_Cow/z_en_cow.c +++ b/src/overlays/actors/ovl_En_Cow/z_en_cow.c @@ -241,7 +241,7 @@ void EnCow_GiveMilk(EnCow* this, GlobalContext* globalCtx) { void EnCow_CheckForEmptyBottle(EnCow* this, GlobalContext* globalCtx) { if ((func_80152498(&globalCtx->msgCtx) == 5) && func_80147624(globalCtx)) { - if (Interface_HasEmptyBottle()) { + if (Inventory_HasEmptyBottle()) { func_80151938(globalCtx, 0x32C9); // Text to give milk. this->actionFunc = EnCow_GiveMilk; } else { @@ -298,7 +298,7 @@ void EnCow_Idle(EnCow* this, GlobalContext* globalCtx) { if (func_801A5100() == 4) { if (!(gSaveContext.save.weekEventReg[87] & 1)) { gSaveContext.save.weekEventReg[87] |= 1; - if (Interface_HasEmptyBottle()) { + if (Inventory_HasEmptyBottle()) { this->actor.textId = 0x32C9; // Text to give milk. } else { this->actor.textId = 0x32CA; // Text if you don't have an empty bottle. diff --git a/src/overlays/actors/ovl_En_Dnp/z_en_dnp.c b/src/overlays/actors/ovl_En_Dnp/z_en_dnp.c index 106d64393..44a7325b9 100644 --- a/src/overlays/actors/ovl_En_Dnp/z_en_dnp.c +++ b/src/overlays/actors/ovl_En_Dnp/z_en_dnp.c @@ -375,7 +375,7 @@ void EnDnp_Init(Actor* thisx, GlobalContext* globalCtx) { this->actor.world.rot.x = this->actor.shape.rot.x; this->actor.cutscene = 0x10; this->actionFunc = func_80B3D47C; - } else if (((ENDNP_GET_7(&this->actor) == ENDNP_GET_7_0) && !Interface_HasItemInBottle(ITEM_DEKU_PRINCESS) && + } else if (((ENDNP_GET_7(&this->actor) == ENDNP_GET_7_0) && !Inventory_HasItemInBottle(ITEM_DEKU_PRINCESS) && !(gSaveContext.save.weekEventReg[23] & 0x20)) || ((ENDNP_GET_7(&this->actor) == ENDNP_GET_7_2) && (gSaveContext.save.weekEventReg[23] & 0x20))) { Actor_SetScale(&this->actor, 0.0085f); diff --git a/src/overlays/actors/ovl_En_Dnq/z_en_dnq.c b/src/overlays/actors/ovl_En_Dnq/z_en_dnq.c index a25225f96..23e6dd21c 100644 --- a/src/overlays/actors/ovl_En_Dnq/z_en_dnq.c +++ b/src/overlays/actors/ovl_En_Dnq/z_en_dnq.c @@ -346,7 +346,7 @@ void func_80A52DC8(EnDnq* this, GlobalContext* globalCtx) { if (!(gSaveContext.save.weekEventReg[23] & 0x20)) { this->unk_390 = 70.0f; - if (Interface_HasItemInBottle(ITEM_DEKU_PRINCESS) && !func_801690CC(globalCtx) && + if (Inventory_HasItemInBottle(ITEM_DEKU_PRINCESS) && !func_801690CC(globalCtx) && (func_80152498(&globalCtx->msgCtx) == 0) && (ActorCutscene_GetCurrentIndex() == -1)) { if ((DECR(this->unk_384) == 0) && (gSaveContext.save.weekEventReg[29] & 0x40)) { func_801518B0(globalCtx, 0x969, NULL); diff --git a/src/overlays/actors/ovl_En_GirlA/z_en_girla.c b/src/overlays/actors/ovl_En_GirlA/z_en_girla.c index 31539bd3e..88fb9ccc7 100644 --- a/src/overlays/actors/ovl_En_GirlA/z_en_girla.c +++ b/src/overlays/actors/ovl_En_GirlA/z_en_girla.c @@ -185,7 +185,7 @@ void EnGirlA_Destroy(Actor* thisx, GlobalContext* globalCtx) { } s32 EnGirlA_CanBuyPotionRed(GlobalContext* globalCtx, EnGirlA* this) { - if (!Interface_HasEmptyBottle()) { + if (!Inventory_HasEmptyBottle()) { return CANBUY_RESULT_NEED_EMPTY_BOTTLE; } if (gSaveContext.save.playerData.rupees < globalCtx->msgCtx.unk1206C) { @@ -195,7 +195,7 @@ s32 EnGirlA_CanBuyPotionRed(GlobalContext* globalCtx, EnGirlA* this) { } s32 EnGirlA_CanBuyPotionGreen(GlobalContext* globalCtx, EnGirlA* this) { - if (!Interface_HasEmptyBottle()) { + if (!Inventory_HasEmptyBottle()) { return CANBUY_RESULT_NEED_EMPTY_BOTTLE; } if (gSaveContext.save.playerData.rupees < globalCtx->msgCtx.unk1206C) { @@ -208,7 +208,7 @@ s32 EnGirlA_CanBuyPotionBlue(GlobalContext* globalCtx, EnGirlA* this) { if (!(gSaveContext.save.weekEventReg[53] & 8)) { return CANBUY_RESULT_CANNOT_GET_NOW; } - if (!Interface_HasEmptyBottle()) { + if (!Inventory_HasEmptyBottle()) { return CANBUY_RESULT_NEED_EMPTY_BOTTLE; } if (!(gSaveContext.save.weekEventReg[53] & 0x10)) { @@ -240,7 +240,7 @@ s32 EnGirlA_CanBuyNuts(GlobalContext* globalCtx, EnGirlA* this) { if (gSaveContext.save.playerData.rupees < globalCtx->msgCtx.unk1206C) { return CANBUY_RESULT_NEED_RUPEES; } - if (func_80114978(ITEM_NUT) == ITEM_NONE) { + if (Item_CheckObtainability(ITEM_NUT) == ITEM_NONE) { return CANBUY_RESULT_SUCCESS_1; } return CANBUY_RESULT_SUCCESS_2; @@ -263,7 +263,7 @@ s32 EnGirlA_CanBuyStick(GlobalContext* globalCtx, EnGirlA* this) { if (gSaveContext.save.playerData.rupees < globalCtx->msgCtx.unk1206C) { return CANBUY_RESULT_NEED_RUPEES; } - if (func_80114978(ITEM_STICK) == ITEM_NONE) { + if (Item_CheckObtainability(ITEM_STICK) == ITEM_NONE) { return CANBUY_RESULT_SUCCESS_1; } return CANBUY_RESULT_SUCCESS_2; @@ -322,7 +322,7 @@ s32 EnGirlA_CanBuyBombchus(GlobalContext* globalCtx, EnGirlA* this) { if (gSaveContext.save.playerData.rupees < globalCtx->msgCtx.unk1206C) { return CANBUY_RESULT_NEED_RUPEES; } - if (func_80114978(ITEM_BOMBCHU) == ITEM_NONE) { + if (Item_CheckObtainability(ITEM_BOMBCHU) == ITEM_NONE) { return CANBUY_RESULT_SUCCESS_1; } return CANBUY_RESULT_SUCCESS_2; @@ -366,7 +366,7 @@ s32 EnGirlA_CanBuyShieldMirror(GlobalContext* globalCtx, EnGirlA* this) { } s32 EnGirlA_CanBuyFairy(GlobalContext* globalCtx, EnGirlA* this) { - if (!Interface_HasEmptyBottle()) { + if (!Inventory_HasEmptyBottle()) { return CANBUY_RESULT_NEED_EMPTY_BOTTLE; } if (gSaveContext.save.playerData.rupees < globalCtx->msgCtx.unk1206C) { diff --git a/src/overlays/actors/ovl_En_In/z_en_in.c b/src/overlays/actors/ovl_En_In/z_en_in.c index 0e85140f2..664905624 100644 --- a/src/overlays/actors/ovl_En_In/z_en_in.c +++ b/src/overlays/actors/ovl_En_In/z_en_in.c @@ -793,7 +793,7 @@ s32 func_808F4414(GlobalContext* globalCtx, EnIn* this, s32 arg2) { if (msgCtx->choiceIndex == 0) { func_8019F208(); if (gSaveContext.save.playerData.rupees >= globalCtx->msgCtx.unk1206C) { - if (Interface_HasEmptyBottle()) { + if (Inventory_HasEmptyBottle()) { this->actionFunc = func_808F3C40; func_800B8A1C(&this->actor, globalCtx, 0x92, 500.0f, 100.0f); Rupees_ChangeBy(-globalCtx->msgCtx.unk1206C); @@ -939,7 +939,7 @@ s32 func_808F4414(GlobalContext* globalCtx, EnIn* this, s32 arg2) { break; case 0x347E: func_808F35D8(this, globalCtx); - if (Interface_HasEmptyBottle()) { + if (Inventory_HasEmptyBottle()) { this->actionFunc = func_808F3B40; func_800B8A1C(&this->actor, globalCtx, 0x92, 500.0f, 100.0f); ret = true; @@ -1045,7 +1045,7 @@ s32 func_808F4414(GlobalContext* globalCtx, EnIn* this, s32 arg2) { if (msgCtx->choiceIndex == 0) { func_8019F208(); if (gSaveContext.save.playerData.rupees >= globalCtx->msgCtx.unk1206C) { - if (Interface_HasEmptyBottle()) { + if (Inventory_HasEmptyBottle()) { this->actionFunc = func_808F3C40; func_800B8A1C(&this->actor, globalCtx, 0x92, 500.0f, 100.0f); Rupees_ChangeBy(-globalCtx->msgCtx.unk1206C); @@ -1143,7 +1143,7 @@ s32 func_808F4414(GlobalContext* globalCtx, EnIn* this, s32 arg2) { break; case 0x34A1: func_808F35D8(this, globalCtx); - if (Interface_HasEmptyBottle()) { + if (Inventory_HasEmptyBottle()) { this->actionFunc = func_808F3B40; func_800B8A1C(&this->actor, globalCtx, 0x92, 500.0f, 100.0f); ret = true; diff --git a/src/overlays/actors/ovl_En_Ma4/z_en_ma4.c b/src/overlays/actors/ovl_En_Ma4/z_en_ma4.c index edca81f6e..8ec05a656 100644 --- a/src/overlays/actors/ovl_En_Ma4/z_en_ma4.c +++ b/src/overlays/actors/ovl_En_Ma4/z_en_ma4.c @@ -713,7 +713,7 @@ void EnMa4_InitHorsebackGame(EnMa4* this, GlobalContext* globalCtx) { globalCtx->interfaceCtx.unk_280 = 1; func_8010E9F0(4, 0); gSaveContext.save.weekEventReg[0x8] |= 0x01; - func_80112AFC(globalCtx); + Interface_InitMinigame(globalCtx); player->stateFlags1 |= 0x20; this->actionFunc = EnMa4_SetupHorsebackGameWait; } 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 aab14a2af..b0c699c9b 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 @@ -332,7 +332,7 @@ void func_809C6C2C(EnSyatekiMan* this, GlobalContext* globalCtx) { globalCtx->msgCtx.unk11F22 = 0x43; globalCtx->msgCtx.unk12023 = 4; player->actor.freezeTimer = 0; - func_80112AFC(globalCtx); + Interface_InitMinigame(globalCtx); globalCtx->interfaceCtx.hbaAmmo = 80; func_80123F2C(globalCtx, 80); this->unk_26A = 1; @@ -654,7 +654,7 @@ void func_809C7620(EnSyatekiMan* this, GlobalContext* globalCtx) { globalCtx->msgCtx.unk12023 = 4; player->actor.freezeTimer = 0; this->unk_27E = 0; - func_80112AFC(globalCtx); + Interface_InitMinigame(globalCtx); func_80123F2C(globalCtx, 0x63); this->unk_26A = 1; func_801A2BB8(NA_BGM_MINI_GAME_2); diff --git a/src/overlays/actors/ovl_En_Talk_Gibud/z_en_talk_gibud.c b/src/overlays/actors/ovl_En_Talk_Gibud/z_en_talk_gibud.c index 379ac2f45..4b9ab04b9 100644 --- a/src/overlays/actors/ovl_En_Talk_Gibud/z_en_talk_gibud.c +++ b/src/overlays/actors/ovl_En_Talk_Gibud/z_en_talk_gibud.c @@ -670,7 +670,7 @@ s32 EnTalkGibud_PresentedItemMatchesRequest(EnTalkGibud* this, GlobalContext* gl return EN_TALK_GIBUD_REQUESTED_ITEM_NOT_ENOUGH_AMMO; } } - if (Interface_HasItemInBottle(requestedItem->item)) { + if (Inventory_HasItemInBottle(requestedItem->item)) { return EN_TALK_GIBUD_REQUESTED_ITEM_MET; } } diff --git a/src/overlays/actors/ovl_En_Thiefbird/z_en_thiefbird.c b/src/overlays/actors/ovl_En_Thiefbird/z_en_thiefbird.c index f7bdaa56f..d07c74a04 100644 --- a/src/overlays/actors/ovl_En_Thiefbird/z_en_thiefbird.c +++ b/src/overlays/actors/ovl_En_Thiefbird/z_en_thiefbird.c @@ -249,7 +249,7 @@ s32 func_80C10B0C(EnThiefbird* this, GlobalContext* globalCtx) { } if (isItemFound) { - func_801149A0(itemId2, slotId); + Inventory_DeleteItem(itemId2, slotId); this->unk_3E8 = D_060033B0; if (!func_80152498(&globalCtx->msgCtx)) { func_801518B0(globalCtx, 0xF4, NULL); @@ -266,7 +266,7 @@ s32 func_80C10B0C(EnThiefbird* this, GlobalContext* globalCtx) { itemId1 = phi_a3 + (ITEM_SWORD_KOKIRI - 1); if (phi_a3 == 4) { - func_801149A0(ITEM_SWORD_GREAT_FAIRY, SLOT_SWORD_GREAT_FAIRY); + Inventory_DeleteItem(ITEM_SWORD_GREAT_FAIRY, SLOT_SWORD_GREAT_FAIRY); this->unk_3E8 = D_06003D58; itemId1 = ITEM_SWORD_GREAT_FAIRY; } else { diff --git a/src/overlays/actors/ovl_En_Trt/z_en_trt.c b/src/overlays/actors/ovl_En_Trt/z_en_trt.c index 39811da94..41c254c64 100644 --- a/src/overlays/actors/ovl_En_Trt/z_en_trt.c +++ b/src/overlays/actors/ovl_En_Trt/z_en_trt.c @@ -397,7 +397,7 @@ void EnTrt_Goodbye(EnTrt* this, GlobalContext* globalCtx) { void EnTrt_SetupTryToGiveRedPotion(EnTrt* this, GlobalContext* globalCtx) { if (func_80152498(&globalCtx->msgCtx) == 5 && func_80147624(globalCtx)) { if (this->textId == 0x88F) { - if (Interface_HasEmptyBottle() || !(gSaveContext.save.weekEventReg[0xC] & 0x10)) { + if (Inventory_HasEmptyBottle() || !(gSaveContext.save.weekEventReg[0xC] & 0x10)) { if (this->cutsceneState == ENTRT_CUTSCENESTATE_PLAYING) { ActorCutscene_Stop(this->cutscene); this->cutsceneState = ENTRT_CUTSCENESTATE_STOPPED; @@ -418,7 +418,7 @@ void EnTrt_SetupTryToGiveRedPotion(EnTrt* this, GlobalContext* globalCtx) { EnTrt_SetupStartShopping(globalCtx, this, 0); } else if (gSaveContext.save.weekEventReg[0x54] & 0x40) { this->textId = 0x83B; - if (Interface_HasItemInBottle(ITEM_POTION_RED)) { + if (Inventory_HasItemInBottle(ITEM_POTION_RED)) { EnTrt_SetupStartShopping(globalCtx, this, false); } else { this->actionFunc = EnTrt_TryToGiveRedPotion; @@ -730,7 +730,7 @@ void EnTrt_SelectItem(EnTrt* this, GlobalContext* globalCtx) { } } } else if (talkState == 5 && func_80147624(globalCtx)) { - if (!Interface_HasEmptyBottle()) { + if (!Inventory_HasEmptyBottle()) { play_sound(NA_SE_SY_ERROR); EnTrt_SetupCannotBuy(globalCtx, this, 0x846); } else { @@ -941,7 +941,7 @@ void EnTrt_TryToGiveRedPotionAfterSurprised(EnTrt* this, GlobalContext* globalCt this->blinkFunc = EnTrt_Blink; if (talkState == 6 && func_80147624(globalCtx)) { - if (Interface_HasEmptyBottle() || !(gSaveContext.save.weekEventReg[0xC] & 0x10)) { + if (Inventory_HasEmptyBottle() || !(gSaveContext.save.weekEventReg[0xC] & 0x10)) { if (this->cutsceneState == ENTRT_CUTSCENESTATE_PLAYING) { ActorCutscene_Stop(this->cutscene); this->cutsceneState = ENTRT_CUTSCENESTATE_STOPPED; @@ -960,7 +960,7 @@ void EnTrt_TryToGiveRedPotionAfterSurprised(EnTrt* this, GlobalContext* globalCt void EnTrt_TryToGiveRedPotion(EnTrt* this, GlobalContext* globalCtx) { if (func_80152498(&globalCtx->msgCtx) == 5 && func_80147624(globalCtx)) { if (this->textId == 0x83C) { - if (Interface_HasEmptyBottle()) { + if (Inventory_HasEmptyBottle()) { if (this->cutsceneState == ENTRT_CUTSCENESTATE_PLAYING) { ActorCutscene_Stop(this->cutscene); this->cutsceneState = ENTRT_CUTSCENESTATE_STOPPED; diff --git a/tools/disasm/functions.txt b/tools/disasm/functions.txt index d35cda7e7..8a64270f5 100644 --- a/tools/disasm/functions.txt +++ b/tools/disasm/functions.txt @@ -2106,21 +2106,21 @@ 0x8010F1A8:("func_8010F1A8",), 0x80110038:("func_80110038",), 0x80111CB4:("func_80111CB4",), - 0x801129E4:("func_801129E4",), + 0x801129E4:("Interface_SetSceneRestrictions",), 0x80112AF4:("func_80112AF4",), - 0x80112AFC:("func_80112AFC",), + 0x80112AFC:("Interface_InitMinigame",), 0x80112B40:("Interface_LoadItemIcon",), 0x80112BE4:("func_80112BE4",), 0x80112C0C:("func_80112C0C",), 0x80112E80:("Item_Give",), - 0x801143CC:("func_801143CC",), - 0x80114978:("func_80114978",), - 0x801149A0:("func_801149A0",), - 0x80114A9C:("func_80114A9C",), - 0x80114B84:("func_80114B84",), + 0x801143CC:("Item_CheckObtainabilityImpl",), + 0x80114978:("Item_CheckObtainability",), + 0x801149A0:("Inventory_DeleteItem",), + 0x80114A9C:("Inventory_UnequipItem",), + 0x80114B84:("Inventory_ReplaceItem",), 0x80114CA0:("func_80114CA0",), - 0x80114E90:("Interface_HasEmptyBottle",), - 0x80114F2C:("Interface_HasItemInBottle",), + 0x80114E90:("Inventory_HasEmptyBottle",), + 0x80114F2C:("Inventory_HasItemInBottle",), 0x80114FD0:("func_80114FD0",), 0x80115130:("func_80115130",), 0x801152B8:("func_801152B8",), diff --git a/tools/disasm/variables.txt b/tools/disasm/variables.txt index 0f0ab7531..608c3ea5e 100644 --- a/tools/disasm/variables.txt +++ b/tools/disasm/variables.txt @@ -1066,8 +1066,8 @@ 0x801BF6C0:("sRestrictionFlags","RestrictionFlags","[113]",0x1c4), 0x801BF884:("D_801BF884","UNK_TYPE2","",0x2), 0x801BF888:("D_801BF888","UNK_TYPE2","",0x2), - 0x801BF88C:("D_801BF88C","UNK_TYPE2","",0x2), - 0x801BF890:("D_801BF890","UNK_TYPE2","",0x2), + 0x801BF88C:("sHBAScoreTier","UNK_TYPE2","",0x2), + 0x801BF890:("sMinigameScoreDigits","UNK_TYPE2","",0x2), 0x801BF898:("D_801BF898","UNK_TYPE2","",0x2), 0x801BF89C:("D_801BF89C","UNK_TYPE2","",0x2), 0x801BF8A0:("sMagicBarOutlinePrimRed","UNK_TYPE2","",0x2), diff --git a/tools/sizes/code_functions.csv b/tools/sizes/code_functions.csv index 4141077f5..63b51cc49 100644 --- a/tools/sizes/code_functions.csv +++ b/tools/sizes/code_functions.csv @@ -1620,21 +1620,21 @@ asm/non_matchings/code/z_parameter/func_8010F0D4.s,func_8010F0D4,0x8010F0D4,0x35 asm/non_matchings/code/z_parameter/func_8010F1A8.s,func_8010F1A8,0x8010F1A8,0x3A4 asm/non_matchings/code/z_parameter/func_80110038.s,func_80110038,0x80110038,0x71F asm/non_matchings/code/z_parameter/func_80111CB4.s,func_80111CB4,0x80111CB4,0x34C -asm/non_matchings/code/z_parameter/func_801129E4.s,func_801129E4,0x801129E4,0x44 +asm/non_matchings/code/z_parameter/Interface_SetSceneRestrictions.s,Interface_SetSceneRestrictions,0x801129E4,0x44 asm/non_matchings/code/z_parameter/func_80112AF4.s,func_80112AF4,0x80112AF4,0x2 -asm/non_matchings/code/z_parameter/func_80112AFC.s,func_80112AFC,0x80112AFC,0x11 +asm/non_matchings/code/z_parameter/Interface_InitMinigame.s,Interface_InitMinigame,0x80112AFC,0x11 asm/non_matchings/code/z_parameter/Interface_LoadItemIcon.s,Interface_LoadItemIcon,0x80112B40,0x29 asm/non_matchings/code/z_parameter/func_80112BE4.s,func_80112BE4,0x80112BE4,0xA asm/non_matchings/code/z_parameter/func_80112C0C.s,func_80112C0C,0x80112C0C,0x9D asm/non_matchings/code/z_parameter/Item_Give.s,Item_Give,0x80112E80,0x553 -asm/non_matchings/code/z_parameter/func_801143CC.s,func_801143CC,0x801143CC,0x16B -asm/non_matchings/code/z_parameter/func_80114978.s,func_80114978,0x80114978,0xA -asm/non_matchings/code/z_parameter/func_801149A0.s,func_801149A0,0x801149A0,0x3F -asm/non_matchings/code/z_parameter/func_80114A9C.s,func_80114A9C,0x80114A9C,0x3A -asm/non_matchings/code/z_parameter/func_80114B84.s,func_80114B84,0x80114B84,0x47 +asm/non_matchings/code/z_parameter/Item_CheckObtainabilityImpl.s,Item_CheckObtainabilityImpl,0x801143CC,0x16B +asm/non_matchings/code/z_parameter/Item_CheckObtainability.s,Item_CheckObtainability,0x80114978,0xA +asm/non_matchings/code/z_parameter/Inventory_DeleteItem.s,Inventory_DeleteItem,0x801149A0,0x3F +asm/non_matchings/code/z_parameter/Inventory_UnequipItem.s,Inventory_UnequipItem,0x80114A9C,0x3A +asm/non_matchings/code/z_parameter/Inventory_ReplaceItem.s,Inventory_ReplaceItem,0x80114B84,0x47 asm/non_matchings/code/z_parameter/func_80114CA0.s,func_80114CA0,0x80114CA0,0x7C -asm/non_matchings/code/z_parameter/Interface_HasEmptyBottle.s,Interface_HasEmptyBottle,0x80114E90,0x27 -asm/non_matchings/code/z_parameter/Interface_HasItemInBottle.s,Interface_HasItemInBottle,0x80114F2C,0x29 +asm/non_matchings/code/z_parameter/Inventory_HasEmptyBottle.s,Inventory_HasEmptyBottle,0x80114E90,0x27 +asm/non_matchings/code/z_parameter/Inventory_HasItemInBottle.s,Inventory_HasItemInBottle,0x80114F2C,0x29 asm/non_matchings/code/z_parameter/func_80114FD0.s,func_80114FD0,0x80114FD0,0x58 asm/non_matchings/code/z_parameter/func_80115130.s,func_80115130,0x80115130,0x62 asm/non_matchings/code/z_parameter/func_801152B8.s,func_801152B8,0x801152B8,0x44