summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLagoLunatic <LagoLunatic@users.noreply.github.com>2023-10-17 03:03:37 -0400
committerLagoLunatic <LagoLunatic@users.noreply.github.com>2023-10-17 03:03:37 -0400
commit853a80f2bcea26fda16cedaba0f2cf9056612a34 (patch)
treed880f6b860f4fa0d67485b9459f3b641e8712b61
parent7a182dda663003ec614ff96aaf4401a44ed5a9c1 (diff)
d_item OK
-rw-r--r--configure.py2
-rw-r--r--include/d/d_com_inf_game.h216
-rw-r--r--include/d/d_item.h8
-rw-r--r--include/d/d_save.h22
-rw-r--r--src/d/actor/d_a_boss_item.cpp6
-rw-r--r--src/d/d_item.cpp747
6 files changed, 751 insertions, 250 deletions
diff --git a/configure.py b/configure.py
index 9f5603ed..5253b5d4 100644
--- a/configure.py
+++ b/configure.py
@@ -406,7 +406,7 @@ config.libs = [
Object(Matching, "d/d_seafightgame.cpp"),
Object(NonMatching, "d/d_spline_path.cpp"),
Object(NonMatching, "d/d_s_actor_data_mng.cpp"),
- Object(NonMatching, "d/d_item.cpp"),
+ Object(Matching, "d/d_item.cpp"),
Object(NonMatching, "d/d_2dnumber.cpp"),
Object(NonMatching, "d/d_a_npc_cb1_static.cpp"),
Object(NonMatching, "d/d_a_npc_mk_static.cpp"),
diff --git a/include/d/d_com_inf_game.h b/include/d/d_com_inf_game.h
index a3ccbfdb..acc92651 100644
--- a/include/d/d_com_inf_game.h
+++ b/include/d/d_com_inf_game.h
@@ -362,6 +362,8 @@ public:
s16 getItemMagicCount() { return mItemMagicCount; }
void setItemMagicCount(s16 magic) { mItemMagicCount += magic; }
+ s16 getItemMaxMagicCount() { return mItemMaxMagicCount; }
+ void setItemMaxMagicCount(s16 magic) { mItemMaxMagicCount += magic; }
void setItemBombNumCount(s16 num) { mItemBombNumCount += num; }
@@ -376,6 +378,8 @@ public:
void setItemKeyNumCount(s16 num) { mItemKeyNumCount += num; }
+ void setItemBeastNumCount(int i_idx, s16 num) { mItemBeastNumCounts[i_idx] += num; }
+
u8 checkMesgCancelButton() { return field_0x4949; }
void setPlayerStatus(int param_0, int i, u32 flag) { mPlayerStatus[param_0][i] |= flag; }
@@ -383,6 +387,7 @@ public:
bool checkPlayerStatus(int param_0, int i, u32 flag) { return flag & mPlayerStatus[param_0][i]; }
u8 getSelectItem(int idx) { return mEquippedItems[idx]; }
+ void setSelectItem(int idx, u8 itemNo) { mEquippedItems[idx] = itemNo; }
void setAStatus(u8 status) { mCurrButtonBAction = status; }
void setDoStatus(u8 status) { mCurrButtonAAction = status; }
@@ -514,14 +519,13 @@ public:
/* 0x48D6 */ s16 mItemMaxLifeCount;
/* 0x48D8 */ s16 mItemMagicCount;
/* 0x48DA */ s16 field_0x48da;
- /* 0x48DC */ s16 field_0x48dc;
+ /* 0x48DC */ s16 mItemMaxMagicCount;
/* 0x48DE */ s16 field_0x48de;
/* 0x48E0 */ s16 mItemArrowNumCount;
/* 0x48E2 */ s16 field_0x48e2;
/* 0x48E4 */ s16 mItemBombNumCount;
/* 0x48E6 */ s16 field_0x48e6;
- /* 0x48E8 */ u8 field_0x48E8[0x48F6 - 0x48E8];
- /* 0x48F6 */ s16 mItemPendantNumCount;
+ /* 0x48E8 */ s16 mItemBeastNumCounts[8];
/* 0x48F8 */ u8 field_0x48F8[0x4918 - 0x48F8];
/* 0x4918 */ u16 mMsgCountNumber;
/* 0x491A */ s16 field_0x491a;
@@ -674,12 +678,49 @@ inline u8 dComIfGs_getWalletSize() {
return g_dComIfG_gameInfo.save.getPlayer().getPlayerStatusA().getWalletSize();
}
+inline void dComIfGs_setWalletSize(u8 size) {
+ g_dComIfG_gameInfo.save.getPlayer().getPlayerStatusA().setWalletSize(size);
+}
+
inline int dComIfGs_getRupee() {
return g_dComIfG_gameInfo.save.getPlayer().getPlayerStatusA().getRupee();
}
-inline u8 dComIfGs_getItem(int param_0) {
- return g_dComIfG_gameInfo.save.getPlayer().getItem().getItem(param_0);
+inline u8 dComIfGs_getItemBeast(int param_0) {
+ return g_dComIfG_gameInfo.save.getPlayer().getBagItem().getBeast(param_0);
+}
+
+inline u8 dComIfGs_getItemBait(int param_0) {
+ return g_dComIfG_gameInfo.save.getPlayer().getBagItem().getBait(param_0);
+}
+
+inline u8 dComIfGs_getItemReserve(int param_0) {
+ return g_dComIfG_gameInfo.save.getPlayer().getBagItem().getReserve(param_0);
+}
+
+/**
+ * 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) {
+ return g_dComIfG_gameInfo.save.getPlayer().getItem().getItem(i_invIdx);
+ } else if (i_invIdx < 0x18) {
+ return 0xFF;
+ } else if (i_invIdx < 0x18 + 8) {
+ return dComIfGs_getItemBeast(i_invIdx - 0x18);
+ } else if (i_invIdx < 0x24) {
+ return 0xFF;
+ } else if (i_invIdx < 0x24 + 8) {
+ return dComIfGs_getItemBait(i_invIdx - 0x24);
+ } else if (i_invIdx < 0x30) {
+ return 0xFF;
+ } else if (i_invIdx < 0x30 + 8) {
+ return dComIfGs_getItemReserve(i_invIdx - 0x30);
+ } else {
+ return 0xFF;
+ }
}
inline void dComIfGs_setItem(int i_idx, u8 i_itemNo) {
@@ -690,10 +731,18 @@ inline u8 dComIfGs_getBeast(int i_idx) {
return g_dComIfG_gameInfo.save.getPlayer().getBagItem().getBeast(i_idx);
}
+inline void dComIfGs_setBeastItem(u8 i_itemNo) {
+ g_dComIfG_gameInfo.save.getPlayer().getBagItem().setBeastItem(i_itemNo);
+}
+
inline u8 dComIfGs_getBait(int i_idx) {
return g_dComIfG_gameInfo.save.getPlayer().getBagItem().getBait(i_idx);
}
+inline void dComIfGs_setBaitItem(u8 i_itemNo) {
+ g_dComIfG_gameInfo.save.getPlayer().getBagItem().setBaitItem(i_itemNo);
+}
+
inline void dComIfGs_setBaitItemEmpty() {
g_dComIfG_gameInfo.save.getPlayer().getBagItem().setBaitItemEmpty();
}
@@ -702,30 +751,66 @@ inline u8 dComIfGs_getReserve(int i_idx) {
return g_dComIfG_gameInfo.save.getPlayer().getBagItem().getReserve(i_idx);
}
-inline BOOL dComIfGs_isGetItemReserve(int i_No) {
- return g_dComIfG_gameInfo.save.getPlayer().getGetBagItem().isReserve(i_No);
+inline void dComIfGs_setReserveItem(u8 i_itemNo) {
+ g_dComIfG_gameInfo.save.getPlayer().getBagItem().setReserveItem(i_itemNo);
+}
+
+inline BOOL dComIfGs_isGetItemReserve(int i_no) {
+ return g_dComIfG_gameInfo.save.getPlayer().getGetBagItem().isReserve(i_no);
+}
+
+inline void dComIfGs_onGetItemReserve(int i_no) {
+ g_dComIfG_gameInfo.save.getPlayer().getGetBagItem().onReserve(i_no);
}
-inline BOOL dComIfGs_isGetCollectMap(int i_itemNo) {
- return g_dComIfG_gameInfo.save.getPlayer().getMap().isGetMap(i_itemNo - 1);
+inline BOOL dComIfGs_isGetCollectMap(int i_no) {
+ return g_dComIfG_gameInfo.save.getPlayer().getMap().isGetMap(i_no - 1);
}
-inline BOOL dComIfGs_isCollectMapTriforce(int i_itemNo) {
- return g_dComIfG_gameInfo.save.getPlayer().getMap().isTriforce(i_itemNo - 1);
+inline void dComIfGs_onGetCollectMap(int i_no) {
+ g_dComIfG_gameInfo.save.getPlayer().getMap().onGetMap(i_no - 1);
}
-inline BOOL dComIfGs_isOpenCollectMap(int i_itemNo) {
- return g_dComIfG_gameInfo.save.getPlayer().getMap().isOpenMap(i_itemNo - 1);
+inline BOOL dComIfGs_isCollectMapTriforce(int i_no) {
+ return g_dComIfG_gameInfo.save.getPlayer().getMap().isTriforce(i_no - 1);
+}
+
+inline void dComIfGs_offCollectMapTriforce(int i_no) {
+ g_dComIfG_gameInfo.save.getPlayer().getMap().offTriforce(i_no - 1);
+}
+
+inline BOOL dComIfGs_isOpenCollectMap(int i_no) {
+ return g_dComIfG_gameInfo.save.getPlayer().getMap().isOpenMap(i_no - 1);
+}
+
+inline void dComIfGs_onOpenCollectMap(int i_no) {
+ g_dComIfG_gameInfo.save.getPlayer().getMap().onOpenMap(i_no - 1);
+}
+
+inline void dComIfGs_offOpenCollectMap(int i_no) {
+ g_dComIfG_gameInfo.save.getPlayer().getMap().offOpenMap(i_no - 1);
+}
+
+inline void dComIfGs_offCompleteCollectMap(int i_no) {
+ g_dComIfG_gameInfo.save.getPlayer().getMap().offCompleteMap(i_no - 1);
}
inline u32 dComIfGs_getArrowNum() {
return g_dComIfG_gameInfo.save.getPlayer().getItemRecord().getArrowNum();
}
+inline void dComIfGs_setArrowNum(u8 num) {
+ g_dComIfG_gameInfo.save.getPlayer().getItemRecord().setArrowNum(num);
+}
+
inline u32 dComIfGs_getBombNum() {
return g_dComIfG_gameInfo.save.getPlayer().getItemRecord().getBombNum();
}
+inline void dComIfGs_setBombNum(u8 num) {
+ g_dComIfG_gameInfo.save.getPlayer().getItemRecord().setBombNum(num);
+}
+
inline u8 dComIfGs_getBeastNum(int i_idx) {
return g_dComIfG_gameInfo.save.getPlayer().getBagItemRecord().getBeastNum(i_idx);
}
@@ -917,26 +1002,50 @@ inline BOOL dComIfGs_isTact(u8 i_no) {
return g_dComIfG_gameInfo.save.getPlayer().getCollect().isTact(i_no);
}
+inline void dComIfGs_onTact(u8 i_no) {
+ g_dComIfG_gameInfo.save.getPlayer().getCollect().onTact(i_no);
+}
+
inline BOOL dComIfGs_isTriforce(u8 i_no) {
return g_dComIfG_gameInfo.save.getPlayer().getCollect().isTriforce(i_no);
}
+inline void dComIfGs_onTriforce(u8 i_no) {
+ g_dComIfG_gameInfo.save.getPlayer().getCollect().onTriforce(i_no);
+}
+
inline BOOL dComIfGs_isSymbol(u8 i_no) {
return g_dComIfG_gameInfo.save.getPlayer().getCollect().isSymbol(i_no);
}
+inline void dComIfGs_onSymbol(u8 i_no) {
+ g_dComIfG_gameInfo.save.getPlayer().getCollect().onSymbol(i_no);
+}
+
inline BOOL dComIfGs_isDungeonItemMap() {
return g_dComIfG_gameInfo.save.getMemory().getBit().isDungeonItemMap();
}
+inline void dComIfGs_onDungeonItemMap() {
+ g_dComIfG_gameInfo.save.getMemory().getBit().onDungeonItemMap();
+}
+
inline BOOL dComIfGs_isDungeonItemCompass() {
return g_dComIfG_gameInfo.save.getMemory().getBit().isDungeonItemCompass();
}
+inline void dComIfGs_onDungeonItemCompass() {
+ g_dComIfG_gameInfo.save.getMemory().getBit().onDungeonItemCompass();
+}
+
inline BOOL dComIfGs_isDungeonItemBossKey() {
return g_dComIfG_gameInfo.save.getMemory().getBit().isDungeonItemBossKey();
}
+inline void dComIfGs_onDungeonItemBossKey() {
+ g_dComIfG_gameInfo.save.getMemory().getBit().onDungeonItemBossKey();
+}
+
inline void dComIfGs_onSwitch(int i_no, int i_roomNo) {
g_dComIfG_gameInfo.save.onSwitch(i_no, i_roomNo);
}
@@ -989,6 +1098,26 @@ inline BOOL dComIfGs_isActor(int i_no, int i_roomNo) {
return g_dComIfG_gameInfo.save.isActor(i_no, i_roomNo);
}
+void dComIfGs_setSelectEquip(int i_type, u8 i_itemNo);
+
+/**
+ * Returns which inventory slot the item equipped on a specific button is located in.
+ * @param i_btnIdx The index of the button. 0 for X, 1 for Y, 2 for Z.
+ * @return The index of the inventory slot for the item equipped on that button, or 0xFF for no item.
+ */
+inline u8 dComIfGs_getSelectItem(int i_btnIdx) {
+ return g_dComIfG_gameInfo.save.getPlayer().getPlayerStatusA().getSelectItem(i_btnIdx);
+}
+
+/**
+ * Sets which inventory slot the item equipped on a specific button is located in.
+ * @param i_btnIdx The index of the button. 0 for X, 1 for Y, 2 for Z.
+ * @param i_invIdx The index of the inventory slot, or 0xFF for no item.
+ */
+inline void dComIfGs_setSelectItem(int i_btnIdx, u8 i_invIdx) {
+ g_dComIfG_gameInfo.save.getPlayer().getPlayerStatusA().setSelectItem(i_btnIdx, i_invIdx);
+}
+
inline u16 dComIfGs_getDate() {
return g_dComIfG_gameInfo.save.getPlayer().getPlayerStatusB().getDate();
}
@@ -1033,6 +1162,18 @@ inline BOOL dComIfGs_isGetBottleItem(u8 i_itemNo) {
return g_dComIfG_gameInfo.save.getPlayer().getGetItem().isBottleItem(i_itemNo);
}
+inline void dComIfGs_onGetBottleItem(u8 i_itemNo) {
+ g_dComIfG_gameInfo.save.getPlayer().getGetItem().onBottleItem(i_itemNo);
+}
+
+inline void dComIfGs_setEmptyBottle() {
+ g_dComIfG_gameInfo.save.getPlayer().getItem().setEmptyBottle();
+}
+
+inline void dComIfGs_setEmptyBottleItemIn(u8 i_itemNo) {
+ g_dComIfG_gameInfo.save.getPlayer().getItem().setEmptyBottleItemIn(i_itemNo);
+}
+
inline s16 dComIfGs_getWindY() {
return g_dComIfG_gameInfo.save.getPlayer().getPlayerStatusB().getWindY();
}
@@ -1077,10 +1218,18 @@ inline u8 dComIfGs_getBombMax() {
return g_dComIfG_gameInfo.save.getPlayer().getItemMax().getBombNum();
}
+inline void dComIfGs_setBombMax(u8 num) {
+ g_dComIfG_gameInfo.save.getPlayer().getItemMax().setBombNum(num);
+}
+
inline u8 dComIfGs_getArrowMax() {
return g_dComIfG_gameInfo.save.getPlayer().getItemMax().getArrowNum();
}
+inline void dComIfGs_setArrowMax(u8 num) {
+ g_dComIfG_gameInfo.save.getPlayer().getItemMax().setArrowNum(num);
+}
+
inline u16 dComIfGs_getLife() {
return g_dComIfG_gameInfo.save.getPlayer().getPlayerStatusA().getLife();
}
@@ -1523,6 +1672,14 @@ inline void dComIfGp_setItemMagicCount(s16 magic) {
g_dComIfG_gameInfo.play.setItemMagicCount(magic);
}
+inline s16 dComIfGp_getItemMaxMagicCount() {
+ return g_dComIfG_gameInfo.play.getItemMaxMagicCount();
+}
+
+inline void dComIfGp_setItemMaxMagicCount(s16 magic) {
+ g_dComIfG_gameInfo.play.setItemMaxMagicCount(magic);
+}
+
inline void dComIfGp_setItemBombNumCount(s16 num) {
g_dComIfG_gameInfo.play.setItemBombNumCount(num);
}
@@ -1535,6 +1692,10 @@ inline void dComIfGp_setItemArrowNumCount(s16 num) {
return g_dComIfG_gameInfo.play.setItemArrowNumCount(num);
}
+inline void dComIfGp_setItemBeastNumCount(int i_idx, s16 num) {
+ g_dComIfG_gameInfo.play.setItemBeastNumCount(i_idx, num);
+}
+
inline u8 dComIfGp_checkMesgCancelButton() {
return g_dComIfG_gameInfo.play.checkMesgCancelButton();
}
@@ -1547,8 +1708,33 @@ inline bool dComIfGp_checkPlayerStatus1(int param_0, u32 flag) {
return g_dComIfG_gameInfo.play.checkPlayerStatus(param_0, 1, flag);
}
-inline u8 dComIfGp_getSelectItem(int idx) {
- return g_dComIfG_gameInfo.play.getSelectItem(idx);
+/**
+ * Returns which item is on a specific button.
+ * @param i_btnIdx The index of the button. 0 for X, 1 for Y, 2 for Z.
+ * @return The item number of the item in that slot, or 0xFF for no item.
+ */
+inline u8 dComIfGp_getSelectItem(int i_btnIdx) {
+ return g_dComIfG_gameInfo.play.getSelectItem(i_btnIdx);
+}
+
+/**
+ * Updates which item is on a specific button to match which item is in the inventory slot correspond to that button.
+ * @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) {
+ int invIdx = dComIfGs_getSelectItem(i_btnIdx);
+ u8 itemNo = dComIfGs_getItem(invIdx);
+ g_dComIfG_gameInfo.play.setSelectItem(i_btnIdx, itemNo);
+
+ invIdx = dComIfGs_getSelectItem(i_btnIdx);
+ itemNo = dComIfGs_getItem(invIdx);
+ if (itemNo == 0xFF) {
+ dComIfGs_setSelectItem(i_btnIdx, 0xFF);
+ }
+ } else {
+ g_dComIfG_gameInfo.play.setSelectItem(i_btnIdx, 0xFF);
+ }
}
inline void dComIfGp_setCurrentGrafPort(J2DOrthoGraph* i_graf) {
diff --git a/include/d/d_item.h b/include/d/d_item.h
index 1ed8dc53..8eeceecf 100644
--- a/include/d/d_item.h
+++ b/include/d/d_item.h
@@ -391,9 +391,9 @@ BOOL isNonSavedEmono(u8 itemNo);
BOOL isUseClothPacket(u8 itemNo);
BOOL isTriforce(u8 itemNo);
BOOL isHeart(u8 itemNo);
-void getItemNoByLife(u8);
-int check_itemno(int);
-void getEmonoItemFromLifeBallTable(u16);
-void getItemFromLifeBallTableWithoutEmono(u16);
+u8 getItemNoByLife(u8);
+u8 check_itemno(int);
+int getEmonoItemFromLifeBallTable(u16);
+int getItemFromLifeBallTableWithoutEmono(u16);
#endif /* D_ITEM_H */ \ No newline at end of file
diff --git a/include/d/d_save.h b/include/d/d_save.h
index 3740e718..befab1da 100644
--- a/include/d/d_save.h
+++ b/include/d/d_save.h
@@ -8,9 +8,12 @@ class dSv_player_status_a_c {
public:
void init();
+ u8 getSelectItem(int i_no) { return mSelectItem[i_no]; }
+ void setSelectItem(int i_no, u8 i_invIdx) { mSelectItem[i_no] = i_invIdx; }
u8 getSelectEquip(int i_no) { return mSelectEquip[i_no]; }
u8 getWalletSize() { return mWalletSize; }
- int getRupee() const { return mRupee; }
+ void setWalletSize(u8 size) { mWalletSize = size; }
+ int getRupee() { return mRupee; }
u8 getMagic() { return mMagic; }
u8 getMaxMagic() { return mMaxMagic; }
u16 getLife() { return mLife; }
@@ -116,8 +119,12 @@ public:
void decTimer();
u16 getTimer();
- u32 getArrowNum() const { return mArrowNum; }
- u32 getBombNum() const { return mBombNum; }
+ u32 getArrowNum() { return mArrowNum; }
+ void setArrowNum(u8 num) { mArrowNum = num; }
+ u32 getBombNum() { return mBombNum; }
+ void setBombNum(u8 num) { mBombNum = num; }
+ // u32 getPictureNum() { return ?; }
+ // void setPictureNum(u8 num) { ? = num; }
/* 0x0 */ u16 mTimer;
/* 0x2 */ u8 field_0x2;
@@ -133,7 +140,10 @@ public:
void init();
u8 getArrowNum() const { return mArrowNum; }
+ void setArrowNum(u8 num) { mArrowNum = num; }
u8 getBombNum() const { return mBombNum; }
+ void setBombNum(u8 num) { mBombNum = num; }
+ // void setReserved1Num(u8 num) { ? = num; }
/* 0x0 */ u8 field_0x0;
/* 0x1 */ u8 mArrowNum;
@@ -164,9 +174,9 @@ public:
bool checkReserveItemEmpty();
u8 checkReserveItem(u8);
- u8 getBeast(int i_idx) const { return mBeast[i_idx]; }
- u8 getBait(int i_idx) const { return mBait[i_idx]; }
- u8 getReserve(int i_idx) const { return mReserve[i_idx]; }
+ u8 getBeast(int i_idx) { return mBeast[i_idx]; }
+ u8 getBait(int i_idx) { return mBait[i_idx]; }
+ u8 getReserve(int i_idx) { return mReserve[i_idx]; }
/* 0x00 */ u8 mBeast[8];
/* 0x08 */ u8 mBait[8];
diff --git a/src/d/actor/d_a_boss_item.cpp b/src/d/actor/d_a_boss_item.cpp
index a290204a..61461aec 100644
--- a/src/d/actor/d_a_boss_item.cpp
+++ b/src/d/actor/d_a_boss_item.cpp
@@ -18,17 +18,17 @@ class bossitem_class : public fopAc_ac_c {
};
/* 00000078-00000080 .text daBossItem_IsDelete__FP14bossitem_class */
-BOOL daBossItem_IsDelete(bossitem_class* i_this) {
+static BOOL daBossItem_IsDelete(bossitem_class* i_this) {
return TRUE;
}
/* 00000080-00000088 .text daBossItem_Delete__FP14bossitem_class */
-BOOL daBossItem_Delete(bossitem_class* i_this) {
+static BOOL daBossItem_Delete(bossitem_class* i_this) {
return TRUE;
}
/* 00000088-00000128 .text daBossItem_Create__FP10fopAc_ac_c */
-s32 daBossItem_Create(fopAc_ac_c* i_this) {
+static s32 daBossItem_Create(fopAc_ac_c* i_this) {
bossitem_class* bItem = static_cast<bossitem_class*>(i_this);
fopAcM_SetupActor(bItem, bossitem_class);
diff --git a/src/d/d_item.cpp b/src/d/d_item.cpp
index b04b81e9..370aad48 100644
--- a/src/d/d_item.cpp
+++ b/src/d/d_item.cpp
@@ -674,1037 +674,1230 @@ void item_func_subdun_rupee() {
/* 800C31FC-800C3200 .text item_func_triple_heart__Fv */
void item_func_triple_heart() {
- /* Nonmatching */
}
/* 800C3200-800C3258 .text item_func_pendant__Fv */
void item_func_pendant() {
- /* Nonmatching */
+ dComIfGs_setBeastItem(PENDANT);
+ dComIfGs_onGetItemBeast(0x7);
+ dComIfGp_setItemBeastNumCount(0x7, 1);
}
/* 800C3258-800C329C .text item_func_telescope__Fv */
void item_func_telescope() {
- /* Nonmatching */
+ dComIfGs_onGetItem(0x0, 0);
+ dComIfGs_setItem(0x0, TELESCOPE);
}
/* 800C329C-800C32E0 .text item_func_tncl_whitsl__Fv */
void item_func_tncl_whitsl() {
- /* Nonmatching */
+ dComIfGs_onGetItem(0x7, 0);
+ dComIfGs_setItem(0x7, TNCL_WHITSL);
}
/* 800C32E0-800C3324 .text item_func_wind_tact__Fv */
void item_func_wind_tact() {
- /* Nonmatching */
+ dComIfGs_onGetItem(0x2, 0);
+ dComIfGs_setItem(0x2, WIND_TACT);
}
/* 800C3324-800C3368 .text item_func_camera__Fv */
void item_func_camera() {
- /* Nonmatching */
+ dComIfGs_onGetItem(0x8, 0);
+ dComIfGs_setItem(0x8, CAMERA);
}
/* 800C3368-800C33AC .text item_func_emono_bag__Fv */
void item_func_emono_bag() {
- /* Nonmatching */
+ dComIfGs_onGetItem(0x4, 0);
+ dComIfGs_setItem(0x4, EMONO_BAG);
}
/* 800C33AC-800C33F0 .text item_func_rope__Fv */
void item_func_rope() {
- /* Nonmatching */
+ dComIfGs_onGetItem(0x3, 0);
+ dComIfGs_setItem(0x3, ROPE);
}
/* 800C33F0-800C3434 .text item_func_camera2__Fv */
void item_func_camera2() {
- /* Nonmatching */
+ dComIfGs_onGetItem(0x8, 1);
+ dComIfGs_setItem(0x8, CAMERA2);
}
/* 800C3434-800C3484 .text item_func_bow__Fv */
void item_func_bow() {
- /* Nonmatching */
+ dComIfGs_onGetItem(0xC, 0);
+ dComIfGs_setItem(0xC, BOW);
+ dComIfGs_setArrowNum(30);
+ dComIfGs_setArrowMax(30);
}
/* 800C3484-800C34C4 .text item_func_pwr_groove__Fv */
void item_func_pwr_groove() {
- /* Nonmatching */
+ dComIfGs_onCollect(0x2, 0);
+ dComIfGs_setSelectEquip(0x2, PWR_GROOVE);
}
/* 800C34C4-800C3508 .text item_func_hvy_boots__Fv */
void item_func_hvy_boots() {
- /* Nonmatching */
+ dComIfGs_onGetItem(0x9, 0);
+ dComIfGs_setItem(0x9, HVY_BOOTS);
}
/* 800C3508-800C354C .text item_func_drgn_shield__Fv */
void item_func_drgn_shield() {
- /* Nonmatching */
+ dComIfGs_onGetItem(0xA, 0);
+ dComIfGs_setItem(0xA, DRGN_SHIELD);
}
/* 800C354C-800C3550 .text item_func_water_boots__Fv */
void item_func_water_boots() {
- /* Nonmatching */
}
/* 800C3550-800C3594 .text item_func_esa_bag__Fv */
void item_func_esa_bag() {
- /* Nonmatching */
+ dComIfGs_onGetItem(0xB, 0);
+ dComIfGs_setItem(0xB, ESA_BAG);
}
/* 800C3594-800C35D8 .text item_func_boomerang__Fv */
void item_func_boomerang() {
- /* Nonmatching */
+ dComIfGs_onGetItem(0x5, 0);
+ dComIfGs_setItem(0x5, BOOMERANG);
}
/* 800C35D8-800C3600 .text item_func_bare_hand__Fv */
void item_func_bare_hand() {
- /* Nonmatching */
+ dComIfGs_setSelectEquip(0x2, BARE_HAND);
}
/* 800C3600-800C3644 .text item_func_hookshot__Fv */
void item_func_hookshot() {
- /* Nonmatching */
+ dComIfGs_onGetItem(0x13, 0);
+ dComIfGs_setItem(0x13, HOOKSHOT);
}
/* 800C3644-800C3688 .text item_func_warasibe_bag__Fv */
void item_func_warasibe_bag() {
- /* Nonmatching */
+ dComIfGs_onGetItem(0x12, 0);
+ dComIfGs_setItem(0x12, WARASHIBE_BAG);
}
/* 800C3688-800C36D8 .text item_func_bomb_bag__Fv */
void item_func_bomb_bag() {
- /* Nonmatching */
+ dComIfGs_onGetItem(0xD, 0);
+ dComIfGs_setItem(0xD, BOMB_BAG);
+ dComIfGs_setBombNum(30);
+ dComIfGs_setBombMax(30);
}
/* 800C36D8-800C36DC .text item_func_fuku__Fv */
void item_func_fuku() {
- /* Nonmatching */
}
/* 800C36DC-800C3720 .text item_func_hummer__Fv */
void item_func_hummer() {
- /* Nonmatching */
+ dComIfGs_onGetItem(0x14, 0);
+ dComIfGs_setItem(0x14, HUMMER);
}
/* 800C3720-800C377C .text item_func_deku_leaf__Fv */
void item_func_deku_leaf() {
- /* Nonmatching */
+ dComIfGs_onGetItem(0x6, 0);
+ dComIfGs_setItem(0x6, DEKU_LEAF);
+ dComIfGp_setItemMaxMagicCount(16);
+ dComIfGp_setItemMagicCount(16);
}
/* 800C377C-800C3928 .text item_func_magic_arrow__Fv */
void item_func_magic_arrow() {
- /* Nonmatching */
+ dComIfGs_onGetItem(0xC, 1);
+ dComIfGs_setItem(0xC, MAGIC_ARROW);
+
+#if VERSION != VERSION_JPN
+ // If the regular bow was equipped on an X/Y/Z button, force it to update.
+ for (int btnIdx = 0; btnIdx < 3; btnIdx++) {
+ if (dComIfGp_getSelectItem(btnIdx) == BOW) {
+ dComIfGp_setSelectItem(btnIdx);
+ }
+ }
+#endif
}
/* 800C3928-800C3AD4 .text item_func_light_arrow__Fv */
void item_func_light_arrow() {
- /* Nonmatching */
+ dComIfGs_onGetItem(0xC, 2);
+ dComIfGs_setItem(0xC, LIGHT_ARROW);
+
+#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++) {
+ if (dComIfGp_getSelectItem(btnIdx) == MAGIC_ARROW) {
+ dComIfGp_setSelectItem(btnIdx);
+ }
+ }
+#endif
}
/* 800C3AD4-800C3B14 .text item_func_sword__Fv */
void item_func_sword() {
- /* Nonmatching */
+ dComIfGs_onCollect(0x0, 0);
+ dComIfGs_setSelectEquip(0x0, SWORD);
}
/* 800C3B14-800C3B54 .text item_func_master_sword__Fv */
void item_func_master_sword() {
- /* Nonmatching */
+ dComIfGs_onCollect(0x0, 1);
+ dComIfGs_setSelectEquip(0x0, MASTER_SWORD);
}
/* 800C3B54-800C3B94 .text item_func_lv3_sword__Fv */
void item_func_lv3_sword() {
- /* Nonmatching */
+ dComIfGs_onCollect(0x0, 2);
+ dComIfGs_setSelectEquip(0x0, LV3_SWORD);
}
/* 800C3B94-800C3BD4 .text item_func_shield__Fv */
void item_func_shield() {
- /* Nonmatching */
+ dComIfGs_onCollect(0x1, 0);
+ dComIfGs_setSelectEquip(0x1, SHIELD);
}
/* 800C3BD4-800C3C14 .text item_func_mirror_shield__Fv */
void item_func_mirror_shield() {
- /* Nonmatching */
+ dComIfGs_onCollect(0x1, 1);
+ dComIfGs_setSelectEquip(0x1, MIRROR_SHIELD);
}
/* 800C3C14-800C3C54 .text item_func_dropped_sword__Fv */
void item_func_dropped_sword() {
- /* Nonmatching */
+ dComIfGs_onCollect(0x0, 0);
+ dComIfGs_setSelectEquip(0x0, SWORD);
}
/* 800C3C54-800C3C94 .text item_func_master_sword_ex__Fv */
void item_func_master_sword_ex() {
- /* Nonmatching */
+ dComIfGs_onCollect(0x0, 3);
+ dComIfGs_setSelectEquip(0x0, MASTER_SWORD_EX);
}
/* 800C3C94-800C3CC8 .text item_func_pirates_omamori__Fv */
void item_func_pirates_omamori() {
- /* Nonmatching */
+ dComIfGs_onCollect(0x3, 0);
}
/* 800C3CC8-800C3CFC .text item_func_heros_omamori__Fv */
void item_func_heros_omamori() {
- /* Nonmatching */
+ dComIfGs_onCollect(0x4, 0);
}
/* 800C3CFC-800C3D00 .text item_func_grass_ball__Fv */
void item_func_grass_ball() {
- /* Nonmatching */
}
/* 800C3D00-800C3D58 .text item_func_skull_necklace__Fv */
void item_func_skull_necklace() {
- /* Nonmatching */
+ dComIfGs_setBeastItem(SKULL_NECKLACE);
+ dComIfGs_onGetItemBeast(0x0);
+ dComIfGp_setItemBeastNumCount(0x0, 1);
}
/* 800C3D58-800C3DB0 .text item_func_bokobaba_seed__Fv */
void item_func_bokobaba_seed() {
- /* Nonmatching */
+ dComIfGs_setBeastItem(BOKOBABA_SEED);
+ dComIfGs_onGetItemBeast(0x1);
+ dComIfGp_setItemBeastNumCount(0x1, 1);
}
/* 800C3DB0-800C3E08 .text item_func_golden_feather__Fv */
void item_func_golden_feather() {
- /* Nonmatching */
+ dComIfGs_setBeastItem(GOLDEN_FEATHER);
+ dComIfGs_onGetItemBeast(0x2);
+ dComIfGp_setItemBeastNumCount(0x2, 1);
}
/* 800C3E08-800C3E60 .text item_func_boko_belt__Fv */
void item_func_boko_belt() {
- /* Nonmatching */
+ dComIfGs_setBeastItem(BOKO_BELT);
+ dComIfGs_onGetItemBeast(0x3);
+ dComIfGp_setItemBeastNumCount(0x3, 1);
}
/* 800C3E60-800C3EB8 .text item_func_red_jerry__Fv */
void item_func_red_jerry() {
- /* Nonmatching */
+ dComIfGs_setBeastItem(RED_JELLY);
+ dComIfGs_onGetItemBeast(0x4);
+ dComIfGp_setItemBeastNumCount(0x4, 1);
}
/* 800C3EB8-800C3F10 .text item_func_green_jerry__Fv */
void item_func_green_jerry() {
- /* Nonmatching */
+ dComIfGs_setBeastItem(GREEN_JELLY);
+ dComIfGs_onGetItemBeast(0x5);
+ dComIfGp_setItemBeastNumCount(0x5, 1);
}
/* 800C3F10-800C3F68 .text item_func_blue_jerry__Fv */
void item_func_blue_jerry() {
- /* Nonmatching */
+ dComIfGs_setBeastItem(BLUE_JELLY);
+ dComIfGs_onGetItemBeast(0x6);
+ dComIfGp_setItemBeastNumCount(0x6, 1);
}
/* 800C3F68-800C3F98 .text item_func_map__Fv */
void item_func_map() {
- /* Nonmatching */
+ dComIfGs_onDungeonItemMap();
}
/* 800C3F98-800C3FC8 .text item_func_compass__Fv */
void item_func_compass() {
- /* Nonmatching */
+ dComIfGs_onDungeonItemCompass();
}
/* 800C3FC8-800C3FF8 .text item_func_boss_key__Fv */
void item_func_boss_key() {
- /* Nonmatching */
+ dComIfGs_onDungeonItemBossKey();
}
/* 800C3FF8-800C4028 .text item_func_empty_bship__Fv */
void item_func_empty_bship() {
- /* Nonmatching */
+ dComIfGs_onGetBottleItem(EMPTY_BSHIP);
}
/* 800C4028-800C4068 .text item_func_empty_bottle__Fv */
void item_func_empty_bottle() {
- /* Nonmatching */
+ dComIfGs_setEmptyBottle();
+ dComIfGs_onGetBottleItem(EMPTY_BOTTLE);
}
/* 800C4068-800C40AC .text item_func_red_bottle__Fv */
void item_func_red_bottle() {
- /* Nonmatching */
+ dComIfGs_setEmptyBottleItemIn(RED_BOTTLE);
+ dComIfGs_onGetBottleItem(RED_BOTTLE);
}
/* 800C40AC-800C40F0 .text item_func_green_bottle__Fv */
void item_func_green_bottle() {
- /* Nonmatching */
+ dComIfGs_setEmptyBottleItemIn(GREEN_BOTTLE);
+ dComIfGs_onGetBottleItem(GREEN_BOTTLE);
}
/* 800C40F0-800C4134 .text item_func_blue_bottle__Fv */
void item_func_blue_bottle() {
- /* Nonmatching */
+ dComIfGs_setEmptyBottleItemIn(BLUE_BOTTLE);
+ dComIfGs_onGetBottleItem(BLUE_BOTTLE);
}
/* 800C4134-800C4164 .text item_func_bottleship__Fv */
void item_func_bottleship() {
- /* Nonmatching */
+ dComIfGs_onGetBottleItem(BOTTLESHIP);
}
/* 800C4164-800C4194 .text item_func_soup_bottle__Fv */
void item_func_soup_bottle() {
- /* Nonmatching */
+ dComIfGs_onGetBottleItem(SOUP_BOTTLE);
}
/* 800C4194-800C41C4 .text item_func_bin_in_water__Fv */
void item_func_bin_in_water() {
- /* Nonmatching */
+ dComIfGs_onGetBottleItem(BIN_IN_WATER);
}
/* 800C41C4-800C41F4 .text item_func_fairy_bottle__Fv */
void item_func_fairy_bottle() {
- /* Nonmatching */
+ dComIfGs_onGetBottleItem(FAIRY_BOTTLE);
}
/* 800C41F4-800C4224 .text item_func_firefly_bottle__Fv */
void item_func_firefly_bottle() {
- /* Nonmatching */
+ dComIfGs_onGetBottleItem(FIREFLY_BOTTLE);
}
/* 800C4224-800C4254 .text item_func_fwater_bottle__Fv */
void item_func_fwater_bottle() {
- /* Nonmatching */
+ dComIfGs_onGetBottleItem(FWATER_BOTTLE);
}
/* 800C4254-800C4258 .text item_func_bin__Fv */
void item_func_bin() {
- /* Nonmatching */
}
/* 800C4258-800C4288 .text item_func_triforce1__Fv */
void item_func_triforce1() {
- /* Nonmatching */
+ dComIfGs_onTriforce(0);
}
/* 800C4288-800C42B8 .text item_func_triforce2__Fv */
void item_func_triforce2() {
- /* Nonmatching */
+ dComIfGs_onTriforce(1);
}
/* 800C42B8-800C42E8 .text item_func_triforce3__Fv */
void item_func_triforce3() {
- /* Nonmatching */
+ dComIfGs_onTriforce(2);
}
/* 800C42E8-800C4318 .text item_func_triforce4__Fv */
void item_func_triforce4() {
- /* Nonmatching */
+ dComIfGs_onTriforce(3);
}
/* 800C4318-800C4348 .text item_func_triforce5__Fv */
void item_func_triforce5() {
- /* Nonmatching */
+ dComIfGs_onTriforce(4);
}
/* 800C4348-800C4378 .text item_func_triforce6__Fv */
void item_func_triforce6() {
- /* Nonmatching */
+ dComIfGs_onTriforce(5);
}
/* 800C4378-800C43A8 .text item_func_triforce7__Fv */
void item_func_triforce7() {
- /* Nonmatching */
+ dComIfGs_onTriforce(6);
}
/* 800C43A8-800C43D8 .text item_func_triforce8__Fv */
void item_func_triforce8() {
- /* Nonmatching */
+ dComIfGs_onTriforce(7);
}
/* 800C43D8-800C4408 .text item_func_pearl1__Fv */
void item_func_pearl1() {
- /* Nonmatching */
+ dComIfGs_onSymbol(0);
}
/* 800C4408-800C4438 .text item_func_pearl2__Fv */
void item_func_pearl2() {
- /* Nonmatching */
+ dComIfGs_onSymbol(1);
}
/* 800C4438-800C4468 .text item_func_pearl3__Fv */
void item_func_pearl3() {
- /* Nonmatching */
+ dComIfGs_onSymbol(2);
}
/* 800C4468-800C446C .text item_func_knowledge_tf__Fv */
void item_func_knowledge_tf() {
- /* Nonmatching */
}
/* 800C446C-800C449C .text item_func_tact_song1__Fv */
void item_func_tact_song1() {
- /* Nonmatching */
+ dComIfGs_onTact(0);
}
/* 800C449C-800C44CC .text item_func_tact_song2__Fv */
void item_func_tact_song2() {
- /* Nonmatching */
+ dComIfGs_onTact(1);
}
/* 800C44CC-800C44FC .text item_func_tact_song3__Fv */
void item_func_tact_song3() {
- /* Nonmatching */
+ dComIfGs_onTact(2);
}
/* 800C44FC-800C452C .text item_func_tact_song4__Fv */
void item_func_tact_song4() {
- /* Nonmatching */
+ dComIfGs_onTact(3);
}
/* 800C452C-800C455C .text item_func_tact_song5__Fv */
void item_func_tact_song5() {
- /* Nonmatching */
+ dComIfGs_onTact(4);
}
/* 800C455C-800C458C .text item_func_tact_song6__Fv */
void item_func_tact_song6() {
- /* Nonmatching */
+ dComIfGs_onTact(5);
}
/* 800C458C-800C45C8 .text item_func_normal_sail__Fv */
void item_func_normal_sail() {
- /* Nonmatching */
+ dComIfGs_setItem(0x1, NORMAL_SAIL);
+ dComIfGs_onGetItem(0x1, 0);
}
/* 800C45C8-800C45CC .text item_func_triforce_map1__Fv */
void item_func_triforce_map1() {
- /* Nonmatching */
}
/* 800C45CC-800C45D0 .text item_func_triforce_map2__Fv */
void item_func_triforce_map2() {
- /* Nonmatching */
}
/* 800C45D0-800C45D4 .text item_func_triforce_map3__Fv */
void item_func_triforce_map3() {
- /* Nonmatching */
}
/* 800C45D4-800C45D8 .text item_func_triforce_map4__Fv */
void item_func_triforce_map4() {
- /* Nonmatching */
}
/* 800C45D8-800C45DC .text item_func_triforce_map5__Fv */
void item_func_triforce_map5() {
- /* Nonmatching */
}
/* 800C45DC-800C45E0 .text item_func_triforce_map6__Fv */
void item_func_triforce_map6() {
- /* Nonmatching */
}
/* 800C45E0-800C45E4 .text item_func_triforce_map7__Fv */
void item_func_triforce_map7() {
- /* Nonmatching */
}
/* 800C45E4-800C45E8 .text item_func_triforce_map8__Fv */
void item_func_triforce_map8() {
- /* Nonmatching */
}
/* 800C45E8-800C462C .text item_func_bird_esa_5__Fv */
void item_func_bird_esa_5() {
- /* Nonmatching */
+ dComIfGs_onGetItemBait(0x0);
+ dComIfGs_setBaitItem(BIRD_ESA_5);
}
/* 800C462C-800C4670 .text item_func_animal_esa__Fv */
void item_func_animal_esa() {
- /* Nonmatching */
+ dComIfGs_onGetItemBait(0x1);
+ dComIfGs_setBaitItem(ANIMAL_ESA);
}
/* 800C4670-800C4674 .text item_func_esa1__Fv */
void item_func_esa1() {
- /* Nonmatching */
}
/* 800C4674-800C4678 .text item_func_esa2__Fv */
void item_func_esa2() {
- /* Nonmatching */
}
/* 800C4678-800C467C .text item_func_esa3__Fv */
void item_func_esa3() {
- /* Nonmatching */
}
/* 800C467C-800C4680 .text item_func_esa4__Fv */
void item_func_esa4() {
- /* Nonmatching */
}
/* 800C4680-800C4684 .text item_func_esa5__Fv */
void item_func_esa5() {
- /* Nonmatching */
}
/* 800C4684-800C4688 .text item_func_magic_bean__Fv */
void item_func_magic_bean() {
- /* Nonmatching */
}
/* 800C4688-800C468C .text item_func_bird_esa_10__Fv */
void item_func_bird_esa_10() {
- /* Nonmatching */
}
/* 800C468C-800C46D0 .text item_func_flower_1__Fv */
void item_func_flower_1() {
- /* Nonmatching */
+ dComIfGs_onGetItemReserve(0x0);
+ dComIfGs_setReserveItem(FLOWER_1);
}
/* 800C46D0-800C4714 .text item_func_flower_2__Fv */
void item_func_flower_2() {
- /* Nonmatching */
+ dComIfGs_onGetItemReserve(0x1);
+ dComIfGs_setReserveItem(FLOWER_2);
}
/* 800C4714-800C4758 .text item_func_flower_3__Fv */
void item_func_flower_3() {
- /* Nonmatching */
+ dComIfGs_onGetItemReserve(0x2);
+ dComIfGs_setReserveItem(FLOWER_3);
}
/* 800C4758-800C479C .text item_func_heros_flag__Fv */
void item_func_heros_flag() {
- /* Nonmatching */
+ dComIfGs_onGetItemReserve(0x3);
+ dComIfGs_setReserveItem(HEROS_FLAG);
}
/* 800C479C-800C47E0 .text item_func_tairyo_flag__Fv */
void item_func_tairyo_flag() {
- /* Nonmatching */
+ dComIfGs_onGetItemReserve(0x4);
+ dComIfGs_setReserveItem(TAIRYO_FLAG);
}
/* 800C47E0-800C4824 .text item_func_sales_flag__Fv */
void item_func_sales_flag() {
- /* Nonmatching */
+ dComIfGs_onGetItemReserve(0x5);
+ dComIfGs_setReserveItem(SALES_FLAG);
}
/* 800C4824-800C4868 .text item_func_wind_flag__Fv */
void item_func_wind_flag() {
- /* Nonmatching */
+ dComIfGs_onGetItemReserve(0x6);
+ dComIfGs_setReserveItem(WIND_FLAG);
}
/* 800C4868-800C48AC .text item_func_red_flag__Fv */
void item_func_red_flag() {
- /* Nonmatching */
+ dComIfGs_onGetItemReserve(0x7);
+ dComIfGs_setReserveItem(RED_FLAG);
}
/* 800C48AC-800C48F0 .text item_func_fossil_head__Fv */
void item_func_fossil_head() {
- /* Nonmatching */
+ dComIfGs_onGetItemReserve(0x8);
+ dComIfGs_setReserveItem(FOSSIL_HEAD);
}
/* 800C48F0-800C4934 .text item_func_water_statue__Fv */
void item_func_water_statue() {
- /* Nonmatching */
+ dComIfGs_onGetItemReserve(0x9);
+ dComIfGs_setReserveItem(WATER_STATUE);
}
/* 800C4934-800C4978 .text item_func_postman_statue__Fv */
void item_func_postman_statue() {
- /* Nonmatching */
+ dComIfGs_onGetItemReserve(0xA);
+ dComIfGs_setReserveItem(POSTMAN_STATUE);
}
/* 800C4978-800C49BC .text item_func_president_statue__Fv */
void item_func_president_statue() {
- /* Nonmatching */
+ dComIfGs_onGetItemReserve(0xB);
+ dComIfGs_setReserveItem(PRESIDENT_STATUE);
}
/* 800C49BC-800C4A00 .text item_func_letter00__Fv */
void item_func_letter00() {
- /* Nonmatching */
+ dComIfGs_onGetItemReserve(0xC);
+ dComIfGs_setReserveItem(LETTER00);
}
/* 800C4A00-800C4A44 .text item_func_magic_seed__Fv */
void item_func_magic_seed() {
- /* Nonmatching */
+ dComIfGs_onGetItemReserve(0xD);
+ dComIfGs_setReserveItem(MAGIC_SEED);
}
/* 800C4A44-800C4A88 .text item_func_magys_letter__Fv */
void item_func_magys_letter() {
- /* Nonmatching */
+ dComIfGs_onGetItemReserve(0xE);
+ dComIfGs_setReserveItem(MAGYS_LETTER);
}
/* 800C4A88-800C4ACC .text item_func_mo_letter__Fv */
void item_func_mo_letter() {
- /* Nonmatching */
+ dComIfGs_onGetItemReserve(0xF);
+ dComIfGs_setReserveItem(MO_LETTER);
}
/* 800C4ACC-800C4B10 .text item_func_cottage_paper__Fv */
void item_func_cottage_paper() {
- /* Nonmatching */
+ dComIfGs_onGetItemReserve(0x10);
+ dComIfGs_setReserveItem(COTTAGE_PAPER);
}
/* 800C4B10-800C4B54 .text item_func_kaisen_present1__Fv */
void item_func_kaisen_present1() {
- /* Nonmatching */
+ dComIfGs_onGetItemReserve(0x11);
+ dComIfGs_setReserveItem(KAISEN_PRESENT1);
}
/* 800C4B54-800C4B98 .text item_func_kaisen_present2__Fv */
void item_func_kaisen_present2() {
- /* Nonmatching */
+ dComIfGs_onGetItemReserve(0x12);
+ dComIfGs_setReserveItem(KAISEN_PRESENT2);
}
/* 800C4B98-800C4B9C .text item_func_salvage_item1__Fv */
void item_func_salvage_item1() {
- /* Nonmatching */
}
/* 800C4B9C-800C4BE0 .text item_func_salvage_item2__Fv */
void item_func_salvage_item2() {
- /* Nonmatching */
+ dComIfGs_onGetItemReserve(0x14);
+ dComIfGs_setReserveItem(SALVAGE_ITEM2);
}
/* 800C4BE0-800C4C24 .text item_func_salvage_item3__Fv */
void item_func_salvage_item3() {
- /* Nonmatching */
+ dComIfGs_onGetItemReserve(0x15);
+ dComIfGs_setReserveItem(SALVAGE_ITEM3);
}
/* 800C4C24-800C4C68 .text item_func_xxx_039__Fv */
void item_func_xxx_039() {
- /* Nonmatching */
+ dComIfGs_onGetItemReserve(0x16);
+ dComIfGs_setReserveItem(XXX_039);
}
/* 800C4C68-800C4C6C .text item_func_tincle_statue01__Fv */
void item_func_tincle_statue01() {
- /* Nonmatching */
}
/* 800C4C6C-800C4C70 .text item_func_tincle_statue02__Fv */
void item_func_tincle_statue02() {
- /* Nonmatching */
}
/* 800C4C70-800C4C74 .text item_func_tincle_statue03__Fv */
void item_func_tincle_statue03() {
- /* Nonmatching */
}
/* 800C4C74-800C4C78 .text item_func_tincle_statue04__Fv */
void item_func_tincle_statue04() {
- /* Nonmatching */
}
/* 800C4C78-800C4C7C .text item_func_tincle_statue05__Fv */
void item_func_tincle_statue05() {
- /* Nonmatching */
}
/* 800C4C7C-800C4C80 .text item_func_tincle_statue06__Fv */
void item_func_tincle_statue06() {
- /* Nonmatching */
}
/* 800C4C80-800C4C94 .text item_func_max_rupee_up1__Fv */
void item_func_max_rupee_up1() {
- /* Nonmatching */
+ dComIfGs_setWalletSize(0x1);
}
/* 800C4C94-800C4CA8 .text item_func_max_rupee_up2__Fv */
void item_func_max_rupee_up2() {
- /* Nonmatching */
+ dComIfGs_setWalletSize(0x2);
}
/* 800C4CA8-800C4CC0 .text item_func_max_bomb_up1__Fv */
void item_func_max_bomb_up1() {
- /* Nonmatching */
+ dComIfGs_setBombNum(60);
+ dComIfGs_setBombMax(60);
}
/* 800C4CC0-800C4CD8 .text item_func_max_bomb_up2__Fv */
void item_func_max_bomb_up2() {
- /* Nonmatching */
+ dComIfGs_setBombNum(99);
+ dComIfGs_setBombMax(99);
}
/* 800C4CD8-800C4CF0 .text item_func_max_arrow_up1__Fv */
void item_func_max_arrow_up1() {
- /* Nonmatching */
+ dComIfGs_setArrowNum(60);
+ dComIfGs_setArrowMax(60);
}
/* 800C4CF0-800C4D08 .text item_func_max_arrow_up2__Fv */
void item_func_max_arrow_up2() {
- /* Nonmatching */
+ dComIfGs_setArrowNum(99);
+ dComIfGs_setArrowMax(99);
}
/* 800C4D08-800C4D0C .text item_func_magic_power__Fv */
void item_func_magic_power() {
- /* Nonmatching */
}
/* 800C4D0C-800C4D24 .text item_func_max_mp_up1__Fv */
void item_func_max_mp_up1() {
- /* Nonmatching */
+ dComIfGp_setItemMaxMagicCount(32);
}
/* 800C4D24-800C4D3C .text item_func_tincle_rupee1__Fv */
void item_func_tincle_rupee1() {
- /* Nonmatching */
+ dComIfGp_setItemRupeeCount(50);
}
/* 800C4D3C-800C4D54 .text item_func_tincle_rupee2__Fv */
void item_func_tincle_rupee2() {
- /* Nonmatching */
+ dComIfGp_setItemRupeeCount(100);
}
/* 800C4D54-800C4D6C .text item_func_tincle_rupee3__Fv */
void item_func_tincle_rupee3() {
- /* Nonmatching */
+ dComIfGp_setItemRupeeCount(150);
}
/* 800C4D6C-800C4D84 .text item_func_tincle_rupee4__Fv */
void item_func_tincle_rupee4() {
- /* Nonmatching */
+ dComIfGp_setItemRupeeCount(200);
}
/* 800C4D84-800C4D9C .text item_func_tincle_rupee5__Fv */
void item_func_tincle_rupee5() {
- /* Nonmatching */
+ dComIfGp_setItemRupeeCount(250);
}
/* 800C4D9C-800C4DB4 .text item_func_tincle_rupee6__Fv */
void item_func_tincle_rupee6() {
- /* Nonmatching */
+ dComIfGp_setItemRupeeCount(500);
}
/* 800C4DB4-800C4DE4 .text item_func_lithograph1__Fv */
void item_func_lithograph1() {
- /* Nonmatching */
+ dComIfGs_onEventBit(0x3508);
}
/* 800C4DE4-800C4E14 .text item_func_lithograph2__Fv */
void item_func_lithograph2() {
- /* Nonmatching */
+ dComIfGs_onEventBit(0x3504);
}
/* 800C4E14-800C4E44 .text item_func_lithograph3__Fv */
void item_func_lithograph3() {
- /* Nonmatching */
+ dComIfGs_onEventBit(0x3502);
}
/* 800C4E44-800C4E74 .text item_func_lithograph4__Fv */
void item_func_lithograph4() {
- /* Nonmatching */
+ dComIfGs_onEventBit(0x3501);
}
/* 800C4E74-800C4EA4 .text item_func_lithograph5__Fv */
void item_func_lithograph5() {
- /* Nonmatching */
+ dComIfGs_onEventBit(0x3680);
}
/* 800C4EA4-800C4ED4 .text item_func_lithograph6__Fv */
void item_func_lithograph6() {
- /* Nonmatching */
+ dComIfGs_onEventBit(0x3640);
}
/* 800C4ED4-800C4F04 .text item_func_collectmap64__Fv */
void item_func_collectmap64() {
- /* Nonmatching */
+ dComIfGs_onEventBit(0x3620);
}
/* 800C4F04-800C4F34 .text item_func_collectmap63__Fv */
void item_func_collectmap63() {
- /* Nonmatching */
+ dComIfGs_onEventBit(0x3610);
}
/* 800C4F34-800C4F64 .text item_func_collectmap62__Fv */
void item_func_collectmap62() {
- /* Nonmatching */
+ dComIfGs_onEventBit(0x3608);
}
/* 800C4F64-800C4FB8 .text item_func_collectmap61__Fv */
void item_func_collectmap61() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(61);
+ dComIfGs_offOpenCollectMap(61);
+ dComIfGs_offCompleteCollectMap(61);
}
/* 800C4FB8-800C500C .text item_func_collectmap60__Fv */
void item_func_collectmap60() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(60);
+ dComIfGs_offOpenCollectMap(60);
+ dComIfGs_offCompleteCollectMap(60);
}
/* 800C500C-800C5060 .text item_func_collectmap59__Fv */
void item_func_collectmap59() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(59);
+ dComIfGs_offOpenCollectMap(59);
+ dComIfGs_offCompleteCollectMap(59);
}
/* 800C5060-800C50B4 .text item_func_collectmap58__Fv */
void item_func_collectmap58() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(58);
+ dComIfGs_offOpenCollectMap(58);
+ dComIfGs_offCompleteCollectMap(58);
}
/* 800C50B4-800C5108 .text item_func_collectmap57__Fv */
void item_func_collectmap57() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(57);
+ dComIfGs_offOpenCollectMap(57);
+ dComIfGs_offCompleteCollectMap(57);
}
/* 800C5108-800C515C .text item_func_collectmap56__Fv */
void item_func_collectmap56() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(56);
+ dComIfGs_offOpenCollectMap(56);
+ dComIfGs_offCompleteCollectMap(56);
}
/* 800C515C-800C51B0 .text item_func_collectmap55__Fv */
void item_func_collectmap55() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(55);
+ dComIfGs_offOpenCollectMap(55);
+ dComIfGs_offCompleteCollectMap(55);
}
/* 800C51B0-800C5204 .text item_func_collectmap54__Fv */
void item_func_collectmap54() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(54);
+ dComIfGs_offOpenCollectMap(54);
+ dComIfGs_offCompleteCollectMap(54);
}
/* 800C5204-800C5258 .text item_func_collectmap53__Fv */
void item_func_collectmap53() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(53);
+ dComIfGs_offOpenCollectMap(53);
+ dComIfGs_offCompleteCollectMap(53);
}
/* 800C5258-800C52AC .text item_func_collectmap52__Fv */
void item_func_collectmap52() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(52);
+ dComIfGs_offOpenCollectMap(52);
+ dComIfGs_offCompleteCollectMap(52);
}
/* 800C52AC-800C5300 .text item_func_collectmap51__Fv */
void item_func_collectmap51() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(51);
+ dComIfGs_offOpenCollectMap(51);
+ dComIfGs_offCompleteCollectMap(51);
}
/* 800C5300-800C5354 .text item_func_collectmap50__Fv */
void item_func_collectmap50() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(50);
+ dComIfGs_offOpenCollectMap(50);
+ dComIfGs_offCompleteCollectMap(50);
}
/* 800C5354-800C53A8 .text item_func_collectmap49__Fv */
void item_func_collectmap49() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(49);
+ dComIfGs_offOpenCollectMap(49);
+ dComIfGs_offCompleteCollectMap(49);
}
/* 800C53A8-800C53FC .text item_func_collectmap48__Fv */
void item_func_collectmap48() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(48);
+ dComIfGs_offOpenCollectMap(48);
+ dComIfGs_offCompleteCollectMap(48);
}
/* 800C53FC-800C5450 .text item_func_collectmap47__Fv */
void item_func_collectmap47() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(47);
+ dComIfGs_offOpenCollectMap(47);
+ dComIfGs_offCompleteCollectMap(47);
}
/* 800C5450-800C54A4 .text item_func_collectmap46__Fv */
void item_func_collectmap46() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(46);
+ dComIfGs_offOpenCollectMap(46);
+ dComIfGs_offCompleteCollectMap(46);
}
/* 800C54A4-800C54F8 .text item_func_collectmap45__Fv */
void item_func_collectmap45() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(45);
+ dComIfGs_offOpenCollectMap(45);
+ dComIfGs_offCompleteCollectMap(45);
}
/* 800C54F8-800C554C .text item_func_collectmap44__Fv */
void item_func_collectmap44() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(44);
+ dComIfGs_offOpenCollectMap(44);
+ dComIfGs_offCompleteCollectMap(44);
}
/* 800C554C-800C55A0 .text item_func_collectmap43__Fv */
void item_func_collectmap43() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(43);
+ dComIfGs_offOpenCollectMap(43);
+ dComIfGs_offCompleteCollectMap(43);
}
/* 800C55A0-800C55F4 .text item_func_collectmap42__Fv */
void item_func_collectmap42() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(42);
+ dComIfGs_offOpenCollectMap(42);
+ dComIfGs_offCompleteCollectMap(42);
}
/* 800C55F4-800C5648 .text item_func_collectmap41__Fv */
void item_func_collectmap41() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(41);
+ dComIfGs_offOpenCollectMap(41);
+ dComIfGs_offCompleteCollectMap(41);
}
/* 800C5648-800C569C .text item_func_collectmap40__Fv */
void item_func_collectmap40() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(40);
+ dComIfGs_offOpenCollectMap(40);
+ dComIfGs_offCompleteCollectMap(40);
}
/* 800C569C-800C56F0 .text item_func_collectmap39__Fv */
void item_func_collectmap39() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(39);
+ dComIfGs_offOpenCollectMap(39);
+ dComIfGs_offCompleteCollectMap(39);
}
/* 800C56F0-800C5744 .text item_func_collectmap38__Fv */
void item_func_collectmap38() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(38);
+ dComIfGs_offOpenCollectMap(38);
+ dComIfGs_offCompleteCollectMap(38);
}
/* 800C5744-800C5798 .text item_func_collectmap37__Fv */
void item_func_collectmap37() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(37);
+ dComIfGs_offOpenCollectMap(37);
+ dComIfGs_offCompleteCollectMap(37);
}
/* 800C5798-800C57EC .text item_func_collectmap36__Fv */
void item_func_collectmap36() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(36);
+ dComIfGs_offOpenCollectMap(36);
+ dComIfGs_offCompleteCollectMap(36);
}
/* 800C57EC-800C5840 .text item_func_collectmap35__Fv */
void item_func_collectmap35() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(35);
+ dComIfGs_offOpenCollectMap(35);
+ dComIfGs_offCompleteCollectMap(35);
}
/* 800C5840-800C5894 .text item_func_collectmap34__Fv */
void item_func_collectmap34() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(34);
+ dComIfGs_offOpenCollectMap(34);
+ dComIfGs_offCompleteCollectMap(34);
}
/* 800C5894-800C58E8 .text item_func_collectmap33__Fv */
void item_func_collectmap33() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(33);
+ dComIfGs_offOpenCollectMap(33);
+ dComIfGs_offCompleteCollectMap(33);
}
/* 800C58E8-800C593C .text item_func_collectmap32__Fv */
void item_func_collectmap32() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(32);
+ dComIfGs_offOpenCollectMap(32);
+ dComIfGs_offCompleteCollectMap(32);
}
/* 800C593C-800C5990 .text item_func_collectmap31__Fv */
void item_func_collectmap31() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(31);
+ dComIfGs_offOpenCollectMap(31);
+ dComIfGs_offCompleteCollectMap(31);
}
/* 800C5990-800C59E4 .text item_func_collectmap30__Fv */
void item_func_collectmap30() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(30);
+ dComIfGs_offOpenCollectMap(30);
+ dComIfGs_offCompleteCollectMap(30);
}
/* 800C59E4-800C5A38 .text item_func_collectmap29__Fv */
void item_func_collectmap29() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(29);
+ dComIfGs_offOpenCollectMap(29);
+ dComIfGs_offCompleteCollectMap(29);
}
/* 800C5A38-800C5A8C .text item_func_collectmap28__Fv */
void item_func_collectmap28() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(28);
+ dComIfGs_offOpenCollectMap(28);
+ dComIfGs_offCompleteCollectMap(28);
}
/* 800C5A8C-800C5AE0 .text item_func_collectmap27__Fv */
void item_func_collectmap27() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(27);
+ dComIfGs_offOpenCollectMap(27);
+ dComIfGs_offCompleteCollectMap(27);
}
/* 800C5AE0-800C5B34 .text item_func_collectmap26__Fv */
void item_func_collectmap26() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(26);
+ dComIfGs_offOpenCollectMap(26);
+ dComIfGs_offCompleteCollectMap(26);
}
/* 800C5B34-800C5B88 .text item_func_collectmap25__Fv */
void item_func_collectmap25() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(25);
+ dComIfGs_offOpenCollectMap(25);
+ dComIfGs_offCompleteCollectMap(25);
}
/* 800C5B88-800C5BDC .text item_func_collectmap24__Fv */
void item_func_collectmap24() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(24);
+ dComIfGs_offOpenCollectMap(24);
+ dComIfGs_offCompleteCollectMap(24);
}
/* 800C5BDC-800C5C30 .text item_func_collectmap23__Fv */
void item_func_collectmap23() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(23);
+ dComIfGs_offOpenCollectMap(23);
+ dComIfGs_offCompleteCollectMap(23);
}
/* 800C5C30-800C5C84 .text item_func_collectmap22__Fv */
void item_func_collectmap22() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(22);
+ dComIfGs_offOpenCollectMap(22);
+ dComIfGs_offCompleteCollectMap(22);
}
/* 800C5C84-800C5CD8 .text item_func_collectmap21__Fv */
void item_func_collectmap21() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(21);
+ dComIfGs_offOpenCollectMap(21);
+ dComIfGs_offCompleteCollectMap(21);
}
/* 800C5CD8-800C5D2C .text item_func_collectmap20__Fv */
void item_func_collectmap20() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(20);
+ dComIfGs_offOpenCollectMap(20);
+ dComIfGs_offCompleteCollectMap(20);
}
/* 800C5D2C-800C5D80 .text item_func_collectmap19__Fv */
void item_func_collectmap19() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(19);
+ dComIfGs_offOpenCollectMap(19);
+ dComIfGs_offCompleteCollectMap(19);
}
/* 800C5D80-800C5DD4 .text item_func_collectmap18__Fv */
void item_func_collectmap18() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(18);
+ dComIfGs_offOpenCollectMap(18);
+ dComIfGs_offCompleteCollectMap(18);
}
/* 800C5DD4-800C5E28 .text item_func_collectmap17__Fv */
void item_func_collectmap17() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(17);
+ dComIfGs_offOpenCollectMap(17);
+ dComIfGs_offCompleteCollectMap(17);
}
/* 800C5E28-800C5E7C .text item_func_collectmap16__Fv */
void item_func_collectmap16() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(16);
+ dComIfGs_offOpenCollectMap(16);
+ dComIfGs_offCompleteCollectMap(16);
}
/* 800C5E7C-800C5ED0 .text item_func_collectmap15__Fv */
void item_func_collectmap15() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(15);
+ dComIfGs_offOpenCollectMap(15);
+ dComIfGs_offCompleteCollectMap(15);
}
/* 800C5ED0-800C5F24 .text item_func_collectmap14__Fv */
void item_func_collectmap14() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(14);
+ dComIfGs_offOpenCollectMap(14);
+ dComIfGs_offCompleteCollectMap(14);
}
/* 800C5F24-800C5F78 .text item_func_collectmap13__Fv */
void item_func_collectmap13() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(13);
+ dComIfGs_offOpenCollectMap(13);
+ dComIfGs_offCompleteCollectMap(13);
}
/* 800C5F78-800C5FCC .text item_func_collectmap12__Fv */
void item_func_collectmap12() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(12);
+ dComIfGs_offOpenCollectMap(12);
+ dComIfGs_offCompleteCollectMap(12);
}
/* 800C5FCC-800C6020 .text item_func_collectmap11__Fv */
void item_func_collectmap11() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(11);
+ dComIfGs_offOpenCollectMap(11);
+ dComIfGs_offCompleteCollectMap(11);
}
/* 800C6020-800C6074 .text item_func_collectmap10__Fv */
void item_func_collectmap10() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(10);
+ dComIfGs_offOpenCollectMap(10);
+ dComIfGs_offCompleteCollectMap(10);
}
/* 800C6074-800C60C8 .text item_func_collectmap09__Fv */
void item_func_collectmap09() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(9);
+ dComIfGs_offOpenCollectMap(9);
+ dComIfGs_offCompleteCollectMap(9);
}
/* 800C60C8-800C6128 .text item_func_collectmap08__Fv */
void item_func_collectmap08() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(8);
+ dComIfGs_offOpenCollectMap(8);
+ dComIfGs_offCompleteCollectMap(8);
+ dComIfGs_offCollectMapTriforce(8);
}
/* 800C6128-800C617C .text item_func_collectmap07__Fv */
void item_func_collectmap07() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(7);
+ dComIfGs_offOpenCollectMap(7);
+ dComIfGs_offCompleteCollectMap(7);
}
/* 800C617C-800C61D0 .text item_func_collectmap06__Fv */
void item_func_collectmap06() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(6);
+ dComIfGs_offOpenCollectMap(6);
+ dComIfGs_offCompleteCollectMap(6);
}
/* 800C61D0-800C6224 .text item_func_collectmap05__Fv */
void item_func_collectmap05() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(5);
+ dComIfGs_offOpenCollectMap(5);
+ dComIfGs_offCompleteCollectMap(5);
}
/* 800C6224-800C6278 .text item_func_collectmap04__Fv */
void item_func_collectmap04() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(4);
+ dComIfGs_offOpenCollectMap(4);
+ dComIfGs_offCompleteCollectMap(4);
}
/* 800C6278-800C62CC .text item_func_collectmap03__Fv */
void item_func_collectmap03() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(3);
+ dComIfGs_offOpenCollectMap(3);
+ dComIfGs_offCompleteCollectMap(3);
}
/* 800C62CC-800C6320 .text item_func_collectmap02__Fv */
void item_func_collectmap02() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(2);
+ dComIfGs_offOpenCollectMap(2);
+ dComIfGs_offCompleteCollectMap(2);
}
/* 800C6320-800C6374 .text item_func_collectmap01__Fv */
void item_func_collectmap01() {
- /* Nonmatching */
+ dComIfGs_onGetCollectMap(1);
+ dComIfGs_offOpenCollectMap(1);
+ dComIfGs_offCompleteCollectMap(1);
}
/* 800C6374-800C6378 .text item_func_noentry__Fv */
void item_func_noentry() {
- /* Nonmatching */
}
/* 800C6378-800C6380 .text item_getcheck_func_heart__Fv */
@@ -2389,32 +2582,32 @@ int item_getcheck_func_lithograph10() {
/* 800C79C4-800C79F4 .text item_getcheck_func_lithograph11__Fv */
int item_getcheck_func_lithograph11() {
- return dComIfGs_isGetCollectMap(0x3C);
+ return dComIfGs_isGetCollectMap(60);
}
/* 800C79F4-800C7A24 .text item_getcheck_func_lithograph12__Fv */
int item_getcheck_func_lithograph12() {
- return dComIfGs_isGetCollectMap(0x3B);
+ return dComIfGs_isGetCollectMap(59);
}
/* 800C7A24-800C7A54 .text item_getcheck_func_lithograph13__Fv */
int item_getcheck_func_lithograph13() {
- return dComIfGs_isGetCollectMap(0x3A);
+ return dComIfGs_isGetCollectMap(58);
}
/* 800C7A54-800C7A84 .text item_getcheck_func_lithograph14__Fv */
int item_getcheck_func_lithograph14() {
- return dComIfGs_isGetCollectMap(0x39);
+ return dComIfGs_isGetCollectMap(57);
}
/* 800C7A84-800C7AB4 .text item_getcheck_func_lithograph15__Fv */
int item_getcheck_func_lithograph15() {
- return dComIfGs_isGetCollectMap(0x38);
+ return dComIfGs_isGetCollectMap(56);
}
/* 800C7AB4-800C7AE4 .text item_getcheck_func_lithograph16__Fv */
int item_getcheck_func_lithograph16() {
- return dComIfGs_isGetCollectMap(0x37);
+ return dComIfGs_isGetCollectMap(55);
}
/* 800C7AE4-800C7B50 .text getRotenItemNumInBag__Fv */
@@ -2538,21 +2731,133 @@ BOOL isHeart(u8 itemNo) {
}
/* 800C7D28-800C7D70 .text getItemNoByLife__FUc */
-void getItemNoByLife(u8 itemNo) {
- /* Nonmatching */
+u8 getItemNoByLife(u8 itemNo) {
+ int life = dComIfGs_getLife() * 100;
+ int max = dComIfGs_getMaxLife() & 0xFC;
+ u8 lifePercent = life / max;
+ if (lifePercent != 100) {
+ return itemNo;
+ }
+ if (itemNo == HEART) {
+ itemNo = GREEN_RUPEE;
+ }
+ if (itemNo == TRIPLE_HEART) {
+ return YELLOW_RUPEE;
+ }
+ return itemNo;
}
/* 800C7D70-800C7ED0 .text check_itemno__Fi */
-int check_itemno(int) {
- /* Nonmatching */
+u8 check_itemno(int itemNo) {
+ if (dComIfGs_getMaxMagic() == 0 && (itemNo == S_MAGIC || itemNo == L_MAGIC)) {
+ return GREEN_RUPEE;
+ }
+ if (!dComIfGs_isGetItem(0xC, 0) && !dComIfGs_isGetItem(0xC, 1) && !dComIfGs_isGetItem(0xC, 2)) {
+ // Does not own any bow.
+ if (isArrow(itemNo)) {
+ return GREEN_RUPEE;
+ }
+ }
+ if (!dComIfGs_isGetItem(0xD, 0)) {
+ // Does not own bombs.
+ if (isBomb(itemNo)) {
+ return GREEN_RUPEE;
+ }
+ }
+ if (!checkItemGet(ESA_BAG, TRUE)) {
+ if (isEsa(itemNo)) {
+ return GREEN_RUPEE;
+ }
+ }
+ if (!checkItemGet(EMONO_BAG, TRUE)) {
+ if (isEmono(itemNo)) {
+ return GREEN_RUPEE;
+ }
+ }
+ if (itemNo == TRIPLE_HEART) {
+ itemNo = HEART;
+ }
+ return itemNo;
}
/* 800C7ED0-800C8214 .text getEmonoItemFromLifeBallTable__FUs */
-void getEmonoItemFromLifeBallTable(u16) {
- /* Nonmatching */
+int getEmonoItemFromLifeBallTable(u16 itemTableIdx) {
+ u8 items[16];
+
+ items[0] = dComIfGp_CharTbl()->GetInf(dComIfGp_CharTbl()->mIndex_ITEM0, itemTableIdx);
+ items[1] = dComIfGp_CharTbl()->GetInf(dComIfGp_CharTbl()->mIndex_ITEM1, itemTableIdx);
+ items[2] = dComIfGp_CharTbl()->GetInf(dComIfGp_CharTbl()->mIndex_ITEM2, itemTableIdx);
+ items[3] = dComIfGp_CharTbl()->GetInf(dComIfGp_CharTbl()->mIndex_ITEM3, itemTableIdx);
+ items[4] = dComIfGp_CharTbl()->GetInf(dComIfGp_CharTbl()->mIndex_ITEM4, itemTableIdx);
+ items[5] = dComIfGp_CharTbl()->GetInf(dComIfGp_CharTbl()->mIndex_ITEM5, itemTableIdx);
+ items[6] = dComIfGp_CharTbl()->GetInf(dComIfGp_CharTbl()->mIndex_ITEM6, itemTableIdx);
+ items[7] = dComIfGp_CharTbl()->GetInf(dComIfGp_CharTbl()->mIndex_ITEM7, itemTableIdx);
+
+ for (int i = 0; i < 8; i++) {
+ if (isEmono(items[i])) {
+ return items[i];
+ }
+ }
+
+ items[0] = dComIfGp_CharTbl()->GetInf(dComIfGp_CharTbl()->mIndex_N_ITEM0, itemTableIdx);
+ items[1] = dComIfGp_CharTbl()->GetInf(dComIfGp_CharTbl()->mIndex_N_ITEM1, itemTableIdx);
+ items[2] = dComIfGp_CharTbl()->GetInf(dComIfGp_CharTbl()->mIndex_N_ITEM2, itemTableIdx);
+ items[3] = dComIfGp_CharTbl()->GetInf(dComIfGp_CharTbl()->mIndex_N_ITEM3, itemTableIdx);
+ items[4] = dComIfGp_CharTbl()->GetInf(dComIfGp_CharTbl()->mIndex_N_ITEM4, itemTableIdx);
+ items[5] = dComIfGp_CharTbl()->GetInf(dComIfGp_CharTbl()->mIndex_N_ITEM5, itemTableIdx);
+ items[6] = dComIfGp_CharTbl()->GetInf(dComIfGp_CharTbl()->mIndex_N_ITEM6, itemTableIdx);
+ items[7] = dComIfGp_CharTbl()->GetInf(dComIfGp_CharTbl()->mIndex_N_ITEM7, itemTableIdx);
+ items[8] = dComIfGp_CharTbl()->GetInf(dComIfGp_CharTbl()->mIndex_N_ITEM8, itemTableIdx);
+ items[9] = dComIfGp_CharTbl()->GetInf(dComIfGp_CharTbl()->mIndex_N_ITEM9, itemTableIdx);
+ items[10] = dComIfGp_CharTbl()->GetInf(dComIfGp_CharTbl()->mIndex_N_ITEM10, itemTableIdx);
+ items[11] = dComIfGp_CharTbl()->GetInf(dComIfGp_CharTbl()->mIndex_N_ITEM11, itemTableIdx);
+ items[12] = dComIfGp_CharTbl()->GetInf(dComIfGp_CharTbl()->mIndex_N_ITEM12, itemTableIdx);
+ items[13] = dComIfGp_CharTbl()->GetInf(dComIfGp_CharTbl()->mIndex_N_ITEM13, itemTableIdx);
+ items[14] = dComIfGp_CharTbl()->GetInf(dComIfGp_CharTbl()->mIndex_N_ITEM14, itemTableIdx);
+ items[15] = dComIfGp_CharTbl()->GetInf(dComIfGp_CharTbl()->mIndex_N_ITEM15, itemTableIdx);
+
+ for (int i = 0; i < 16; i++) {
+ if (isEmono(items[i])) {
+ return items[i];
+ }
+ }
+
+ return NO_ITEM;
}
/* 800C8214-800C8498 .text getItemFromLifeBallTableWithoutEmono__FUs */
-void getItemFromLifeBallTableWithoutEmono(u16) {
- /* Nonmatching */
+int getItemFromLifeBallTableWithoutEmono(u16 itemTableIdx) {
+ u8 items[16];
+
+ items[0] = dComIfGp_CharTbl()->GetInf(dComIfGp_CharTbl()->mIndex_N_ITEM0, itemTableIdx);
+ items[1] = dComIfGp_CharTbl()->GetInf(dComIfGp_CharTbl()->mIndex_N_ITEM1, itemTableIdx);
+ items[2] = dComIfGp_CharTbl()->GetInf(dComIfGp_CharTbl()->mIndex_N_ITEM2, itemTableIdx);
+ items[3] = dComIfGp_CharTbl()->GetInf(dComIfGp_CharTbl()->mIndex_N_ITEM3, itemTableIdx);
+ items[4] = dComIfGp_CharTbl()->GetInf(dComIfGp_CharTbl()->mIndex_N_ITEM4, itemTableIdx);
+ items[5] = dComIfGp_CharTbl()->GetInf(dComIfGp_CharTbl()->mIndex_N_ITEM5, itemTableIdx);
+ items[6] = dComIfGp_CharTbl()->GetInf(dComIfGp_CharTbl()->mIndex_N_ITEM6, itemTableIdx);
+ items[7] = dComIfGp_CharTbl()->GetInf(dComIfGp_CharTbl()->mIndex_N_ITEM7, itemTableIdx);
+ items[8] = dComIfGp_CharTbl()->GetInf(dComIfGp_CharTbl()->mIndex_N_ITEM8, itemTableIdx);
+ items[9] = dComIfGp_CharTbl()->GetInf(dComIfGp_CharTbl()->mIndex_N_ITEM9, itemTableIdx);
+ items[10] = dComIfGp_CharTbl()->GetInf(dComIfGp_CharTbl()->mIndex_N_ITEM10, itemTableIdx);
+ items[11] = dComIfGp_CharTbl()->GetInf(dComIfGp_CharTbl()->mIndex_N_ITEM11, itemTableIdx);
+ items[12] = dComIfGp_CharTbl()->GetInf(dComIfGp_CharTbl()->mIndex_N_ITEM12, itemTableIdx);
+ items[13] = dComIfGp_CharTbl()->GetInf(dComIfGp_CharTbl()->mIndex_N_ITEM13, itemTableIdx);
+ items[14] = dComIfGp_CharTbl()->GetInf(dComIfGp_CharTbl()->mIndex_N_ITEM14, itemTableIdx);
+ items[15] = dComIfGp_CharTbl()->GetInf(dComIfGp_CharTbl()->mIndex_N_ITEM15, itemTableIdx);
+
+ for (int i = 0; i < 8; i++) {
+ int randIdx = cM_rndF(15.999f);
+ if (!isEmono(items[randIdx]) && items[randIdx] != NO_ITEM) {
+ return items[randIdx];
+ }
+ }
+
+ for (int i = 0; i < 16; i++) {
+ if (!isEmono(items[i]) && items[i] != NO_ITEM) {
+ return items[i];
+ }
+ }
+
+ return NO_ITEM;
}