d_a_auction (#654)

* Started working on d_a_auction

* daAuction_c Updated member variables

* daAuction_c Refactored class

* daAuction_c::getRand matching

* daAuction_c constructor matching

* d_a_auction CheckCreateHeap matching

* daAuction_c::_create matching

* d_a_auction l_item_dat matching

* daAuction_c::createHeap matching

* d_a_auction Added HIO classes

* daAuction_c::createInit WIP

* daAuction_c::_delete matching

* daAuction_c::_draw matching

* daAuction_c::_execute matching

* d_a_auction Fixed procfunc arrays

* daAuction_c moveProc funcs matching

* daAuction_c::checkOrder matching

* daAuction_c::eventOrder WIP

* daAuction_c::eventMove matching

* daAuction_c::privateCut WIP

* daAuction_c::eventTalkInit matching

* daAuction_c::eventMesSet matching

* daAuction_c::eventMesEnd matching

* daAuction_c::eventStartInit matching

* daAuction_c::eventStart matching

* daAuction_c::eventMainInit matching

* daAuction_c::eventMain matching

* daAuction_c::eventMainKai matching

* daAuction_c::eventMainKai Fixed formatting

* daAuction_c::eventMainUri matching

* d_a_auction matching fixes

* daAuction_c::eventMainMsgSet matching

* daAuction_c::eventMainMsgEnd matching

* daAuction_c::setMtx matching

* daAuction_c::getItemNo matching

* daAuction_c::setLinkAnm matching

* d_a_auction matched some functions

* d_a_auction matched SetMessage functions

* daAuction_c::getNpcActorP matching

* daAuction_c::eventMainMsgBikonC matching

* daAuction_c::eventMainMsgBikonW matching

* daAuction_c::eventGetItemInit matching

* daAuction_c::eventGetItemNpcInit matching

* daAuction_c::eventGetItemMesInit matching

* d_a_auction matched some functions

* daAuction_c::setCameraNpc matching

* daAuction_c::nextBet matching

* daAuction_c::privateCut Fixed matching

* d_a_auction .data section matching

* daAuction_c::next_msgStatus WIP

* daAuction_c::next_msgStatus matching

* Fixed variable names

* d_a_auction cleanup

* d_a_auction more cleanup

* d_a_auction non-matching

* d_a_auction minor tweak
This commit is contained in:
Daniel Hajjar
2024-06-02 19:48:53 +02:00
committed by GitHub
parent 14200323fb
commit ed7a50cd86
9 changed files with 1600 additions and 159 deletions
+1 -1
View File
@@ -1393,7 +1393,7 @@ config.libs = [
ActorRel(NonMatching, "d_a_wind_tag"),
ActorRel(NonMatching, "d_a_acorn_leaf"),
ActorRel(NonMatching, "d_a_atdoor"),
ActorRel(NonMatching, "d_a_auction"),
ActorRel(NonMatching, "d_a_auction", extra_cflags=['-pragma "nosyminline on"']),
ActorRel(NonMatching, "d_a_bb"),
ActorRel(NonMatching, "d_a_bdk"),
ActorRel(NonMatching, "d_a_bdkobj"),
+107 -45
View File
@@ -3,15 +3,26 @@
#include "f_op/f_op_actor.h"
#include "SSystem/SComponent/c_phase.h"
#include "d/d_com_inf_game.h"
#include "d/d_npc.h"
#include "m_Do/m_Do_hostIO.h"
class daAuction_c : public fopAc_ac_c {
class daAuction_c : public fopNpc_npc_c {
public:
typedef void(daAuction_c::*ProcFunc_t)();
struct ItemData {
/* 0x00 */ s16 mItemID;
/* 0x02 */ s16 mNameMsgID;
/* 0x04 */ s16 mStartingBid;
/* 0x06 */ u16 mObtainedEventBit;
}; // Size: 0x08
daAuction_c();
void chkNpcExec(int) {}
void getAnmNpcNo() {}
void getAucMdlNo(unsigned char) {}
u8 getAucMdlNo(u8 idx) { return mAucMdlNo[idx]; }
void getAucNpcNo(unsigned char) {}
void getBetNpcNo() {}
void getKind(unsigned char) {}
@@ -21,18 +32,21 @@ public:
void isAucBetA() {}
void isAucGet() {}
void isAucJikkyou() {}
void offCamera() {}
void offCamera() { // Might be incorrect
m835 |= 2;
m835 &= 0xFE;
}
void onCamera(unsigned char) {}
void onCameraOld(unsigned char) {}
void setAucMdlNo(unsigned char, unsigned char) {}
void setAucMdlNo(u8 idx, u8 mdlNo) { mAucMdlNo[idx] = mdlNo; }
void setItemNo(unsigned char) {}
void setKind(unsigned char, unsigned char) {}
void setNpcID(int, uint) {}
void setStart(unsigned char) {}
s32 _create();
void createHeap();
void createInit();
BOOL createHeap();
s32 createInit();
BOOL _delete();
BOOL _draw();
BOOL _execute();
@@ -44,12 +58,12 @@ public:
void eventMove();
void privateCut();
void eventTalkInit(int);
void eventMesSet();
void eventMesEnd();
bool eventMesSet();
bool eventMesEnd();
void eventStartInit();
void eventStart();
bool eventStart();
void eventMainInit();
void eventMain();
bool eventMain();
void eventMainKai();
void eventMainUri();
void eventMainMsgSet();
@@ -57,65 +71,113 @@ public:
void eventMainMsgBikonC();
void eventMainMsgBikonW();
void eventGetItemInit();
void eventGetItem();
bool eventGetItem();
void eventCameraOffInit();
void eventGetItemNpcInit(int);
void eventGetItemNpcInit(int staffIdx);
void eventGetItemMesInit();
void eventCameraOffNpc();
bool eventCameraOffNpc();
void eventEndInit();
void eventEnd();
bool eventEnd();
void eventCameraTestInit();
void eventCameraTest();
void next_msgStatus(unsigned long*);
void setMessage(unsigned long);
void setMessage2(unsigned long);
bool eventCameraTest();
u16 next_msgStatus(u32* pMsgNo);
void setMessage(u32);
void setMessage2(u32);
void setMtx();
void getItemNo();
void getNpcActorP(int);
void setCameraNpc(int, short);
void setLinkAnm(unsigned char);
void getPiconDispOfs(unsigned char);
u8 getItemNo();
fopAc_ac_c* getNpcActorP(int idx);
void setCameraNpc(int, s16);
void setLinkAnm(u8 linkAnm);
f32 getPiconDispOfs(u8 param);
void nextBet();
void getRand(int);
int getRand(int);
public:
/* 0x290 */ u8 m290[0x6C4 - 0x290];
/* 0x6C4 */ request_of_phase_process_class mPhs;
/* 0x6CC */ dNpc_EventCut_c mNpcEvtInfo;
/* 0x730 */ u8 m730[0x788 - 0x730];
/* 0x738 */ u32 m738[8];
/* 0x758 */ uint mCurrAuctionItemPID;
/* 0x75C */ uint mTimerID;
/* 0x760 */ uint mGaugeID;
/* 0x764 */ dTimer_c* mpTimer;
/* 0x768 */ LIGHT_INFLUENCE mLight;
/* 0x788 */ J3DModel* mpModel;
/* 0x78C */ u8 m78C[0x7A4 - 0x78C];
/* 0x7A4 */ int m7A4;
/* 0x7A8 */ u8 m7A8[0x7EC - 0x7A8];
/* 0x78C */ cXyz m78C;
/* 0x798 */ cXyz m798;
/* 0x7A4 */ JPABaseEmitter* mpEmitter;
/* 0x7A8 */ cXyz m7A8;
/* 0x7B4 */ u8 m7B4[0x7BC - 0x7B4];
/* 0x7BC */ f32 mAlpha;
/* 0x7C0 */ f32 mBlend;
/* 0x7C4 */ f32 m7C4[7]; // Npc wait timer?
/* 0x7E0 */ f32 m7E0;
/* 0x7E4 */ f32 m7E4;
/* 0x7E8 */ u8 m7E8[0x7EC - 0x7E8];
/* 0x7EC */ int m7EC;
/* 0x7F0 */ int m7F0;
/* 0x7F4 */ u16 mEvtStartIdx;
/* 0x7F6 */ u16 mEvtGetItemIdx;
/* 0x7F8 */ u16 mEvtNoItemIdx;
/* 0x7FA */ u16 mEvtStart2Idx;
/* 0x7FC */ u16 mEvtEnd2Idx;
/* 0x7FE */ u16 mCurrItemNameMsgNo;
/* 0x800 */ u8 m800[0x81C - 0x800];
/* 0x7F4 */ s16 mEvtStartIdx;
/* 0x7F6 */ s16 mEvtGetItemIdx;
/* 0x7F8 */ s16 mEvtNoItemIdx;
/* 0x7FA */ s16 mEvtStart2Idx;
/* 0x7FC */ s16 mEvtEnd2Idx;
/* 0x7FE */ s16 mCurrBid;
/* 0x800 */ s16 m800;
/* 0x802 */ s16 mTimer;
/* 0x804 */ u16 m804;
/* 0x806 */ s16 m806;
/* 0x808 */ s16 m808;
/* 0x80A */ s16 m80A;
/* 0x80C */ u8 m80C[8];
/* 0x814 */ u8 mAucMdlNo[8];
/* 0x81C */ u8 m81C;
/* 0x81D */ u8 m81D;
/* 0x81E */ u8 m81E;
/* 0x81F */ u8 m81F[0x820 - 0x81F];
/* 0x81E */ u8 mMoveState;
/* 0x81F */ u8 m81F;
/* 0x820 */ u8 m820;
/* 0x821 */ u8 m821;
/* 0x822 */ u8 m822;
/* 0x823 */ u8 mCurrAuctionItemIndex;
/* 0x824 */ u8 m824;
/* 0x825 */ u8 m825[0x826 - 0x825];
/* 0x825 */ u8 m825;
/* 0x826 */ u8 m826;
/* 0x827 */ u8 m827[0x82D - 0x827];
/* 0x827 */ u8 m827;
/* 0x828 */ u8 m828;
/* 0x829 */ u8 m829;
/* 0x82A */ u8 m82A;
/* 0x82B */ u8 m82B;
/* 0x82C */ u8 m82C;
/* 0x82D */ u8 mCurLinkAnm;
/* 0x82E */ u8 m82E[0x832 - 0x82E];
/* 0x82E */ u8 m82E;
/* 0x82F */ u8 m82F;
/* 0x830 */ u8 m830;
/* 0x831 */ u8 m831;
/* 0x832 */ u8 m832;
/* 0x833 */ u8 m833[0x836 - 0x833];
/* 0x833 */ u8 mFace;
/* 0x834 */ u8 m834;
/* 0x835 */ u8 m835;
/* 0x836 */ u8 m836;
/* 0x837 */ u8 m837[0x838 - 0x837];
/* 0x838 */ u8 m838;
/* 0x839 */ u8 m839[0x83C - 0x839];
/* 0x837 */ u8 mFlags; /* Just a guess */
/* 0x838 */ s8 m838;
/* 0x839 */ s8 mAction;
/* 0x83A */ u8 field_83A[0x83C - 0x83A];
};
/* Inferred from debug map */
class daAuction_HIO_c : public JORReflexible {
public:
daAuction_HIO_c() {}
public:
/* Place member variables here */
};
/* Inferred from debug map */
class daAuction_Npc_HIO_c {
public:
daAuction_Npc_HIO_c() {}
public:
/* Place member variables here */
};
#endif /* D_A_AUCTION_H */
+16 -15
View File
@@ -2,12 +2,13 @@
#define D_A_NPC_AUCTION_H
#include "f_op/f_op_actor.h"
#include "d/d_npc.h"
struct sAnmDat {
};
class daNpcAuction_c : public fopAc_ac_c {
class daNpcAuction_c : public fopNpc_npc_c {
public:
daNpcAuction_c();
@@ -17,7 +18,7 @@ public:
inline BOOL _execute();
void getMdlNo() {}
void getPhaseP() {}
void getPiconOfsY() {}
f32 getPiconOfsY() { return mPiconOfsY; }
void setAction(void (daNpcAuction_c::*)()) {}
void setBmtNo(int) {}
void setBtpNo(int) {}
@@ -38,8 +39,8 @@ public:
void eventMesSet();
void XyCheckCB(int);
void XyEventCB(int);
void next_msgStatus(unsigned long*);
void getMsg();
u16 next_msgStatus(u32*);
u32 getMsg();
void setAnmFromMsgTag();
void getPrmNpcNo();
void setMtx();
@@ -55,19 +56,19 @@ public:
void clrEmitter();
public:
/* 0x290 */ u8 m290[0x6B0 - 0x290];
/* 0x6B0 */ u8 m6B0;
/* 0x6B1 */ u8 m6B1[0x73C - 0x6B1];
/* 0x6C4 */ u8 m6C4[0x724 - 0x6C4];
/* 0x724 */ f32 mPiconOfsY;
/* 0x728 */ u8 m728[0x73B - 0x728];
/* 0x73B */ u8 m73B;
/* 0x73C */ u8 m73C;
/* 0x73D */ u8 m73D;
/* 0x73E */ u8 m73E;
/* 0x73F */ u8 m73F[0x740 - 0x73F];
/* 0x740 */ u8 m740;
/* 0x741 */ u8 m741[0x743 - 0x741];
/* 0x743 */ u8 m743;
/* 0x744 */ u8 m744[0x745 - 0x744];
/* 0x745 */ u8 m745;
/* 0x746 */ u8 m746[0x74C - 0x746];
/* 0x73E */ u8 m73E[0x73F - 0x73E];
/* 0x73F */ u8 m73F;
/* 0x740 */ u8 m740[0x742 - 0x740];
/* 0x742 */ u8 m742;
/* 0x743 */ u8 m743[0x744 - 0x743];
/* 0x744 */ u8 m744;
/* 0x745 */ u8 field_745[0x74B - 0x745];
};
#endif /* D_A_NPC_AUCTION_H */
+6 -3
View File
@@ -374,14 +374,17 @@ public:
cXyz getRopePos() const { return mRopePos; }
void getYPos() const {}
void changeDemoMode(u32) {}
void changeDemoMode(u32 mode) { mDemo.setDemoMode(mode); }
void changeDemoMoveAngle(s16 angle) { mDemo.setMoveAngle(angle); }
void changeDemoParam0(int) {}
void changeDemoParam0(int param0) { mDemo.setParam0(param0); }
void changeOriginalDemo() {
mDemo.setOriginalDemoType();
mDemo.setParam0(0);
}
void cancelOriginalDemo() {}
void cancelOriginalDemo() {
mDemo.setSystemDemoType();
mDemo.setDemoMode(1);
}
void onNoResetFlg0(daPy_FLG0 flag) { mNoResetFlg0 |= flag; }
void offNoResetFlg0(daPy_FLG0 flag) { mNoResetFlg0 &= ~flag; }
+26 -4
View File
@@ -282,6 +282,9 @@ public:
int getMessageRupee() { return mMessageRupee; }
void setAuctionRupee(s16 count) { mAuctionRupee = count; }
void setAuctionGauge(s16 gauge) { mAuctionGauge = gauge; }
int getItemRupeeCount() { return mItemRupeeCount; }
void setItemRupeeCount(s32 count) { mItemRupeeCount += count; }
void setMessageCountNumber(s16 num) { mMsgCountNumber = num; }
@@ -354,6 +357,9 @@ public:
s16 getItemArrowNumCount() { return mItemArrowNumCount; }
void setItemArrowNumCount(s16 num) { mItemArrowNumCount += num; }
void setNpcNameMessageID(u32 id) { mNpcNameMessageID = id; }
void setItemNameMessageID(u32 id) { mItemNameMessageID = id; }
void setItemKeyNumCount(s16 num) { mItemKeyNumCount += num; }
void setItemBeastNumCount(int i_idx, s16 num) { mItemBeastNumCounts[i_idx] += num; }
@@ -580,8 +586,8 @@ public:
/* 0x48C0 */ int mItemRupeeCount;
/* 0x48C4 */ int mAirMeter;
/* 0x48C8 */ int field_0x48c8;
/* 0x48CC */ int mNpcNameMessageID;
/* 0x48D0 */ int mItemNameMessageID;
/* 0x48CC */ u32 mNpcNameMessageID;
/* 0x48D0 */ u32 mItemNameMessageID;
/* 0x48D4 */ s16 mItemKeyNumCount;
/* 0x48D6 */ s16 mItemMaxLifeCount;
/* 0x48D8 */ s16 mItemMagicCount;
@@ -597,8 +603,8 @@ public:
/* 0x4918 */ u16 mMsgCountNumber;
/* 0x491A */ s16 mMsgSetNumber;
/* 0x491C */ s16 mMessageRupee;
/* 0x491E */ s16 field_0x491e;
/* 0x4920 */ s16 field_0x4920;
/* 0x491E */ s16 mAuctionRupee;
/* 0x4920 */ s16 mAuctionGauge;
/* 0x4922 */ s16 field_0x4922;
/* 0x4924 */ s16 mCurrHP;
/* 0x4926 */ s16 mRupyCountDisplay;
@@ -763,6 +769,14 @@ inline int dComIfGp_getMessageRupee() {
return g_dComIfG_gameInfo.play.getMessageRupee();
}
inline void dComIfGp_setAuctionRupee(s16 count) {
g_dComIfG_gameInfo.play.setAuctionRupee(count);
}
inline void dComIfGp_setAuctionGauge(s16 gauge) {
g_dComIfG_gameInfo.play.setAuctionGauge(gauge);
}
inline void dComIfGs_setRupee(u16 rupee) {
g_dComIfG_gameInfo.save.getPlayer().getPlayerStatusA().setRupee(rupee);
}
@@ -2187,6 +2201,14 @@ inline void dComIfGp_setItemMaxLifeCount(s16 num) {
g_dComIfG_gameInfo.play.setItemMaxLifeCount(num);
}
inline void dComIfGp_setNpcNameMessageID(u32 id) {
g_dComIfG_gameInfo.play.setNpcNameMessageID(id);
}
inline void dComIfGp_setItemNameMessageID(u32 id) {
g_dComIfG_gameInfo.play.setItemNameMessageID(id);
}
inline void dComIfGp_setItemKeyNumCount(s16 num) {
g_dComIfG_gameInfo.play.setItemKeyNumCount(num);
}
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -118,12 +118,12 @@ void daNpcAuction_c::XyEventCB(int) {
}
/* 000019F8-00001CD4 .text next_msgStatus__14daNpcAuction_cFPUl */
void daNpcAuction_c::next_msgStatus(unsigned long*) {
u16 daNpcAuction_c::next_msgStatus(u32*) {
/* Nonmatching */
}
/* 00001CD4-00001F04 .text getMsg__14daNpcAuction_cFv */
void daNpcAuction_c::getMsg() {
u32 daNpcAuction_c::getMsg() {
/* Nonmatching */
}
+1 -1
View File
@@ -142,7 +142,7 @@ static void dAs_Create(msg_class*) {
}
/* 80160D20-80160D70 .text dAuction_screen_create__Fv */
void dAuction_screen_create() {
uint dAuction_screen_create() {
/* Nonmatching */
}
+2 -2
View File
@@ -93,8 +93,8 @@ void dComIfG_play_c::itemInit() {
mMsgCountNumber = 0;
mMsgSetNumber = 0;
mMessageRupee = 0;
field_0x491e = 0;
field_0x4920 = 0;
mAuctionRupee = 0;
mAuctionGauge = 0;
field_0x4922 = 0;
mCurrHP = 0;
mRupyCountDisplay = 0;