diff --git a/include/d/d_com_inf_game.h b/include/d/d_com_inf_game.h index 332bb6a4..b85c8346 100644 --- a/include/d/d_com_inf_game.h +++ b/include/d/d_com_inf_game.h @@ -863,26 +863,64 @@ inline OSTime dComIfGs_getDateIpl() { return g_dComIfG_gameInfo.save.getPlayer().getPlayerStatusB().getDateIpl(); } +// The inventory slot for items. Also known as "select item" +enum dInventorySlot_e { + dInvSlot_ItemFirst_e = 0, + dInvSlot_TELESCOPE_e = 0, + dInvSlot_SAIL_e = 1, + dInvSlot_WIND_WAKER_e = 2, + dInvSlot_GRAPPLING_HOOK_e = 3, + dInvSlot_EMONO_BAG_e = 4, + dInvSlot_BOOMERANG_e = 5, + dInvSlot_DEKU_LEAF_e = 6, + dInvSlot_TINGLE_TUNER_e = 7, + dInvSlot_CAMERA_e = 8, + dInvSlot_IRON_BOOTS_e = 9, + dInvSlot_MAGIC_ARMOR_e = 10, + dInvSlot_ESA_BAG_e = 11, + dInvSlot_BOW_e = 12, + dInvSlot_BOMB_e = 13, + dInvSlot_BOTTLE0_e = 14, + dInvSlot_BOTTLE1_e = 15, + dInvSlot_BOTTLE2_e = 16, + dInvSlot_BOTTLE3_e = 17, + dInvSlot_DELIVERY_BAG_e = 18, + dInvSlot_HOOKSHOT_e = 19, + dInvSlot_SKULL_HAMMER_e = 20, + dInvSlot_ItemLast_e = 21, + + dInvSlot_BeastFirst_e = 24, // Spoils Bag + dInvSlot_BeastLast_e = 32, + + dInvSlot_BaitFirst_e = 36, // Bait Bag + dInvSlot_BaitLast_e = 44, + + dInvSlot_ReserveFirst_e = 48, + dInvSlot_ReserveLast_e = 56, + + dInvSlot_NONE_e = 0xFF, +}; + /** * Returns which item is in a specific inventory slot. * @param i_invIdx The index of the inventory slot. * @return The item number of the item in that slot, or 0xFF for no item. */ inline u8 dComIfGs_getItem(int i_invIdx) { - if (i_invIdx < 0x15) { + if (i_invIdx < dInvSlot_ItemLast_e) { return g_dComIfG_gameInfo.save.getPlayer().getItem().getItem(i_invIdx); - } else if (i_invIdx < 0x18) { + } else if (i_invIdx < dInvSlot_BeastFirst_e) { return 0xFF; - } else if (i_invIdx < 0x18 + 8) { - return dComIfGs_getItemBeast(i_invIdx - 0x18); - } else if (i_invIdx < 0x24) { + } else if (i_invIdx < dInvSlot_BeastLast_e) { + return dComIfGs_getItemBeast(i_invIdx - dInvSlot_BeastFirst_e); + } else if (i_invIdx < dInvSlot_BaitFirst_e) { return 0xFF; - } else if (i_invIdx < 0x24 + 8) { - return dComIfGs_getItemBait(i_invIdx - 0x24); - } else if (i_invIdx < 0x30) { + } else if (i_invIdx < dInvSlot_BaitLast_e) { + return dComIfGs_getItemBait(i_invIdx - dInvSlot_BaitFirst_e); + } else if (i_invIdx < dInvSlot_ReserveFirst_e) { return 0xFF; - } else if (i_invIdx < 0x30 + 8) { - return dComIfGs_getItemReserve(i_invIdx - 0x30); + } else if (i_invIdx < dInvSlot_ReserveLast_e) { + return dComIfGs_getItemReserve(i_invIdx - dInvSlot_ReserveFirst_e); } else { return 0xFF; } @@ -894,20 +932,20 @@ inline u8 dComIfGs_getItem(int i_invIdx) { * @param i_itemNo The item number of the item to place in that slot, or 0xFF for no item. */ inline void dComIfGs_setItem(int i_invIdx, u8 i_itemNo) { - if (i_invIdx < 0x15) { + if (i_invIdx < dInvSlot_ItemLast_e) { g_dComIfG_gameInfo.save.getPlayer().getItem().setItem(i_invIdx, i_itemNo); - } else if (i_invIdx < 0x18) { + } else if (i_invIdx < dInvSlot_BeastFirst_e) { return; - } else if (i_invIdx < 0x18 + 8) { - dComIfGs_setItemBeast(i_invIdx - 0x18, i_itemNo); - } else if (i_invIdx < 0x24) { + } else if (i_invIdx < dInvSlot_BeastLast_e) { + dComIfGs_setItemBeast(i_invIdx - dInvSlot_BeastFirst_e, i_itemNo); + } else if (i_invIdx < dInvSlot_BaitFirst_e) { return; - } else if (i_invIdx < 0x24 + 8) { - dComIfGs_setItemBait(i_invIdx - 0x24, i_itemNo); - } else if (i_invIdx < 0x30) { + } else if (i_invIdx < dInvSlot_BaitLast_e) { + dComIfGs_setItemBait(i_invIdx - dInvSlot_BaitFirst_e, i_itemNo); + } else if (i_invIdx < dInvSlot_ReserveFirst_e) { return; - } else if (i_invIdx < 0x30 + 8) { - dComIfGs_setItemReserve(i_invIdx - 0x30, i_itemNo); + } else if (i_invIdx < dInvSlot_ReserveLast_e) { + dComIfGs_setItemReserve(i_invIdx - dInvSlot_ReserveFirst_e, i_itemNo); } else { return; } @@ -2437,7 +2475,7 @@ inline u8 dComIfGp_getSelectItem(int i_btnIdx) { * @param i_btnIdx The index of the button. 0 for X, 1 for Y, 2 for Z. */ inline void dComIfGp_setSelectItem(int i_btnIdx) { - if (dComIfGs_getSelectItem(i_btnIdx) != 0xFF) { + if (dComIfGs_getSelectItem(i_btnIdx) != dInvSlot_NONE_e) { int invIdx = dComIfGs_getSelectItem(i_btnIdx); u8 itemNo = dComIfGs_getItem(invIdx); g_dComIfG_gameInfo.play.setSelectItem(i_btnIdx, itemNo); @@ -2445,10 +2483,10 @@ inline void dComIfGp_setSelectItem(int i_btnIdx) { invIdx = dComIfGs_getSelectItem(i_btnIdx); itemNo = dComIfGs_getItem(invIdx); if (itemNo == 0xFF) { - dComIfGs_setSelectItem(i_btnIdx, 0xFF); + dComIfGs_setSelectItem(i_btnIdx, dInvSlot_NONE_e); } } else { - g_dComIfG_gameInfo.play.setSelectItem(i_btnIdx, 0xFF); + g_dComIfG_gameInfo.play.setSelectItem(i_btnIdx, dInvSlot_NONE_e); } } diff --git a/src/d/actor/d_a_agb.cpp b/src/d/actor/d_a_agb.cpp index 5ed12678..5bd2628c 100644 --- a/src/d/actor/d_a_agb.cpp +++ b/src/d/actor/d_a_agb.cpp @@ -1003,8 +1003,7 @@ void daAgb_c::GbaItemUse() { temp_r29 |= 0x10000; } - if (dComIfGs_getItem(12) != dItem_NONE_e && dComIfGs_getArrowNum() < dComIfGs_getArrowMax()) - { + if (dComIfGs_getItem(dInvSlot_BOW_e) != dItem_NONE_e && dComIfGs_getArrowNum() < dComIfGs_getArrowMax()) { temp_r29 |= 0x100; } } diff --git a/src/d/actor/d_a_agbsw0.cpp b/src/d/actor/d_a_agbsw0.cpp index 6f54bfee..9aaf1f99 100644 --- a/src/d/actor/d_a_agbsw0.cpp +++ b/src/d/actor/d_a_agbsw0.cpp @@ -1712,201 +1712,201 @@ BOOL daAgbsw0_c::MoveCheck(s16 conditionNo) { switch(conditionNo) { case 1: if(dComIfGs_isEventBit(0xF80)) { - return 0; + return FALSE; } break; case 2: if(dComIfGs_isSymbol(0)) { - return 0; + return FALSE; } break; case 3: if(dComIfGs_isEventBit(0x1E40)) { - return 0; + return FALSE; } break; case 4: if(dComIfGs_isEventBit(0x1820)) { - return 0; + return FALSE; } break; case 5: { daGhostship_c* gship = (daGhostship_c*)fopAcM_searchFromName("Ayush", 0, 0); if(gship && gship->checkInShip()) { - return 0; + return FALSE; } break; } case 6: if(dComIfGs_isEventBit(0x1A10)) { - return 0; + return FALSE; } break; case 7: if(dComIfGs_isEventBit(0x1A08)) { - return 0; + return FALSE; } break; case 8: if(dComIfGs_isEventBit(0x1708)) { - return 0; + return FALSE; } break; case 9: if(dComIfGs_isStageTbox(dSv_save_c::STAGE_DRC, 0xF)) { - return 0; + return FALSE; } break; case 0xA: if(dComIfGs_isStageTbox(dSv_save_c::STAGE_FW, 0xF)) { - return 0; + return FALSE; } break; case 0xB: if(dComIfGs_isStageTbox(dSv_save_c::STAGE_TOTG, 0xF)) { - return 0; + return FALSE; } break; case 0xC: if(dComIfGs_isStageTbox(dSv_save_c::STAGE_WT, 0xF)) { - return 0; + return FALSE; } break; case 0xD: if(dComIfGs_isStageTbox(dSv_save_c::STAGE_ET, 0xF)) { - return 0; + return FALSE; } break; case 0x11: if(dComIfGp_getSelectItem(0) != dItem_BOW_e && dComIfGp_getSelectItem(1) != dItem_BOW_e && dComIfGp_getSelectItem(2) != dItem_BOW_e) { - return 0; + return FALSE; } break; case 0x12: if(dComIfGp_getSelectItem(0) != dItem_BOOMERANG_e && dComIfGp_getSelectItem(1) != dItem_BOOMERANG_e && dComIfGp_getSelectItem(2) != dItem_BOOMERANG_e) { - return 0; + return FALSE; } break; case 0x13: if(dComIfGp_getSelectItem(0) != dItem_DEKU_LEAF_e && dComIfGp_getSelectItem(1) != dItem_DEKU_LEAF_e && dComIfGp_getSelectItem(2) != dItem_DEKU_LEAF_e) { - return 0; + return FALSE; } break; case 0x14: if(dComIfGp_getSelectItem(0) != dItem_GRAPPLING_HOOK_e && dComIfGp_getSelectItem(1) != dItem_GRAPPLING_HOOK_e && dComIfGp_getSelectItem(2) != dItem_GRAPPLING_HOOK_e) { - return 0; + return FALSE; } break; case 0x15: if(dComIfGp_getSelectItem(0) != dItem_BOMB_BAG_e && dComIfGp_getSelectItem(1) != dItem_BOMB_BAG_e && dComIfGp_getSelectItem(2) != dItem_BOMB_BAG_e) { - return 0; + return FALSE; } break; case 0x16: if(dComIfGp_getSelectItem(0) != dItem_HOOKSHOT_e && dComIfGp_getSelectItem(1) != dItem_HOOKSHOT_e && dComIfGp_getSelectItem(2) != dItem_HOOKSHOT_e) { - return 0; + return FALSE; } break; case 0x17: if(dComIfGs_checkGetItem(dItem_MAGIC_ARMOR_e)) { - return 0; + return FALSE; } break; case 0x18: if(dComIfGs_isCollect(2, 0)) { - return 0; + return FALSE; } break; case 0x19: if(dComIfGs_getLife() < dComIfGs_getMaxLife()) { - return 0; + return FALSE; } break; case 0x1A: - if(dComIfGs_getItem(12) != dItem_NONE_e && dComIfGs_getArrowNum() < dComIfGs_getArrowMax()) { - return 0; + if(dComIfGs_getItem(dInvSlot_BOW_e) != dItem_NONE_e && dComIfGs_getArrowNum() < dComIfGs_getArrowMax()) { + return FALSE; } break; case 0x1B: if(dComIfGs_checkGetItem(dItem_BOMB_BAG_e) && dComIfGs_getBombNum() < dComIfGs_getBombMax()) { - return 0; + return FALSE; } break; case 0x1C: if(dComIfGs_getLife() < 8) { - return 0; + return FALSE; } break; case 0x1D: if(dComIfGs_getMaxMagic() != 0 && !dComIfGs_getMagic) { - return 0; + return FALSE; } break; case 0x1E: - if(dComIfGs_getItem(12) != dItem_NONE_e && dComIfGs_getArrowNum() == 0) { - return 0; + if(dComIfGs_getItem(dInvSlot_BOW_e) != dItem_NONE_e && dComIfGs_getArrowNum() == 0) { + return FALSE; } break; case 0x1F: if(dComIfGs_checkGetItem(dItem_BOMB_BAG_e) && dComIfGs_getBombNum() == 0) { - return 0; + return FALSE; } break; case 0x20: - if(dComIfGs_isEventBit(0x1708) && dComIfGs_getItem(12) != dItem_NONE_e && dComIfGs_getArrowNum() == 0) { - return 0; + if(dComIfGs_isEventBit(0x1708) && dComIfGs_getItem(dInvSlot_BOW_e) != dItem_NONE_e && dComIfGs_getArrowNum() == 0) { + return FALSE; } break; case 0x21: if(dComIfGs_isEventBit(0x1708) && dComIfGs_checkGetItem(dItem_BOMB_BAG_e) && dComIfGs_getBombNum() == 0) { - return 0; + return FALSE; } break; case 0x22: if((u32)dComIfGs_getRupee() <= 10) { - return 0; + return FALSE; } break; case 0x23: if(dComIfGp_checkPlayerStatus0(0, daPyStts0_SWIM_e)) { - return 0; + return FALSE; } break; case 0x24: if (dComIfGp_checkPlayerStatus0(0, daPyStts0_SHIP_RIDE_e)) { - return 0; + return FALSE; } break; @@ -1916,7 +1916,7 @@ BOOL daAgbsw0_c::MoveCheck(s16 conditionNo) { dComIfGp_getSelectItem(1) != dItem_BOMB_BAG_e && dComIfGp_getSelectItem(2) != dItem_BOMB_BAG_e) { - return 0; + return FALSE; } break; @@ -1926,176 +1926,176 @@ BOOL daAgbsw0_c::MoveCheck(s16 conditionNo) { dComIfGp_getSelectItem(1) != dItem_GRAPPLING_HOOK_e && dComIfGp_getSelectItem(2) != dItem_GRAPPLING_HOOK_e) { - return 0; + return FALSE; } break; case 0x27: if(dComIfGs_getKeyNum() == 0) { - return 0; + return FALSE; } break; case 0x28: if(!dComIfGs_isDungeonItemBossKey()) { - return 0; + return FALSE; } break; case 0x29: if(dComIfGs_checkGetItem(dItem_GRAPPLING_HOOK_e)) { - return 0; + return FALSE; } break; case 0x2A: if(dComIfGs_checkGetItem(dItem_BOOMERANG_e)) { - return 0; + return FALSE; } break; case 0x2B: if(dComIfGs_checkGetItem(dItem_BOMB_BAG_e)) { - return 0; + return FALSE; } break; case 0x2C: - if(dComIfGs_getItem(12) != dItem_NONE_e) { - return 0; + if(dComIfGs_getItem(dInvSlot_BOW_e) != dItem_NONE_e) { + return FALSE; } break; case 0x2D: if(!daPy_getPlayerLinkActorClass()->checkGrabWeapon(1)) { - return 0; + return FALSE; } break; case 0x2E: if(daPy_getPlayerLinkActorClass()->checkGrabWeapon(1)) { - return 0; + return FALSE; } break; case 0x2F: if(dComIfGs_isSymbol(1) && !dComIfGs_isEventBit(0x1A08)) { - return 0; + return FALSE; } break; case 0x30: if(dComIfGs_isSymbol(1) && !dComIfGs_isEventBit(0x1A10)) { - return 0; + return FALSE; } break; case 0x31: if(!dComIfGs_isEventBit(0x1708)) { - return 0; + return FALSE; } break; case 0x32: if(dComIfGs_isTact(0)) { - return 0; + return FALSE; } break; case 0x33: if(!dComIfGs_isTact(0)) { - return 0; + return FALSE; } break; case 0x34: if(!dKyw_get_windsdir()) { - return 0; + return FALSE; } break; case 0x35: if(dKyw_get_windsdir()) { - return 0; + return FALSE; } break; case 0x36: if(dKyw_get_windsdir() == 4) { - return 0; + return FALSE; } break; case 0x37: if(!dKyw_get_windsdir() == 4) { - return 0; + return FALSE; } break; case 0x38: if(dKyw_get_windsdir() == 2) { - return 0; + return FALSE; } break; case 0x39: if(!dKyw_get_windsdir() == 2) { - return 0; + return FALSE; } break; case 0x3A: if(dKyw_get_windsdir() == 6) { - return 0; + return FALSE; } break; case 0x3B: if(!dKyw_get_windsdir() == 6) { - return 0; + return FALSE; } break; case 0x3C: if(mFigureDispose == 1) { - return 0; + return FALSE; } break; case 0x3D: if(mFigureDispose == 2) { - return 0; + return FALSE; } break; case 0x3E: if(mFigureBeat == 1) { - return 0; + return FALSE; } break; case 0x3F: if(mFigureBeat == 2) { - return 0; + return FALSE; } break; case 0x40: if(mFigureBeat == 3) { - return 0; + return FALSE; } break; case 0x41: if(mFigureBeat == 4) { - return 0; + return FALSE; } break; case 0x42: for (int i = 0; i < 3; i++) { if(daNpc_Os_c::isPlayerRoom(i)) { - return 0; + return FALSE; } } @@ -2107,154 +2107,154 @@ BOOL daAgbsw0_c::MoveCheck(s16 conditionNo) { } } - return 0; + return FALSE; case 0x44: if(fopAcM_GetName(dComIfGp_getPlayer(0)) == PROC_NPC_OS) { - return 0; + return FALSE; } break; case 0x45: if(fopAcM_GetName(dComIfGp_getPlayer(0)) != PROC_NPC_OS) { - return 0; + return FALSE; } break; case 0x46: if(fopAcM_GetName(dComIfGp_getPlayer(0)) == PROC_NPC_MD) { - return 0; + return FALSE; } break; case 0x47: if(fopAcM_GetName(dComIfGp_getPlayer(0)) != PROC_NPC_MD) { - return 0; + return FALSE; } break; case 0x48: if(fopAcM_GetName(dComIfGp_getPlayer(0)) == PROC_NPC_CB1) { - return 0; + return FALSE; } break; case 0x49: if(fopAcM_GetName(dComIfGp_getPlayer(0)) != PROC_NPC_CB1) { - return 0; + return FALSE; } break; case 0x4A: if(fopAcM_GetName(dComIfGp_getPlayer(0)) == PROC_NPC_KAM) { - return 0; + return FALSE; } break; case 0x4B: if(fopAcM_GetName(dComIfGp_getPlayer(0)) != PROC_NPC_KAM) { - return 0; + return FALSE; } break; case 0x4C: if(dComIfGs_checkGetItem(dItem_SKULL_HAMMER_e)) { - return 0; + return FALSE; } break; case 0x4D: if(!dComIfGs_checkGetItem(dItem_SKULL_HAMMER_e)) { - return 0; + return FALSE; } break; case 0x4E: if(dComIfGs_checkGetItem(MIRROR_SHIELD)) { - return 0; + return FALSE; } break; case 0x4F: if(!dComIfGs_checkGetItem(MIRROR_SHIELD)) { - return 0; + return FALSE; } break; case 0x50: if(daNpc_Md_c::isPlayerRoom()) { - return 0; + return FALSE; } break; case 0x51: if(!daNpc_Md_c::isPlayerRoom()) { - return 0; + return FALSE; } break; case 0x52: if(dComIfGs_checkGetItem(dItem_HOOKSHOT_e)) { - return 0; + return FALSE; } break; case 0x53: if(!dComIfGs_checkGetItem(dItem_HOOKSHOT_e)) { - return 0; + return FALSE; } break; case 0x54: if(daNpc_Cb1_c::isPlayerRoom()) { - return 0; + return FALSE; } break; case 0x55: if(!daNpc_Cb1_c::isPlayerRoom()) { - return 0; + return FALSE; } break; case 0x56: if(!dComIfGs_isEventBit(0x2E08)) { - return 0; + return FALSE; } break; case 0x57: if(!dComIfGs_isCollect(2, 0)) { - return 0; + return FALSE; } break; case 0x58: if(!dComIfGs_checkGetItem(dItem_IRON_BOOTS_e)) { - return 0; + return FALSE; } break; case 0x59: if(dComIfGs_checkGetItem(LV3_SWORD) || dComIfGs_checkGetItem(MASTER_SWORD_EX)) { - return 0; + return FALSE; } break; case 0x5A: if(!dComIfGs_checkGetItem(LV3_SWORD) && !dComIfGs_checkGetItem(MASTER_SWORD_EX)) { - return 0; + return FALSE; } break; case 0x5B: if(dComIfGs_checkGetItem(MASTER_SWORD_EX)) { - return 0; + return FALSE; } break; case 0x5C: if(!dComIfGs_checkGetItem(MASTER_SWORD_EX)) { - return 0; + return FALSE; } break; @@ -2262,7 +2262,7 @@ BOOL daAgbsw0_c::MoveCheck(s16 conditionNo) { if((u32)dComIfGs_getRupee() >= 500) { for (int i = 1; i < 9; i++) { if(dComIfGs_isGetCollectMap(i) && !dComIfGs_isCollectMapTriforce(i)) { - return 0; + return FALSE; } } } @@ -2272,7 +2272,7 @@ BOOL daAgbsw0_c::MoveCheck(s16 conditionNo) { if((u32)dComIfGs_getRupee() < 500) { for (int i = 1; i < 9; i++) { if(dComIfGs_isGetCollectMap(i) && !dComIfGs_isCollectMapTriforce(i)) { - return 0; + return FALSE; } } } @@ -2280,207 +2280,207 @@ BOOL daAgbsw0_c::MoveCheck(s16 conditionNo) { break; case 0x5F: if(!dComIfGs_isGetCollectMap(1)) { - return 0; + return FALSE; } break; case 0x60: if(dComIfGs_isGetCollectMap(1) && dComIfGs_isCollectMapTriforce(1) && !dComIfGs_isTriforce(0)) { - return 0; + return FALSE; } break; case 0x61: if(dComIfGs_isTriforce(0)) { - return 0; + return FALSE; } break; case 0x62: if(!dComIfGs_isGetCollectMap(2)) { - return 0; + return FALSE; } break; case 0x63: if(dComIfGs_isGetCollectMap(2) && dComIfGs_isCollectMapTriforce(2) && !dComIfGs_isTriforce(1)) { - return 0; + return FALSE; } break; case 0x64: if(dComIfGs_isTriforce(1)) { - return 0; + return FALSE; } break; case 0x65: if(!dComIfGs_isGetCollectMap(3)) { - return 0; + return FALSE; } break; case 0x66: if(dComIfGs_isGetCollectMap(3) && dComIfGs_isCollectMapTriforce(3) && !dComIfGs_isTriforce(2)) { - return 0; + return FALSE; } break; case 0x67: if(dComIfGs_isTriforce(2)) { - return 0; + return FALSE; } break; case 0x68: if(!dComIfGs_isGetCollectMap(4)) { - return 0; + return FALSE; } break; case 0x69: if(dComIfGs_isGetCollectMap(4) && dComIfGs_isCollectMapTriforce(4) && !dComIfGs_isTriforce(3)) { - return 0; + return FALSE; } break; case 0x6A: if(dComIfGs_isTriforce(3)) { - return 0; + return FALSE; } break; case 0x6B: if(!dComIfGs_isGetCollectMap(5)) { - return 0; + return FALSE; } break; case 0x6C: if(dComIfGs_isGetCollectMap(5) && dComIfGs_isCollectMapTriforce(5) && !dComIfGs_isTriforce(4)) { - return 0; + return FALSE; } break; case 0x6D: if(dComIfGs_isTriforce(4)) { - return 0; + return FALSE; } break; case 0x6E: if(!dComIfGs_isGetCollectMap(6)) { - return 0; + return FALSE; } break; case 0x6F: if(dComIfGs_isGetCollectMap(6) && dComIfGs_isCollectMapTriforce(6) && !dComIfGs_isTriforce(5)) { - return 0; + return FALSE; } break; case 0x70: if(dComIfGs_isTriforce(5)) { - return 0; + return FALSE; } break; case 0x71: if(!dComIfGs_isGetCollectMap(7)) { - return 0; + return FALSE; } break; case 0x72: if(dComIfGs_isGetCollectMap(7) && dComIfGs_isCollectMapTriforce(7) && !dComIfGs_isTriforce(6)) { - return 0; + return FALSE; } break; case 0x73: if(dComIfGs_isTriforce(6)) { - return 0; + return FALSE; } break; case 0x74: if(!dComIfGs_isGetCollectMap(8)) { - return 0; + return FALSE; } break; case 0x75: if(dComIfGs_isGetCollectMap(8) && dComIfGs_isCollectMapTriforce(8) && !dComIfGs_isTriforce(7)) { - return 0; + return FALSE; } break; case 0x76: if(dComIfGs_isTriforce(7)) { - return 0; + return FALSE; } break; case 0x77: if(daPy_dmEcallBack_c::checkCurse()) { - return 0; + return FALSE; } break; case 0x78: if(!daPy_dmEcallBack_c::checkCurse()) { - return 0; + return FALSE; } break; case 0x79: if(daPy_getPlayerActorClass()->checkConfuse()) { - return 0; + return FALSE; } break; case 0x7A: if(!daPy_getPlayerActorClass()->checkConfuse()) { - return 0; + return FALSE; } break; case 0x7B: if(fopAcM_GetName(dComIfGp_getPlayer(0)) == PROC_NPC_MD && daNpc_Md_c::isFlying()) { - return 0; + return FALSE; } break; case 0x7C: if(fopAcM_GetName(dComIfGp_getPlayer(0)) != PROC_NPC_MD || !daNpc_Md_c::isFlying()) { - return 0; + return FALSE; } break; case 0x7F: // Potential bug: This seems to check if the current player is Medli, but that Makar is flying? if(fopAcM_GetName(dComIfGp_getPlayer(0)) == PROC_NPC_MD && daNpc_Cb1_c::isFlying()) { - return 0; + return FALSE; } break; case 0x80: // Potential bug: This seems to check if the current player is Medli, but that Makar is flying? if(fopAcM_GetName(dComIfGp_getPlayer(0)) != PROC_NPC_MD || !daNpc_Cb1_c::isFlying()) { - return 0; + return FALSE; } break; case 0x7D: if(!fopAcM_isSwitch(this, 0x7C)) { - return 0; + return FALSE; } break; case 0x7E: if(dComIfGs_checkGetItem(dItem_SKULL_HAMMER_e) && !dComIfGs_isEventBit(0x2D01)) { - return 0; + return FALSE; } break; @@ -2492,7 +2492,7 @@ BOOL daAgbsw0_c::MoveCheck(s16 conditionNo) { } } else if(!daNpc_Md_c::isPlayerRoom()) { - return 0; + return FALSE; } break; @@ -2503,16 +2503,16 @@ BOOL daAgbsw0_c::MoveCheck(s16 conditionNo) { } } else if(!daNpc_Cb1_c::isPlayerRoom()) { - return 0; + return FALSE; } break; #endif default: - return 0; + return FALSE; } - return 1; + return TRUE; } /* 0000477C-00004818 .text MailSend__10daAgbsw0_cFUsUcUcUcUc */ diff --git a/src/d/actor/d_a_arrow.cpp b/src/d/actor/d_a_arrow.cpp index 147bab1f..7cd98724 100644 --- a/src/d/actor/d_a_arrow.cpp +++ b/src/d/actor/d_a_arrow.cpp @@ -450,19 +450,19 @@ daArrow_c* daArrow_c::changeArrowType() { daArrow_c* ret = this; if (mArrowType == TYPE_NORMAL) { - if (dComIfGs_getMagic() < 1 || !(dComIfGs_getItem(0xC) == dItem_MAGIC_ARROW_e || dComIfGs_getItem(0xC) == dItem_LIGHT_ARROW_e)) { + if (dComIfGs_getMagic() < 1 || !(dComIfGs_getItem(dInvSlot_BOW_e) == dItem_MAGIC_ARROW_e || dComIfGs_getItem(dInvSlot_BOW_e) == dItem_LIGHT_ARROW_e)) { mArrowType = TYPE_NORMAL; } else { mArrowType = TYPE_FIRE; } } else if (mArrowType == TYPE_FIRE) { - if (dComIfGs_getMagic() < 1 || !(dComIfGs_getItem(0xC) == dItem_MAGIC_ARROW_e || dComIfGs_getItem(0xC) == dItem_LIGHT_ARROW_e)) { + if (dComIfGs_getMagic() < 1 || !(dComIfGs_getItem(dInvSlot_BOW_e) == dItem_MAGIC_ARROW_e || dComIfGs_getItem(dInvSlot_BOW_e) == dItem_LIGHT_ARROW_e)) { mArrowType = TYPE_NORMAL; } else { mArrowType = TYPE_ICE; } } else if (mArrowType == TYPE_ICE) { - if (dComIfGs_getMagic() < 2 || dComIfGs_getItem(0xC) != dItem_LIGHT_ARROW_e) { + if (dComIfGs_getMagic() < 2 || dComIfGs_getItem(dInvSlot_BOW_e) != dItem_LIGHT_ARROW_e) { mArrowType = TYPE_NORMAL; } else { mArrowType = TYPE_LIGHT; @@ -495,18 +495,18 @@ void daArrow_c::changeArrowTypeNotReady() { if (dComIfGs_getMagic() < 1) { return; } - if (dComIfGs_getItem(0xC) == dItem_MAGIC_ARROW_e || dComIfGs_getItem(0xC) == dItem_LIGHT_ARROW_e) { + if (dComIfGs_getItem(dInvSlot_BOW_e) == dItem_MAGIC_ARROW_e || dComIfGs_getItem(dInvSlot_BOW_e) == dItem_LIGHT_ARROW_e) { m_keep_type = TYPE_FIRE; } } else if (m_keep_type == TYPE_FIRE) { if (dComIfGs_getMagic() < 1) { return; } - if (dComIfGs_getItem(0xC) == dItem_MAGIC_ARROW_e || dComIfGs_getItem(0xC) == dItem_LIGHT_ARROW_e) { + if (dComIfGs_getItem(dInvSlot_BOW_e) == dItem_MAGIC_ARROW_e || dComIfGs_getItem(dInvSlot_BOW_e) == dItem_LIGHT_ARROW_e) { m_keep_type = TYPE_ICE; } } else if (m_keep_type == TYPE_ICE) { - if (dComIfGs_getMagic() >= 2 && dComIfGs_getItem(0xC) == dItem_LIGHT_ARROW_e) { + if (dComIfGs_getMagic() >= 2 && dComIfGs_getItem(dInvSlot_BOW_e) == dItem_LIGHT_ARROW_e) { m_keep_type = TYPE_LIGHT; } else { m_keep_type = TYPE_NORMAL; diff --git a/src/d/actor/d_a_npc_bs1.cpp b/src/d/actor/d_a_npc_bs1.cpp index 04ad2417..5dc64550 100644 --- a/src/d/actor/d_a_npc_bs1.cpp +++ b/src/d/actor/d_a_npc_bs1.cpp @@ -1488,7 +1488,7 @@ void daNpc_Bs1_c::createShopList() { dataSet[index] = &shopItems_setData_Bomb30Bs2; index = 1; } - if(dComIfGs_getItem(0xC) != dItem_NONE_e) { + if(dComIfGs_getItem(dInvSlot_BOW_e) != dItem_NONE_e) { dataSet[index] = &shopItems_setData_arrow30Bs2; index++; } @@ -1498,7 +1498,7 @@ void daNpc_Bs1_c::createShopList() { dataSet[index] = &shopItems_setData_Bomb30Bs2; index++; } - if(dComIfGs_getItem(0xC) == dItem_NONE_e) { + if(dComIfGs_getItem(dInvSlot_BOW_e) == dItem_NONE_e) { dataSet[index] = &shopItems_setData_arrow30Bs2; } @@ -1522,7 +1522,7 @@ void daNpc_Bs1_c::createShopList() { mShopItems.setItemSetDataList(mpItemSetList); for(int i = 0; i < 3; i++) { mShopItems.mSelectedItemIdx = i; - if((!dComIfGs_checkGetItem(dItem_BOMB_BAG_e) && isBomb(mShopItems.getSelectItemNo())) || (dComIfGs_getItem(0xC) == dItem_NONE_e && isArrow(mShopItems.getSelectItemNo()))) { + if((!dComIfGs_checkGetItem(dItem_BOMB_BAG_e) && isBomb(mShopItems.getSelectItemNo())) || (dComIfGs_getItem(dInvSlot_BOW_e) == dItem_NONE_e && isArrow(mShopItems.getSelectItemNo()))) { mShopItems.SoldOutItem(i); m76C[i] = true; } diff --git a/src/d/actor/d_a_npc_nz.cpp b/src/d/actor/d_a_npc_nz.cpp index 5145418c..e1ca733f 100644 --- a/src/d/actor/d_a_npc_nz.cpp +++ b/src/d/actor/d_a_npc_nz.cpp @@ -41,7 +41,7 @@ BOOL daNpc_Nz_c::NodeCallBack(J3DNode* node, int param_1) { mDoMtx_stack_c::XrotM(m_jnt.getBackbone_y()); mDoMtx_stack_c::ZrotM(-m_jnt.getBackbone_x()); } - + model->setAnmMtx(jntNo, mDoMtx_stack_c::get()); cMtx_copy(mDoMtx_stack_c::get(), J3DSys::mCurrentMtx); } @@ -216,7 +216,7 @@ static s16 daNpc_Nz_XyCheckCB(void* i_actor, int equippedItemIdx) { if(temp3.absXZ() < l_HIO.field_0x24) { return true; } - + return false; } @@ -518,7 +518,7 @@ static u32 daNpcNz_getShopBoughtMsg(u8 itemNo) { execItemGet(itemTemp); return 0x3403; } - + return 0; } @@ -623,7 +623,7 @@ u16 daNpc_Nz_c::next_msgStatus(u32* pMsgNo) { if(dComIfGs_checkGetItem(dItem_BOMB_BAG_e)) { temp += 1; } - if(dComIfGs_getItem(0xC) != dItem_NONE_e) { + if(dComIfGs_getItem(dItem_BOW_e) != dItem_NONE_e) { temp += 1; } @@ -664,7 +664,7 @@ u16 daNpc_Nz_c::next_msgStatus(u32* pMsgNo) { *pMsgNo = msgNo; break; } - + daShopItem_c* item = getShopItem(field_0x909); if(item) { item->hide(); @@ -817,7 +817,7 @@ bool daNpc_Nz_c::_draw() { g_env_light.setLightTevColorType(pModel, &tevStr); mpMorf->entryDL(); - + dComIfGd_setListMaskOff(); matShape->show(); @@ -919,7 +919,7 @@ s32 daNpc_Nz_c::_create() { if(!fopAcM_entrySolidHeap(this, createHeap_CB, 0x2FE0)) { return cPhs_ERROR_e; } - + BOOL success = createInit(); if (!success) { // Fakematch? diff --git a/src/d/d_com_inf_game.cpp b/src/d/d_com_inf_game.cpp index ad34c0f6..17a532ac 100644 --- a/src/d/d_com_inf_game.cpp +++ b/src/d/d_com_inf_game.cpp @@ -945,12 +945,12 @@ u8 dComIfGs_checkGetItemNum(u8 i_itemNo) { } break; case dItem_BOW_e: - if (dComIfGs_getItem(12) != dItem_HEART_e) { // Bug? + if (dComIfGs_getItem(dInvSlot_BOW_e) != dItem_HEART_e) { // Bug? get_item = dComIfGs_getArrowNum(); } break; case dItem_BOMB_BAG_e: - if (dComIfGs_getItem(13) != dItem_HEART_e) { // Bug? + if (dComIfGs_getItem(dInvSlot_BOMB_e) != dItem_HEART_e) { // Bug? get_item = dComIfGs_getBombNum(); } break; @@ -1280,16 +1280,16 @@ void dComIfGs_setPlayerRecollectionData() { tbl = 3; dComIfGp_setPlayerInfoBufferStageNo(4); } else { - dComIfGs_setSelectItem(0, dItem_NONE_e); - dComIfGs_setSelectItem(1, dItem_NONE_e); - dComIfGs_setSelectItem(2, dItem_NONE_e); + dComIfGs_setSelectItem(0, dInvSlot_NONE_e); + dComIfGs_setSelectItem(1, dInvSlot_NONE_e); + dComIfGs_setSelectItem(2, dInvSlot_NONE_e); return; } - + if (dComIfGs_getpPlayerStatusC(tbl)->mRecollectItem.mItems[0] != dItem_TELESCOPE_e) { - dComIfGs_setSelectItem(0, dItem_NONE_e); - dComIfGs_setSelectItem(1, dItem_NONE_e); - dComIfGs_setSelectItem(2, dItem_NONE_e); + dComIfGs_setSelectItem(0, dInvSlot_NONE_e); + dComIfGs_setSelectItem(1, dInvSlot_NONE_e); + dComIfGs_setSelectItem(2, dInvSlot_NONE_e); return; } @@ -1298,36 +1298,36 @@ void dComIfGs_setPlayerRecollectionData() { dSv_player_item_record2_c tmp_record2; dSv_player_collect_c tmp_collect; dSv_player_item_c tmp_item; - + tmp_sttsA.mMaxLife = dComIfGs_getMaxLife(); tmp_sttsA.mLife = dComIfGs_getLife(); tmp_sttsA.mMaxMagic = dComIfGs_getMaxMagic(); tmp_sttsA.mMagic = dComIfGs_getMagic(); - + tmp_max.mItemMax2.mArrowNum = dComIfGs_getArrowMax(); tmp_record2.mArrowNum = dComIfGs_getArrowNum(); tmp_max.mItemMax2.mBombNum = dComIfGs_getBombMax(); tmp_record2.mBombNum = dComIfGs_getBombNum(); tmp_record2.mPictureNum = dComIfGs_getPictureNum(); - + tmp_collect.mCollect[0] = dComIfGs_checkCollect(0); tmp_collect.mCollect[1] = dComIfGs_checkCollect(1); tmp_collect.mCollect[2] = dComIfGs_checkCollect(2); tmp_collect.mCollect[3] = dComIfGs_checkCollect(3); tmp_collect.mCollect[4] = dComIfGs_checkCollect(4); - + tmp_sttsA.mSelectEquip[0] = dComIfGs_getSelectEquip(0); tmp_sttsA.mSelectEquip[1] = dComIfGs_getSelectEquip(1); tmp_sttsA.mSelectEquip[2] = dComIfGs_getSelectEquip(2); tmp_sttsA.mSelectEquip[3] = dComIfGs_getSelectEquip(3); tmp_sttsA.mSelectEquip[4] = dComIfGs_getSelectEquip(4); - + tmp_item.mItems[14] = dComIfGs_getItem(14); tmp_item.mItems[15] = dComIfGs_getItem(15); tmp_item.mItems[16] = dComIfGs_getItem(16); tmp_item.mItems[17] = dComIfGs_getItem(17); tmp_item.mItems[8] = dComIfGs_getItem(8); - + // TODO: This matches but could probably be cleaned up somehow. dSv_player_status_c_c* stts = dComIfGs_getpPlayerStatusC(tbl); u32 buffer = (u32)dComIfGp_getPlayerInfoBuffer(); @@ -1338,7 +1338,7 @@ void dComIfGs_setPlayerRecollectionData() { memcpy((void*)(buffer + offsetof(dSv_player_status_c_c, mRecollectBagItem)), dComIfGs_getpBagItem(), sizeof(stts->mRecollectBagItem)); memcpy((void*)(buffer + offsetof(dSv_player_status_c_c, mRecollectBagItemRecord)), dComIfGs_getpBagItemRecord(), sizeof(stts->mRecollectBagItemRecord)); memcpy((void*)(buffer + offsetof(dSv_player_status_c_c, mRecollectCollect)), dComIfGs_getpCollect(), sizeof(stts->mRecollectCollect)); - + memcpy(dComIfGs_getpPlayerStatusA(), &stts->mRecollectStatusA, sizeof(stts->mRecollectStatusA)); memcpy(dComIfGs_getpItem(), &stts->mRecollectItem, sizeof(stts->mRecollectItem)); memcpy(&dComIfGs_getpItemRecord()->mItemRecord2, &stts->mRecollectItemRecord, sizeof(stts->mRecollectItemRecord)); @@ -1346,24 +1346,24 @@ void dComIfGs_setPlayerRecollectionData() { memcpy(dComIfGs_getpBagItem(), &stts->mRecollectBagItem, sizeof(stts->mRecollectBagItem)); memcpy(dComIfGs_getpBagItemRecord(), &stts->mRecollectBagItemRecord, sizeof(stts->mRecollectBagItemRecord)); memcpy(dComIfGs_getpCollect(), &stts->mRecollectCollect, sizeof(stts->mRecollectCollect)); - + dComIfGs_setMaxLife(tmp_sttsA.mMaxLife); dComIfGs_setLife(tmp_sttsA.mLife); dComIfGs_setMaxMagic(tmp_sttsA.mMaxMagic); dComIfGs_setMagic(tmp_sttsA.mMagic); - + dComIfGs_setArrowMax(tmp_max.mItemMax2.mArrowNum); dComIfGs_setArrowNum(tmp_record2.mArrowNum); dComIfGs_setBombMax(tmp_max.mItemMax2.mBombNum); dComIfGs_setBombNum(tmp_record2.mBombNum); dComIfGs_setPictureNum(tmp_record2.mPictureNum); - + dComIfGs_setCollect(0, tmp_collect.mCollect[0]); dComIfGs_setCollect(1, tmp_collect.mCollect[1]); dComIfGs_setCollect(2, tmp_collect.mCollect[2]); dComIfGs_setCollect(3, tmp_collect.mCollect[3]); dComIfGs_setCollect(4, tmp_collect.mCollect[4]); - + dComIfGs_setSelectEquip(0, tmp_sttsA.mSelectEquip[0]); dComIfGs_setSelectEquip(1, tmp_sttsA.mSelectEquip[1]); dComIfGs_setSelectEquip(2, tmp_sttsA.mSelectEquip[2]); @@ -1372,7 +1372,7 @@ void dComIfGs_setPlayerRecollectionData() { // Usually the wallet size would be set via dComIfGs_setWalletSize instead. // TODO: Investigate this more. dComIfGs_setSelectEquip(4, tmp_sttsA.mSelectEquip[4]); - + dComIfGp_setSelectEquip(0, dComIfGs_getSelectEquip(0)); dComIfGp_setSelectEquip(1, dComIfGs_getSelectEquip(1)); dComIfGp_setSelectEquip(2, dComIfGs_getSelectEquip(2)); @@ -1381,16 +1381,16 @@ void dComIfGs_setPlayerRecollectionData() { // It seems to set dComIfG_play_c's mMesgAnime value to the current wallet size value. // TODO: Investigate this more. dComIfGp_setSelectEquip(4, dComIfGs_getSelectEquip(4)); - + dComIfGs_setItem(14, tmp_item.mItems[14]); dComIfGs_setItem(15, tmp_item.mItems[15]); dComIfGs_setItem(16, tmp_item.mItems[16]); dComIfGs_setItem(17, tmp_item.mItems[17]); dComIfGs_setItem(8, tmp_item.mItems[8]); - - dComIfGs_setSelectItem(0, dItem_NONE_e); - dComIfGs_setSelectItem(1, dItem_NONE_e); - dComIfGs_setSelectItem(2, dItem_NONE_e); + + dComIfGs_setSelectItem(0, dInvSlot_NONE_e); + dComIfGs_setSelectItem(1, dInvSlot_NONE_e); + dComIfGs_setSelectItem(2, dInvSlot_NONE_e); } /* 80055318-80055580 .text dComIfGs_revPlayerRecollectionData__Fv */ @@ -1406,36 +1406,36 @@ void dComIfGs_revPlayerRecollectionData() { dSv_player_item_record2_c tmp_record2; dSv_player_collect_c tmp_collect; dSv_player_item_c tmp_item; - + tmp_sttsA.mMaxLife = dComIfGs_getMaxLife(); tmp_sttsA.mLife = dComIfGs_getLife(); tmp_sttsA.mMaxMagic = dComIfGs_getMaxMagic(); tmp_sttsA.mMagic = dComIfGs_getMagic(); - + tmp_max.mItemMax2.mArrowNum = dComIfGs_getArrowMax(); tmp_record2.mArrowNum = dComIfGs_getArrowNum(); tmp_max.mItemMax2.mBombNum = dComIfGs_getBombMax(); tmp_record2.mBombNum = dComIfGs_getBombNum(); tmp_record2.mPictureNum = dComIfGs_getPictureNum(); - + tmp_collect.mCollect[0] = dComIfGs_checkCollect(0); tmp_collect.mCollect[1] = dComIfGs_checkCollect(1); tmp_collect.mCollect[2] = dComIfGs_checkCollect(2); tmp_collect.mCollect[3] = dComIfGs_checkCollect(3); tmp_collect.mCollect[4] = dComIfGs_checkCollect(4); - + tmp_sttsA.mSelectEquip[0] = dComIfGs_getSelectEquip(0); tmp_sttsA.mSelectEquip[1] = dComIfGs_getSelectEquip(1); tmp_sttsA.mSelectEquip[2] = dComIfGs_getSelectEquip(2); tmp_sttsA.mSelectEquip[3] = dComIfGs_getSelectEquip(3); tmp_sttsA.mSelectEquip[4] = dComIfGs_getSelectEquip(4); - + tmp_item.mItems[14] = dComIfGs_getItem(14); tmp_item.mItems[15] = dComIfGs_getItem(15); tmp_item.mItems[16] = dComIfGs_getItem(16); tmp_item.mItems[17] = dComIfGs_getItem(17); tmp_item.mItems[8] = dComIfGs_getItem(8); - + // TODO: This matches but could probably be cleaned up somehow. u32 buffer = (u32)dComIfGp_getPlayerInfoBuffer(); memcpy(dComIfGs_getpPlayerStatusA(), (void*)(buffer + offsetof(dSv_player_status_c_c, mRecollectStatusA)), sizeof(dSv_player_status_c_c().mRecollectStatusA)); @@ -1445,24 +1445,24 @@ void dComIfGs_revPlayerRecollectionData() { memcpy(dComIfGs_getpBagItem(), (void*)(buffer + offsetof(dSv_player_status_c_c, mRecollectBagItem)), sizeof(dSv_player_status_c_c().mRecollectBagItem)); memcpy(dComIfGs_getpBagItemRecord(), (void*)(buffer + offsetof(dSv_player_status_c_c, mRecollectBagItemRecord)), sizeof(dSv_player_status_c_c().mRecollectBagItemRecord)); memcpy(dComIfGs_getpCollect(), (void*)(buffer + offsetof(dSv_player_status_c_c, mRecollectCollect)), sizeof(dSv_player_status_c_c().mRecollectCollect)); - + dComIfGs_setMaxLife(tmp_sttsA.mMaxLife); dComIfGs_setLife(tmp_sttsA.mLife); dComIfGs_setMaxMagic(tmp_sttsA.mMaxMagic); dComIfGs_setMagic(tmp_sttsA.mMagic); - + dComIfGs_setArrowMax(tmp_max.mItemMax2.mArrowNum); dComIfGs_setArrowNum(tmp_record2.mArrowNum); dComIfGs_setBombMax(tmp_max.mItemMax2.mBombNum); dComIfGs_setBombNum(tmp_record2.mBombNum); dComIfGs_setPictureNum(tmp_record2.mPictureNum); - + dComIfGs_setCollect(0, tmp_collect.mCollect[0]); dComIfGs_setCollect(1, tmp_collect.mCollect[1]); dComIfGs_setCollect(2, tmp_collect.mCollect[2]); dComIfGs_setCollect(3, tmp_collect.mCollect[3]); dComIfGs_setCollect(4, tmp_collect.mCollect[4]); - + dComIfGs_setSelectEquip(0, tmp_sttsA.mSelectEquip[0]); dComIfGs_setSelectEquip(1, tmp_sttsA.mSelectEquip[1]); dComIfGs_setSelectEquip(2, tmp_sttsA.mSelectEquip[2]); @@ -1471,7 +1471,7 @@ void dComIfGs_revPlayerRecollectionData() { // Usually the wallet size would be set via dComIfGs_setWalletSize instead. // TODO: Investigate this more. dComIfGs_setSelectEquip(4, tmp_sttsA.mSelectEquip[4]); - + dComIfGp_setSelectEquip(0, dComIfGs_getSelectEquip(0)); dComIfGp_setSelectEquip(1, dComIfGs_getSelectEquip(1)); dComIfGp_setSelectEquip(2, dComIfGs_getSelectEquip(2)); @@ -1480,16 +1480,16 @@ void dComIfGs_revPlayerRecollectionData() { // It seems to set dComIfG_play_c's mMesgAnime value to the current wallet size value. // TODO: Investigate this more. dComIfGp_setSelectEquip(4, dComIfGs_getSelectEquip(4)); - - dComIfGs_setItem(14, tmp_item.mItems[14]); - dComIfGs_setItem(15, tmp_item.mItems[15]); - dComIfGs_setItem(16, tmp_item.mItems[16]); - dComIfGs_setItem(17, tmp_item.mItems[17]); - dComIfGs_setItem(8, tmp_item.mItems[8]); - - dComIfGs_setSelectItem(0, dItem_NONE_e); - dComIfGs_setSelectItem(1, dItem_NONE_e); - dComIfGs_setSelectItem(2, dItem_NONE_e); + + dComIfGs_setItem(dInvSlot_BOTTLE0_e, tmp_item.mItems[dInvSlot_BOTTLE0_e]); + dComIfGs_setItem(dInvSlot_BOTTLE1_e, tmp_item.mItems[dInvSlot_BOTTLE1_e]); + dComIfGs_setItem(dInvSlot_BOTTLE2_e, tmp_item.mItems[dInvSlot_BOTTLE2_e]); + dComIfGs_setItem(dInvSlot_BOTTLE3_e, tmp_item.mItems[dInvSlot_BOTTLE3_e]); + dComIfGs_setItem(dInvSlot_CAMERA_e, tmp_item.mItems[dInvSlot_CAMERA_e]); + + dComIfGs_setSelectItem(0, dInvSlot_NONE_e); + dComIfGs_setSelectItem(1, dInvSlot_NONE_e); + dComIfGs_setSelectItem(2, dInvSlot_NONE_e); } /* 80055580-8005586C .text dComIfGs_exchangePlayerRecollectionData__Fv */ @@ -1503,36 +1503,36 @@ void dComIfGs_exchangePlayerRecollectionData() { dSv_player_item_record2_c tmp_record2; dSv_player_collect_c tmp_collect; dSv_player_item_c tmp_item; - + tmp_sttsA.mMaxLife = dComIfGs_getMaxLife(); tmp_sttsA.mLife = dComIfGs_getLife(); tmp_sttsA.mMaxMagic = dComIfGs_getMaxMagic(); tmp_sttsA.mMagic = dComIfGs_getMagic(); - + tmp_max.mItemMax2.mArrowNum = dComIfGs_getArrowMax(); tmp_record2.mArrowNum = dComIfGs_getArrowNum(); tmp_max.mItemMax2.mBombNum = dComIfGs_getBombMax(); tmp_record2.mBombNum = dComIfGs_getBombNum(); tmp_record2.mPictureNum = dComIfGs_getPictureNum(); - + tmp_collect.mCollect[0] = dComIfGs_checkCollect(0); tmp_collect.mCollect[1] = dComIfGs_checkCollect(1); tmp_collect.mCollect[2] = dComIfGs_checkCollect(2); tmp_collect.mCollect[3] = dComIfGs_checkCollect(3); tmp_collect.mCollect[4] = dComIfGs_checkCollect(4); - + tmp_sttsA.mSelectEquip[0] = dComIfGs_getSelectEquip(0); tmp_sttsA.mSelectEquip[1] = dComIfGs_getSelectEquip(1); tmp_sttsA.mSelectEquip[2] = dComIfGs_getSelectEquip(2); tmp_sttsA.mSelectEquip[3] = dComIfGs_getSelectEquip(3); tmp_sttsA.mSelectEquip[4] = dComIfGs_getSelectEquip(4); - - tmp_item.mItems[14] = dComIfGs_getItem(14); - tmp_item.mItems[15] = dComIfGs_getItem(15); - tmp_item.mItems[16] = dComIfGs_getItem(16); - tmp_item.mItems[17] = dComIfGs_getItem(17); - tmp_item.mItems[8] = dComIfGs_getItem(8); - + + tmp_item.mItems[dInvSlot_BOTTLE0_e] = dComIfGs_getItem(dInvSlot_BOTTLE0_e); + tmp_item.mItems[dInvSlot_BOTTLE1_e] = dComIfGs_getItem(dInvSlot_BOTTLE1_e); + tmp_item.mItems[dInvSlot_BOTTLE2_e] = dComIfGs_getItem(dInvSlot_BOTTLE2_e); + tmp_item.mItems[dInvSlot_BOTTLE3_e] = dComIfGs_getItem(dInvSlot_BOTTLE3_e); + tmp_item.mItems[dInvSlot_CAMERA_e] = dComIfGs_getItem(dInvSlot_CAMERA_e); + // TODO: This matches but could probably be cleaned up somehow. dSv_player_status_c_c stts; memcpy(&stts, dComIfGp_getPlayerInfoBuffer(), sizeof(stts)); @@ -1544,7 +1544,7 @@ void dComIfGs_exchangePlayerRecollectionData() { memcpy((void*)(buffer + offsetof(dSv_player_status_c_c, mRecollectBagItem)), dComIfGs_getpBagItem(), sizeof(stts.mRecollectBagItem)); memcpy((void*)(buffer + offsetof(dSv_player_status_c_c, mRecollectBagItemRecord)), dComIfGs_getpBagItemRecord(), sizeof(stts.mRecollectBagItemRecord)); memcpy((void*)(buffer + offsetof(dSv_player_status_c_c, mRecollectCollect)), dComIfGs_getpCollect(), sizeof(stts.mRecollectCollect)); - + u8* stts_buffer = (u8*)&stts; memcpy(dComIfGs_getpPlayerStatusA(), stts_buffer + offsetof(dSv_player_status_c_c, mRecollectStatusA), sizeof(stts.mRecollectStatusA)); memcpy(dComIfGs_getpItem(), stts_buffer + offsetof(dSv_player_status_c_c, mRecollectItem), sizeof(stts.mRecollectItem)); @@ -1553,24 +1553,24 @@ void dComIfGs_exchangePlayerRecollectionData() { memcpy(dComIfGs_getpBagItem(), stts_buffer + offsetof(dSv_player_status_c_c, mRecollectBagItem), sizeof(stts.mRecollectBagItem)); memcpy(dComIfGs_getpBagItemRecord(), stts_buffer + offsetof(dSv_player_status_c_c, mRecollectBagItemRecord), sizeof(stts.mRecollectBagItemRecord)); memcpy(dComIfGs_getpCollect(), stts_buffer + offsetof(dSv_player_status_c_c, mRecollectCollect), sizeof(stts.mRecollectCollect)); - + dComIfGs_setMaxLife(tmp_sttsA.mMaxLife); dComIfGs_setLife(tmp_sttsA.mLife); dComIfGs_setMaxMagic(tmp_sttsA.mMaxMagic); dComIfGs_setMagic(tmp_sttsA.mMagic); - + dComIfGs_setArrowMax(tmp_max.mItemMax2.mArrowNum); dComIfGs_setArrowNum(tmp_record2.mArrowNum); dComIfGs_setBombMax(tmp_max.mItemMax2.mBombNum); dComIfGs_setBombNum(tmp_record2.mBombNum); dComIfGs_setPictureNum(tmp_record2.mPictureNum); - + dComIfGs_setCollect(0, tmp_collect.mCollect[0]); dComIfGs_setCollect(1, tmp_collect.mCollect[1]); dComIfGs_setCollect(2, tmp_collect.mCollect[2]); dComIfGs_setCollect(3, tmp_collect.mCollect[3]); dComIfGs_setCollect(4, tmp_collect.mCollect[4]); - + dComIfGs_setSelectEquip(0, tmp_sttsA.mSelectEquip[0]); dComIfGs_setSelectEquip(1, tmp_sttsA.mSelectEquip[1]); dComIfGs_setSelectEquip(2, tmp_sttsA.mSelectEquip[2]); @@ -1579,7 +1579,7 @@ void dComIfGs_exchangePlayerRecollectionData() { // Usually the wallet size would be set via dComIfGs_setWalletSize instead. // TODO: Investigate this more. dComIfGs_setSelectEquip(4, tmp_sttsA.mSelectEquip[4]); - + dComIfGp_setSelectEquip(0, dComIfGs_getSelectEquip(0)); dComIfGp_setSelectEquip(1, dComIfGs_getSelectEquip(1)); dComIfGp_setSelectEquip(2, dComIfGs_getSelectEquip(2)); @@ -1588,12 +1588,12 @@ void dComIfGs_exchangePlayerRecollectionData() { // It seems to set dComIfG_play_c's mMesgAnime value to the current wallet size value. // TODO: Investigate this more. dComIfGp_setSelectEquip(4, dComIfGs_getSelectEquip(4)); - - dComIfGs_setItem(14, tmp_item.mItems[14]); - dComIfGs_setItem(15, tmp_item.mItems[15]); - dComIfGs_setItem(16, tmp_item.mItems[16]); - dComIfGs_setItem(17, tmp_item.mItems[17]); - dComIfGs_setItem(8, tmp_item.mItems[8]); + + dComIfGs_setItem(dInvSlot_BOTTLE0_e, tmp_item.mItems[dInvSlot_BOTTLE0_e]); + dComIfGs_setItem(dInvSlot_BOTTLE1_e, tmp_item.mItems[dInvSlot_BOTTLE1_e]); + dComIfGs_setItem(dInvSlot_BOTTLE2_e, tmp_item.mItems[dInvSlot_BOTTLE2_e]); + dComIfGs_setItem(dInvSlot_BOTTLE3_e, tmp_item.mItems[dInvSlot_BOTTLE3_e]); + dComIfGs_setItem(dInvSlot_CAMERA_e, tmp_item.mItems[dInvSlot_CAMERA_e]); } /* 8005586C-800559E8 .text dComIfGs_setSelectEquip__FiUc */ diff --git a/src/d/d_item.cpp b/src/d/d_item.cpp index 94ba204e..2569849b 100644 --- a/src/d/d_item.cpp +++ b/src/d/d_item.cpp @@ -610,29 +610,29 @@ void item_func_l_magic() { /* 800C3008-800C3060 .text item_func_bomb_5__Fv */ void item_func_bomb_5() { - dComIfGs_onGetItem(0xD, 0); - dComIfGp_setItem(0xD, BOMB_5); + dComIfGs_onGetItem(dInvSlot_BOMB_e, 0); + dComIfGp_setItem(dInvSlot_BOMB_e, BOMB_5); dComIfGp_setItemBombNumCount(5); } /* 800C3060-800C30B0 .text item_func_bomb_10__Fv */ void item_func_bomb_10() { - dComIfGs_onGetItem(0xD, 0); - dComIfGs_setItem(0xD, dItem_BOMB_BAG_e); + dComIfGs_onGetItem(dInvSlot_BOMB_e, 0); + dComIfGs_setItem(dInvSlot_BOMB_e, dItem_BOMB_BAG_e); dComIfGp_setItemBombNumCount(10); } /* 800C30B0-800C3100 .text item_func_bomb_20__Fv */ void item_func_bomb_20() { - dComIfGs_onGetItem(0xD, 0); - dComIfGs_setItem(0xD, dItem_BOMB_BAG_e); + dComIfGs_onGetItem(dInvSlot_BOMB_e, 0); + dComIfGs_setItem(dInvSlot_BOMB_e, dItem_BOMB_BAG_e); dComIfGp_setItemBombNumCount(20); } /* 800C3100-800C3150 .text item_func_bomb_30__Fv */ void item_func_bomb_30() { - dComIfGs_onGetItem(0xD, 0); - dComIfGs_setItem(0xD, dItem_BOMB_BAG_e); + dComIfGs_onGetItem(dInvSlot_BOMB_e, 0); + dComIfGs_setItem(dInvSlot_BOMB_e, dItem_BOMB_BAG_e); dComIfGp_setItemBombNumCount(30); } @@ -684,50 +684,50 @@ void item_func_pendant() { /* 800C3258-800C329C .text item_func_telescope__Fv */ void item_func_telescope() { - dComIfGs_onGetItem(0x0, 0); - dComIfGs_setItem(0x0, dItem_TELESCOPE_e); + dComIfGs_onGetItem(dInvSlot_TELESCOPE_e, 0); + dComIfGs_setItem(dInvSlot_TELESCOPE_e, dItem_TELESCOPE_e); } /* 800C329C-800C32E0 .text item_func_tncl_whitsl__Fv */ void item_func_tncl_whitsl() { - dComIfGs_onGetItem(0x7, 0); - dComIfGs_setItem(0x7, dItem_TINGLE_TUNER_e); + dComIfGs_onGetItem(dInvSlot_TINGLE_TUNER_e, 0); + dComIfGs_setItem(dInvSlot_TINGLE_TUNER_e, dItem_TINGLE_TUNER_e); } /* 800C32E0-800C3324 .text item_func_wind_tact__Fv */ void item_func_wind_tact() { - dComIfGs_onGetItem(0x2, 0); - dComIfGs_setItem(0x2, dItem_WIND_WAKER_e); + dComIfGs_onGetItem(dInvSlot_WIND_WAKER_e, 0); + dComIfGs_setItem(dInvSlot_WIND_WAKER_e, dItem_WIND_WAKER_e); } /* 800C3324-800C3368 .text item_func_camera__Fv */ void item_func_camera() { - dComIfGs_onGetItem(0x8, 0); - dComIfGs_setItem(0x8, CAMERA); + dComIfGs_onGetItem(dInvSlot_CAMERA_e, 0); + dComIfGs_setItem(dInvSlot_CAMERA_e, CAMERA); } /* 800C3368-800C33AC .text item_func_emono_bag__Fv */ void item_func_emono_bag() { - dComIfGs_onGetItem(0x4, 0); - dComIfGs_setItem(0x4, EMONO_BAG); + dComIfGs_onGetItem(dInvSlot_EMONO_BAG_e, 0); + dComIfGs_setItem(dInvSlot_EMONO_BAG_e, EMONO_BAG); } /* 800C33AC-800C33F0 .text item_func_rope__Fv */ void item_func_rope() { - dComIfGs_onGetItem(0x3, 0); - dComIfGs_setItem(0x3, dItem_GRAPPLING_HOOK_e); + dComIfGs_onGetItem(dInvSlot_GRAPPLING_HOOK_e, 0); + dComIfGs_setItem(dInvSlot_GRAPPLING_HOOK_e, dItem_GRAPPLING_HOOK_e); } /* 800C33F0-800C3434 .text item_func_camera2__Fv */ void item_func_camera2() { - dComIfGs_onGetItem(0x8, 1); - dComIfGs_setItem(0x8, CAMERA2); + dComIfGs_onGetItem(dInvSlot_CAMERA_e, 1); + dComIfGs_setItem(dInvSlot_CAMERA_e, CAMERA2); } /* 800C3434-800C3484 .text item_func_bow__Fv */ void item_func_bow() { - dComIfGs_onGetItem(0xC, 0); - dComIfGs_setItem(0xC, dItem_BOW_e); + dComIfGs_onGetItem(dInvSlot_BOW_e, 0); + dComIfGs_setItem(dInvSlot_BOW_e, dItem_BOW_e); dComIfGs_setArrowNum(30); dComIfGs_setArrowMax(30); } @@ -740,14 +740,14 @@ void item_func_pwr_groove() { /* 800C34C4-800C3508 .text item_func_hvy_boots__Fv */ void item_func_hvy_boots() { - dComIfGs_onGetItem(0x9, 0); - dComIfGs_setItem(0x9, dItem_IRON_BOOTS_e); + dComIfGs_onGetItem(dInvSlot_IRON_BOOTS_e, 0); + dComIfGs_setItem(dInvSlot_IRON_BOOTS_e, dItem_IRON_BOOTS_e); } /* 800C3508-800C354C .text item_func_drgn_shield__Fv */ void item_func_drgn_shield() { - dComIfGs_onGetItem(0xA, 0); - dComIfGs_setItem(0xA, dItem_MAGIC_ARMOR_e); + dComIfGs_onGetItem(dInvSlot_MAGIC_ARMOR_e, 0); + dComIfGs_setItem(dInvSlot_MAGIC_ARMOR_e, dItem_MAGIC_ARMOR_e); } /* 800C354C-800C3550 .text item_func_water_boots__Fv */ @@ -756,37 +756,37 @@ void item_func_water_boots() { /* 800C3550-800C3594 .text item_func_esa_bag__Fv */ void item_func_esa_bag() { - dComIfGs_onGetItem(0xB, 0); - dComIfGs_setItem(0xB, ESA_BAG); + dComIfGs_onGetItem(dInvSlot_ESA_BAG_e, 0); + dComIfGs_setItem(dInvSlot_ESA_BAG_e, ESA_BAG); } /* 800C3594-800C35D8 .text item_func_boomerang__Fv */ void item_func_boomerang() { - dComIfGs_onGetItem(0x5, 0); - dComIfGs_setItem(0x5, dItem_BOOMERANG_e); + dComIfGs_onGetItem(dInvSlot_BOOMERANG_e, 0); + dComIfGs_setItem(dInvSlot_BOOMERANG_e, dItem_BOOMERANG_e); } /* 800C35D8-800C3600 .text item_func_bare_hand__Fv */ void item_func_bare_hand() { - dComIfGs_setSelectEquip(0x2, BARE_HAND); + dComIfGs_setSelectEquip(0x02, BARE_HAND); } /* 800C3600-800C3644 .text item_func_hookshot__Fv */ void item_func_hookshot() { - dComIfGs_onGetItem(0x13, 0); - dComIfGs_setItem(0x13, dItem_HOOKSHOT_e); + dComIfGs_onGetItem(dInvSlot_HOOKSHOT_e, 0); + dComIfGs_setItem(dInvSlot_HOOKSHOT_e, dItem_HOOKSHOT_e); } /* 800C3644-800C3688 .text item_func_warasibe_bag__Fv */ void item_func_warasibe_bag() { - dComIfGs_onGetItem(0x12, 0); - dComIfGs_setItem(0x12, dItem_DELIVERY_BAG_e); + dComIfGs_onGetItem(dInvSlot_DELIVERY_BAG_e, 0); + dComIfGs_setItem(dInvSlot_DELIVERY_BAG_e, dItem_DELIVERY_BAG_e); } /* 800C3688-800C36D8 .text item_func_bomb_bag__Fv */ void item_func_bomb_bag() { - dComIfGs_onGetItem(0xD, 0); - dComIfGs_setItem(0xD, dItem_BOMB_BAG_e); + dComIfGs_onGetItem(dInvSlot_BOMB_e, 0); + dComIfGs_setItem(dInvSlot_BOMB_e, dItem_BOMB_BAG_e); dComIfGs_setBombNum(30); dComIfGs_setBombMax(30); } @@ -797,22 +797,22 @@ void item_func_fuku() { /* 800C36DC-800C3720 .text item_func_hummer__Fv */ void item_func_hummer() { - dComIfGs_onGetItem(0x14, 0); - dComIfGs_setItem(0x14, dItem_SKULL_HAMMER_e); + dComIfGs_onGetItem(dInvSlot_SKULL_HAMMER_e, 0); + dComIfGs_setItem(dInvSlot_SKULL_HAMMER_e, dItem_SKULL_HAMMER_e); } /* 800C3720-800C377C .text item_func_deku_leaf__Fv */ void item_func_deku_leaf() { - dComIfGs_onGetItem(0x6, 0); - dComIfGs_setItem(0x6, dItem_DEKU_LEAF_e); + dComIfGs_onGetItem(dInvSlot_DEKU_LEAF_e, 0); + dComIfGs_setItem(dInvSlot_DEKU_LEAF_e, dItem_DEKU_LEAF_e); dComIfGp_setItemMaxMagicCount(16); dComIfGp_setItemMagicCount(16); } /* 800C377C-800C3928 .text item_func_magic_arrow__Fv */ void item_func_magic_arrow() { - dComIfGs_onGetItem(0xC, 1); - dComIfGs_setItem(0xC, dItem_MAGIC_ARROW_e); + dComIfGs_onGetItem(dInvSlot_BOW_e, 1); + dComIfGs_setItem(dInvSlot_BOW_e, dItem_MAGIC_ARROW_e); #if VERSION != VERSION_JPN // If the regular bow was equipped on an X/Y/Z button, force it to update. @@ -826,9 +826,9 @@ void item_func_magic_arrow() { /* 800C3928-800C3AD4 .text item_func_light_arrow__Fv */ void item_func_light_arrow() { - dComIfGs_onGetItem(0xC, 2); - dComIfGs_setItem(0xC, dItem_LIGHT_ARROW_e); - + dComIfGs_onGetItem(dInvSlot_BOW_e, 2); + dComIfGs_setItem(dInvSlot_BOW_e, dItem_LIGHT_ARROW_e); + #if VERSION != VERSION_JPN // If the fire/ice bow was equipped on an X/Y/Z button, force it to update. for (int btnIdx = 0; btnIdx < 3; btnIdx++) { @@ -1113,8 +1113,8 @@ void item_func_tact_song6() { /* 800C458C-800C45C8 .text item_func_normal_sail__Fv */ void item_func_normal_sail() { - dComIfGs_setItem(0x1, NORMAL_SAIL); - dComIfGs_onGetItem(0x1, 0); + dComIfGs_setItem(dInvSlot_SAIL_e, NORMAL_SAIL); + dComIfGs_onGetItem(dInvSlot_SAIL_e, 0); } /* 800C45C8-800C45CC .text item_func_triforce_map1__Fv */ diff --git a/src/d/d_s_play.cpp b/src/d/d_s_play.cpp index f26a9702..71804a45 100644 --- a/src/d/d_s_play.cpp +++ b/src/d/d_s_play.cpp @@ -1361,22 +1361,22 @@ s32 phase_4(dScnPly_ply_c* i_this) { } if (strcmp(dComIfGp_getStartStageName(), "GTower") == 0) { - dComIfGs_setItem(12, dItem_NONE_e); // take away the bow + dComIfGs_setItem(dInvSlot_BOW_e, dItem_NONE_e); // take away the bow for (s32 i = 0; i < 3; i++) { u32 itemno = dComIfGp_getSelectItem(i); if (itemno == dItem_BOW_e || itemno == dItem_MAGIC_ARROW_e || itemno == dItem_LIGHT_ARROW_e) { - dComIfGs_setSelectItem(i, dItem_NONE_e); + dComIfGs_setSelectItem(i, dInvSlot_NONE_e); dComIfGp_setSelectItem(i); } } - } else if (dComIfGs_getItem(12) == dItem_NONE_e) { + } else if (dComIfGs_getItem(dInvSlot_BOW_e) == dItem_NONE_e) { // give the bow back - if (dComIfGs_isGetItem(12, 2)) - dComIfGs_setItem(12, dItem_LIGHT_ARROW_e); - else if (dComIfGs_isGetItem(12, 1)) - dComIfGs_setItem(12, dItem_MAGIC_ARROW_e); - else if (dComIfGs_isGetItem(12, 0)) - dComIfGs_setItem(12, dItem_BOW_e); + if (dComIfGs_isGetItem(dInvSlot_BOW_e, 2)) + dComIfGs_setItem(dInvSlot_BOW_e, dItem_LIGHT_ARROW_e); + else if (dComIfGs_isGetItem(dInvSlot_BOW_e, 1)) + dComIfGs_setItem(dInvSlot_BOW_e, dItem_MAGIC_ARROW_e); + else if (dComIfGs_isGetItem(dInvSlot_BOW_e, 0)) + dComIfGs_setItem(dInvSlot_BOW_e, dItem_BOW_e); } if (strcmp(dComIfGp_getStartStageName(), "Xboss0") == 0 || diff --git a/src/d/d_save.cpp b/src/d/d_save.cpp index 0399f436..f4bd701e 100644 --- a/src/d/d_save.cpp +++ b/src/d/d_save.cpp @@ -99,7 +99,7 @@ void dSv_player_item_c::setEmptyBottleItemIn(u8 i_itemNo) { /* 80058E44-80058F74 .text setEmptyBottle__17dSv_player_item_cFv */ void dSv_player_item_c::setEmptyBottle() { for (int bottleIdx = 0; bottleIdx < 4; bottleIdx++) { - int invIdx = 0xE + bottleIdx; + int invIdx = dInvSlot_BOTTLE0_e + bottleIdx; if (dComIfGs_getItem((u8)invIdx) == dItem_NONE_e) { dComIfGs_setItem((u8)invIdx, EMPTY_BOTTLE); break; @@ -110,15 +110,13 @@ void dSv_player_item_c::setEmptyBottle() { /* 80058F74-8005918C .text setEquipBottleItemIn__17dSv_player_item_cFUcUc */ void dSv_player_item_c::setEquipBottleItemIn(u8 i_btnIdx, u8 i_itemNo) { u8 invIdx = dComIfGs_getSelectItem(i_btnIdx); - if (invIdx < 0xE) { + if (invIdx < dInvSlot_BOTTLE0_e) return; - } - if (invIdx > 0x11) { + if (invIdx > dInvSlot_BOTTLE3_e) return; - } - + mItems[invIdx] = i_itemNo; - + dComIfGs_setItem(dComIfGs_getSelectItem(i_btnIdx), i_itemNo); dComIfGp_setItem(dComIfGs_getSelectItem(i_btnIdx), i_itemNo); dComIfGp_setSelectItem(i_btnIdx); @@ -141,7 +139,7 @@ void dSv_player_item_c::setEquipBottleItemIn(u8 i_itemNo) { } else { return; } - + u8 invIdx = dComIfGs_getSelectItem(btnIdx); if (invIdx < 0xE) { return; @@ -149,9 +147,9 @@ void dSv_player_item_c::setEquipBottleItemIn(u8 i_itemNo) { if (invIdx > 0x11) { return; } - + mItems[invIdx] = i_itemNo; - + dComIfGs_setItem(dComIfGs_getSelectItem(btnIdx), i_itemNo); dComIfGp_setItem(dComIfGs_getSelectItem(btnIdx), i_itemNo); dComIfGp_setSelectItem(btnIdx); @@ -429,7 +427,7 @@ void dSv_player_bag_item_c::setBaitItemChange(u8 i_itemNo) { } else { return; } - + u8 invIdx = dComIfGs_getSelectItem(btnIdx); if (invIdx < 0x24) { return; @@ -437,7 +435,7 @@ void dSv_player_bag_item_c::setBaitItemChange(u8 i_itemNo) { if (invIdx >= 0x2C) { return; } - + dComIfGs_setItem(dComIfGs_getSelectItem(btnIdx), i_itemNo); dComIfGp_setItem(dComIfGs_getSelectItem(btnIdx), i_itemNo); dComIfGp_setSelectItem(btnIdx); @@ -448,7 +446,7 @@ void dSv_player_bag_item_c::setBaitItemChange(u8 i_btnIdx, u8 i_itemNo) { if (i_btnIdx > 2) { return; } - + u8 invIdx = dComIfGs_getSelectItem(i_btnIdx); if (invIdx < 0x24) { return; @@ -456,7 +454,7 @@ void dSv_player_bag_item_c::setBaitItemChange(u8 i_btnIdx, u8 i_itemNo) { if (invIdx >= 0x2C) { return; } - + dComIfGs_setItem(dComIfGs_getSelectItem(i_btnIdx), i_itemNo); dComIfGp_setItem(dComIfGs_getSelectItem(i_btnIdx), i_itemNo); dComIfGp_setSelectItem(i_btnIdx); @@ -474,7 +472,7 @@ void dSv_player_bag_item_c::setBaitItemEmpty() { } else { return; } - + u8 invIdx = dComIfGs_getSelectItem(btnIdx); if (invIdx < 0x24) { return; @@ -482,11 +480,11 @@ void dSv_player_bag_item_c::setBaitItemEmpty() { if (invIdx >= 0x2C) { return; } - + int baitSlotIdx = invIdx - 0x24; u8 num = dComIfGs_getBaitNum(baitSlotIdx); u8 itemNo = dComIfGp_getSelectItem(btnIdx); - + if (itemNo == dItem_HYOI_PEAR_e) { u8 num = dComIfGs_getBaitNum(baitSlotIdx); setBaitItemChange(dItem_NONE_e); @@ -507,7 +505,7 @@ void dSv_player_bag_item_c::setBaitItemEmpty(u8 i_btnIdx) { if (i_btnIdx > 2) { return; } - + u8 invIdx = dComIfGs_getSelectItem(i_btnIdx); if (invIdx < 0x24) { return; @@ -515,11 +513,11 @@ void dSv_player_bag_item_c::setBaitItemEmpty(u8 i_btnIdx) { if (invIdx >= 0x2C) { return; } - + int baitSlotIdx = invIdx - 0x24; u8 num = dComIfGs_getBaitNum(baitSlotIdx); u8 itemNo = dComIfGp_getSelectItem(i_btnIdx); - + if (itemNo == dItem_HYOI_PEAR_e) { u8 num = dComIfGs_getBaitNum(baitSlotIdx); setBaitItemChange(i_btnIdx, dItem_NONE_e); @@ -578,7 +576,7 @@ void dSv_player_bag_item_c::setReserveItemChange(u8 i_itemNo) { } else { return; } - + u8 invIdx = dComIfGs_getSelectItem(btnIdx); if (invIdx < 0x30) { return; @@ -586,7 +584,7 @@ void dSv_player_bag_item_c::setReserveItemChange(u8 i_itemNo) { if (invIdx >= 0x38) { return; } - + dComIfGs_setItem(dComIfGs_getSelectItem(btnIdx), i_itemNo); dComIfGp_setItem(dComIfGs_getSelectItem(btnIdx), i_itemNo); dComIfGp_setSelectItem(btnIdx); @@ -597,7 +595,7 @@ void dSv_player_bag_item_c::setReserveItemChange(u8 i_btnIdx, u8 i_itemNo) { if (i_btnIdx > 2) { return; } - + u8 invIdx = dComIfGs_getSelectItem(i_btnIdx); if (invIdx < 0x30) { return; @@ -605,7 +603,7 @@ void dSv_player_bag_item_c::setReserveItemChange(u8 i_btnIdx, u8 i_itemNo) { if (invIdx >= 0x38) { return; } - + dComIfGs_setItem(dComIfGs_getSelectItem(i_btnIdx), i_itemNo); dComIfGp_setItem(dComIfGs_getSelectItem(i_btnIdx), i_itemNo); dComIfGp_setSelectItem(i_btnIdx); @@ -1355,61 +1353,61 @@ void dSv_info_c::reinit() { 0x84FF, 0x83FF, 0x82FF, 0x81FF, 0x80FF}; static u16 l_onEventBit[] = {0x2F08, 0x2F04, 0x2F02, 0x3A01, 0x3401}; - + u8* r29 = new u8[ARRAY_SIZE(l_holdEventReg)]; for (int i = 0; i < ARRAY_SIZE(l_holdEventReg); i++) { r29[i] = dComIfGs_getEventReg(l_holdEventReg[i]); } - + u8 clearCount = dComIfGs_getClearCount(); - + char name[17]; strcpy(name, dComIfGs_getPlayerName()); - + u8 attnType = dComIfGs_getOptAttentionType(); u8 ruby = dComIfGs_getOptRuby(); u8 sound = dComIfGs_getOptSound(); u8 vib = dComIfGs_getOptVibration(); - + u8 pictureNum = dComIfGs_getPictureNum(); - + u8 r27 = dComIfGs_getEventReg(0x89FF); - + init(); - + for (int i = 0; i < ARRAY_SIZE(l_holdEventReg); i++) { dComIfGs_setEventReg(l_holdEventReg[i], r29[i]); } - + for (int i = 0; i < ARRAY_SIZE(l_onEventBit); i++) { dComIfGs_onEventBit(l_onEventBit[i]); } - + dComIfGs_setEventReg(0xC407, 7); - + dComIfGs_setClearCount(clearCount); - + dComIfGs_onSaveTbox(dSv_save_c::STAGE_MISC, 0x00); dComIfGs_onSaveSwitch(dSv_save_c::STAGE_SEA, 0x47); dComIfGs_onSaveSwitch(dSv_save_c::STAGE_SEA, 0x5E); - + dComIfGs_setPlayerName(name); - + dComIfGs_setOptAttentionType(attnType); dComIfGs_setOptRuby(ruby); dComIfGs_setOptSound(sound); dComIfGs_setOptVibration(vib); - + dComIfGs_setRandomSalvagePoint(3); - - dComIfGs_setItem(0x8, CAMERA2); - dComIfGp_setItem(0x8, CAMERA2); - - dComIfGs_onGetItem(0x8, 0); - dComIfGs_onGetItem(0x8, 1); - + + dComIfGs_setItem(dInvSlot_CAMERA_e, CAMERA2); + dComIfGp_setItem(dInvSlot_CAMERA_e, CAMERA2); + + dComIfGs_onGetItem(dInvSlot_CAMERA_e, 0); + dComIfGs_onGetItem(dInvSlot_CAMERA_e, 1); + dComIfGs_setPictureNum(pictureNum); - + dComIfGs_setEventReg(0x89FF, r27); } @@ -1613,7 +1611,7 @@ BOOL dSv_info_c::isActor(int i_id, int i_roomNo) { if (0 > i_id || i_id >= dSv_zoneActor_c::ACTOR_MAX) { JUT_ASSERT(VERSION_SELECT(3717, 3744, 3744), 0 <= i_id && i_id < dSv_zoneActor_c::ACTOR_MAX); } - + JUT_ASSERT(VERSION_SELECT(3719, 3746, 3746), 0 <= i_roomNo && i_roomNo < 64); int zoneNo = dComIfGp_roomControl_getZoneNo(i_roomNo); @@ -1632,52 +1630,52 @@ int dSv_info_c::memory_to_card(char* i_cardPtr, int i_dataNum) { char* buffer_start; char* buffer = i_cardPtr + i_dataNum * ALIGN_NEXT(dSv_save_c::PACKED_STRUCT_SIZE, 0x10); buffer_start = buffer; - + memcpy(buffer, dComIfGs_getpPlayerStatusA(), sizeof(dSv_player_status_a_c)); dSv_player_status_a_c* status_a = (dSv_player_status_a_c*)buffer; if (status_a->getLife() < 0xC) { status_a->setLife(0xC); } buffer += sizeof(dSv_player_status_a_c); - + memcpy(buffer, dComIfGs_getpPlayerStatusB(), sizeof(dSv_player_status_b_c)); dSv_player_status_b_c* status_b = (dSv_player_status_b_c*)buffer; status_b->setDateIpl(OSGetTime()); buffer += sizeof(dSv_player_status_b_c); - + memcpy(buffer, dComIfGs_getpPlayerReturnPlace(), sizeof(dSv_player_return_place_c)); buffer += sizeof(dSv_player_return_place_c); - + memcpy(buffer, dComIfGs_getpItem(), sizeof(dSv_player_item_c)); buffer += sizeof(dSv_player_item_c); - + memcpy(buffer, dComIfGs_getpGetItem(), sizeof(dSv_player_get_item_c)); buffer += sizeof(dSv_player_get_item_c); - + memcpy(buffer, dComIfGs_getpItemRecord(), sizeof(dSv_player_item_record_c)); buffer += sizeof(dSv_player_item_record_c); - + memcpy(buffer, dComIfGs_getpItemMax(), sizeof(dSv_player_item_max_c)); buffer += sizeof(dSv_player_item_max_c); - + memcpy(buffer, dComIfGs_getpBagItem(), sizeof(dSv_player_bag_item_c)); buffer += sizeof(dSv_player_bag_item_c); - + memcpy(buffer, dComIfGs_getpGetBagItem(), sizeof(dSv_player_get_bag_item_c)); buffer += sizeof(dSv_player_get_bag_item_c); - + memcpy(buffer, dComIfGs_getpBagItemRecord(), sizeof(dSv_player_bag_item_record_c)); buffer += sizeof(dSv_player_bag_item_record_c); - + memcpy(buffer, dComIfGs_getpCollect(), sizeof(dSv_player_collect_c)); buffer += sizeof(dSv_player_collect_c); - + memcpy(buffer, dComIfGs_getpMap(), sizeof(dSv_player_map_c)); buffer += sizeof(dSv_player_map_c); - + memcpy(buffer, dComIfGs_getpPlayerInfo(), sizeof(dSv_player_info_c)); buffer += sizeof(dSv_player_info_c); - + memcpy(buffer, dComIfGs_getpConfig(), sizeof(dSv_player_config_c)); buffer += sizeof(dSv_player_config_c); #if VERSION == VERSION_JPN @@ -1687,27 +1685,27 @@ int dSv_info_c::memory_to_card(char* i_cardPtr, int i_dataNum) { OSSetSoundMode(1); } #endif - + memcpy(buffer, dComIfGs_getpPriest(), sizeof(dSv_player_priest_c)); buffer += sizeof(dSv_player_priest_c); - + for (int i = 0; i < 4; i++) { memcpy(buffer, dComIfGs_getpPlayerStatusC(i), sizeof(dSv_player_status_c_c)); buffer += sizeof(dSv_player_status_c_c); } - + memcpy(buffer, dComIfGs_getPCourseInfo(), sizeof(dSv_memory_c) * dSv_save_c::STAGE_MAX); buffer += sizeof(dSv_memory_c) * dSv_save_c::STAGE_MAX; - + memcpy(buffer, dComIfGs_getPOcean(), sizeof(dSv_ocean_c)); buffer += sizeof(dSv_ocean_c); - + memcpy(buffer, dComIfGs_getPEvent(), sizeof(dSv_event_c)); buffer += sizeof(dSv_event_c); - + memcpy(buffer, dComIfGs_getPReserve(), sizeof(dSv_reserve_c)); buffer += sizeof(dSv_reserve_c); - + s32 save_size = buffer - buffer_start; if (save_size > dSv_save_c::PACKED_STRUCT_SIZE) { printf("SAVE size over(%d/%d)\n", dSv_save_c::PACKED_STRUCT_SIZE, save_size); @@ -1723,46 +1721,46 @@ int dSv_info_c::card_to_memory(char* i_cardPtr, int i_dataNum) { char* buffer_start; char* buffer = i_cardPtr + i_dataNum * ALIGN_NEXT(dSv_save_c::PACKED_STRUCT_SIZE, 0x10); buffer_start = buffer; - + memcpy(dComIfGs_getpPlayerStatusA(), buffer, sizeof(dSv_player_status_a_c)); buffer += sizeof(dSv_player_status_a_c); - + memcpy(dComIfGs_getpPlayerStatusB(), buffer, sizeof(dSv_player_status_b_c)); buffer += sizeof(dSv_player_status_b_c); - + memcpy(dComIfGs_getpPlayerReturnPlace(), buffer, sizeof(dSv_player_return_place_c)); buffer += sizeof(dSv_player_return_place_c); - + memcpy(dComIfGs_getpItem(), buffer, sizeof(dSv_player_item_c)); buffer += sizeof(dSv_player_item_c); - + memcpy(dComIfGs_getpGetItem(), buffer, sizeof(dSv_player_get_item_c)); buffer += sizeof(dSv_player_get_item_c); - + memcpy(dComIfGs_getpItemRecord(), buffer, sizeof(dSv_player_item_record_c)); buffer += sizeof(dSv_player_item_record_c); - + memcpy(dComIfGs_getpItemMax(), buffer, sizeof(dSv_player_item_max_c)); buffer += sizeof(dSv_player_item_max_c); - + memcpy(dComIfGs_getpBagItem(), buffer, sizeof(dSv_player_bag_item_c)); buffer += sizeof(dSv_player_bag_item_c); - + memcpy(dComIfGs_getpGetBagItem(), buffer, sizeof(dSv_player_get_bag_item_c)); buffer += sizeof(dSv_player_get_bag_item_c); - + memcpy(dComIfGs_getpBagItemRecord(), buffer, sizeof(dSv_player_bag_item_record_c)); buffer += sizeof(dSv_player_bag_item_record_c); - + memcpy(dComIfGs_getpCollect(), buffer, sizeof(dSv_player_collect_c)); buffer += sizeof(dSv_player_collect_c); - + memcpy(dComIfGs_getpMap(), buffer, sizeof(dSv_player_map_c)); buffer += sizeof(dSv_player_map_c); - + memcpy(dComIfGs_getpPlayerInfo(), buffer, sizeof(dSv_player_info_c)); buffer += sizeof(dSv_player_info_c); - + memcpy(dComIfGs_getpConfig(), buffer, sizeof(dSv_player_config_c)); buffer += sizeof(dSv_player_config_c); if (OSGetSoundMode() == 0) { @@ -1774,27 +1772,27 @@ int dSv_info_c::card_to_memory(char* i_cardPtr, int i_dataNum) { dComIfGs_setOptSound(1); mDoAud_setOutputMode(1); } - + memcpy(dComIfGs_getpPriest(), buffer, sizeof(dSv_player_priest_c)); buffer += sizeof(dSv_player_priest_c); - + for (int i = 0; i < 4; i++) { memcpy(dComIfGs_getpPlayerStatusC(i), buffer, sizeof(dSv_player_status_c_c)); buffer += sizeof(dSv_player_status_c_c); } - + memcpy(dComIfGs_getPCourseInfo(), buffer, sizeof(dSv_memory_c) * dSv_save_c::STAGE_MAX); buffer += sizeof(dSv_memory_c) * dSv_save_c::STAGE_MAX; - + memcpy(dComIfGs_getPOcean(), buffer, sizeof(dSv_ocean_c)); buffer += sizeof(dSv_ocean_c); - + memcpy(dComIfGs_getPEvent(), buffer, sizeof(dSv_event_c)); buffer += sizeof(dSv_event_c); - + memcpy(dComIfGs_getPReserve(), buffer, sizeof(dSv_reserve_c)); buffer += sizeof(dSv_reserve_c); - + s32 load_size = buffer - buffer_start; if (load_size > dSv_save_c::PACKED_STRUCT_SIZE) { printf("LOAD size over(%d/%d)\n", dSv_save_c::PACKED_STRUCT_SIZE, load_size); @@ -1811,7 +1809,7 @@ int dSv_info_c::initdata_to_card(char* i_cardPtr, int i_dataNum) { char* buffer = i_cardPtr + i_dataNum * ALIGN_NEXT(dSv_save_c::PACKED_STRUCT_SIZE, 0x10); char* buffer_start = buffer; char* buffer_src; - + dSv_player_status_a_c status_a; status_a.init(); buffer_src = (char*)&status_a; @@ -1908,7 +1906,7 @@ int dSv_info_c::initdata_to_card(char* i_cardPtr, int i_dataNum) { memcpy(buffer, buffer_src, sizeof(dSv_player_status_c_c)); buffer += sizeof(dSv_player_status_c_c); } - + // Bug: It copies 16 instances of dSv_memory_c from the stack to the card, but only allocates and initializes 1. // This means when it initializes an empty save slot in the memory card, all of the stage save tables except the // first are filled with garbage data instead of all zeroes. diff --git a/src/d/d_shop.cpp b/src/d/d_shop.cpp index 5ddc2b87..463c0425 100644 --- a/src/d/d_shop.cpp +++ b/src/d/d_shop.cpp @@ -1344,7 +1344,7 @@ u8 dShop_BoughtErrorStatus(ShopItems_c* shopItems, int param_2, int param_3) { if (buyCond & Shop_BuyCond_MUST_OWN_ITEM_e) { if (itemData->mMustOwnItemNo == dItem_BOW_e) { - if (dComIfGs_getItem(0xC) == dItem_NONE_e) { + if (dComIfGs_getItem(dInvSlot_BOW_e) == dItem_NONE_e) { errorStatus |= Shop_BuyCond_MUST_OWN_ITEM_e; } } else {