mirror of
https://github.com/zeldaret/tww.git
synced 2026-05-23 06:54:16 -04:00
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:
+1
-1
@@ -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
@@ -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 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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; }
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
+1439
-86
File diff suppressed because it is too large
Load Diff
@@ -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 */
|
||||
}
|
||||
|
||||
|
||||
@@ -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 */
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user