daNpc_Bs1_c Work (#614)

* daNpc_Bs1_c Work

Almost matching

* Every Time

Always has to be something forgotten

* Cleanup

* Tiny Detail Slipped Through

* Last One Hopefully
This commit is contained in:
SuperDude88
2024-04-10 23:13:59 -04:00
committed by GitHub
parent 9aea41ad24
commit bc7fdd6fcb
6 changed files with 1163 additions and 65 deletions
+22 -13
View File
@@ -56,15 +56,15 @@ public:
void eventOrder();
void checkOrder();
u16 next_msgStatus(u32*);
void getMsg();
u32 getMsg();
void setCollision();
void talkInit();
BOOL shopMsgCheck(u32);
void getDefaultMsg();
void shopStickMoveMsgCheck(u32);
u32 getDefaultMsg();
BOOL shopStickMoveMsgCheck(u32);
BOOL checkBeastItemSellMsg(u32);
void normal_talk();
void shop_talk();
u16 normal_talk();
u16 shop_talk();
u16 talk();
void createShopList();
BOOL isSellBomb();
@@ -91,6 +91,10 @@ public:
BOOL _delete();
s32 _create();
BOOL CreateHeap();
static u8 m_tag_buy_item_max;
static u8 m_tag_buy_item;
static s16 m_tag_pay_rupee;
public:
/* 0x290 */ request_of_phase_process_class mPhase;
@@ -113,11 +117,12 @@ public:
/* 0x640 */ dNpc_EventCut_c mEventCut;
/* 0x6AC */ dNpc_JntCtrl_c mJntCtrl;
/* 0x6E0 */ STControl mStickControl;
/* 0x708 */ u8 m708[0x718 - 0x708];
/* 0x708 */ s8 m708;
/* 0x709 */ u8 m70C[0x718 - 0x709];
/* 0x718 */ cXyz m718;
/* 0x724 */ s16 m724;
/* 0x726 */ u16 m726;
/* 0x728 */ u8 m728[0x72E - 0x728];
/* 0x726 */ csXyz m726;
/* 0x72C */ u16 m72C;
/* 0x72E */ u8 m72E;
/* 0x72F */ u8 m72F;
/* 0x730 */ u8 m730;
@@ -126,7 +131,7 @@ public:
/* 0x733 */ u8 m733;
/* 0x734 */ f32 m734;
/* 0x738 */ u32 m738;
/* 0x73C */ u8 m73C[0x740 - 0x73C];
/* 0x73C */ u32 m73C;
/* 0x740 */ u32 m740;
/* 0x744 */ u32 m744;
/* 0x748 */ cXyz mItemPosOffsets[3];
@@ -145,12 +150,16 @@ public:
/* 0x830 */ s8 m830;
/* 0x831 */ u8 m831;
/* 0x832 */ s8 mType;
/* 0x833 */ u8 mShopIndex;
/* 0x833 */ s8 mShopIndex;
/* 0x834 */ s8 mActionStatus;
/* 0x835 */ u8 m835;
/* 0x836 */ u8 m836[0x83A - 0x836];
/* 0x835 */ s8 m835;
/* 0x836 */ s8 m836;
/* 0x837 */ s8 m837;
/* 0x838 */ s8 m838;
/* 0x839 */ u8 m839;
/* 0x83A */ s16 m83A;
/* 0x83C */ u8 m83C[0x844 - 0x83C];
/* 0x83C */ u32 m83C;
/* 0x840 */ u32 m840;
}; // Size: 0x844
class daNpc_Bs1_childHIO_c {
+24 -2
View File
@@ -277,11 +277,16 @@ public:
mpPlayer[idx] = (daPy_py_c*)player;
mCurCamera[idx] = cam;
}
int getMessageRupee() { return mMessageRupee; }
int getItemRupeeCount() { return mItemRupeeCount; }
void setItemRupeeCount(s32 count) { mItemRupeeCount += count; }
void setMessageCountNumber(s16 num) { mMsgCountNumber = num; }
void setMessageSetNumber(s16 num) { mMsgSetNumber = num; }
s16 getMessageSetNumber() { return mMsgSetNumber; }
s16 getMiniGameRupee() { return mMiniGameRupee; }
void setMiniGameRupee(s16 count) { mMiniGameRupee = count; }
void plusMiniGameRupee(s16 count) {
@@ -349,6 +354,7 @@ public:
void setItemKeyNumCount(s16 num) { mItemKeyNumCount += num; }
void setItemBeastNumCount(int i_idx, s16 num) { mItemBeastNumCounts[i_idx] += num; }
s16 getItemBeastNumCount(int i_idx) { return mItemBeastNumCounts[i_idx]; }
void setItemTimeCount(s32 time) { mAirMeter = time; }
void setItemTimeMax(s32 time) { field_0x4928 = time; }
@@ -579,8 +585,8 @@ public:
/* 0x48E8 */ s16 mItemBeastNumCounts[8];
/* 0x48F8 */ u8 field_0x48F8[0x4918 - 0x48F8];
/* 0x4918 */ u16 mMsgCountNumber;
/* 0x491A */ s16 field_0x491a;
/* 0x491C */ s16 field_0x491c;
/* 0x491A */ s16 mMsgSetNumber;
/* 0x491C */ s16 mMessageRupee;
/* 0x491E */ s16 field_0x491e;
/* 0x4920 */ s16 field_0x4920;
/* 0x4922 */ s16 field_0x4922;
@@ -744,6 +750,10 @@ inline int dComIfGs_getRupee() {
return g_dComIfG_gameInfo.save.getPlayer().getPlayerStatusA().getRupee();
}
inline int dComIfGp_getMessageRupee() {
return g_dComIfG_gameInfo.play.getMessageRupee();
}
inline void dComIfGs_setRupee(u16 rupee) {
g_dComIfG_gameInfo.save.getPlayer().getPlayerStatusA().setRupee(rupee);
}
@@ -2126,6 +2136,14 @@ inline void dComIfGp_setItemRupeeCount(s32 count) {
g_dComIfG_gameInfo.play.setItemRupeeCount(count);
}
inline s16 dComIfGp_getMessageSetNumber() {
return g_dComIfG_gameInfo.play.getMessageSetNumber();
}
inline void dComIfGp_setMessageSetNumber(s16 num) {
g_dComIfG_gameInfo.play.setMessageSetNumber(num);
}
inline f32 dComIfGp_getItemLifeCount() {
return g_dComIfG_gameInfo.play.getItemLifeCount();
}
@@ -2194,6 +2212,10 @@ inline void dComIfGp_setItemBeastNumCount(int i_idx, s16 num) {
g_dComIfG_gameInfo.play.setItemBeastNumCount(i_idx, num);
}
inline s16 dComIfGp_getItemBeastNumCount(int i_idx) {
return g_dComIfG_gameInfo.play.getItemBeastNumCount(i_idx);
}
inline u8 dComIfGp_checkMesgSendButton() {
return g_dComIfG_gameInfo.play.checkMesgSendButton();
}
+2 -1
View File
@@ -22,7 +22,7 @@ enum ShopItems_c__BuyConditions {
};
struct ShopItems_c__ItemData {
/* 0x00 */ int mItemNo;
/* 0x00 */ u32 mItemNo;
/* 0x04 */ int mMustNotOwnItemNo;
/* 0x08 */ int mMustOwnItemNo;
/* 0x0C */ u8 mBuyConditions;
@@ -267,5 +267,6 @@ extern __shop_items_set_data* Item_set_data_bshop_4[];
extern __shop_items_set_data* Item_set_data_bshop_5[];
extern __shop_items_set_data* Item_set_data_bshop_6[];
extern __shop_items_set_data** Item_set_data_tbl[];
extern Vec* Item_set_pos_data_tbl[];
#endif /* D_SHOP_H */
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -91,8 +91,8 @@ void dComIfG_play_c::itemInit() {
}
mMsgCountNumber = 0;
field_0x491a = 0;
field_0x491c = 0;
mMsgSetNumber = 0;
mMessageRupee = 0;
field_0x491e = 0;
field_0x4920 = 0;
field_0x4922 = 0;
+4
View File
@@ -326,3 +326,7 @@ BOOL daStandItem_c::daiItemNodeCallBack(J3DNode*, int) {
}
bool daNpc_kam_c::m_hyoi_kamome;
u8 daNpc_Bs1_c::m_tag_buy_item_max;
u8 daNpc_Bs1_c::m_tag_buy_item;
s16 daNpc_Bs1_c::m_tag_pay_rupee;