Add item button enum and talk button enum

This commit is contained in:
LagoLunatic
2025-01-06 00:23:55 -05:00
parent 4a0a89501d
commit 37dbfd75de
22 changed files with 343 additions and 292 deletions
+1 -1
View File
@@ -132,7 +132,7 @@ public:
/* 0x9C2 */ s8 field_0x9C2;
/* 0x9C3 */ s8 field_0x9C3;
/* 0x9C4 */ s8 field_0x9C4;
/* 0x9C5 */ u8 field_0x9C5;
/* 0x9C5 */ u8 mShownItemBtn;
/* 0x9C6 */ u8 field_0x9C6;
/* 0x9C7 */ u8 field_0x9C7;
/* 0x9C8 */ u8 field_0x9C8;
+1 -1
View File
@@ -1997,7 +1997,7 @@ public:
/* 0x34BA */ u8 m34BA;
/* 0x34BB */ u8 mCurrItemHeapIdx;
/* 0x34BC */ u8 m34BC;
/* 0x34BD */ u8 mReadyItemIdx; // Which of the three item buttons the player last used.
/* 0x34BD */ u8 mReadyItemBtn; // Which of the three item buttons the player last used.
/* 0x34BE */ u8 m34BE;
/* 0x34BF */ s8 mReverb;
/* 0x34C0 */ u8 mLeftHandIdx;
+40 -26
View File
@@ -867,7 +867,7 @@ inline OSTime dComIfGs_getDateIpl() {
return g_dComIfG_gameInfo.save.getPlayer().getPlayerStatusB().getDateIpl();
}
// The inventory slot for items. Also known as "select item"
// The inventory slot for items. Also known as "select item".
enum dInventorySlot_e {
dInvSlot_ItemFirst_e = 0,
dInvSlot_TELESCOPE_e = 0,
@@ -888,6 +888,7 @@ enum dInventorySlot_e {
dInvSlot_BOTTLE1_e = 15,
dInvSlot_BOTTLE2_e = 16,
dInvSlot_BOTTLE3_e = 17,
dInvSlot_BOTTLE_COUNT_e = dInvSlot_BOTTLE3_e + 1 - dInvSlot_BOTTLE0_e,
dInvSlot_DELIVERY_BAG_e = 18,
dInvSlot_HOOKSHOT_e = 19,
dInvSlot_SKULL_HAMMER_e = 20,
@@ -905,6 +906,15 @@ enum dInventorySlot_e {
dInvSlot_NONE_e = 0xFF,
};
// The index of a button that can have an item assigned to it.
enum dItemButton_e {
dItemBtn_X_e = 0,
dItemBtn_Y_e = 1,
dItemBtn_Z_e = 2,
dItemBtn_NONE_e = 3,
dItemBtn_COUNT_e = 3,
};
/**
* Returns which item is in a specific inventory slot.
* @param i_invIdx The index of the inventory slot.
@@ -1087,8 +1097,8 @@ inline void dComIfGs_setReserveNum(int i_idx, u8 num) {
g_dComIfG_gameInfo.save.getPlayer().getBagItemRecord().setReserveNum(i_idx, num);
}
inline void dComIfGs_setReserveItemChange(u8 idx, u8 no) {
g_dComIfG_gameInfo.save.getPlayer().getBagItem().setReserveItemChange(idx, no);
inline void dComIfGs_setReserveItemChange(u8 i_itemBtn, u8 no) {
g_dComIfG_gameInfo.save.getPlayer().getBagItem().setReserveItemChange(i_itemBtn, no);
}
inline u8 dComIfGs_checkReserveItemEmpty() {
@@ -1099,8 +1109,8 @@ inline void dComIfGs_setReserveItemEmpty() {
g_dComIfG_gameInfo.save.getPlayer().getBagItem().setReserveItemEmpty();
}
inline void dComIfGs_setReserveBaitEmpty(u8 i_btnIdx) {
g_dComIfG_gameInfo.save.getPlayer().getBagItem().setBaitItemEmpty(i_btnIdx);
inline void dComIfGs_setReserveBaitEmpty(u8 i_itemBtn) {
g_dComIfG_gameInfo.save.getPlayer().getBagItem().setBaitItemEmpty(i_itemBtn);
}
inline void dComIfGs_setEventReg(u16 i_reg, u8 i_no) {
@@ -1502,20 +1512,20 @@ inline BOOL dComIfGs_isActor(int i_no, int i_roomNo) {
/**
* 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.
* @param i_itemBtn The dItemButton_e of the button.
* @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);
inline u8 dComIfGs_getSelectItem(int i_itemBtn) {
return g_dComIfG_gameInfo.save.getPlayer().getPlayerStatusA().getSelectItem(i_itemBtn);
}
/**
* 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_itemBtn The dItemButton_e of the button.
* @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 void dComIfGs_setSelectItem(int i_itemBtn, u8 i_invIdx) {
g_dComIfG_gameInfo.save.getPlayer().getPlayerStatusA().setSelectItem(i_itemBtn, i_invIdx);
}
inline u16 dComIfGs_getDate() {
@@ -1578,12 +1588,12 @@ inline void dComIfGs_setEmptyBottle() {
g_dComIfG_gameInfo.save.getPlayer().getItem().setEmptyBottle();
}
inline void dComIfGs_setEquipBottleItemIn(u8 i_btnIdx, u8 i_itemNo) {
g_dComIfG_gameInfo.save.getPlayer().getItem().setEquipBottleItemIn(i_btnIdx, i_itemNo);
inline void dComIfGs_setEquipBottleItemIn(u8 i_itemBtn, u8 i_itemNo) {
g_dComIfG_gameInfo.save.getPlayer().getItem().setEquipBottleItemIn(i_itemBtn, i_itemNo);
}
inline void dComIfGs_setEquipBottleItemEmpty(u8 i_btnIdx) {
g_dComIfG_gameInfo.save.getPlayer().getItem().setEquipBottleItemEmpty(i_btnIdx);
inline void dComIfGs_setEquipBottleItemEmpty(u8 i_itemBtn) {
g_dComIfG_gameInfo.save.getPlayer().getItem().setEquipBottleItemEmpty(i_itemBtn);
}
inline void dComIfGs_setEquipBottleItemEmpty() {
@@ -2471,30 +2481,30 @@ inline void dComIfGp_setAStatusForce(u8 value) {
/**
* 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.
* @param i_itemBtn The dItemButton_e of the button.
* @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);
inline u8 dComIfGp_getSelectItem(int i_itemBtn) {
return g_dComIfG_gameInfo.play.getSelectItem(i_itemBtn);
}
/**
* 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.
* @param i_itemBtn The dItemButton_e of the button.
*/
inline void dComIfGp_setSelectItem(int i_btnIdx) {
if (dComIfGs_getSelectItem(i_btnIdx) != dInvSlot_NONE_e) {
int invIdx = dComIfGs_getSelectItem(i_btnIdx);
inline void dComIfGp_setSelectItem(int i_itemBtn) {
if (dComIfGs_getSelectItem(i_itemBtn) != dInvSlot_NONE_e) {
int invIdx = dComIfGs_getSelectItem(i_itemBtn);
u8 itemNo = dComIfGs_getItem(invIdx);
g_dComIfG_gameInfo.play.setSelectItem(i_btnIdx, itemNo);
g_dComIfG_gameInfo.play.setSelectItem(i_itemBtn, itemNo);
invIdx = dComIfGs_getSelectItem(i_btnIdx);
invIdx = dComIfGs_getSelectItem(i_itemBtn);
itemNo = dComIfGs_getItem(invIdx);
if (itemNo == dItem_NONE_e) {
dComIfGs_setSelectItem(i_btnIdx, dInvSlot_NONE_e);
dComIfGs_setSelectItem(i_itemBtn, dInvSlot_NONE_e);
}
} else {
g_dComIfG_gameInfo.play.setSelectItem(i_btnIdx, dItem_NONE_e);
g_dComIfG_gameInfo.play.setSelectItem(i_itemBtn, dItem_NONE_e);
}
}
@@ -2741,6 +2751,10 @@ inline BOOL dComIfGp_event_runCheck() {
return g_dComIfG_gameInfo.play.getEvent().runCheck();
}
/**
* Returns the button (X Y or Z) that was used to start this event.
* @return The dTalkXYButton_e of the button the player used to initiate this event.
*/
inline u8 dComIfGp_event_getTalkXYBtn() {
return g_dComIfG_gameInfo.play.getEvent().getTalkXYBtn();
}
+12 -2
View File
@@ -2,7 +2,6 @@
#define D_EVENT_D_EVENT_H
#include "f_pc/f_pc_base.h"
#include "global.h"
class fopAc_ac_c;
@@ -59,6 +58,13 @@ public:
class dStage_Event_dt_c;
enum dTalkXYButton_e {
dTalkBtn_NONE_e = 0,
dTalkBtn_X_e = 1,
dTalkBtn_Y_e = 2,
dTalkBtn_Z_e = 3,
};
class dEvt_control_c {
public:
dEvt_control_c();
@@ -98,7 +104,11 @@ public:
bool giveItemCut(u8);
u8 getTalkXYBtn() { return mTalkButton; }
bool chkTalkXY() { return mTalkButton == 1 || mTalkButton == 2 || mTalkButton == 3; }
bool chkTalkXY() {
return mTalkButton == dTalkBtn_X_e ||
mTalkButton == dTalkBtn_Y_e ||
mTalkButton == dTalkBtn_Z_e;
}
void setPtI_Id(fpc_ProcID id) { mPtItem = id; }
void setPtI(void* actor) { mPtItem = getPId(actor); }
fopAc_ac_c* getPtI() { return convPId(mPtItem); }
+6 -6
View File
@@ -179,22 +179,22 @@ public:
void setCommand(u16 command) { mCommand = command; }
void setXyEventCB(CallbackFunc cb) { mpEventCB = cb; }
s16 runXyEventCB(void* ac, int equippedItemIdx) {
s16 runXyEventCB(void* ac, int i_itemBtn) {
if (mpEventCB == NULL)
return -1;
return mpEventCB(ac, equippedItemIdx);
return mpEventCB(ac, i_itemBtn);
}
void setXyCheckCB(CallbackFunc cb) { mpCheckCB = cb; }
s16 runXyCheckCB(void* ac, int equippedItemIdx) {
s16 runXyCheckCB(void* ac, int i_itemBtn) {
if (mpCheckCB == NULL)
return -1;
return mpCheckCB(ac, equippedItemIdx);
return mpCheckCB(ac, i_itemBtn);
}
void setPhotoEventCB(CallbackFunc cb) { mpPhotoCB = cb; }
s16 runPhotoEventCB(void* ac, int equippedItemIdx) {
s16 runPhotoEventCB(void* ac, int i_itemBtn) {
if (mpPhotoCB == NULL)
return -1;
return mpPhotoCB(ac, equippedItemIdx);
return mpPhotoCB(ac, i_itemBtn);
}
public:
+36 -12
View File
@@ -1791,37 +1791,61 @@ BOOL daAgbsw0_c::MoveCheck(s16 conditionNo) {
break;
case 0x11:
if(dComIfGp_getSelectItem(0) != dItem_BOW_e && dComIfGp_getSelectItem(1) != dItem_BOW_e && dComIfGp_getSelectItem(2) != dItem_BOW_e) {
if(
dComIfGp_getSelectItem(dItemBtn_X_e) != dItem_BOW_e &&
dComIfGp_getSelectItem(dItemBtn_Y_e) != dItem_BOW_e &&
dComIfGp_getSelectItem(dItemBtn_Z_e) != dItem_BOW_e
) {
return FALSE;
}
break;
case 0x12:
if(dComIfGp_getSelectItem(0) != dItem_BOOMERANG_e && dComIfGp_getSelectItem(1) != dItem_BOOMERANG_e && dComIfGp_getSelectItem(2) != dItem_BOOMERANG_e) {
if(
dComIfGp_getSelectItem(dItemBtn_X_e) != dItem_BOOMERANG_e &&
dComIfGp_getSelectItem(dItemBtn_Y_e) != dItem_BOOMERANG_e &&
dComIfGp_getSelectItem(dItemBtn_Z_e) != dItem_BOOMERANG_e
) {
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) {
if(
dComIfGp_getSelectItem(dItemBtn_X_e) != dItem_DEKU_LEAF_e &&
dComIfGp_getSelectItem(dItemBtn_Y_e) != dItem_DEKU_LEAF_e &&
dComIfGp_getSelectItem(dItemBtn_Z_e) != dItem_DEKU_LEAF_e
) {
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) {
if(
dComIfGp_getSelectItem(dItemBtn_X_e) != dItem_GRAPPLING_HOOK_e &&
dComIfGp_getSelectItem(dItemBtn_Y_e) != dItem_GRAPPLING_HOOK_e &&
dComIfGp_getSelectItem(dItemBtn_Z_e) != dItem_GRAPPLING_HOOK_e
) {
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) {
if(
dComIfGp_getSelectItem(dItemBtn_X_e) != dItem_BOMB_BAG_e &&
dComIfGp_getSelectItem(dItemBtn_Y_e) != dItem_BOMB_BAG_e &&
dComIfGp_getSelectItem(dItemBtn_Z_e) != dItem_BOMB_BAG_e
) {
return FALSE;
}
break;
case 0x16:
if(dComIfGp_getSelectItem(0) != dItem_HOOKSHOT_e && dComIfGp_getSelectItem(1) != dItem_HOOKSHOT_e && dComIfGp_getSelectItem(2) != dItem_HOOKSHOT_e) {
if(
dComIfGp_getSelectItem(dItemBtn_X_e) != dItem_HOOKSHOT_e &&
dComIfGp_getSelectItem(dItemBtn_Y_e) != dItem_HOOKSHOT_e &&
dComIfGp_getSelectItem(dItemBtn_Z_e) != dItem_HOOKSHOT_e
) {
return FALSE;
}
@@ -1912,9 +1936,9 @@ BOOL daAgbsw0_c::MoveCheck(s16 conditionNo) {
break;
case 0x25:
if (dComIfGp_checkPlayerStatus0(0, daPyStts0_SHIP_RIDE_e) &&
dComIfGp_getSelectItem(0) != dItem_BOMB_BAG_e &&
dComIfGp_getSelectItem(1) != dItem_BOMB_BAG_e &&
dComIfGp_getSelectItem(2) != dItem_BOMB_BAG_e)
dComIfGp_getSelectItem(dItemBtn_X_e) != dItem_BOMB_BAG_e &&
dComIfGp_getSelectItem(dItemBtn_Y_e) != dItem_BOMB_BAG_e &&
dComIfGp_getSelectItem(dItemBtn_Z_e) != dItem_BOMB_BAG_e)
{
return FALSE;
}
@@ -1922,9 +1946,9 @@ BOOL daAgbsw0_c::MoveCheck(s16 conditionNo) {
break;
case 0x26:
if (dComIfGp_checkPlayerStatus0(0, daPyStts0_SHIP_RIDE_e) &&
dComIfGp_getSelectItem(0) != dItem_GRAPPLING_HOOK_e &&
dComIfGp_getSelectItem(1) != dItem_GRAPPLING_HOOK_e &&
dComIfGp_getSelectItem(2) != dItem_GRAPPLING_HOOK_e)
dComIfGp_getSelectItem(dItemBtn_X_e) != dItem_GRAPPLING_HOOK_e &&
dComIfGp_getSelectItem(dItemBtn_Y_e) != dItem_GRAPPLING_HOOK_e &&
dComIfGp_getSelectItem(dItemBtn_Z_e) != dItem_GRAPPLING_HOOK_e)
{
return FALSE;
}
+2 -2
View File
@@ -115,9 +115,9 @@ static s16 daNpc_Bs1_XyEventCB(void* i_this, int value) {
return ((daNpc_Bs1_c*)i_this)->XyEventCB(value);
}
/* 000002E4-00000490 .text XyEventCB__11daNpc_Bs1_cFi */
s16 daNpc_Bs1_c::XyEventCB(int selectItemIdx) {
s16 daNpc_Bs1_c::XyEventCB(int i_itemBtn) {
s16 eventIdx = -1;
u8 selectedItem = (s32)dComIfGp_getSelectItem(selectItemIdx);
u8 selectedItem = (s32)dComIfGp_getSelectItem(i_itemBtn);
if (mType == 0) {
if (selectedItem == KAISEN_PRESENT1) {
eventIdx = mEventIdxs[0];
+2 -2
View File
@@ -231,8 +231,8 @@ daNpc_Ji1_HIO_c::daNpc_Ji1_HIO_c() {
}
/* 000003C0-000003E4 .text daNpc_Ji1_XyCheckCB__FPvi */
static s16 daNpc_Ji1_XyCheckCB(void*, int equippedItemIdx) {
return dComIfGp_getSelectItem(equippedItemIdx) == BOKO_BELT ? TRUE : FALSE;
static s16 daNpc_Ji1_XyCheckCB(void*, int i_itemBtn) {
return dComIfGp_getSelectItem(i_itemBtn) == BOKO_BELT ? TRUE : FALSE;
}
/* 000003E4-00000404 .text daJi1_CoHitCallback__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf */
+7 -7
View File
@@ -68,13 +68,13 @@ daNpc_kam_HIO_c::daNpc_kam_HIO_c() {
}
/* 00000240-00000260 .text daNpc_kam_XyCheckCB__FPvi */
static s16 daNpc_kam_XyCheckCB(void* i_this, int equippedItemIdx) {
return ((daNpc_kam_c*)i_this)->XyCheckCB(equippedItemIdx);
static s16 daNpc_kam_XyCheckCB(void* i_this, int i_itemBtn) {
return ((daNpc_kam_c*)i_this)->XyCheckCB(i_itemBtn);
}
/* 00000260-000002A4 .text XyCheckCB__11daNpc_kam_cFi */
s16 daNpc_kam_c::XyCheckCB(int equippedItemIdx) {
if (dComIfGp_getSelectItem(equippedItemIdx) == dItem_HYOI_PEAR_e) {
s16 daNpc_kam_c::XyCheckCB(int i_itemBtn) {
if (dComIfGp_getSelectItem(i_itemBtn) == dItem_HYOI_PEAR_e) {
return callDemoStartCheck();
} else {
return FALSE;
@@ -139,12 +139,12 @@ int daNpc_kam_c::callDemoStartCheck() {
}
/* 0000052C-0000054C .text daNpc_kam_XyEventCB__FPvi */
static s16 daNpc_kam_XyEventCB(void* i_this, int equippedItemIdx) {
return ((daNpc_kam_c*)i_this)->XyEventCB(equippedItemIdx);
static s16 daNpc_kam_XyEventCB(void* i_this, int i_itemBtn) {
return ((daNpc_kam_c*)i_this)->XyEventCB(i_itemBtn);
}
/* 0000054C-00000568 .text XyEventCB__11daNpc_kam_cFi */
s16 daNpc_kam_c::XyEventCB(int equippedItemIdx) {
s16 daNpc_kam_c::XyEventCB(int i_itemBtn) {
onEventAccept();
mCurrEventIdxIdx = 1; // "kamome_call"
return mEventIdxs[1];
+4 -4
View File
@@ -323,8 +323,8 @@ static s16 daNpc_Md_XyCheckCB(void* i_this, int param_1) {
}
/* 000006FC-000007FC .text XyCheckCB__10daNpc_Md_cFi */
s16 daNpc_Md_c::XyCheckCB(int equippedItemIdx) {
u8 selectItemNo = dComIfGp_getSelectItem(equippedItemIdx);
s16 daNpc_Md_c::XyCheckCB(int i_itemBtn) {
u8 selectItemNo = dComIfGp_getSelectItem(i_itemBtn);
if (isTypeSea()) {
if (selectItemNo == dItem_WIND_WAKER_e) {
return TRUE;
@@ -351,8 +351,8 @@ static s16 daNpc_Md_XyEventCB(void* i_this, int param_1) {
}
/* 0000081C-00000864 .text XyEventCB__10daNpc_Md_cFi */
s16 daNpc_Md_c::XyEventCB(int equippedItemIdx) {
u8 selectItemNo = dComIfGp_getSelectItem(equippedItemIdx);
s16 daNpc_Md_c::XyEventCB(int i_itemBtn) {
u8 selectItemNo = dComIfGp_getSelectItem(i_itemBtn);
if (selectItemNo == dItem_WIND_WAKER_e) {
offDefaultTalkXY();
return mEventIdxTable[5];
+2 -2
View File
@@ -203,10 +203,10 @@ daNpc_Nz_HIO_c::daNpc_Nz_HIO_c() {
}
/* 00001010-000011A0 .text daNpc_Nz_XyCheckCB__FPvi */
static s16 daNpc_Nz_XyCheckCB(void* i_actor, int equippedItemIdx) {
static s16 daNpc_Nz_XyCheckCB(void* i_actor, int i_itemBtn) {
daNpc_Nz_c* i_this = static_cast<daNpc_Nz_c*>(i_actor);
if(dComIfGp_getSelectItem(equippedItemIdx) == BIRD_ESA_5) {
if(dComIfGp_getSelectItem(i_itemBtn) == BIRD_ESA_5) {
f32 temp2 = l_HIO.field_0x20;
daPy_py_c* player = daPy_getPlayerActorClass();
cXyz temp(player->current.pos);
+8 -8
View File
@@ -4268,13 +4268,13 @@ BOOL daNpcPeople_c::createHeap() {
}
/* 00000E0C-00000E2C .text daNpcPeople_XyCheckCB__FPvi */
static s16 daNpcPeople_XyCheckCB(void* i_this, int equippedItemIdx) {
return static_cast<daNpcPeople_c*>(i_this)->XyCheckCB(equippedItemIdx);
static s16 daNpcPeople_XyCheckCB(void* i_this, int i_itemBtn) {
return static_cast<daNpcPeople_c*>(i_this)->XyCheckCB(i_itemBtn);
}
/* 00000E2C-00000E4C .text daNpcPeople_XyEventCB__FPvi */
static s16 daNpcPeople_XyEventCB(void* i_this, int equippedItemIdx) {
return static_cast<daNpcPeople_c*>(i_this)->XyEventCB(equippedItemIdx);
static s16 daNpcPeople_XyEventCB(void* i_this, int i_itemBtn) {
return static_cast<daNpcPeople_c*>(i_this)->XyEventCB(i_itemBtn);
}
/* 00000E4C-00000E6C .text daNpcPeople_photoCB__FPvi */
@@ -7732,8 +7732,8 @@ void daNpcPeople_c::setWaitAnm() {
}
/* 0000884C-00008A10 .text XyCheckCB__13daNpcPeople_cFi */
s16 daNpcPeople_c::XyCheckCB(int equippedItemIdx) {
u8 itemNo = dComIfGp_getSelectItem(equippedItemIdx);
s16 daNpcPeople_c::XyCheckCB(int i_itemBtn) {
u8 itemNo = dComIfGp_getSelectItem(i_itemBtn);
switch(mNpcType) {
case 0x2:
@@ -7792,9 +7792,9 @@ s16 daNpcPeople_c::XyCheckCB(int equippedItemIdx) {
}
/* 00008A10-00008AC8 .text XyEventCB__13daNpcPeople_cFi */
s16 daNpcPeople_c::XyEventCB(int equippedItemIdx) {
s16 daNpcPeople_c::XyEventCB(int i_itemBtn) {
s16 ret = -1;
u8 itemNo = dComIfGp_getSelectItem(equippedItemIdx);
u8 itemNo = dComIfGp_getSelectItem(i_itemBtn);
switch(mNpcType) {
case 0x3:
+11 -11
View File
@@ -1543,7 +1543,7 @@ daNpcRoten_c::daNpcRoten_c() {
field_0x9C1 = 0;
field_0x9C4 = 0;
field_0x99C = 1;
field_0x9C5 = 3;
mShownItemBtn = dItemBtn_NONE_e;
field_0x9BC = 0;
field_0x9C6 = 0;
field_0x9C7 = 0;
@@ -2395,7 +2395,7 @@ u16 daNpcRoten_c::next_msgStatus(u32* pMsgNo) {
*pMsgNo = l_msg_xy_koukan_first[mNpcNo];
}
dComIfGs_setReserveItemChange(field_0x9C5, temp + FLOWER_1);
dComIfGs_setReserveItemChange(mShownItemBtn, temp + FLOWER_1);
field_0x98C = NULL;
break;
}
@@ -2782,23 +2782,23 @@ BOOL daNpcRoten_c::isGetMap(u8 itemNo) {
}
/* 00003B30-00003C7C .text XyEventCB__12daNpcRoten_cFi */
s16 daNpcRoten_c::XyEventCB(int equippedItemIdx) {
s16 daNpcRoten_c::XyEventCB(int i_itemBtn) {
s16 eventIdx;
int itemNo = dComIfGp_getSelectItem(equippedItemIdx);
int itemNo = dComIfGp_getSelectItem(i_itemBtn);
field_0x9BE = itemNo - FLOWER_1;
if(isKoukanItem(itemNo) && dComIfGs_getEventReg(l_save_dat[mNpcNo].field_0x02) < 3 && !isGetMap(itemNo)) {
if(dComIfGp_event_getTalkXYBtn() == 1) {
field_0x9C5 = 0;
if(dComIfGp_event_getTalkXYBtn() == dTalkBtn_X_e) {
mShownItemBtn = dItemBtn_X_e;
}
else if(dComIfGp_event_getTalkXYBtn() == 2) {
field_0x9C5 = 1;
else if(dComIfGp_event_getTalkXYBtn() == dTalkBtn_Y_e) {
mShownItemBtn = dItemBtn_Y_e;
}
else if(dComIfGp_event_getTalkXYBtn() == 3) {
field_0x9C5 = 2;
else if(dComIfGp_event_getTalkXYBtn() == dTalkBtn_Z_e) {
mShownItemBtn = dItemBtn_Z_e;
}
else {
field_0x9C5 = 3;
mShownItemBtn = dItemBtn_NONE_e;
}
eventIdx = field_0x99E;
+2 -2
View File
@@ -150,8 +150,8 @@ static s16 daObjMknjD_XyEventCB(void* i_this, int i_param2) {
}
/* 000002F0-00000314 .text XyCheckCB__Q210daObjMknjD5Act_cFi */
s16 daObjMknjD::Act_c::XyCheckCB(int i_itemIdx) {
return dComIfGp_getSelectItem(i_itemIdx) == dItem_WIND_WAKER_e ? 1 : 0;
s16 daObjMknjD::Act_c::XyCheckCB(int i_itemBtn) {
return dComIfGp_getSelectItem(i_itemBtn) == dItem_WIND_WAKER_e ? 1 : 0;
}
/* 00000314-0000031C .text XyEventCB__Q210daObjMknjD5Act_cFi */
+13 -13
View File
@@ -131,16 +131,16 @@ BOOL daPy_lk_c::procFoodThrow() {
if (esa) {
m3630 = fopAcM_GetID(esa);
if (mDemo.getDemoType() != 5) {
u8 btnIdx = dComIfGp_event_getTalkXYBtn();
if (btnIdx == 1) {
dComIfGs_setReserveBaitEmpty(0);
} else if (btnIdx == 2) {
dComIfGs_setReserveBaitEmpty(1);
u8 talkBtn = dComIfGp_event_getTalkXYBtn();
if (talkBtn == dTalkBtn_X_e) {
dComIfGs_setReserveBaitEmpty(dItemBtn_X_e);
} else if (talkBtn == dTalkBtn_Y_e) {
dComIfGs_setReserveBaitEmpty(dItemBtn_Y_e);
} else {
dComIfGs_setReserveBaitEmpty(2);
dComIfGs_setReserveBaitEmpty(dItemBtn_Z_e);
}
} else {
dComIfGs_setReserveBaitEmpty(mReadyItemIdx);
dComIfGs_setReserveBaitEmpty(mReadyItemBtn);
}
}
}
@@ -152,13 +152,13 @@ BOOL daPy_lk_c::procFoodSet_init() {
if (mCurProc == daPyProc_FOOD_SET_e) {
if (mDemo.getParam0() == 1) {
if (mEquipItem == dItem_HYOI_PEAR_e) {
u8 btnIdx = dComIfGp_event_getTalkXYBtn();
if (btnIdx == 1) {
dComIfGs_setEquipBottleItemEmpty(0);
} else if (btnIdx == 2) {
dComIfGs_setEquipBottleItemEmpty(1);
u8 talkBtn = dComIfGp_event_getTalkXYBtn();
if (talkBtn == dTalkBtn_X_e) {
dComIfGs_setEquipBottleItemEmpty(dItemBtn_X_e);
} else if (talkBtn == dTalkBtn_Y_e) {
dComIfGs_setEquipBottleItemEmpty(dItemBtn_Y_e);
} else {
dComIfGs_setEquipBottleItemEmpty(2);
dComIfGs_setEquipBottleItemEmpty(dItemBtn_Z_e);
}
}
+30 -30
View File
@@ -292,9 +292,9 @@ void daPy_lk_c::voiceStart(u32 param_1) {
/* 801031A4-801031DC .text itemButton__9daPy_lk_cCFv */
BOOL daPy_lk_c::itemButton() const {
if (mReadyItemIdx == 0) {
if (mReadyItemBtn == dItemBtn_X_e) {
return m34C9 & 0x04;
} else if (mReadyItemIdx == 1) {
} else if (mReadyItemBtn == dItemBtn_Y_e) {
return m34C9 & 0x08;
} else {
return m34C9 & 0x10;
@@ -303,9 +303,9 @@ BOOL daPy_lk_c::itemButton() const {
/* 801031DC-80103214 .text itemTrigger__9daPy_lk_cCFv */
BOOL daPy_lk_c::itemTrigger() const {
if (mReadyItemIdx == 0) {
if (mReadyItemBtn == dItemBtn_X_e) {
return mPressedButtons & 0x04;
} else if (mReadyItemIdx == 1) {
} else if (mReadyItemBtn == dItemBtn_Y_e) {
return mPressedButtons & 0x08;
} else {
return mPressedButtons & 0x10;
@@ -314,26 +314,26 @@ BOOL daPy_lk_c::itemTrigger() const {
/* 80103214-80103258 .text getReadyItem__9daPy_lk_cFv */
int daPy_lk_c::getReadyItem() {
if (mReadyItemIdx == 0) {
return dComIfGp_getSelectItem(0);
} else if (mReadyItemIdx == 1) {
return dComIfGp_getSelectItem(1);
if (mReadyItemBtn == dItemBtn_X_e) {
return dComIfGp_getSelectItem(dItemBtn_X_e);
} else if (mReadyItemBtn == dItemBtn_Y_e) {
return dComIfGp_getSelectItem(dItemBtn_Y_e);
} else {
return dComIfGp_getSelectItem(2);
return dComIfGp_getSelectItem(dItemBtn_Z_e);
}
}
/* 80103258-801032E4 .text checkGroupItem__9daPy_lk_cFii */
BOOL daPy_lk_c::checkGroupItem(int param_1, int itemNo) {
if (param_1 == 0x105) {
if (param_1 == daPyItem_DRINK_BOTTLE_e) {
return checkDrinkBottleItem(itemNo);
} else if (param_1 == 0x106) {
} else if (param_1 == daPyItem_OPEN_BOTTLE_e) {
return checkOpenBottleItem(itemNo);
} else if (param_1 == 0x107) {
} else if (param_1 == daPyItem_ESA_e) {
return isEsa(itemNo);
} else if (param_1 == 0x108) {
} else if (param_1 == daPyItem_BOW_e) {
return checkBowItem(itemNo);
} else if (param_1 == 0x109) {
} else if (param_1 == daPyItem_PHOTOBOX_e) {
return checkPhotoBoxItem(itemNo);
} else {
return param_1 == itemNo;
@@ -343,16 +343,16 @@ BOOL daPy_lk_c::checkGroupItem(int param_1, int itemNo) {
/* 801032E4-801033E4 .text checkSetItemTrigger__9daPy_lk_cFii */
BOOL daPy_lk_c::checkSetItemTrigger(int param_1, int param_2) {
if (param_2 == 0 || !daPy_dmEcallBack_c::checkCurse()) {
if (mPressedButtons & 0x04 && checkGroupItem(param_1, dComIfGp_getSelectItem(0))) {
mReadyItemIdx = 0;
if (mPressedButtons & 0x04 && checkGroupItem(param_1, dComIfGp_getSelectItem(dItemBtn_X_e))) {
mReadyItemBtn = dItemBtn_X_e;
return TRUE;
}
if (mPressedButtons & 0x08 && checkGroupItem(param_1, dComIfGp_getSelectItem(1))) {
mReadyItemIdx = 1;
if (mPressedButtons & 0x08 && checkGroupItem(param_1, dComIfGp_getSelectItem(dItemBtn_Y_e))) {
mReadyItemBtn = dItemBtn_Y_e;
return TRUE;
}
if (mPressedButtons & 0x10 && checkGroupItem(param_1, dComIfGp_getSelectItem(2))) {
mReadyItemIdx = 2;
if (mPressedButtons & 0x10 && checkGroupItem(param_1, dComIfGp_getSelectItem(dItemBtn_Z_e))) {
mReadyItemBtn = dItemBtn_Z_e;
return TRUE;
}
}
@@ -1629,17 +1629,17 @@ BOOL daPy_lk_c::checkItemChangeFromButton() {
setAnimeEquipSword(1);
} else if (mPressedButtons & 0x04) {
if (checkNewItemChange(0)) {
mReadyItemIdx = 0;
mReadyItemBtn = dItemBtn_X_e;
return TRUE;
}
} else if (mPressedButtons & 0x08) {
if (checkNewItemChange(1)) {
mReadyItemIdx = 1;
mReadyItemBtn = dItemBtn_Y_e;
return TRUE;
}
} else if (mPressedButtons & 0x10) {
if (checkNewItemChange(2)) {
mReadyItemIdx = 2;
mReadyItemBtn = dItemBtn_Z_e;
return TRUE;
}
} else if (mPressedButtons & 0x01) {
@@ -1654,7 +1654,7 @@ BOOL daPy_lk_c::checkItemChangeFromButton() {
if (checkEquipHeavyBoots() && checkSetItemTrigger(dItem_IRON_BOOTS_e, 0)) {
return procBootsEquip_init(dItem_IRON_BOOTS_e);
} else if (checkSetItemTrigger(daPyItem_DRINK_BOTTLE_e, 0)) {
return procBottleDrink_init(dComIfGp_getSelectItem(mReadyItemIdx));
return procBottleDrink_init(dComIfGp_getSelectItem(mReadyItemBtn));
} else if (checkSetItemTrigger(FAIRY_BOTTLE, 0)) {
return procBottleOpen_init(FAIRY_BOTTLE);
} else if (mPressedButtons & 0x01) {
@@ -3294,15 +3294,15 @@ BOOL daPy_lk_c::execute() {
}
if (checkEquipHeavyBoots() &&
dComIfGp_getSelectItem(0) != dItem_IRON_BOOTS_e &&
dComIfGp_getSelectItem(1) != dItem_IRON_BOOTS_e &&
dComIfGp_getSelectItem(2) != dItem_IRON_BOOTS_e
dComIfGp_getSelectItem(dItemBtn_X_e) != dItem_IRON_BOOTS_e &&
dComIfGp_getSelectItem(dItemBtn_Y_e) != dItem_IRON_BOOTS_e &&
dComIfGp_getSelectItem(dItemBtn_Z_e) != dItem_IRON_BOOTS_e
) {
offNoResetFlg0(daPyFlg0_EQUIP_HEAVY_BOOTS);
} else if (checkEquipDragonShield() &&
dComIfGp_getSelectItem(0) != dItem_MAGIC_ARMOR_e &&
dComIfGp_getSelectItem(1) != dItem_MAGIC_ARMOR_e &&
dComIfGp_getSelectItem(2) != dItem_MAGIC_ARMOR_e
dComIfGp_getSelectItem(dItemBtn_X_e) != dItem_MAGIC_ARMOR_e &&
dComIfGp_getSelectItem(dItemBtn_Y_e) != dItem_MAGIC_ARMOR_e &&
dComIfGp_getSelectItem(dItemBtn_Z_e) != dItem_MAGIC_ARMOR_e
) {
offNoResetFlg1(daPyFlg1_EQUIP_DRAGON_SHIELD);
}
+3 -4
View File
@@ -187,7 +187,7 @@ dAttList_c* dAttention_c::getActionBtnXYZ_local(int button) {
/* 8009D9A8-8009D9FC .text getActionBtnX__12dAttention_cFv */
dAttList_c* dAttention_c::getActionBtnX() {
if (!dComIfGs_checkGetItemNum(dComIfGp_getSelectItem(0)))
if (!dComIfGs_checkGetItemNum(dComIfGp_getSelectItem(dItemBtn_X_e)))
return NULL;
return getActionBtnXYZ_local(0);
@@ -195,7 +195,7 @@ dAttList_c* dAttention_c::getActionBtnX() {
/* 8009D9FC-8009DA50 .text getActionBtnY__12dAttention_cFv */
dAttList_c* dAttention_c::getActionBtnY() {
if (!dComIfGs_checkGetItemNum(dComIfGp_getSelectItem(1)))
if (!dComIfGs_checkGetItemNum(dComIfGp_getSelectItem(dItemBtn_Y_e)))
return NULL;
return getActionBtnXYZ_local(1);
@@ -203,7 +203,7 @@ dAttList_c* dAttention_c::getActionBtnY() {
/* 8009DA50-8009DAA4 .text getActionBtnZ__12dAttention_cFv */
dAttList_c* dAttention_c::getActionBtnZ() {
if (!dComIfGs_checkGetItemNum(dComIfGp_getSelectItem(2)))
if (!dComIfGs_checkGetItemNum(dComIfGp_getSelectItem(dItemBtn_Z_e)))
return NULL;
return getActionBtnXYZ_local(2);
@@ -668,4 +668,3 @@ void dAttLook_c::request(fopAc_ac_c*, f32, f32, f32, s16, int) {
void dAttLook_c::requestF(fopAc_ac_c*, s16, int) {
/* Nonmatching */
}
+17 -17
View File
@@ -1280,16 +1280,16 @@ void dComIfGs_setPlayerRecollectionData() {
tbl = 3;
dComIfGp_setPlayerInfoBufferStageNo(4);
} else {
dComIfGs_setSelectItem(0, dInvSlot_NONE_e);
dComIfGs_setSelectItem(1, dInvSlot_NONE_e);
dComIfGs_setSelectItem(2, dInvSlot_NONE_e);
dComIfGs_setSelectItem(dItemBtn_X_e, dInvSlot_NONE_e);
dComIfGs_setSelectItem(dItemBtn_Y_e, dInvSlot_NONE_e);
dComIfGs_setSelectItem(dItemBtn_Z_e, dInvSlot_NONE_e);
return;
}
if (dComIfGs_getpPlayerStatusC(tbl)->mRecollectItem.mItems[0] != dItem_TELESCOPE_e) {
dComIfGs_setSelectItem(0, dInvSlot_NONE_e);
dComIfGs_setSelectItem(1, dInvSlot_NONE_e);
dComIfGs_setSelectItem(2, dInvSlot_NONE_e);
dComIfGs_setSelectItem(dItemBtn_X_e, dInvSlot_NONE_e);
dComIfGs_setSelectItem(dItemBtn_Y_e, dInvSlot_NONE_e);
dComIfGs_setSelectItem(dItemBtn_Z_e, dInvSlot_NONE_e);
return;
}
@@ -1382,15 +1382,15 @@ void dComIfGs_setPlayerRecollectionData() {
// 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]);
dComIfGs_setSelectItem(0, dInvSlot_NONE_e);
dComIfGs_setSelectItem(1, dInvSlot_NONE_e);
dComIfGs_setSelectItem(2, dInvSlot_NONE_e);
dComIfGs_setSelectItem(dItemBtn_X_e, dInvSlot_NONE_e);
dComIfGs_setSelectItem(dItemBtn_Y_e, dInvSlot_NONE_e);
dComIfGs_setSelectItem(dItemBtn_Z_e, dInvSlot_NONE_e);
}
/* 80055318-80055580 .text dComIfGs_revPlayerRecollectionData__Fv */
@@ -1487,9 +1487,9 @@ void dComIfGs_revPlayerRecollectionData() {
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);
dComIfGs_setSelectItem(dItemBtn_X_e, dInvSlot_NONE_e);
dComIfGs_setSelectItem(dItemBtn_Y_e, dInvSlot_NONE_e);
dComIfGs_setSelectItem(dItemBtn_Z_e, dInvSlot_NONE_e);
}
/* 80055580-8005586C .text dComIfGs_exchangePlayerRecollectionData__Fv */
+18 -18
View File
@@ -157,20 +157,20 @@ BOOL dEvt_control_c::talkXyCheck(dEvt_order_c* order) {
fopAc_ac_c* actor2 = order->mActor2;
int equippedItemIdx;
int itemBtn;
switch (order->mEventType) {
case dEvtType_SHOWITEM_X_e:
equippedItemIdx = 0;
itemBtn = dItemBtn_X_e;
break;
case dEvtType_SHOWITEM_Y_e:
equippedItemIdx = 1;
itemBtn = dItemBtn_Y_e;
break;
default:
equippedItemIdx = 2;
itemBtn = dItemBtn_Z_e;
break;
}
if (dComIfGp_getSelectItem(equippedItemIdx) == dItem_NONE_e) {
if (dComIfGp_getSelectItem(itemBtn) == dItem_NONE_e) {
return FALSE;
}
@@ -180,23 +180,23 @@ BOOL dEvt_control_c::talkXyCheck(dEvt_order_c* order) {
if (commonCheck(order, dEvtCnd_CANTALK_e, dEvtCmd_INTALK_e)) {
mMode = dEvtMode_TALK_e;
mItemNo = dComIfGp_getSelectItem(equippedItemIdx);
mItemNo = dComIfGp_getSelectItem(itemBtn);
switch (order->mEventType) {
case dEvtType_SHOWITEM_X_e:
mTalkButton = 1;
mTalkButton = dTalkBtn_X_e;
break;
case dEvtType_SHOWITEM_Y_e:
mTalkButton = 2;
mTalkButton = dTalkBtn_Y_e;
break;
default:
mTalkButton = 3;
mTalkButton = dTalkBtn_Z_e;
break;
}
// Fakematch
s16 r3;
if (actor2 != NULL && (r3 = actor2->eventInfo.runXyEventCB(actor2, equippedItemIdx), r3 != -1)) {
if (actor2 != NULL && (r3 = actor2->eventInfo.runXyEventCB(actor2, itemBtn), r3 != -1)) {
mEventId = r3;
} else {
mEventId = dComIfGp_evmng_getEventIdx(defaultEventName);
@@ -404,7 +404,7 @@ BOOL dEvt_control_c::endProc() {
mMode = dEvtMode_NONE_e;
field_0xde = 0xFF;
mEventInfoIdx = 0xFF;
mTalkButton = 0;
mTalkButton = dTalkBtn_NONE_e;
mbInPhoto = 0;
mItemNo = 0xFF;
mEventFlag = 0;
@@ -564,21 +564,21 @@ BOOL dEvt_control_c::photoCheck() {
s8 orderIdx = mFirstOrderIdx;
if (mOrderCount != 0) {
dEvt_order_c* order = &mOrder[orderIdx];
int equippedItemIdx = -1;
int itemBtn = -1;
switch (order->mEventType) {
case dEvtType_SHOWITEM_X_e:
equippedItemIdx = 0;
itemBtn = dItemBtn_X_e;
break;
case dEvtType_SHOWITEM_Y_e:
equippedItemIdx = 1;
itemBtn = dItemBtn_Y_e;
break;
case dEvtType_SHOWITEM_Z_e:
equippedItemIdx = 2;
itemBtn = dItemBtn_Z_e;
break;
}
if (equippedItemIdx != -1 &&
(dComIfGp_getSelectItem(equippedItemIdx) == CAMERA || dComIfGp_getSelectItem(equippedItemIdx) == CAMERA2) &&
if (itemBtn != -1 &&
(dComIfGp_getSelectItem(itemBtn) == CAMERA || dComIfGp_getSelectItem(itemBtn) == CAMERA2) &&
dComIfGs_getPictureNum() != 0
) {
actor2 = order->mActor2;
@@ -669,7 +669,7 @@ void dEvt_control_c::remove() {
mCullFarClipRatio = 0.0f;
field_0xde = 0xff;
mEventInfoIdx = 0xff;
mTalkButton = 0;
mTalkButton = dTalkBtn_NONE_e;
mbInPhoto = 0;
mItemNo = 0xff;
mEventFlag = 0;
+7 -7
View File
@@ -816,9 +816,9 @@ void item_func_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) == dItem_BOW_e) {
dComIfGp_setSelectItem(btnIdx);
for (int itemBtn = 0; itemBtn < dItemBtn_COUNT_e; itemBtn++) {
if (dComIfGp_getSelectItem(itemBtn) == dItem_BOW_e) {
dComIfGp_setSelectItem(itemBtn);
}
}
#endif
@@ -831,9 +831,9 @@ void item_func_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) == dItem_MAGIC_ARROW_e) {
dComIfGp_setSelectItem(btnIdx);
for (int itemBtn = 0; itemBtn < dItemBtn_COUNT_e; itemBtn++) {
if (dComIfGp_getSelectItem(itemBtn) == dItem_MAGIC_ARROW_e) {
dComIfGp_setSelectItem(itemBtn);
}
}
#endif
@@ -2815,7 +2815,7 @@ u8 getEmonoItemFromLifeBallTable(u16 itemTableIdx) {
items[14] = dComIfGp_CharTbl()->GetInf(dComIfGp_CharTbl()->GetNITEM14(), itemTableIdx);
items[15] = dComIfGp_CharTbl()->GetInf(dComIfGp_CharTbl()->GetNITEM15(), itemTableIdx);
for (int i = 0; i < 16; i++) {
for (int i = 0; i < (int)ARRAY_SIZE(items); i++) {
if (isEmono(items[i])) {
return items[i];
}
+4 -4
View File
@@ -1362,11 +1362,11 @@ s32 phase_4(dScnPly_ply_c* i_this) {
if (strcmp(dComIfGp_getStartStageName(), "GTower") == 0) {
dComIfGs_setItem(dInvSlot_BOW_e, dItem_NONE_e); // take away the bow
for (s32 i = 0; i < 3; i++) {
u32 itemno = dComIfGp_getSelectItem(i);
for (int itemBtn = 0; itemBtn < dItemBtn_COUNT_e; itemBtn++) {
u32 itemno = dComIfGp_getSelectItem(itemBtn);
if (itemno == dItem_BOW_e || itemno == dItem_MAGIC_ARROW_e || itemno == dItem_LIGHT_ARROW_e) {
dComIfGs_setSelectItem(i, dInvSlot_NONE_e);
dComIfGp_setSelectItem(i);
dComIfGs_setSelectItem(itemBtn, dInvSlot_NONE_e);
dComIfGp_setSelectItem(itemBtn);
}
}
} else if (dComIfGs_getItem(dInvSlot_BOW_e) == dItem_NONE_e) {
+117 -113
View File
@@ -25,12 +25,12 @@ void dSv_player_status_a_c::init() {
mLife = 12;
field_0x8 = 0;
for (int i = 0; i < 5; i++) {
for (int i = 0; i < ARRAY_SIZE(mSelectItem); i++) {
mSelectItem[i] = dItem_NONE_e;
dComIfGp_setSelectItem(i);
}
for (int i = 0; i < 4; i++) {
for (int i = 0; i < ARRAY_SIZE(mSelectEquip); i++) {
mSelectEquip[i] = dItem_NONE_e;
}
@@ -71,19 +71,19 @@ void dSv_player_return_place_c::set(const char* i_name, s8 i_roomNo, u8 i_status
/* 80058C60-80058C7C .text init__17dSv_player_item_cFv */
void dSv_player_item_c::init() {
for (int i = 0; i < 21; i++) {
for (int i = 0; i < ARRAY_SIZE(mItems); i++) {
mItems[i] = dItem_NONE_e;
}
}
/* 80058C7C-80058E1C .text setBottleItemIn__17dSv_player_item_cFUcUc */
void dSv_player_item_c::setBottleItemIn(u8 prevItemNo, u8 newItemNo) {
for (int bottleIdx = 0; bottleIdx < 4; bottleIdx++) {
if (mItems[0xE + bottleIdx] == prevItemNo) {
mItems[0xE + bottleIdx] = newItemNo;
for (int btnIdx = 0; btnIdx < 3; btnIdx++) {
if (dComIfGs_getSelectItem(btnIdx) == 0xE + bottleIdx) {
dComIfGp_setSelectItem(btnIdx);
for (int bottleIdx = 0; bottleIdx < dInvSlot_BOTTLE_COUNT_e; bottleIdx++) {
if (mItems[dInvSlot_BOTTLE0_e + bottleIdx] == prevItemNo) {
mItems[dInvSlot_BOTTLE0_e + bottleIdx] = newItemNo;
for (int itemBtn = 0; itemBtn < dItemBtn_COUNT_e; itemBtn++) {
if (dComIfGs_getSelectItem(itemBtn) == dInvSlot_BOTTLE0_e + bottleIdx) {
dComIfGp_setSelectItem(itemBtn);
}
}
break;
@@ -98,7 +98,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++) {
for (int bottleIdx = 0; bottleIdx < dInvSlot_BOTTLE_COUNT_e; bottleIdx++) {
int invIdx = dInvSlot_BOTTLE0_e + bottleIdx;
if (dComIfGs_getItem((u8)invIdx) == dItem_NONE_e) {
dComIfGs_setItem((u8)invIdx, EMPTY_BOTTLE);
@@ -108,8 +108,8 @@ 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);
void dSv_player_item_c::setEquipBottleItemIn(u8 i_itemBtn, u8 i_itemNo) {
u8 invIdx = dComIfGs_getSelectItem(i_itemBtn);
if (invIdx < dInvSlot_BOTTLE0_e)
return;
if (invIdx > dInvSlot_BOTTLE3_e)
@@ -117,42 +117,43 @@ void dSv_player_item_c::setEquipBottleItemIn(u8 i_btnIdx, u8 i_itemNo) {
mItems[invIdx] = i_itemNo;
dComIfGs_setItem(dComIfGs_getSelectItem(i_btnIdx), i_itemNo);
dComIfGp_setItem(dComIfGs_getSelectItem(i_btnIdx), i_itemNo);
dComIfGp_setSelectItem(i_btnIdx);
dComIfGs_setItem(dComIfGs_getSelectItem(i_itemBtn), i_itemNo);
dComIfGp_setItem(dComIfGs_getSelectItem(i_itemBtn), i_itemNo);
dComIfGp_setSelectItem(i_itemBtn);
}
/* 8005918C-800591B0 .text setEquipBottleItemEmpty__17dSv_player_item_cFUc */
void dSv_player_item_c::setEquipBottleItemEmpty(u8 i_btnIdx) {
setEquipBottleItemIn(i_btnIdx, EMPTY_BOTTLE);
void dSv_player_item_c::setEquipBottleItemEmpty(u8 i_itemBtn) {
setEquipBottleItemIn(i_itemBtn, EMPTY_BOTTLE);
}
/* 800591B0-80059408 .text setEquipBottleItemIn__17dSv_player_item_cFUc */
void dSv_player_item_c::setEquipBottleItemIn(u8 i_itemNo) {
u8 btnIdx = dComIfGp_event_getTalkXYBtn();
if (btnIdx == 1) {
btnIdx = 0;
} else if (btnIdx == 2) {
btnIdx = 1;
} else if (btnIdx == 3) {
btnIdx = 2;
u8 talkBtn = dComIfGp_event_getTalkXYBtn();
u8 itemBtn;
if (talkBtn == dTalkBtn_X_e) {
itemBtn = dItemBtn_X_e;
} else if (talkBtn == dTalkBtn_Y_e) {
itemBtn = dItemBtn_Y_e;
} else if (talkBtn == dTalkBtn_Z_e) {
itemBtn = dItemBtn_Z_e;
} else {
return;
}
u8 invIdx = dComIfGs_getSelectItem(btnIdx);
if (invIdx < 0xE) {
u8 invIdx = dComIfGs_getSelectItem(itemBtn);
if (invIdx < dInvSlot_BOTTLE0_e) {
return;
}
if (invIdx > 0x11) {
if (invIdx > dInvSlot_BOTTLE3_e) {
return;
}
mItems[invIdx] = i_itemNo;
dComIfGs_setItem(dComIfGs_getSelectItem(btnIdx), i_itemNo);
dComIfGp_setItem(dComIfGs_getSelectItem(btnIdx), i_itemNo);
dComIfGp_setSelectItem(btnIdx);
dComIfGs_setItem(dComIfGs_getSelectItem(itemBtn), i_itemNo);
dComIfGp_setItem(dComIfGs_getSelectItem(itemBtn), i_itemNo);
dComIfGp_setSelectItem(itemBtn);
}
/* 80059408-8005942C .text setEquipBottleItemEmpty__17dSv_player_item_cFv */
@@ -164,8 +165,8 @@ void dSv_player_item_c::setEquipBottleItemEmpty() {
u8 dSv_player_item_c::checkBottle(u8 i_itemNo) {
u8 ret = 0;
for (int i = 0; i < 4; i++) {
if (i_itemNo == mItems[i + 14]) {
for (int i = 0; i < dInvSlot_BOTTLE_COUNT_e; i++) {
if (i_itemNo == mItems[i + dInvSlot_BOTTLE0_e]) {
ret++;
}
}
@@ -177,8 +178,8 @@ u8 dSv_player_item_c::checkBottle(u8 i_itemNo) {
u8 dSv_player_item_c::checkEmptyBottle() {
u8 ret = 0;
for (int i = 0; i < 4; i++) {
if (mItems[i + 14] == EMPTY_BOTTLE) {
for (int i = 0; i < dInvSlot_BOTTLE_COUNT_e; i++) {
if (mItems[i + dInvSlot_BOTTLE0_e] == EMPTY_BOTTLE) {
ret++;
}
}
@@ -188,7 +189,7 @@ u8 dSv_player_item_c::checkEmptyBottle() {
/* 800594A8-800594C4 .text init__21dSv_player_get_item_cFv */
void dSv_player_get_item_c::init() {
for (int i = 0; i < 21; i++) {
for (int i = 0; i < ARRAY_SIZE(mItemFlags); i++) {
mItemFlags[i] = 0;
}
}
@@ -360,15 +361,15 @@ void dSv_player_item_max_c::init() {
}
/* 80059908-80059968 .text init__21dSv_player_bag_item_cFv */
void dSv_player_bag_item_c::init() {
for (int i = 0; i < 8; i++) {
for (int i = 0; i < ARRAY_SIZE(mBeast); i++) {
mBeast[i] = dItem_NONE_e;
}
for (int i = 0; i < 8; i++) {
for (int i = 0; i < ARRAY_SIZE(mBait); i++) {
mBait[i] = dItem_NONE_e;
}
for (int i = 0; i < 8; i++) {
for (int i = 0; i < ARRAY_SIZE(mReserve); i++) {
mReserve[i] = dItem_NONE_e;
}
}
@@ -376,7 +377,7 @@ void dSv_player_bag_item_c::init() {
/* 80059968-800599D8 .text setBeastItem__21dSv_player_bag_item_cFUc */
void dSv_player_bag_item_c::setBeastItem(u8 i_itemNo) {
if (!checkBeastItem(i_itemNo)) {
for (int i = 0; i < 8; i++) {
for (int i = 0; i < ARRAY_SIZE(mBeast); i++) {
if (mBeast[i] == dItem_NONE_e) {
mBeast[i] = i_itemNo;
return;
@@ -388,14 +389,14 @@ void dSv_player_bag_item_c::setBeastItem(u8 i_itemNo) {
/* 800599D8-80059C30 .text setBeastItemEmpty__21dSv_player_bag_item_cFUc */
void dSv_player_bag_item_c::setBeastItemEmpty(u8 i_itemNo) {
if (checkBeastItem(i_itemNo)) {
for (int i = 0; i < 8; i++) {
for (int i = 0; i < ARRAY_SIZE(mBeast); i++) {
if (mBeast[i] == i_itemNo) {
mBeast[i] = dItem_NONE_e;
for (int btnIdx = 0; btnIdx < 3; btnIdx++) {
if (dComIfGp_getSelectItem(btnIdx) == i_itemNo) {
dComIfGs_setItem(dComIfGs_getSelectItem(btnIdx), dItem_NONE_e);
dComIfGp_setItem(dComIfGs_getSelectItem(btnIdx), dItem_NONE_e);
dComIfGp_setSelectItem(btnIdx);
for (int itemBtn = 0; itemBtn < dItemBtn_COUNT_e; itemBtn++) {
if (dComIfGp_getSelectItem(itemBtn) == i_itemNo) {
dComIfGs_setItem(dComIfGs_getSelectItem(itemBtn), dItem_NONE_e);
dComIfGp_setItem(dComIfGs_getSelectItem(itemBtn), dItem_NONE_e);
dComIfGp_setSelectItem(itemBtn);
}
}
return;
@@ -406,7 +407,7 @@ void dSv_player_bag_item_c::setBeastItemEmpty(u8 i_itemNo) {
/* 80059C30-80059C60 .text checkBeastItem__21dSv_player_bag_item_cFUc */
bool dSv_player_bag_item_c::checkBeastItem(u8 i_itemNo) {
for (int i = 0; i < 8; i++) {
for (int i = 0; i < ARRAY_SIZE(mBeast); i++) {
if (mBeast[i] == i_itemNo) {
return true;
}
@@ -417,73 +418,75 @@ bool dSv_player_bag_item_c::checkBeastItem(u8 i_itemNo) {
/* 80059C60-80059EB0 .text setBaitItemChange__21dSv_player_bag_item_cFUc */
void dSv_player_bag_item_c::setBaitItemChange(u8 i_itemNo) {
u8 btnIdx = dComIfGp_event_getTalkXYBtn();
if (btnIdx == 1) {
btnIdx = 0;
} else if (btnIdx == 2) {
btnIdx = 1;
} else if (btnIdx == 3) {
btnIdx = 2;
u8 talkBtn = dComIfGp_event_getTalkXYBtn();
u8 itemBtn;
if (talkBtn == dTalkBtn_X_e) {
itemBtn = dItemBtn_X_e;
} else if (talkBtn == dTalkBtn_Y_e) {
itemBtn = dItemBtn_Y_e;
} else if (talkBtn == dTalkBtn_Z_e) {
itemBtn = dItemBtn_Z_e;
} else {
return;
}
u8 invIdx = dComIfGs_getSelectItem(btnIdx);
if (invIdx < 0x24) {
u8 invIdx = dComIfGs_getSelectItem(itemBtn);
if (invIdx < dInvSlot_BaitFirst_e) {
return;
}
if (invIdx >= 0x2C) {
if (invIdx >= dInvSlot_BaitLast_e) {
return;
}
dComIfGs_setItem(dComIfGs_getSelectItem(btnIdx), i_itemNo);
dComIfGp_setItem(dComIfGs_getSelectItem(btnIdx), i_itemNo);
dComIfGp_setSelectItem(btnIdx);
dComIfGs_setItem(dComIfGs_getSelectItem(itemBtn), i_itemNo);
dComIfGp_setItem(dComIfGs_getSelectItem(itemBtn), i_itemNo);
dComIfGp_setSelectItem(itemBtn);
}
/* 80059EB0-8005A0C8 .text setBaitItemChange__21dSv_player_bag_item_cFUcUc */
void dSv_player_bag_item_c::setBaitItemChange(u8 i_btnIdx, u8 i_itemNo) {
if (i_btnIdx > 2) {
void dSv_player_bag_item_c::setBaitItemChange(u8 i_itemBtn, u8 i_itemNo) {
if (i_itemBtn > dItemBtn_COUNT_e-1) {
return;
}
u8 invIdx = dComIfGs_getSelectItem(i_btnIdx);
if (invIdx < 0x24) {
u8 invIdx = dComIfGs_getSelectItem(i_itemBtn);
if (invIdx < dInvSlot_BaitFirst_e) {
return;
}
if (invIdx >= 0x2C) {
if (invIdx >= dInvSlot_BaitLast_e) {
return;
}
dComIfGs_setItem(dComIfGs_getSelectItem(i_btnIdx), i_itemNo);
dComIfGp_setItem(dComIfGs_getSelectItem(i_btnIdx), i_itemNo);
dComIfGp_setSelectItem(i_btnIdx);
dComIfGs_setItem(dComIfGs_getSelectItem(i_itemBtn), i_itemNo);
dComIfGp_setItem(dComIfGs_getSelectItem(i_itemBtn), i_itemNo);
dComIfGp_setSelectItem(i_itemBtn);
}
/* 8005A0C8-8005A1A4 .text setBaitItemEmpty__21dSv_player_bag_item_cFv */
void dSv_player_bag_item_c::setBaitItemEmpty() {
u8 btnIdx = dComIfGp_event_getTalkXYBtn();
if (btnIdx == 1) {
btnIdx = 0;
} else if (btnIdx == 2) {
btnIdx = 1;
} else if (btnIdx == 3) {
btnIdx = 2;
u8 talkBtn = dComIfGp_event_getTalkXYBtn();
u8 itemBtn;
if (talkBtn == dTalkBtn_X_e) {
itemBtn = dItemBtn_X_e;
} else if (talkBtn == dTalkBtn_Y_e) {
itemBtn = dItemBtn_Y_e;
} else if (talkBtn == dTalkBtn_Z_e) {
itemBtn = dItemBtn_Z_e;
} else {
return;
}
u8 invIdx = dComIfGs_getSelectItem(btnIdx);
if (invIdx < 0x24) {
u8 invIdx = dComIfGs_getSelectItem(itemBtn);
if (invIdx < dInvSlot_BaitFirst_e) {
return;
}
if (invIdx >= 0x2C) {
if (invIdx >= dInvSlot_BaitLast_e) {
return;
}
int baitSlotIdx = invIdx - 0x24;
int baitSlotIdx = invIdx - dInvSlot_BaitFirst_e;
u8 num = dComIfGs_getBaitNum(baitSlotIdx);
u8 itemNo = dComIfGp_getSelectItem(btnIdx);
u8 itemNo = dComIfGp_getSelectItem(itemBtn);
if (itemNo == dItem_HYOI_PEAR_e) {
u8 num = dComIfGs_getBaitNum(baitSlotIdx);
@@ -501,26 +504,26 @@ void dSv_player_bag_item_c::setBaitItemEmpty() {
}
/* 8005A1A4-8005A248 .text setBaitItemEmpty__21dSv_player_bag_item_cFUc */
void dSv_player_bag_item_c::setBaitItemEmpty(u8 i_btnIdx) {
if (i_btnIdx > 2) {
void dSv_player_bag_item_c::setBaitItemEmpty(u8 i_itemBtn) {
if (i_itemBtn > dItemBtn_COUNT_e-1) {
return;
}
u8 invIdx = dComIfGs_getSelectItem(i_btnIdx);
if (invIdx < 0x24) {
u8 invIdx = dComIfGs_getSelectItem(i_itemBtn);
if (invIdx < dInvSlot_BaitFirst_e) {
return;
}
if (invIdx >= 0x2C) {
if (invIdx >= dInvSlot_BaitLast_e) {
return;
}
int baitSlotIdx = invIdx - 0x24;
int baitSlotIdx = invIdx - dInvSlot_BaitFirst_e;
u8 num = dComIfGs_getBaitNum(baitSlotIdx);
u8 itemNo = dComIfGp_getSelectItem(i_btnIdx);
u8 itemNo = dComIfGp_getSelectItem(i_itemBtn);
if (itemNo == dItem_HYOI_PEAR_e) {
u8 num = dComIfGs_getBaitNum(baitSlotIdx);
setBaitItemChange(i_btnIdx, dItem_NONE_e);
setBaitItemChange(i_itemBtn, dItem_NONE_e);
} else if (itemNo == BIRD_ESA_5) {
num = dComIfGs_getBaitNum(baitSlotIdx);
if (num > 0) {
@@ -528,7 +531,7 @@ void dSv_player_bag_item_c::setBaitItemEmpty(u8 i_btnIdx) {
}
dComIfGs_setBaitNum(baitSlotIdx, num);
if (num == 0) {
setBaitItemChange(i_btnIdx, dItem_NONE_e);
setBaitItemChange(i_itemBtn, dItem_NONE_e);
}
}
}
@@ -566,47 +569,48 @@ u8 dSv_player_bag_item_c::checkBaitItem(u8 i_itemNo) {
/* 8005A334-8005A584 .text setReserveItemChange__21dSv_player_bag_item_cFUc */
void dSv_player_bag_item_c::setReserveItemChange(u8 i_itemNo) {
u8 btnIdx = dComIfGp_event_getTalkXYBtn();
if (btnIdx == 1) {
btnIdx = 0;
} else if (btnIdx == 2) {
btnIdx = 1;
} else if (btnIdx == 3) {
btnIdx = 2;
u8 talkBtn = dComIfGp_event_getTalkXYBtn();
u8 itemBtn;
if (talkBtn == dTalkBtn_X_e) {
itemBtn = dItemBtn_X_e;
} else if (talkBtn == dTalkBtn_Y_e) {
itemBtn = dItemBtn_Y_e;
} else if (talkBtn == dTalkBtn_Z_e) {
itemBtn = dItemBtn_Z_e;
} else {
return;
}
u8 invIdx = dComIfGs_getSelectItem(btnIdx);
if (invIdx < 0x30) {
u8 invIdx = dComIfGs_getSelectItem(itemBtn);
if (invIdx < dInvSlot_ReserveFirst_e) {
return;
}
if (invIdx >= 0x38) {
if (invIdx >= dInvSlot_ReserveLast_e) {
return;
}
dComIfGs_setItem(dComIfGs_getSelectItem(btnIdx), i_itemNo);
dComIfGp_setItem(dComIfGs_getSelectItem(btnIdx), i_itemNo);
dComIfGp_setSelectItem(btnIdx);
dComIfGs_setItem(dComIfGs_getSelectItem(itemBtn), i_itemNo);
dComIfGp_setItem(dComIfGs_getSelectItem(itemBtn), i_itemNo);
dComIfGp_setSelectItem(itemBtn);
}
/* 8005A584-8005A79C .text setReserveItemChange__21dSv_player_bag_item_cFUcUc */
void dSv_player_bag_item_c::setReserveItemChange(u8 i_btnIdx, u8 i_itemNo) {
if (i_btnIdx > 2) {
void dSv_player_bag_item_c::setReserveItemChange(u8 i_itemBtn, u8 i_itemNo) {
if (i_itemBtn > dItemBtn_COUNT_e-1) {
return;
}
u8 invIdx = dComIfGs_getSelectItem(i_btnIdx);
if (invIdx < 0x30) {
u8 invIdx = dComIfGs_getSelectItem(i_itemBtn);
if (invIdx < dInvSlot_ReserveFirst_e) {
return;
}
if (invIdx >= 0x38) {
if (invIdx >= dInvSlot_ReserveLast_e) {
return;
}
dComIfGs_setItem(dComIfGs_getSelectItem(i_btnIdx), i_itemNo);
dComIfGp_setItem(dComIfGs_getSelectItem(i_btnIdx), i_itemNo);
dComIfGp_setSelectItem(i_btnIdx);
dComIfGs_setItem(dComIfGs_getSelectItem(i_itemBtn), i_itemNo);
dComIfGp_setItem(dComIfGs_getSelectItem(i_itemBtn), i_itemNo);
dComIfGp_setSelectItem(i_itemBtn);
}
/* 8005A79C-8005A7C0 .text setReserveItemEmpty__21dSv_player_bag_item_cFv */
@@ -709,7 +713,7 @@ void dSv_player_bag_item_record_c::init() {
/* 8005ACA8-8005ACE0 .text init__20dSv_player_collect_cFv */
void dSv_player_collect_c::init() {
for (int i = 0; i < 8; i++) {
for (int i = 0; i < ARRAY_SIZE(mCollect); i++) {
mCollect[i] = 0;
}
@@ -941,7 +945,7 @@ void dSv_player_info_c::init() {
mDeathCount = 0;
mClearCount = 0;
for (int i = 0; i < 17; i++) {
for (int i = 0; i < ARRAY_SIZE(field_0x47); i++) {
field_0x47[i] = 0;
}
@@ -1014,13 +1018,13 @@ void dSv_player_c::init() {
void dSv_memBit_c::init() {
mTbox = 0;
for (int i = 0; i < 4; i++) {
for (int i = 0; i < ARRAY_SIZE(mSwitch); i++) {
mSwitch[i] = 0;
}
mItem[0] = 0;
for (int i = 0; i < 2; i++) {
for (int i = 0; i < ARRAY_SIZE(mVisitedRoom); i++) {
mVisitedRoom[i] = 0;
}