shop_system stuff

This commit is contained in:
TakaRikka 2022-02-24 14:04:56 -08:00
parent 9ba9d7c06c
commit fdaeb3437d
30 changed files with 2110 additions and 1614 deletions

View File

@ -2,5 +2,314 @@
#define D_A_D_A_NPC_H
#include "dolphin/types.h"
#include "d/com/d_com_inf_game.h"
#include "global.h"
class daNpcT_MotionSeqMngr_c {
public:
struct sequenceStepData_c {};
/* 80145898 */ void initialize();
/* 801458C0 */ void play(u16, int*, f32*);
/* 80145A24 */ void checkEndSequence();
private:
/* 0x00 */ sequenceStepData_c* field_0x0;
/* 0x04 */ int field_0x4;
/* 0x08 */ int mNo;
/* 0x0C */ int mOffset;
/* 0x10 */ int mStepNo;
/* 0x14 */ int field_0x14;
/* 0x18 */ f32 field_0x18;
/* 0x1C */ u8 field_0x1c;
public:
/* 8014D0C0 */ virtual ~daNpcT_MotionSeqMngr_c();
};
class daNpcT_ActorMngr_c {
private:
/* 0x0 */ u32 mActorID;
public:
/* 801456D4 */ void initialize();
/* 801456E0 */ void entry(fopAc_ac_c*);
/* 801456FC */ void remove();
/* 80145708 */ void getActorP();
/* 8014D108 */ virtual ~daNpcT_ActorMngr_c();
};
class daNpcT_JntAnm_c {
private:
/* 0x000 */ daNpcT_ActorMngr_c field_0x0;
/* 0x008 */ cXyz field_0x8;
/* 0x014 */ cXyz field_0x14;
/* 0x020 */ cXyz* field_0x20;
/* 0x024 */ cXyz field_0x24;
/* 0x030 */ cXyz field_0x30[3];
/* 0x054 */ cXyz field_0x54[3];
/* 0x078 */ cXyz field_0x78[3];
/* 0x09C */ cXyz field_0x9c[3];
/* 0x0C0 */ cXyz mRad[3];
/* 0x0E4 */ cXyz field_0xe4[3];
/* 0x108 */ cXyz field_0x108;
/* 0x114 */ cXyz field_0x114;
/* 0x120 */ cXyz field_0x120;
/* 0x12C */ csXyz mEyeAngle;
/* 0x132 */ csXyz field_0x132;
/* 0x138 */ int mMode;
/* 0x13C */ u8 field_0x13c[4];
/* 0x140 */ int field_0x140;
/* 0x144 */ u8 field_0x144[4];
/* 0x148 */ f32 field_0x148;
/* 0x14C */ f32 field_0x14c;
/* 0x150 */ csXyz field_0x150;
/* 0x156 */ u8 field_0x156;
/* 0x157 */ u8 mDirectFlag;
/* 0x158 */ u8 field_0x158;
public:
/* 80146C98 */ void initialize();
/* 80146CD8 */ void setParam(fopAc_ac_c*, J3DModel*, cXyz*, int, int, int, f32, f32, f32, f32,
f32, f32, f32, f32, f32, f32, cXyz*);
/* 80147858 */ void calc(f32);
/* 80147C38 */ void calcJntRad(f32, f32, f32);
/* 8014D150 */ virtual ~daNpcT_JntAnm_c();
};
class daNpcT_DmgStagger_c {
public:
/* 80147DCC */ void setParam(fopAc_ac_c*, fopAc_ac_c*, s16);
/* 80147E3C */ void calc(int);
private:
/* 0x00 */ csXyz field_0x0[2];
/* 0x0C */ f32 field_0xc[2];
/* 0x14 */ s16 mStagger;
/* 0x16 */ s16 field_0x16;
/* 0x18 */ u8 mRebirth;
};
struct daNpcT_evtData_c {};
struct daNpcT_faceMotionAnmData_c {};
struct daNpcT_pntData_c {};
struct daNpcT_motionAnmData_c {};
class mDoExt_McaMorfSO;
class daNpcT_c : public fopAc_ac_c {
public:
/* 0x568 */ daNpcT_faceMotionAnmData_c* field_0x568;
/* 0x56C */ daNpcT_motionAnmData_c* field_0x56c;
/* 0x570 */ daNpcT_evtData_c* field_0x570;
/* 0x574 */ char** field_0x574;
/* 0x578 */ mDoExt_McaMorfSO* mMcaMorfAnm[2];
/* 0x580 */ Z2Creature field_0x580;
/* 0x610 */ mDoExt_bckAnm mBckAnm;
/* 0x62C */ mDoExt_btpAnm mBtpAnm;
/* 0x644 */ mDoExt_btkAnm mBtkAnm;
/* 0x65C */ mDoExt_brkAnm mBrkAnm;
/* 0x674 */ mDoExt_bpkAnm mBpkAnm;
/* 0x68C */ dBgS_ObjAcch field_0x68c;
/* 0x864 */ dCcD_Stts field_0x864;
/* 0x8A0 */ dBgS_AcchCir field_0x8a0;
/* 0x8E0 */ request_of_phase_process_class field_0x8e0[10];
/* 0x930 */ cBgS_GndChk field_0x930;
/* 0x96C */ u8 field_0xa6c[8];
/* 0x974 */ dMsgFlow_c mFlow;
/* 0x9C0 */ dPaPoT_c field_0x9c0;
/* 0xA40 */ dCcD_Stts field_0xa40;
/* 0xA7C */ u8 field_0xa7c[4];
/* 0xA80 */ f32 field_0xa80;
/* 0xA84 */ f32 field_0xa84;
/* 0xA89 */ u8 field_0xa88;
/* 0xA89 */ u8 field_0xa89;
/* 0xA8C */ dBgS_GndChk field_0xa8c;
/* 0xAE0 */ dBgS_LinChk field_0xae0;
/* 0xB50 */ daNpcT_MotionSeqMngr_c field_0xb50;
/* 0xB74 */ daNpcT_MotionSeqMngr_c field_0xb74;
/* 0xB98 */ daNpcT_ActorMngr_c field_0xb98;
/* 0xBA0 */ daNpcT_ActorMngr_c field_0xba0;
/* 0xBA8 */ daNpcT_JntAnm_c field_0xba8;
/* 0xD08 */ daNpcT_DmgStagger_c field_0xd08;
/* 0xD24 */ cXyz field_0xd24;
/* 0xD30 */ cXyz field_0xd30;
/* 0xD3C */ cXyz field_0xd3c;
/* 0xD48 */ cXyz field_0xd48;
/* 0xD54 */ cXyz field_0xd54;
/* 0xD60 */ cXyz field_0xd60;
/* 0xD6C */ cXyz field_0xd6c;
/* 0xD78 */ csXyz field_0xd78;
/* 0xD7E */ csXyz field_0xd7e;
/* 0xD84 */ csXyz field_0xd84;
/* 0xD8A */ csXyz field_0xd8a;
/* 0xD90 */ u32 field_0xd90;
/* 0xD94 */ u32 field_0xd94;
/* 0xD98 */ u32 field_0xd98;
/* 0xD9C */ u32 field_0xd9c;
/* 0xDA0 */ u8 field_0xda0[8];
/* 0xDA8 */ u32 field_0xda8;
/* 0xDAC */ int field_0xdac;
/* 0xDB0 */ int mCutType;
/* 0xDB4 */ int field_0xdb4;
/* 0xDB8 */ int field_0xdb8;
/* 0xDBC */ int mTimer;
/* 0xDC0 */ int field_0xdc0;
/* 0xDC4 */ u8 field_0xdc4[4];
/* 0xDC8 */ s16 field_0xdc8;
/* 0xDCA */ s16 field_0xdca;
/* 0xDCC */ u8 field_0xdcc[8];
/* 0xDD4 */ s16 field_0xdd4;
/* 0xDD8 */ s16 field_0xdd8;
/* 0xDDA */ s16 field_0xdda;
/* 0xDDC */ f32 field_0xddc;
/* 0xDE0 */ f32 field_0xde0;
/* 0xDE4 */ f32 field_0xde4;
/* 0xDE8 */ u8 field_0xde8[0xC];
/* 0xDF4 */ f32 field_0xdf4;
/* 0xDF8 */ u8 field_0xdf8[4];
/* 0xDFC */ f32 field_0xdfc;
/* 0xE00 */ cXyz field_0xe00;
/* 0xE0C */ cXyz field_0xe0c;
/* 0xE18 */ s16 field_0xe18;
/* 0xE1A */ s16 field_0xe1a;
/* 0xE1C */ s16 field_0xe1c;
/* 0xE1E */ u16 field_0xe1e;
/* 0xE20 */ u16 field_0xe20;
/* 0xE22 */ u16 field_0xe22;
/* 0xE24 */ u8 field_0xe24;
/* 0xE25 */ u8 field_0xe25;
/* 0xE26 */ u8 field_0xe26;
/* 0xE27 */ u8 field_0xe27;
/* 0xE28 */ u8 field_0xe28;
/* 0xE29 */ u8 field_0xe29;
/* 0xE2A */ u8 field_0xe2a;
/* 0xE2B */ u8 field_0xe2b;
/* 0xE2C */ u8 field_0xe2c;
/* 0xE2D */ u8 field_0xe2d;
/* 0xE2E */ u8 field_0xe2e[2];
/* 0xE30 */ u16 field_0xe30;
/* 0xE32 */ u8 field_0xe32;
/* 0xE33 */ u8 field_0xe33;
/* 0xE34 */ u8 field_0xe34;
/* 0xE35 */ u8 field_0xe35[7];
/* 0xE3C vtable */
public:
/* 80147FA4 */ void tgHitCallBack(fopAc_ac_c*, dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*);
/* 80147FD4 */ void srchActor(void*, void*);
/* 80148058 */ void getTrnsfrmAnmP(char const*, int);
/* 80148094 */ void getTrnsfrmKeyAnmP(char const*, int);
/* 801480D0 */ void getTexPtrnAnmP(char const*, int);
/* 8014810C */ void getTexSRTKeyAnmP(char const*, int);
/* 80148148 */ void getTevRegKeyAnmP(char const*, int);
/* 80148184 */ void getColorAnmP(char const*, int);
/* 801481C0 */ void setBckAnm(J3DAnmTransform*, f32, int, int, int, bool);
/* 80148204 */ void setMcaMorfAnm(J3DAnmTransformKey*, f32, f32, int, int, int);
/* 801482F8 */ void setBtpAnm(J3DAnmTexPattern*, J3DModelData*, f32, int);
/* 80148338 */ void setBtkAnm(J3DAnmTextureSRTKey*, J3DModelData*, f32, int);
/* 80148378 */ void setBrkAnm(J3DAnmTevRegKey*, J3DModelData*, f32, int);
/* 801483B8 */ void setBpkAnm(J3DAnmColor*, J3DModelData*, f32, int);
/* 801483F8 */ void loadRes(s8 const*, char const**);
/* 801484AC */ void deleteRes(s8 const*, char const**);
/* 8014852C */ void execute();
/* 8014886C */ void draw(int, int, f32, _GXColorS10*, f32, int, int, int);
/* 80148C70 */ void setEnvTevColor();
/* 80148CCC */ void setRoomNo();
/* 80148D10 */ void checkEndAnm(f32);
/* 80148DD0 */ void checkEndAnm(J3DFrameCtrl*, f32);
/* 80148E4C */ void playAllAnm();
/* 80149190 */ void setMtx();
/* 8014924C */ void ctrlFaceMotion();
/* 80149300 */ void ctrlMotion();
/* 801493B8 */ void ctrlMsgAnm(int*, int*, fopAc_ac_c*, int);
/* 8014A224 */ void evtChange();
/* 8014A388 */ void setFaceMotionAnm(int, bool);
/* 8014A908 */ void setPos(cXyz);
/* 8014AA18 */ void setAngle(s16);
/* 8014A99C */ void setAngle(csXyz);
/* 8014AA40 */ void hitChk(dCcD_GObjInf*, u32);
/* 8014AAD0 */ void setDamage(int, int, int);
/* 8014ABD0 */ void chkActorInSight(fopAc_ac_c*, f32, s16);
/* 8014ACF0 */ void chkPointInArea(cXyz, cXyz, f32, f32, f32, s16);
/* 8014ADA0 */ void chkPointInArea(cXyz, cXyz, cXyz, s16);
/* 8014AE1C */ void chkFindActor(fopAc_ac_c*, int, s16);
/* 8014B024 */ void chkWolfAction();
/* 8014B0C8 */ void chkFindWolf(s16, int, int, f32, f32, f32, f32, int);
/* 8014B338 */ void srchPlayerActor();
/* 8014B3EC */ void getAttnPos(fopAc_ac_c*);
/* 8014B4A4 */ void turn(s16, int, int);
/* 8014B648 */ void step(s16, int, int, int, int);
/* 8014B808 */ void calcSpeedAndAngle(cXyz, int, s16, s16);
/* 8014BB00 */ void getActorDistance(fopAc_ac_c*, int, int);
/* 8014BBF0 */ void initTalk(int, fopAc_ac_c**);
/* 8014BC78 */ void talkProc(int*, int, fopAc_ac_c**, int);
/* 8014BE2C */ void getNearestActorP(s16);
/* 8014BEE4 */ void getEvtAreaTagP(int, int);
/* 8014BFB0 */ void getShopItemTagP();
/* 8014C030 */ void setHitodamaPrtcl();
/* 8014CD20 */ virtual ~daNpcT_c();
/* 801490D4 */ virtual void ctrlBtk();
/* 8014CC14 */ virtual void ctrlSubFaceMotion(int);
/* 8014CC40 */ virtual bool checkChangeJoint(int);
/* 8014CC38 */ virtual bool checkRemoveJoint(int);
/* 8014CC5C */ virtual s32 getBackboneJointNo();
/* 8014CC54 */ virtual s32 getNeckJointNo();
/* 8014CC4C */ virtual s32 getHeadJointNo();
/* 8014CC90 */ virtual s32 getFootLJointNo();
/* 8014CC88 */ virtual s32 getFootRJointNo();
/* 8014D0A8 */ virtual bool getEyeballLMaterialNo();
/* 8014D0B0 */ virtual bool getEyeballRMaterialNo();
/* 8014D0B8 */ virtual bool getEyeballMaterialNo();
/* 8014951C */ virtual void ctrlJoint(J3DJoint*, J3DModel*);
/* 8014CC48 */ virtual void afterJntAnm(int);
/* 8014CC24 */ virtual void setParam();
/* 8014CC80 */ virtual bool checkChangeEvt();
/* 8014CC78 */ virtual bool evtTalk();
/* 8014CC70 */ virtual bool evtEndProc();
/* 8014CC68 */ virtual bool evtCutProc();
/* 8014CC64 */ virtual void setAfterTalkMotion();
/* 8014997C */ virtual void evtProc();
/* 8014CC20 */ virtual void action();
/* 8014CC1C */ virtual void beforeMove();
/* 8014CC18 */ virtual void afterMoved();
/* 8014CC10 */ virtual void setAttnPos();
/* 80149BB4 */ virtual void setFootPos();
/* 8014CC0C */ virtual void setCollision();
/* 80149D7C */ virtual void setFootPrtcl(cXyz*, f32, f32);
/* 8014A05C */ virtual bool checkCullDraw();
/* 8014A064 */ virtual void twilight();
/* 8014CC98 */ virtual bool chkXYItems();
/* 8014A0B0 */ virtual void evtOrder();
/* 8014CBF4 */ virtual void decTmr();
/* 8014A324 */ virtual void clrParam();
/* 8014CC30 */ virtual bool drawDbgInfo();
/* 8014CC28 */ virtual void drawOtherMdl();
/* 8014CC2C */ virtual void drawGhost();
/* 8014CCA0 */ virtual bool afterSetFaceMotionAnm(int, int, f32, int);
/* 8014CCE0 */ virtual bool afterSetMotionAnm(int, int, f32, int);
/* 8014CCB0 */ virtual void getFaceMotionAnm(daNpcT_faceMotionAnmData_c);
/* 8014CCF0 */ virtual void getMotionAnm(daNpcT_motionAnmData_c);
/* 8014CCEC */ virtual void changeAnm(int*, int*);
/* 8014CCAC */ virtual void changeBck(int*, int*);
/* 8014CCA8 */ virtual void changeBtp(int*, int*);
/* 8014CCE8 */ virtual void changeBtk(int*, int*);
/* 8014A628 */ virtual void setMotionAnm(int, f32, int);
static u8 const mCcDObjData[48];
static u8 mCcDCyl[68];
static u8 mCcDSph[64];
static u8 mFindActorPtrs[200];
static u8 mSrchName[2 + 2 /* padding */];
static u8 mFindCount[4];
};
STATIC_ASSERT(sizeof(daNpcT_c) == 0xE40);
#endif /* D_A_D_A_NPC_H */

View File

@ -2,5 +2,53 @@
#define D_A_D_A_SHOP_ITEM_STATIC_H
#include "dolphin/types.h"
#include "d/a/d_a_itembase.h"
struct ResourceData {
char* get_arcName() const { return mArcName; }
s16 get_bmdName() const { return mBmdName; }
s16 get_btk1Name() const { return mBtkName; }
s16 get_bpk1Name() const { return mBpkName; }
s16 get_bck1Name() const { return mBckName; }
s16 get_bxa1Name() const { return mBxaName; }
s16 get_brk1Name() const { return mBrkName; }
s16 get_btp1Name() const { return mBtpName; }
/* 0x00 */ char* mArcName;
/* 0x04 */ s16 mBmdName;
/* 0x06 */ s16 mBtkName;
/* 0x08 */ s16 mBpkName;
/* 0x0A */ s16 mBckName;
/* 0x0C */ s16 mBxaName;
/* 0x0E */ s16 mBrkName;
/* 0x10 */ s16 mBtpName;
/* 0x14 */ f32 mOffsetY;
/* 0x18 */ f32 mScale;
/* 0x1C */ s16 mAngleOffsetX;
/* 0x1E */ SVec mAngle;
/* 0x24 */ u32 mFlag;
/* 0x28 */ u8 mShadowSize;
/* 0x29 */ u8 mCollisionH;
/* 0x2A */ u8 mCollisionR;
/* 0x2B */ s8 mTevFrm;
/* 0x2C */ s8 mBtpFrm;
}; // Size: 0x30
class daShopItem_c : public daItemBase_c {
public:
/* 80037C14 */ csXyz* getRotateP();
/* 80037C1C */ cXyz* getPosP();
u8 getShopItemID() const { return mShopItemID; }
static ResourceData const mData[23];
private:
/* 0x92C */ Mtx mMtx;
/* 0x95C */ int field_0x95c;
/* 0x960 */ s16 mAngleX;
/* 0x962 */ s16 mAngleY;
/* 0x964 */ u8 mShopItemID;
};
#endif /* D_A_D_A_SHOP_ITEM_STATIC_H */

View File

@ -252,6 +252,16 @@ public:
m3DSetFlag = flag;
}
void setDoStatusForce(u8 status, u8 flag) {
mDoStatusForce = status;
mDoSetFlagForce = flag;
}
void setAStatusForce(u8 status, u8 flag) {
mAStatusForce = status;
mASetFlagForce = flag;
}
void setItemRupeeCount(int rupees) { mItemRupeeCount += rupees; }
void setItemMagicCount(s16 magic) { mItemMagicCount += magic; }
void setItemMaxMagicCount(s16 max) { mItemMaxMagicCount += max; }
@ -341,6 +351,7 @@ public:
void offPauseFlag() { mPauseFlag = false; }
void show2dOn() { mShow2D = 1; }
s8 getLayerOld() { return mLayerOld; }
void setMesgCancelButton(u8 button) { mMesgCancelButton = button; }
public:
/* 0x00000 */ dBgS mBgs;
@ -955,6 +966,10 @@ inline void dComIfGs_onSaveSwitch(int i_stageNo, int i_no) {
g_dComIfG_gameInfo.info.getSavedata().getSave(i_stageNo).getBit().onSwitch(i_no);
}
inline void dComIfGs_onSaveSwitch(int i_no) {
g_dComIfG_gameInfo.info.getMemory().getBit().onSwitch(i_no);
}
inline void dComIfGs_offSaveSwitch(int i_stageNo, int i_no) {
g_dComIfG_gameInfo.info.getSavedata().getSave(i_stageNo).getBit().offSwitch(i_no);
}
@ -1444,6 +1459,14 @@ inline void dComIfGp_setSButtonStatusForce(u8 status, u8 flag) {
g_dComIfG_gameInfo.play.setSButtonStatusForce(status, flag);
}
inline void dComIfGp_setDoStatusForce(u8 status, u8 flag) {
g_dComIfG_gameInfo.play.setDoStatusForce(status, flag);
}
inline void dComIfGp_setAStatusForce(u8 status, u8 flag) {
g_dComIfG_gameInfo.play.setAStatusForce(status, flag);
}
inline u8 dComIfGp_getAStatus() {
return g_dComIfG_gameInfo.play.getAStatus();
}
@ -1676,6 +1699,10 @@ inline void dComIfGp_offPauseFlag() {
g_dComIfG_gameInfo.play.offPauseFlag();
}
inline void dComIfGp_setMesgCancelButton(u8 button) {
g_dComIfG_gameInfo.play.setMesgCancelButton(button);
}
inline s32 dComIfGp_checkStatus(u16 flags) {
return g_dComIfG_gameInfo.play.checkStatus(flags);
}

View File

@ -200,6 +200,7 @@ public:
/* 8016E424 */ void LockEdge();
/* 80182994 */ void GetCheckObjectCount();
/* 80182AD0 */ void keepLock(int);
/* 8014B010 */ void getDistTable(int);
dAttCatch_c& getCatghTarget() { return mCatghTarget; }
bool chkFlag(u32 flag) { return mFlags & flag; }

View File

@ -7,6 +7,11 @@ struct JKRAramArchive;
u32 dLib_getExpandSizeFromAramArchive(JKRAramArchive* arc, char const* resName);
struct STControl {
STControl() {
setWaitParm(15, 15, 0, 0, 0.9f, 0.5f, 0, 0x2000);
init();
}
/* 80032044 */ STControl(s16, s16, s16, s16, f32, f32, s16, s16);
/* 80032088 */ void setWaitParm(s16, s16, s16, s16, f32, f32, s16, s16);
/* 800320AC */ void init();

View File

@ -42,7 +42,16 @@ public:
/* 80194C30 */ virtual void draw();
/* 801949EC */ virtual ~dSelect_cursor_c();
void setPos(f32 x, f32 y) {
field_0x58 = x;
field_0x5c = y;
}
private:
u8 field_0x4[0x54];
f32 field_0x58;
f32 field_0x5c;
u8 field_0x60[0x58];
};
#endif /* D_D_SELECT_CURSOR_H */

View File

@ -148,6 +148,7 @@ public:
void offLifeGaugeSE() { mLifeGaugeSE = 0; }
u8 getLifeGaugeSE() { return mLifeGaugeSE; }
const char* getSaveStageName() { return mSaveStageName; }
void onShopTalkFlag() { mShopTalkFlag = true; }
public:
/* 0x04 */ u8 unk4[4];
@ -430,6 +431,10 @@ inline const char* dMeter2Info_getSaveStageName() {
return g_meter2_info.getSaveStageName();
}
inline void dMeter2Info_onShopTalkFlag() {
g_meter2_info.onShopTalkFlag();
}
char* dMeter2Info_getNumberTextureName(int pIndex);
#endif /* D_METER_D_METER2_INFO_H */

View File

@ -22,10 +22,10 @@ public:
/* 80249F48 */ ~dMsgFlow_c();
/* 80249F90 */ void init(fopAc_ac_c*, int, int, fopAc_ac_c**);
/* 8024A13C */ void checkOpenDoor(fopAc_ac_c*, int*);
/* 8024A2D8 */ void doFlow(fopAc_ac_c*, fopAc_ac_c**, int);
/* 8024A2D8 */ int doFlow(fopAc_ac_c*, fopAc_ac_c**, int);
/* 8024A424 */ void checkEventRender(int*, int*, int*, int*);
/* 8024A4C4 */ void remove();
/* 8024A528 */ void getEventId(int*);
/* 8024A528 */ u16 getEventId(int*);
/* 8024A538 */ void getMsgNo();
/* 8024A540 */ void getNowMsgNo();
/* 8024A548 */ void getMsg();
@ -47,7 +47,7 @@ public:
/* 8024B180 */ void query002(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B208 */ void query003(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B250 */ void query004(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B2C0 */ void query005(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B2C0 */ u16 query005(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B2F8 */ void query006(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B32C */ void query007(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B45C */ void query008(mesg_flow_node_branch*, fopAc_ac_c*, int);
@ -140,19 +140,23 @@ public:
/* 8024DA78 */ void event041(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024DAA8 */ bool event042(mesg_flow_node_event*, fopAc_ac_c*);
u8 isSelectMessage() { return mSelectMessage; }
void onNonStopJunpFlowFlag() { mNonStopJunpFlowFlag = 1; }
u16 getSelectNum() { return query005(NULL, NULL, 0); }
static u8 mQueryList[636];
static u8 mEventList[516];
private:
/* 0x00 */ void* vtable;
/* 0x04 */ void* field_0x04;
/* 0x08 */ void* field_0x08;
/* 0x0C */ void* field_0x0c;
/* 0x04 */ void* mFlow_p;
/* 0x08 */ void* mLabelInfo_p;
/* 0x0C */ void* mFlowNodeTBL;
/* 0x10 */ u16 field_0x10;
/* 0x12 */ u16 field_0x12;
/* 0x14 */ fopAc_ac_c* field_0x14;
/* 0x18 */ int field_0x18;
/* 0x1C */ u16 field_0x1c;
/* 0x1C */ u16 mFlow;
/* 0x1E */ u8 field_0x1e[2];
/* 0x20 */ int mMsg;
/* 0x24 */ u8 mSelectMessage;

View File

@ -79,7 +79,7 @@ public:
/* 8023768C */ void getSelectBombPriceLocal();
/* 8023773C */ void setEquipBombInfoLocal();
/* 80237748 */ void updateEquipBombInfoLocal();
/* 802378B8 */ void setShopWaitTimer(u8);
/* 802378B8 */ static void setShopWaitTimer(u8);
/* 802378CC */ void setSelectWordFlagLocal(u8);
/* 802378D4 */ void isHowlHearingModeLocal();
/* 80237934 */ void isCameraCancelFlag();
@ -123,12 +123,12 @@ public:
/* 8023826C */ void setTalkActor(fopAc_ac_c*);
/* 8023829C */ void onMsgSendControl();
/* 802382C8 */ void offMsgSendControl();
/* 802382F4 */ void isMsgSendControl();
/* 80238320 */ void onMsgSend();
/* 802382F4 */ static int isMsgSendControl();
/* 80238320 */ static void onMsgSend();
/* 8023834C */ void offMsgSend();
/* 80238378 */ void isMsgSend();
/* 802383A4 */ void isMouthCheck();
/* 802383D0 */ void getMessageID();
/* 802383D0 */ static u32 getMessageID();
/* 802383E4 */ void getSmellTypeMessageID();
/* 80238410 */ void setSmellType(u8);
/* 80238440 */ void getSelectCursorPos();
@ -150,7 +150,16 @@ public:
/* 80238638 */ void getItemEquipButton();
/* 8023864C */ void setSelectCancelPos(u8);
void setShopWaitTimerLocal(u8 timer) { field_0x4c9 = timer; }
u8 getSelectPushFlag() { return mSelectPushFlag; }
u8 getSelectCancelPos() { return mSelectCancelPos; }
/* 0x100 */ fopAc_ac_c* field_0x100;
/* 0x104 */ u8 field_0x104[0x9D];
/* 0x1A1 */ u8 mSelectCancelPos;
/* 0x1A2 */ u8 mSelectPushFlag;
/* 0x1A3 */ u8 field_0x1a3[0x326];
/* 0x4C9 */ u8 field_0x4c9;
};
s16 dMsgObject_getGroupID();
@ -163,8 +172,16 @@ inline bool dMsgObject_isTalkNowCheck() {
return dMsgObject_getMsgObjectClass()->getStatus() != 1 ? true : false;
}
inline u32 dMsgObject_getMessageID() {
return dMsgObject_c::getMessageID();
}
inline void dMsgObject_readMessageGroup(mDoDvdThd_mountXArchive_c** param_0) {
dMsgObject_getMsgObjectClass()->readMessageGroup(param_0);
}
inline void dMsgObject_setShopWaitTimer(u8 timer) {
dMsgObject_c::setShopWaitTimer(timer);
}
#endif /* D_MSG_D_MSG_OBJECT_H */

View File

@ -28,4 +28,20 @@ public:
/* 0x37 */ u8 field_0x37;
};
struct dPaPoT_c {
/* 8005115C */ void setEffectTwo(dKy_tevstr_c const*, cXyz const*, u32, u32, cXyz const*,
cXyz const*, cXyz const*, csXyz const*, cXyz const*, s8, f32,
f32);
/* 80051294 */ void clearTwoAllID();
/* 80051470 */ void getRightEffType(int) const;
/* 8005147C */ void getLeftEffType(int) const;
/* 80051494 */ void getRightEmitter(int, int);
/* 800514DC */ void getLeftEmitter(int, int);
static u8 m_typeTwoData[36];
static u8 m_emitterTwoData[36];
u8 field_0x0[0x80];
};
#endif /* D_PARTICLE_D_PARTICLE_COPOLY_H */

View File

@ -2,5 +2,25 @@
#define D_SHOP_D_SHOP_ITEM_CTRL_H
#include "dolphin/types.h"
#include "d/a/d_a_shop_item_static.h"
class dShopItemCtrl_c {
public:
/* 80196914 */ dShopItemCtrl_c();
/* 801969A0 */ cXyz getCurrentPos(int);
/* 80196A3C */ bool isHomePos(int);
/* 80196AF0 */ void setRotateAnime(int);
/* 80196BA4 */ void setZoomAnime(int, cXyz*, s16, bool);
/* 80196958 */ virtual ~dShopItemCtrl_c();
void setItemIndex(int i, u32 index) { mItemIndex[i] = index; }
u32 getItemIndex(int i) { return mItemIndex[i]; }
u16 getMessageIndex(int i) { return mMessageIndex[i]; }
private:
/* 0x04 */ u32 mItemIndex[7];
/* 0x20 */ u16 mMessageIndex[7];
};
#endif /* D_SHOP_D_SHOP_ITEM_CTRL_H */

View File

@ -2,5 +2,166 @@
#define D_SHOP_D_SHOP_SYSTEM_H
#include "dolphin/types.h"
#include "d/shop/d_shop_item_ctrl.h"
#include "d/a/d_a_npc.h"
typedef int (*ShopCam_actionFunc)(void);
class ShopCam_action_c {
public:
/* 80196544 */ void setCamDataIdx(fopAc_ac_c*, fopAc_ac_c*, fopAc_ac_c*, fopAc_ac_c*, cXyz*,
cXyz*);
/* 80196608 */ void setCamDataIdx2(fopAc_ac_c*, fopAc_ac_c*, fopAc_ac_c*, fopAc_ac_c*,
fopAc_ac_c*, fopAc_ac_c*, fopAc_ac_c*, cXyz*, cXyz*);
/* 801968B8 */ void setMasterCamCtrPos(cXyz*);
void setCameraSpeed(f32 param_0, f32 param_1, f32 param_2, f32 param_3) {
field_0xc0 = param_0;
field_0xc4 = param_1;
field_0xc8 = param_2;
field_0xcc = param_3;
}
void SetSelectIdx(s16 idx) {
mSelectIdx = idx;
setCameraSpeed(0.25f, 20.0f, 0.25f, 5.0f);
}
/* 0x00 */ int field_0x0;
/* 0x04 */ int field_0x4;
/* 0x08 */ ShopCam_actionFunc mCamActionFunc;
/* 0x0C */ u8 field_0xc[0xC];
/* 0x18 */ fopAc_ac_c* field_0x18;
/* 0x1C */ fopAc_ac_c* field_0x1c;
/* 0x20 */ fopAc_ac_c* field_0x20;
/* 0x24 */ fopAc_ac_c* field_0x24;
/* 0x28 */ fopAc_ac_c* field_0x28;
/* 0x2C */ fopAc_ac_c* field_0x2c;
/* 0x30 */ fopAc_ac_c* field_0x30;
/* 0x34 */ f32 field_0x34;
/* 0x38 */ cXyz field_0x38;
/* 0x44 */ cXyz field_0x44;
/* 0x50 */ f32 field_0x50;
/* 0x54 */ cXyz field_0x54;
/* 0x60 */ cXyz field_0x60;
/* 0x6C */ f32 field_0x6c;
/* 0x70 */ cXyz field_0x70;
/* 0x7C */ cXyz field_0x7c;
/* 0x88 */ cXyz field_0x88;
/* 0x94 */ f32 field_0x94;
/* 0x98 */ cXyz field_0x98;
/* 0xA4 */ cXyz field_0xa4;
/* 0xB0 */ cXyz field_0xb0;
/* 0xBC */ f32 field_0xbc;
/* 0xC0 */ f32 field_0xc0;
/* 0xC4 */ f32 field_0xc4;
/* 0xC8 */ f32 field_0xc8;
/* 0xCC */ f32 field_0xcc;
/* 0xD0 */ u8 field_0xd0[4];
/* 0xD4 */ s16 mSelectIdx;
/* 0xD6 */ s16 field_0xd6;
/* 0xD8 */ s16 field_0xd8;
/* 0xDA */ u8 field_0xda;
};
class dShopSystem_c : public daNpcT_c {
public:
enum {
/* 0x0 */ SEQ_WAIT,
/* 0x1 */ SEQ_START,
/* 0x2 */ SEQ_SELECT_WAIT,
/* 0x3 */ SEQ_SELECT_START,
/* 0x4 */ SEQ_SELECT,
/* 0x5 */ SEQ_MOVING,
/* 0x6 */ SEQ_DECIDE,
/* 0x7 */ SEQ_CHOOSE,
/* 0x8 */ SEQ_DECIDE_YES,
/* 0x9 */ SEQ_DECIDE_NO,
/* 0xA */ SEQ_FINISH,
};
/* 80197338 */ void initShopSystem();
/* 801975C0 */ void onFlag(int);
/* 801975DC */ void offFlag(int);
/* 801975F8 */ BOOL isFlag(int);
/* 80197618 */ void onSoldOutItemFlag(int);
/* 80197634 */ void offSoldOutItemFlag(int);
/* 80197650 */ BOOL isSoldOutItemFlag(int);
/* 80197670 */ int checkController(u8, dMsgFlow_c*);
/* 80197808 */ int chooseItem3(u8);
/* 80197DD0 */ int chooseItem5(u8);
/* 80198250 */ int chooseItem4(u8);
/* 80198444 */ int moveCursor(int, u8);
/* 80198488 */ int moveCursor0(int, u8);
/* 80198708 */ int moveCursor1(int, u8);
/* 80198878 */ int drawCursor();
/* 80198950 */ int itemRotate();
/* 80198A2C */ int itemZoom(cXyz*);
/* 801990B0 */ int seq_wait(fopAc_ac_c*, dMsgFlow_c*);
/* 801990B8 */ int seq_start(fopAc_ac_c*, dMsgFlow_c*);
/* 8019936C */ int seq_select_wait(fopAc_ac_c*, dMsgFlow_c*);
/* 801993C4 */ int seq_select_start(fopAc_ac_c*, dMsgFlow_c*);
/* 8019959C */ int seq_select(fopAc_ac_c*, dMsgFlow_c*);
/* 80199A18 */ int seq_moving(fopAc_ac_c*, dMsgFlow_c*);
/* 80199BF8 */ int seq_decide(fopAc_ac_c*, dMsgFlow_c*);
/* 80199D14 */ int seq_choose(fopAc_ac_c*, dMsgFlow_c*);
/* 80199E28 */ int seq_decide_yes(fopAc_ac_c*, dMsgFlow_c*);
/* 80199FA4 */ int seq_decide_no(fopAc_ac_c*, dMsgFlow_c*);
/* 8019A020 */ int seq_finish(fopAc_ac_c*, dMsgFlow_c*);
/* 8019A0C0 */ bool seq_event(fopAc_ac_c*, dMsgFlow_c*);
/* 8019A0D0 */ int shop_init(bool);
/* 8019A158 */ void shop_process(fopAc_ac_c*, dMsgFlow_c*);
/* 8019A238 */ void createShopItem(int);
/* 8019A344 */ void setSeq(u8);
/* 8019A354 */ void setSoldOutFlag();
/* 8019A364 */ void setSoldOut();
/* 8019A4F4 */ void setSoldOutItemHide();
/* 8019A564 */ void deleteObject();
/* 8019A5D0 */ void searchItemActor();
/* 8019AB00 */ int getFlowNodeNum();
/* 8019AB1C */ void setSellItemMax(u8);
/* 8019AB24 */ bool checkShopOpen();
/* 8019AB60 */ bool checkLeftTrigger(STControl*);
/* 8019AB84 */ bool checkRightTrigger(STControl*);
/* 8019ABA8 */ bool dpdMove();
/* 801974E4 */ virtual ~dShopSystem_c();
/* 8019ACF0 */ virtual bool getResName2(int);
/* 8019ACE0 */ virtual int beforeStartSeqAction(dMsgFlow_c*, int);
/* 8019ACE8 */ virtual int beforeSelectSeqAction(dMsgFlow_c*, int);
bool chkSpMode() { return mSpMode == 1; }
void offSpMode() { mSpMode = 0; }
u8 getEventParamU8(int param_0) { return (mEventParam >> (3 - param_0) * 8) & 0xFF; }
private:
/* 0xE40 */ STControl* mpStick;
/* 0xE44 */ dSelect_cursor_c* mpDrawCursor;
/* 0xE48 */ dShopItemCtrl_c mItemCtrl;
/* 0xE78 */ ShopCam_action_c mShopCamAction;
/* 0xF54 */ u32 mEventParam;
/* 0xF58 */ int field_0xf58;
/* 0xF5C */ int field_0xf5c;
/* 0xF60 */ int field_0xf60;
/* 0xF64 */ int field_0xf64;
/* 0xF68 */ s16 field_0xf68;
/* 0xF6A */ u16 mFlag;
/* 0xF6C */ u16 field_0xf6c;
/* 0xF6E */ u8 mCursorPos;
/* 0xF6F */ u8 mLastCursorPos;
/* 0xF70 */ u8 mSeq;
/* 0xF71 */ u8 field_0xf71;
/* 0xF72 */ u8 mWaitTimer;
/* 0xF73 */ u8 mSoldOutFlag;
/* 0xF74 */ u8 mSoldOutItemFlags;
/* 0xF75 */ u8 mSpMode;
/* 0xF76 */ u8 field_0xf76;
/* 0xF77 */ u8 field_0xf77;
/* 0xF78 */ u8 field_0xf78;
/* 0xF79 */ u8 field_0xf79;
/* 0xF7A */ u8 field_0xf7a;
};
typedef int (dShopSystem_c::*processFunc)(fopAc_ac_c*, dMsgFlow_c*);
#endif /* D_SHOP_D_SHOP_SYSTEM_H */

View File

@ -121,4 +121,6 @@ public:
const csXyz& getAngle() const { return mCurrent.mAngle; }
}; // Size: 0x568
s32 fopAc_IsActor(void* actor);
#endif

View File

@ -154,6 +154,10 @@ inline void fopAcM_OnCondition(fopAc_ac_c* p_actor, u32 flag) {
p_actor->mCondition |= flag;
}
inline BOOL fopAcM_IsActor(void* actor) {
return fopAc_IsActor(actor);
}
void* fopAcM_FastCreate(s16 pProcTypeID, FastCreateReqFunc param_2, void* param_3, void* pData);
void fopAcM_setStageLayer(void*);
int fopAcM_setRoomLayer(void*, int);

View File

@ -11,5 +11,6 @@ u32 fopMsgM_Create(s16, fopMsgCreateFunc, void*);
void fopMsgM_setMessageID(unsigned int);
void fopMsgM_destroyExpHeap(JKRExpHeap*);
void fopMsgM_setStageLayer(void*);
void fopMsgM_messageSetDemo(u32 param_0);
#endif

View File

@ -12,4 +12,6 @@ struct mDoLib_clipper {
static f32 mFovyRate;
};
void mDoLib_project(Vec* param_0, Vec* param_1);
#endif /* M_DO_M_DO_LIB_H */

View File

@ -2,5 +2,13 @@
#define D_A_TAG_ESCAPE_H
#include "dolphin/types.h"
#include "f_op/f_op_actor.h"
#include "f_op/f_op_actor_mng.h"
class daTagEscape_c : public fopAc_ac_c {
public:
daTagEscape_c() {}
~daTagEscape_c() {}
};
#endif /* D_A_TAG_ESCAPE_H */

View File

@ -2,5 +2,23 @@
#define D_A_TAG_TELOP_H
#include "dolphin/types.h"
#include "d/com/d_com_inf_game.h"
class daTag_Telop_c : public fopAc_ac_c {
public:
daTag_Telop_c() {}
~daTag_Telop_c() {}
int create();
void execute();
u16 getMessageNo() {
return mOrig.mAngle.z;
}
private:
/* 0x568 */ u16 mMessageNo;
/* 0x56C */ int mMessageStatus;
};
#endif /* D_A_TAG_TELOP_H */

View File

@ -21,11 +21,6 @@ struct mDoMtx_stack_c {
static u8 now[48];
};
struct mDoExt_btpAnm {
/* 8000D54C */ void init(J3DMaterialTable*, J3DAnmTexPattern*, int, int, f32, s16, s16);
/* 8000D5E8 */ void entry(J3DMaterialTable*, s16);
};
struct mDoExt_3DlineMat1_c {
/* 80013360 */ void init(u16, u16, ResTIMG*, int);
/* 8001373C */ void update(int, f32, _GXColor&, u16, dKy_tevstr_c*);

View File

@ -7,17 +7,6 @@
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct fopAc_ac_c {
/* 80018B64 */ fopAc_ac_c();
/* 80018C8C */ ~fopAc_ac_c();
};
struct daTagEscape_c {};
//
// Forward References:
//
@ -30,10 +19,7 @@ extern "C" extern void* g_profile_Tag_Escape[12];
// External References:
//
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void __dt__10fopAc_ac_cFv();
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
//
// Declarations:
@ -41,24 +27,20 @@ extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
/* 80D587D8-80D58828 000078 0050+00 1/0 0/0 0/0 .text daTagEscape_Create__FP10fopAc_ac_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daTagEscape_Create(fopAc_ac_c* param_0) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_escape/d_a_tag_escape/daTagEscape_Create__FP10fopAc_ac_c.s"
static int daTagEscape_Create(fopAc_ac_c* tag) {
if (!fopAcM_CheckCondition(tag, 8)) {
new (tag) daTagEscape_c();
fopAcM_OnCondition(tag, 8);
}
return 4;
}
#pragma pop
/* 80D58828-80D58858 0000C8 0030+00 1/0 0/0 0/0 .text daTagEscape_Delete__FP13daTagEscape_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daTagEscape_Delete(daTagEscape_c* param_0) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_escape/d_a_tag_escape/daTagEscape_Delete__FP13daTagEscape_c.s"
static int daTagEscape_Delete(daTagEscape_c* tag) {
tag->~daTagEscape_c();
return 1;
}
#pragma pop
/* ############################################################################################## */
/* 80D58860-80D58880 -00001 0020+00 1/0 0/0 0/0 .data l_daTagEscape_Method */

View File

@ -116,7 +116,7 @@ int daTag_Lv5Soup_c::Draw() {
/* 80D5AEA4-80D5B06C 0001C4 01C8+00 1/1 0/0 0/0 .text isAreaCheck__15daTag_Lv5Soup_cFv */
bool daTag_Lv5Soup_c::isAreaCheck() {
cXyz dist = dComIfGp_getLinkPlayer()->mCurrent.mPosition - mCurrent.mPosition;
cXyz dist = daPy_getPlayerActorClass()->mCurrent.mPosition - mCurrent.mPosition;
f32 boundX = mScale.x * 100.0f;
f32 boundY = mScale.y * 100.0f;

View File

@ -6,24 +6,7 @@
#include "rel/d/a/tag/d_a_tag_telop/d_a_tag_telop.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct fopAc_ac_c {
/* 80018B64 */ fopAc_ac_c();
/* 80018C8C */ ~fopAc_ac_c();
};
struct daTag_Telop_c {
/* 80490A58 */ void create();
/* 80490AF8 */ void execute();
};
struct dSv_event_c {
/* 800349BC */ void isEventBit(u16) const;
};
#include "f_op/f_op_msg_mng.h"
//
// Forward References:
@ -42,80 +25,78 @@ extern "C" extern void* g_profile_TAG_TELOP[12];
// External References:
//
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void __dt__10fopAc_ac_cFv();
extern "C" void fopAcM_delete__FP10fopAc_ac_c();
extern "C" void fopMsgM_messageSetDemo__FUl();
extern "C" void isEventBit__11dSv_event_cCFUs();
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
//
// Declarations:
//
/* 80490A58-80490AF8 000078 00A0+00 1/1 0/0 0/0 .text create__13daTag_Telop_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTag_Telop_c::create() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_telop/d_a_tag_telop/create__13daTag_Telop_cFv.s"
inline int dComIfGs_isEventBit(u16 event) {
return g_dComIfG_gameInfo.info.getSavedata().getEvent().isEventBit(event);
}
/* 80490A58-80490AF8 000078 00A0+00 1/1 0/0 0/0 .text create__13daTag_Telop_cFv */
int daTag_Telop_c::create() {
if (!fopAcM_CheckCondition(this, 8)) {
new (this) daTag_Telop_c();
fopAcM_OnCondition(this, 8);
}
mMessageNo = getMessageNo();
if (dComIfGs_isTmpBit(0x1301)) {
mMessageStatus = 99;
} else if (mMessageNo != 0xFFFF) {
mMessageStatus = 0;
} else {
mMessageStatus = 99;
}
return 4;
}
#pragma pop
/* 80490AF8-80490B5C 000118 0064+00 1/1 0/0 0/0 .text execute__13daTag_Telop_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTag_Telop_c::execute() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_telop/d_a_tag_telop/execute__13daTag_Telop_cFv.s"
void daTag_Telop_c::execute() {
switch (mMessageStatus) {
case 0:
fopMsgM_messageSetDemo(mMessageNo);
mMessageStatus = 99;
break;
case 99:
fopAcM_delete(this);
mMessageStatus = -1;
break;
}
}
#pragma pop
/* 80490B5C-80490B64 00017C 0008+00 1/0 0/0 0/0 .text daTag_Telop_Draw__FP13daTag_Telop_c
*/
static bool daTag_Telop_Draw(daTag_Telop_c* param_0) {
return true;
static int daTag_Telop_Draw(daTag_Telop_c* tag) {
return 1;
}
/* 80490B64-80490B88 000184 0024+00 1/0 0/0 0/0 .text daTag_Telop_Execute__FP13daTag_Telop_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daTag_Telop_Execute(daTag_Telop_c* param_0) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_telop/d_a_tag_telop/daTag_Telop_Execute__FP13daTag_Telop_c.s"
static int daTag_Telop_Execute(daTag_Telop_c* tag) {
tag->execute();
return 1;
}
#pragma pop
/* 80490B88-80490B90 0001A8 0008+00 1/0 0/0 0/0 .text daTag_Telop_IsDelete__FP13daTag_Telop_c */
static bool daTag_Telop_IsDelete(daTag_Telop_c* param_0) {
return true;
static int daTag_Telop_IsDelete(daTag_Telop_c* tag) {
return 1;
}
/* 80490B90-80490BC0 0001B0 0030+00 1/0 0/0 0/0 .text daTag_Telop_Delete__FP13daTag_Telop_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daTag_Telop_Delete(daTag_Telop_c* param_0) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_telop/d_a_tag_telop/daTag_Telop_Delete__FP13daTag_Telop_c.s"
static int daTag_Telop_Delete(daTag_Telop_c* tag) {
tag->~daTag_Telop_c();
return 1;
}
#pragma pop
/* 80490BC0-80490BE0 0001E0 0020+00 1/0 0/0 0/0 .text daTag_Telop_Create__FP10fopAc_ac_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daTag_Telop_Create(fopAc_ac_c* param_0) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_telop/d_a_tag_telop/daTag_Telop_Create__FP10fopAc_ac_c.s"
static int daTag_Telop_Create(fopAc_ac_c* tag) {
return static_cast<daTag_Telop_c*>(tag)->create();
}
#pragma pop
/* ############################################################################################## */
/* 80490BE8-80490C08 -00001 0020+00 1/0 0/0 0/0 .data l_daTag_Telop_Method */

View File

@ -11,27 +11,6 @@
// Types:
//
struct request_of_phase_process_class {};
struct csXyz {
/* 80018BD0 */ ~csXyz();
/* 80112C80 */ csXyz();
/* 8026745C */ void operator+=(csXyz&);
static u8 Zero[4];
};
struct Vec {};
struct cXyz {
/* 80009184 */ ~cXyz();
/* 800125DC */ cXyz();
/* 80266AE4 */ void operator+(Vec const&) const;
/* 80266B34 */ void operator-(Vec const&) const;
/* 80266EF4 */ void normalize();
/* 802670AC */ void isZero() const;
};
struct mDoMtx_stack_c {
/* 8000CD64 */ void transS(cXyz const&);
/* 8000CD9C */ void transM(f32, f32, f32);
@ -44,59 +23,6 @@ struct mDoMtx_stack_c {
static u8 now[48];
};
struct mDoExt_morf_c {
/* 8000FB7C */ void setMorf(f32);
};
struct J3DAnmTextureSRTKey {};
struct J3DAnmTexPattern {};
struct J3DAnmTevRegKey {};
struct J3DAnmColor {};
struct J3DMaterialTable {
/* 8032F64C */ void removeMatColorAnimator(J3DAnmColor*);
/* 8032F6F8 */ void removeTexNoAnimator(J3DAnmTexPattern*);
/* 8032F7B4 */ void removeTexMtxAnimator(J3DAnmTextureSRTKey*);
/* 8032F880 */ void removeTevRegAnimator(J3DAnmTevRegKey*);
};
struct mDoExt_btpAnm {
/* 8000D54C */ void init(J3DMaterialTable*, J3DAnmTexPattern*, int, int, f32, s16, s16);
/* 8000D5E8 */ void entry(J3DMaterialTable*, s16);
};
struct mDoExt_btkAnm {
/* 8000D63C */ void init(J3DMaterialTable*, J3DAnmTextureSRTKey*, int, int, f32, s16, s16);
/* 8000D6D8 */ void entry(J3DMaterialTable*, f32);
};
struct mDoExt_brkAnm {
/* 8000D70C */ void init(J3DMaterialTable*, J3DAnmTevRegKey*, int, int, f32, s16, s16);
/* 8000D7A8 */ void entry(J3DMaterialTable*, f32);
};
struct mDoExt_bpkAnm {
/* 8000D47C */ void init(J3DMaterialTable*, J3DAnmColor*, int, int, f32, s16, s16);
/* 8000D518 */ void entry(J3DMaterialTable*, f32);
};
struct J3DModelData {};
struct J3DAnmTransform {};
struct mDoExt_bckAnm {
/* 8000D7DC */ void init(J3DAnmTransform*, int, int, f32, s16, s16, bool);
/* 8000D990 */ void changeBckOnly(J3DAnmTransform*);
/* 8000D9E8 */ void entryJoint(J3DModelData*, u16, f32);
};
struct mDoExt_baseAnm {
/* 8000D428 */ void play();
};
struct mDoExt_McaMorfSO {
/* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32);
/* 800110B0 */ void play(u32, s8);
@ -104,147 +30,6 @@ struct mDoExt_McaMorfSO {
/* 800111EC */ void modelCalc();
};
struct fopAc_ac_c {
/* 80018B64 */ fopAc_ac_c();
/* 80018C8C */ ~fopAc_ac_c();
};
struct daPy_py_c {
/* 8015F3FC */ void getAttentionOffsetY();
/* 8015F424 */ void checkNowWolfEyeUp();
};
struct daNpcT_pntData_c {};
struct daNpcT_motionAnmData_c {};
struct daNpcT_faceMotionAnmData_c {};
struct dCcD_GObjInf {
/* 80084460 */ void ChkTgHit();
};
struct J3DAnmTransformKey {};
struct _GXColorS10 {};
struct J3DModel {};
struct J3DFrameCtrl {
/* 803283FC */ void init(s16);
};
struct J3DJoint {};
struct daNpcT_c {
/* 80147FA4 */ void tgHitCallBack(fopAc_ac_c*, dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*);
/* 80147FD4 */ void srchActor(void*, void*);
/* 80148058 */ void getTrnsfrmAnmP(char const*, int);
/* 80148094 */ void getTrnsfrmKeyAnmP(char const*, int);
/* 801480D0 */ void getTexPtrnAnmP(char const*, int);
/* 8014810C */ void getTexSRTKeyAnmP(char const*, int);
/* 80148148 */ void getTevRegKeyAnmP(char const*, int);
/* 80148184 */ void getColorAnmP(char const*, int);
/* 801481C0 */ void setBckAnm(J3DAnmTransform*, f32, int, int, int, bool);
/* 80148204 */ void setMcaMorfAnm(J3DAnmTransformKey*, f32, f32, int, int, int);
/* 801482F8 */ void setBtpAnm(J3DAnmTexPattern*, J3DModelData*, f32, int);
/* 80148338 */ void setBtkAnm(J3DAnmTextureSRTKey*, J3DModelData*, f32, int);
/* 80148378 */ void setBrkAnm(J3DAnmTevRegKey*, J3DModelData*, f32, int);
/* 801483B8 */ void setBpkAnm(J3DAnmColor*, J3DModelData*, f32, int);
/* 801483F8 */ void loadRes(s8 const*, char const**);
/* 801484AC */ void deleteRes(s8 const*, char const**);
/* 8014852C */ void execute();
/* 8014886C */ void draw(int, int, f32, _GXColorS10*, f32, int, int, int);
/* 80148C70 */ void setEnvTevColor();
/* 80148CCC */ void setRoomNo();
/* 80148D10 */ void checkEndAnm(f32);
/* 80148DD0 */ void checkEndAnm(J3DFrameCtrl*, f32);
/* 80148E4C */ void playAllAnm();
/* 801490D4 */ void ctrlBtk();
/* 80149190 */ void setMtx();
/* 8014924C */ void ctrlFaceMotion();
/* 80149300 */ void ctrlMotion();
/* 801493B8 */ void ctrlMsgAnm(int*, int*, fopAc_ac_c*, int);
/* 8014951C */ void ctrlJoint(J3DJoint*, J3DModel*);
/* 8014997C */ void evtProc();
/* 80149BB4 */ void setFootPos();
/* 80149D7C */ void setFootPrtcl(cXyz*, f32, f32);
/* 8014A05C */ bool checkCullDraw();
/* 8014A064 */ void twilight();
/* 8014A0B0 */ void evtOrder();
/* 8014A224 */ void evtChange();
/* 8014A324 */ void clrParam();
/* 8014A388 */ void setFaceMotionAnm(int, bool);
/* 8014A628 */ void setMotionAnm(int, f32, int);
/* 8014A908 */ void setPos(cXyz);
/* 8014AA18 */ void setAngle(s16);
/* 8014A99C */ void setAngle(csXyz);
/* 8014AA40 */ void hitChk(dCcD_GObjInf*, u32);
/* 8014AAD0 */ void setDamage(int, int, int);
/* 8014ABD0 */ void chkActorInSight(fopAc_ac_c*, f32, s16);
/* 8014ACF0 */ void chkPointInArea(cXyz, cXyz, f32, f32, f32, s16);
/* 8014ADA0 */ void chkPointInArea(cXyz, cXyz, cXyz, s16);
/* 8014AE1C */ void chkFindActor(fopAc_ac_c*, int, s16);
/* 8014B024 */ void chkWolfAction();
/* 8014B0C8 */ void chkFindWolf(s16, int, int, f32, f32, f32, f32, int);
/* 8014B338 */ void srchPlayerActor();
/* 8014B3EC */ void getAttnPos(fopAc_ac_c*);
/* 8014B4A4 */ void turn(s16, int, int);
/* 8014B648 */ void step(s16, int, int, int, int);
/* 8014B808 */ void calcSpeedAndAngle(cXyz, int, s16, s16);
/* 8014BB00 */ void getActorDistance(fopAc_ac_c*, int, int);
/* 8014BBF0 */ void initTalk(int, fopAc_ac_c**);
/* 8014BC78 */ void talkProc(int*, int, fopAc_ac_c**, int);
/* 8014BE2C */ void getNearestActorP(s16);
/* 8014BEE4 */ void getEvtAreaTagP(int, int);
/* 8014BFB0 */ void getShopItemTagP();
/* 8014C030 */ void setHitodamaPrtcl();
/* 8014CBF4 */ void decTmr();
/* 8014CC0C */ void setCollision();
/* 8014CC10 */ void setAttnPos();
/* 8014CC14 */ void ctrlSubFaceMotion(int);
/* 8014CC18 */ void afterMoved();
/* 8014CC1C */ void beforeMove();
/* 8014CC20 */ void action();
/* 8014CC24 */ void setParam();
/* 8014CC28 */ void drawOtherMdl();
/* 8014CC2C */ void drawGhost();
/* 8014CC30 */ bool drawDbgInfo();
/* 8014CC38 */ bool checkRemoveJoint(int);
/* 8014CC40 */ bool checkChangeJoint(int);
/* 8014CC48 */ void afterJntAnm(int);
/* 8014CC4C */ s32 getHeadJointNo();
/* 8014CC54 */ s32 getNeckJointNo();
/* 8014CC5C */ s32 getBackboneJointNo();
/* 8014CC64 */ void setAfterTalkMotion();
/* 8014CC68 */ bool evtCutProc();
/* 8014CC70 */ bool evtEndProc();
/* 8014CC78 */ bool evtTalk();
/* 8014CC80 */ bool checkChangeEvt();
/* 8014CC88 */ s32 getFootRJointNo();
/* 8014CC90 */ s32 getFootLJointNo();
/* 8014CC98 */ bool chkXYItems();
/* 8014CCA0 */ bool afterSetFaceMotionAnm(int, int, f32, int);
/* 8014CCA8 */ void changeBtp(int*, int*);
/* 8014CCAC */ void changeBck(int*, int*);
/* 8014CCB0 */ void getFaceMotionAnm(daNpcT_faceMotionAnmData_c);
/* 8014CCE0 */ bool afterSetMotionAnm(int, int, f32, int);
/* 8014CCE8 */ void changeBtk(int*, int*);
/* 8014CCEC */ void changeAnm(int*, int*);
/* 8014CCF0 */ void getMotionAnm(daNpcT_motionAnmData_c);
/* 8014CD20 */ ~daNpcT_c();
/* 8014D0A8 */ bool getEyeballLMaterialNo();
/* 8014D0B0 */ bool getEyeballRMaterialNo();
/* 8014D0B8 */ bool getEyeballMaterialNo();
static u8 const mCcDObjData[48];
static u8 mCcDCyl[68];
static u8 mCcDSph[64];
static u8 mFindActorPtrs[200];
static u8 mSrchName[2 + 2 /* padding */];
static u8 mFindCount[4];
};
struct daNpcT_Hermite_c {
/* 8014CBAC */ ~daNpcT_Hermite_c();
};
@ -262,45 +47,12 @@ struct daNpcT_Path_c {
/* 801464D8 */ void chkPassed2(cXyz, cXyz*, int, int);
};
struct daNpcT_MotionSeqMngr_c {
/* 80145898 */ void initialize();
/* 801458C0 */ void play(u16, int*, f32*);
/* 80145A24 */ void checkEndSequence();
/* 8014D0C0 */ ~daNpcT_MotionSeqMngr_c();
};
struct J3DMaterial {};
struct daNpcT_MatAnm_c {
/* 80145764 */ void initialize();
/* 80145788 */ void calc(J3DMaterial*) const;
/* 8014D24C */ ~daNpcT_MatAnm_c();
};
struct daNpcT_JntAnm_c {
/* 80146C98 */ void initialize();
/* 80146CD8 */ void setParam(fopAc_ac_c*, J3DModel*, cXyz*, int, int, int, f32, f32, f32, f32,
f32, f32, f32, f32, f32, f32, cXyz*);
/* 80147858 */ void calc(f32);
/* 80147C38 */ void calcJntRad(f32, f32, f32);
/* 8014D150 */ ~daNpcT_JntAnm_c();
};
struct daNpcT_DmgStagger_c {
/* 80147DCC */ void setParam(fopAc_ac_c*, fopAc_ac_c*, s16);
/* 80147E3C */ void calc(int);
};
struct daNpcT_ActorMngr_c {
/* 801456D4 */ void initialize();
/* 801456E0 */ void entry(fopAc_ac_c*);
/* 801456FC */ void remove();
/* 80145708 */ void getActorP();
/* 8014D108 */ ~daNpcT_ActorMngr_c();
};
struct dCcD_Cyl {};
struct daNpcF_c {
struct daNpcF_anmPlayData {};
@ -449,15 +201,6 @@ struct daBaseNpc_path_c {
/* 801503FC */ ~daBaseNpc_path_c();
};
struct cBgS_PolyInfo {
/* 802680B0 */ ~cBgS_PolyInfo();
};
struct dBgW {
/* 8007B970 */ dBgW();
/* 8007B9C0 */ void Move();
};
struct daBaseNpc_moveBgActor_c {
/* 8014F4B4 */ daBaseNpc_moveBgActor_c();
/* 8014F518 */ void MoveBGCreateHeap();
@ -537,59 +280,8 @@ struct daBaseNpc_acMngr_c {
/* 80150524 */ ~daBaseNpc_acMngr_c();
};
struct dSv_event_tmp_flag_c {
static u8 const tempBitLabels[370 + 2 /* padding */];
};
struct dSv_event_flag_c {
static u8 saveBitLabels[1644 + 4 /* padding */];
};
struct dSv_event_c {
/* 8003498C */ void onEventBit(u16);
/* 800349A4 */ void offEventBit(u16);
/* 800349BC */ void isEventBit(u16) const;
};
struct dStage_roomControl_c {
/* 80024384 */ void getStatusRoomDt(int);
};
struct dKy_tevstr_c {};
struct dScnKy_env_light_c {
/* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*);
/* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*);
};
struct dRes_info_c {};
struct dRes_control_c {
/* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int);
};
struct dPnt {};
struct dPa_levelEcallBack {};
struct _GXColor {};
struct dPa_control_c {
struct level_c {
/* 8004B918 */ void getEmitter(u32);
};
/* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*,
cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*,
_GXColor const*, cXyz const*, f32);
};
struct dPaPoT_c {
/* 8005115C */ void setEffectTwo(dKy_tevstr_c const*, cXyz const*, u32, u32, cXyz const*,
cXyz const*, cXyz const*, csXyz const*, cXyz const*, s8, f32,
f32);
};
struct dMsgObject_c {
/* 8023819C */ void getActor();
/* 802382C8 */ void offMsgSendControl();
@ -597,166 +289,10 @@ struct dMsgObject_c {
/* 802383A4 */ void isMouthCheck();
};
struct dMsgFlow_c {
/* 80249F00 */ dMsgFlow_c();
/* 80249F48 */ ~dMsgFlow_c();
/* 80249F90 */ void init(fopAc_ac_c*, int, int, fopAc_ac_c**);
/* 8024A2D8 */ void doFlow(fopAc_ac_c*, fopAc_ac_c**, int);
/* 8024A424 */ void checkEventRender(int*, int*, int*, int*);
/* 8024A538 */ void getMsgNo();
/* 8024A548 */ void getMsg();
};
struct dEvt_control_c {
/* 80042468 */ void reset();
/* 80042518 */ void reset(void*);
/* 800432EC */ void convPId(unsigned int);
/* 8004368C */ void setPtT(void*);
};
struct dEvent_manager_c {
/* 80046800 */ void setObjectArchive(char*);
/* 80047758 */ void getEventIdx(fopAc_ac_c*, char const*, u8);
/* 80047A78 */ void endCheck(s16);
/* 800483E8 */ void getRunEventName();
};
struct dDlst_shadowControl_c {
static u8 mSimpleTexObj[32];
};
struct dCcD_GStts {
/* 80083760 */ dCcD_GStts();
/* 80083830 */ void Move();
};
struct dCcD_GAtTgCoCommonBase {
/* 80083688 */ void GetAc();
};
struct dBgW_Base {};
struct dBgS_PolyPassChk {
/* 80078E68 */ void SetObj();
};
struct dBgS_LinChk {
/* 80077CDC */ ~dBgS_LinChk();
/* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*);
};
struct dBgS_GndChk {
/* 800775F0 */ ~dBgS_GndChk();
};
struct dBgS_AcchCir {
/* 80075EAC */ dBgS_AcchCir();
};
struct dBgS {
/* 80074A08 */ void Regist(dBgW_Base*, fopAc_ac_c*);
/* 80074BE8 */ void GetPolyColor(cBgS_PolyInfo const&);
/* 80074E50 */ void GetPolyAtt0(cBgS_PolyInfo const&);
/* 80075100 */ void GetRoomId(cBgS_PolyInfo const&);
};
struct dBgS_Acch {
/* 80075F94 */ ~dBgS_Acch();
/* 800760A0 */ dBgS_Acch();
/* 80076AAC */ void CrrPos(dBgS&);
};
struct dAttention_c {
/* 80070880 */ void getActionBtnB();
/* 8007353C */ void LockonTarget(s32);
/* 80073734 */ void ActionTarget(s32);
/* 8014B010 */ void getDistTable(int);
static u8 dist_table[6552];
};
struct cSGlobe {
/* 80271880 */ cSGlobe(cXyz const&);
};
struct cSAngle {
/* 80270F68 */ cSAngle(cSAngle const&);
/* 80270F98 */ cSAngle(s16);
/* 802710E8 */ void Inv() const;
/* 80271228 */ void operator-(s16) const;
};
struct cM3dGPla {};
struct cM3dGCir {
/* 8026EF18 */ ~cM3dGCir();
};
struct cBgW_BgId {
/* 802681D4 */ void ChkUsed() const;
};
struct cBgD_t {};
struct cBgW {
/* 80079F38 */ void Set(cBgD_t*, u32, f32 (*)[3][4]);
};
struct cBgS_LinChk {};
struct cBgS_GndChk {
/* 80267C1C */ cBgS_GndChk();
/* 80267C94 */ ~cBgS_GndChk();
/* 80267D28 */ void SetPos(cXyz const*);
};
struct cBgS {
/* 80074250 */ void Release(dBgW_Base*);
/* 800743B4 */ void LineCross(cBgS_LinChk*);
/* 800744A0 */ void GroundCross(cBgS_GndChk*);
/* 80074660 */ void ChkPolySafe(cBgS_PolyInfo const&);
/* 80074744 */ void GetTriPla(cBgS_PolyInfo const&, cM3dGPla*) const;
};
struct _GXTexObj {};
struct Z2Creature {
/* 802C03C8 */ Z2Creature();
/* 802C0420 */ ~Z2Creature();
};
struct JMath {
static u8 sincosTable_[65536];
};
struct J3DTexNoAnm {
/* 8003B1F8 */ ~J3DTexNoAnm();
};
struct J3DTexMtxAnm {
/* 8003B264 */ ~J3DTexMtxAnm();
};
struct J3DTevKColorAnm {
/* 8003B150 */ ~J3DTevKColorAnm();
};
struct J3DTevColorAnm {
/* 8003B1A4 */ ~J3DTevColorAnm();
};
struct J3DSys {
static u8 mCurrentMtx[48];
};
struct J3DMaterialAnm {
/* 8032C3C4 */ void calc(J3DMaterial*) const;
};
struct J3DMatColorAnm {
/* 8003B2B8 */ ~J3DMatColorAnm();
};
//
// Forward References:
//
@ -1131,7 +667,6 @@ extern "C" extern u8 data_80450FF8[8];
// External References:
//
SECTION_INIT void memset();
extern "C" void __dt__4cXyzFv();
extern "C" void mDoMtx_ZXYrotS__FPA4_fsss();
extern "C" void mDoMtx_ZXYrotM__FPA4_fsss();
@ -1297,13 +832,6 @@ extern "C" void removeMatColorAnimator__16J3DMaterialTableFP11J3DAnmColor();
extern "C" void removeTexNoAnimator__16J3DMaterialTableFP16J3DAnmTexPattern();
extern "C" void removeTexMtxAnimator__16J3DMaterialTableFP19J3DAnmTextureSRTKey();
extern "C" void removeTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey();
extern "C" void PSMTXCopy();
extern "C" void PSMTXConcat();
extern "C" void PSMTXInverse();
extern "C" void PSMTXMultVec();
extern "C" void PSMTXMultVecArray();
extern "C" void PSVECAdd();
extern "C" void PSVECSquareMag();
extern "C" void __register_global_object();
extern "C" void __destroy_arr();
extern "C" void __construct_array();
@ -1331,9 +859,6 @@ extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" void abs();
extern "C" void strcmp();
extern "C" void strlen();
extern "C" u8 const tempBitLabels__20dSv_event_tmp_flag_c[370 + 2 /* padding */];
extern "C" extern void* __vt__12J3DFrameCtrl[3];
extern "C" extern void* __vt__8cM3dGPla[3];
@ -1347,16 +872,12 @@ extern "C" extern void* __vt__12dBgS_ObjAcch[9];
extern "C" extern void* __vt__9cCcD_Stts[8];
extern "C" extern void* __vt__14J3DMaterialAnm[4];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32];
extern "C" extern u8 g_env_light[4880];
extern "C" extern u8 j3dSys[284];
extern "C" u8 mCurrentMtx__6J3DSys[48];
extern "C" u8 sincosTable___5JMath[65536];
extern "C" extern u32 __float_nan;
extern "C" u8 Zero__5csXyz[4];
extern "C" extern u8 data_80451164[4];
extern "C" extern f32 G_CM3D_F_ABS_MIN[1 + 1 /* padding */];
//
// Declarations:
@ -3163,7 +2684,8 @@ asm void daNpcT_c::getMotionAnm(daNpcT_motionAnmData_c param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm daNpcT_c::~daNpcT_c() {
//asm daNpcT_c::~daNpcT_c() {
extern "C" asm void __dt__8daNpcT_cFv() {
nofralloc
#include "asm/d/a/d_a_npc/__dt__8daNpcT_cFv.s"
}
@ -3191,7 +2713,8 @@ bool daNpcT_c::getEyeballMaterialNo() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm daNpcT_MotionSeqMngr_c::~daNpcT_MotionSeqMngr_c() {
// asm daNpcT_MotionSeqMngr_c::~daNpcT_MotionSeqMngr_c() {
extern "C" asm void __dt__22daNpcT_MotionSeqMngr_cFv() {
nofralloc
#include "asm/d/a/d_a_npc/__dt__22daNpcT_MotionSeqMngr_cFv.s"
}
@ -3201,7 +2724,8 @@ asm daNpcT_MotionSeqMngr_c::~daNpcT_MotionSeqMngr_c() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm daNpcT_ActorMngr_c::~daNpcT_ActorMngr_c() {
// asm daNpcT_ActorMngr_c::~daNpcT_ActorMngr_c() {
extern "C" asm void __dt__18daNpcT_ActorMngr_cFv() {
nofralloc
#include "asm/d/a/d_a_npc/__dt__18daNpcT_ActorMngr_cFv.s"
}
@ -3211,7 +2735,8 @@ asm daNpcT_ActorMngr_c::~daNpcT_ActorMngr_c() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm daNpcT_JntAnm_c::~daNpcT_JntAnm_c() {
// asm daNpcT_JntAnm_c::~daNpcT_JntAnm_c() {
extern "C" asm void __dt__15daNpcT_JntAnm_cFv() {
nofralloc
#include "asm/d/a/d_a_npc/__dt__15daNpcT_JntAnm_cFv.s"
}

View File

@ -7,23 +7,6 @@
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct fopAc_ac_c {};
struct daShopItem_c {
/* 80037C14 */ void getRotateP();
/* 80037C1C */ void getPosP();
static void* const mData[276];
};
struct daItemBase_c {
/* 8014475C */ void CreateItemHeap(char const*, s16, s16, s16, s16, s16, s16, s16);
};
//
// Forward References:
//
@ -45,402 +28,52 @@ extern "C" void CreateItemHeap__12daItemBase_cFPCcsssssss();
//
/* 80037C14-80037C1C 032554 0008+00 0/0 1/1 0/0 .text getRotateP__12daShopItem_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daShopItem_c::getRotateP() {
nofralloc
#include "asm/d/a/d_a_shop_item_static/getRotateP__12daShopItem_cFv.s"
csXyz* daShopItem_c::getRotateP() {
return &mCurrent.mAngle;
}
#pragma pop
/* 80037C1C-80037C24 03255C 0008+00 0/0 2/2 0/0 .text getPosP__12daShopItem_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daShopItem_c::getPosP() {
nofralloc
#include "asm/d/a/d_a_shop_item_static/getPosP__12daShopItem_cFv.s"
cXyz* daShopItem_c::getPosP() {
return &mCurrent.mPosition;
}
#pragma pop
/* ############################################################################################## */
/* 80379738-80379742 005D98 000A+00 1/0 0/0 0/0 .rodata None */
extern "C" char const* const stringBase_80379738;
/* 80379742-8037974B 005DA2 0009+00 1/0 0/0 0/0 .rodata None */
extern "C" char const* const stringBase_80379742;
/* 8037974B-80379754 005DAB 0009+00 1/0 0/0 0/0 .rodata None */
extern "C" char const* const stringBase_8037974B;
/* 80379754-8037975E 005DB4 000A+00 1/0 0/0 0/0 .rodata None */
extern "C" char const* const stringBase_80379754;
/* 8037975E-80379768 005DBE 000A+00 1/0 0/0 0/0 .rodata None */
extern "C" char const* const stringBase_8037975E;
/* 80379768-80379771 005DC8 0009+00 1/0 0/0 0/0 .rodata None */
extern "C" char const* const stringBase_80379768;
/* 80379771-8037977A 005DD1 0009+00 1/0 0/0 0/0 .rodata None */
extern "C" char const* const stringBase_80379771;
/* 8037977A-80379783 005DDA 0009+00 1/0 0/0 0/0 .rodata None */
extern "C" char const* const stringBase_8037977A;
/* 80379783-8037978D 005DE3 000A+00 1/0 0/0 0/0 .rodata None */
extern "C" char const* const stringBase_80379783;
/* 8037978D-80379795 005DED 0008+00 1/0 0/0 0/0 .rodata None */
extern "C" char const* const stringBase_8037978D;
/* 80379795-8037979D 005DF5 0008+00 1/0 0/0 0/0 .rodata None */
extern "C" char const* const stringBase_80379795;
/* 8037979D-803797A7 005DFD 000A+00 1/0 0/0 0/0 .rodata None */
extern "C" char const* const stringBase_8037979D;
/* 803797A7-803797B1 005E07 000A+00 1/0 0/0 0/0 .rodata None */
extern "C" char const* const stringBase_803797A7;
/* 803797B1-803797BB 005E11 000A+00 1/0 0/0 0/0 .rodata None */
extern "C" char const* const stringBase_803797B1;
/* 803797BB-803797C5 005E1B 000A+00 1/0 0/0 0/0 .rodata None */
extern "C" char const* const stringBase_803797BB;
/* 803797C5-803797CF 005E25 000A+00 1/0 0/0 0/0 .rodata None */
extern "C" char const* const stringBase_803797C5;
/* 803797CF-803797D9 005E2F 000A+00 1/0 0/0 0/0 .rodata None */
extern "C" char const* const stringBase_803797CF;
/* 803797D9-803797E3 005E39 000A+00 1/0 0/0 0/0 .rodata None */
extern "C" char const* const stringBase_803797D9;
/* 803797E3-803797ED 005E43 000A+00 1/0 0/0 0/0 .rodata None */
extern "C" char const* const stringBase_803797E3;
/* 803797ED-803797F8 005E4D 000A+01 1/0 0/0 0/0 .rodata None */
extern "C" char const* const stringBase_803797ED;
/* 803792E8-80379738 -00001 0450+00 1/1 0/0 9/9 .rodata mData__12daShopItem_c */
SECTION_RODATA void* const daShopItem_c::mData[276] = {
(void*)&d_a_d_a_shop_item_static__stringBase0,
(void*)0x0003FFFF,
(void*)0xFFFFFFFF,
(void*)0xFFFFFFFF,
(void*)0xFFFF0000,
(void*)NULL,
(void*)0x3F800000,
(void*)NULL,
(void*)0x80000000,
(void*)NULL,
(void*)0x000000FF,
(void*)0xFF000000,
(void*)(((char*)&d_a_d_a_shop_item_static__stringBase0) + 0xA),
(void*)0x0003FFFF,
(void*)0xFFFFFFFF,
(void*)0xFFFFFFFF,
(void*)0xFFFF0000,
(void*)NULL,
(void*)0x3F800000,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)0x000000FF,
(void*)0xFF000000,
(void*)(((char*)&d_a_d_a_shop_item_static__stringBase0) + 0x13),
(void*)0x0003FFFF,
(void*)0xFFFFFFFF,
(void*)0xFFFFFFFF,
(void*)0xFFF50000,
(void*)NULL,
(void*)0x3F800000,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)0x000000FF,
(void*)0xFF000000,
(void*)(((char*)&d_a_d_a_shop_item_static__stringBase0) + 0x1C),
(void*)0x0003FFFF,
(void*)0xFFFFFFFF,
(void*)0xFFFFFFFF,
(void*)0xFFFF0000,
(void*)NULL,
(void*)0x3F800000,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)0x000000FF,
(void*)0xFF000000,
(void*)(((char*)&d_a_d_a_shop_item_static__stringBase0) + 0x26),
(void*)0x0006000C,
(void*)0xFFFFFFFF,
(void*)0xFFFF0009,
(void*)0x000F0000,
(void*)NULL,
(void*)0x3F800000,
(void*)NULL,
(void*)NULL,
(void*)0x00000004,
(void*)0x00000003,
(void*)0x01000000,
(void*)(((char*)&d_a_d_a_shop_item_static__stringBase0) + 0x30),
(void*)0x0003FFFF,
(void*)0xFFFFFFFF,
(void*)0xFFFFFFFF,
(void*)0xFFFF0000,
(void*)NULL,
(void*)0x3F800000,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)0x000000FF,
(void*)0xFF000000,
(void*)(((char*)&d_a_d_a_shop_item_static__stringBase0) + 0x39),
(void*)0x0003FFFF,
(void*)0xFFFFFFFF,
(void*)0xFFFFFFFF,
(void*)0xFFFF0000,
(void*)0x41F00000,
(void*)0x3F800000,
(void*)NULL,
(void*)0x7FFF0000,
(void*)NULL,
(void*)0x000000FF,
(void*)0xFF000000,
(void*)(((char*)&d_a_d_a_shop_item_static__stringBase0) + 0x42),
(void*)0x0003FFFF,
(void*)0xFFFFFFFF,
(void*)0xFFFFFFFF,
(void*)0xFFFF0000,
(void*)0x41F00000,
(void*)0x3F800000,
(void*)NULL,
(void*)0x7FFF0000,
(void*)NULL,
(void*)0x000000FF,
(void*)0xFF000000,
(void*)(((char*)&d_a_d_a_shop_item_static__stringBase0) + 0x4B),
(void*)0x0003FFFF,
(void*)0xFFFFFFFF,
(void*)0xFFFFFFFF,
(void*)0xFFFF0000,
(void*)NULL,
(void*)0x3F800000,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)0xFF000000,
(void*)(((char*)&d_a_d_a_shop_item_static__stringBase0) + 0x55),
(void*)0x0003FFFF,
(void*)0xFFFFFFFF,
(void*)0xFFFFFFFF,
(void*)0xFFFF0000,
(void*)NULL,
(void*)0x3F800000,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)0xFF000000,
(void*)(((char*)&d_a_d_a_shop_item_static__stringBase0) + 0x5D),
(void*)0x0003FFFF,
(void*)0xFFFFFFFF,
(void*)0xFFFFFFFF,
(void*)0xFFFF0000,
(void*)NULL,
(void*)0x3F800000,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)0xFF000000,
(void*)(((char*)&d_a_d_a_shop_item_static__stringBase0) + 0x65),
(void*)0x0003FFFF,
(void*)0xFFFFFFFF,
(void*)0xFFFFFFFF,
(void*)0xFFFF0000,
(void*)NULL,
(void*)0x3F800000,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)0xFF000000,
(void*)(((char*)&d_a_d_a_shop_item_static__stringBase0) + 0x6F),
(void*)0x0003FFFF,
(void*)0xFFFFFFFF,
(void*)0xFFFFFFFF,
(void*)0xFFFF0000,
(void*)NULL,
(void*)0x3F800000,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)0xFF000000,
(void*)(((char*)&d_a_d_a_shop_item_static__stringBase0) + 0x79),
(void*)0x0003FFFF,
(void*)0xFFFFFFFF,
(void*)0xFFFFFFFF,
(void*)0xFFFF0000,
(void*)NULL,
(void*)0x3F800000,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)0xFF000000,
(void*)(((char*)&d_a_d_a_shop_item_static__stringBase0) + 0x26),
(void*)0x0006000C,
(void*)0xFFFFFFFF,
(void*)0xFFFF0009,
(void*)0x000F0000,
(void*)NULL,
(void*)0x3F800000,
(void*)NULL,
(void*)NULL,
(void*)0x00000004,
(void*)0x00000001,
(void*)NULL,
(void*)(((char*)&d_a_d_a_shop_item_static__stringBase0) + 0x83),
(void*)0x0003FFFF,
(void*)0xFFFFFFFF,
(void*)0xFFFFFFFF,
(void*)0xFFFF0000,
(void*)NULL,
(void*)0x3F800000,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)0x000000FF,
(void*)0xFF000000,
(void*)(((char*)&d_a_d_a_shop_item_static__stringBase0) + 0x8D),
(void*)0x0003FFFF,
(void*)0xFFFFFFFF,
(void*)0xFFFFFFFF,
(void*)0xFFFF0000,
(void*)NULL,
(void*)0x3F800000,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)0x000000FF,
(void*)0xFF000000,
(void*)(((char*)&d_a_d_a_shop_item_static__stringBase0) + 0x97),
(void*)0x0003FFFF,
(void*)0xFFFFFFFF,
(void*)0xFFFFFFFF,
(void*)0xFFF50000,
(void*)NULL,
(void*)0x3F800000,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)0x000000FF,
(void*)0xFF000000,
(void*)(((char*)&d_a_d_a_shop_item_static__stringBase0) + 0xA1),
(void*)0x0003FFFF,
(void*)0xFFFFFFFF,
(void*)0xFFFFFFFF,
(void*)0xFFFF0000,
(void*)NULL,
(void*)0x3F800000,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)0x000000FF,
(void*)0xFF000000,
(void*)(((char*)&d_a_d_a_shop_item_static__stringBase0) + 0xAB),
(void*)0x0003FFFF,
(void*)0xFFFFFFFF,
(void*)0xFFFFFFFF,
(void*)0xFFFF0000,
(void*)NULL,
(void*)0x3F800000,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)0x000000FF,
(void*)0xFF000000,
(void*)(((char*)&d_a_d_a_shop_item_static__stringBase0) + 0xAB),
(void*)0x0004FFFF,
(void*)0xFFFFFFFF,
(void*)0xFFFFFFFF,
(void*)0xFFFF0000,
(void*)NULL,
(void*)0x3F800000,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)0x000000FF,
(void*)0xFF000000,
(void*)(((char*)&d_a_d_a_shop_item_static__stringBase0) + 0xB5),
(void*)0x0003FFFF,
(void*)0xFFFFFFFF,
(void*)0xFFFFFFFF,
(void*)0xFFFF0000,
(void*)NULL,
(void*)0x3F800000,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)0x000000FF,
(void*)0xFF000000,
(void*)(((char*)&d_a_d_a_shop_item_static__stringBase0) + 0x26),
(void*)0x0006000C,
(void*)0xFFFFFFFF,
(void*)0xFFFF0009,
(void*)0x000F0000,
(void*)NULL,
(void*)0x3F800000,
(void*)NULL,
(void*)NULL,
(void*)0x00000004,
(void*)0x0000000C,
(void*)NULL,
SECTION_RODATA ResourceData const daShopItem_c::mData[23] = {
{"B_mD_sold", 3, -1, -1, -1, -1, -1, -1, 0.0f, 1.0f, 0, {0, 0x8000, 0}, 0, 0, 0, 0, -1, -1},
{"B_mD_oil", 3, -1, -1, -1, -1, -1, -1, 0.0f, 1.0f, 0, {0, 0, 0}, 0, 0, 0, 0, -1, -1},
{"O_mD_red", 3, -1, -1, -1, -1, -1, -11, 0.0f, 1.0f, 0, {0, 0, 0}, 0, 0, 0, 0, -1, -1},
{"B_mD_milk", 3, -1, -1, -1, -1, -1, -1, 0.0f, 1.0f, 0, {0, 0, 0}, 0, 0, 0, 0, -1, -1},
{"O_mD_bott", 6, 12, -1, -1, -1, 9, 15, 0.0f, 1.0f, 0, {0, 0, 0}, 4, 0, 0, 0, 3, 1},
{"O_mD_arw", 3, -1, -1, -1, -1, -1, -1, 0.0f, 1.0f, 0, {0, 0, 0}, 0, 0, 0, 0, -1, -1},
{"O_mD_SHB", 3, -1, -1, -1, -1, -1, -1, 30.0f, 1.0f, 0, {0, 0x7FFF, 0}, 0, 0, 0, 0, -1, -1},
{"O_mD_SHA", 3, -1, -1, -1, -1, -1, -1, 30.0f, 1.0f, 0, {0, 0x7FFF, 0}, 0, 0, 0, 0, -1, -1},
{"O_mD_bomb", 3, -1, -1, -1, -1, -1, -1, 0.0f, 1.0f, 0, {0, 0, 0}, 0, 0, 0, 0, 0, -1},
{"O_mD_pg", 3, -1, -1, -1, -1, -1, -1, 0.0f, 1.0f, 0, {0, 0, 0}, 0, 0, 0, 0, 0, -1},
{"O_mD_bi", 3, -1, -1, -1, -1, -1, -1, 0.0f, 1.0f, 0, {0, 0, 0}, 0, 0, 0, 0, 0, -1},
{"O_mD_bmcs", 3, -1, -1, -1, -1, -1, -1, 0.0f, 1.0f, 0, {0, 0, 0}, 0, 0, 0, 0, 0, -1},
{"O_mD_bmc2", 3, -1, -1, -1, -1, -1, -1, 0.0f, 1.0f, 0, {0, 0, 0}, 0, 0, 0, 0, 0, -1},
{"O_mD_jira", 3, -1, -1, -1, -1, -1, -1, 0.0f, 1.0f, 0, {0, 0, 0}, 0, 0, 0, 0, 0, -1},
{"O_mD_bott", 6, 12, -1, -1, -1, 9, 15, 0.0f, 1.0f, 0, {0, 0, 0}, 4, 0, 0, 0, 1, 0},
{"O_mD_hati", 3, -1, -1, -1, -1, -1, -1, 0.0f, 1.0f, 0, {0, 0, 0}, 0, 0, 0, 0, -1, -1},
{"O_mD_pach", 3, -1, -1, -1, -1, -1, -1, 0.0f, 1.0f, 0, {0, 0, 0}, 0, 0, 0, 0, -1, -1},
{"O_mD_blue", 3, -1, -1, -1, -1, -1, -11, 0.0f, 1.0f, 0, {0, 0, 0}, 0, 0, 0, 0, -1, -1},
{"O_mD_hawk", 3, -1, -1, -1, -1, -1, -1, 0.0f, 1.0f, 0, {0, 0, 0}, 0, 0, 0, 0, -1, -1},
{"O_mD_marm", 3, -1, -1, -1, -1, -1, -1, 0.0f, 1.0f, 0, {0, 0, 0}, 0, 0, 0, 0, -1, -1},
{"O_mD_marm", 4, -1, -1, -1, -1, -1, -1, 0.0f, 1.0f, 0, {0, 0, 0}, 0, 0, 0, 0, -1, -1},
{"O_mD_gren", 3, -1, -1, -1, -1, -1, -1, 0.0f, 1.0f, 0, {0, 0, 0}, 0, 0, 0, 0, -1, -1},
{"O_mD_bott", 6, 12, -1, -1, -1, 9, 15, 0.0f, 1.0f, 0, {0, 0, 0}, 4, 0, 0, 0, 12, 0},
};
COMPILER_STRIP_GATE(0x803792E8, &daShopItem_c::mData);
/* 80379738-80379738 005D98 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_80379738 = "B_mD_sold";
SECTION_DEAD static char const* const stringBase_80379742 = "B_mD_oil";
SECTION_DEAD static char const* const stringBase_8037974B = "O_mD_red";
SECTION_DEAD static char const* const stringBase_80379754 = "B_mD_milk";
SECTION_DEAD static char const* const stringBase_8037975E = "O_mD_bott";
SECTION_DEAD static char const* const stringBase_80379768 = "O_mD_arw";
SECTION_DEAD static char const* const stringBase_80379771 = "O_mD_SHB";
SECTION_DEAD static char const* const stringBase_8037977A = "O_mD_SHA";
SECTION_DEAD static char const* const stringBase_80379783 = "O_mD_bomb";
SECTION_DEAD static char const* const stringBase_8037978D = "O_mD_pg";
SECTION_DEAD static char const* const stringBase_80379795 = "O_mD_bi";
SECTION_DEAD static char const* const stringBase_8037979D = "O_mD_bmcs";
SECTION_DEAD static char const* const stringBase_803797A7 = "O_mD_bmc2";
SECTION_DEAD static char const* const stringBase_803797B1 = "O_mD_jira";
SECTION_DEAD static char const* const stringBase_803797BB = "O_mD_hati";
SECTION_DEAD static char const* const stringBase_803797C5 = "O_mD_pach";
SECTION_DEAD static char const* const stringBase_803797CF = "O_mD_blue";
SECTION_DEAD static char const* const stringBase_803797D9 = "O_mD_hawk";
SECTION_DEAD static char const* const stringBase_803797E3 = "O_mD_marm";
SECTION_DEAD static char const* const stringBase_803797ED = "O_mD_gren";
/* @stringBase0 padding */
SECTION_DEAD static char const* const pad_803797F7 = "";
#pragma pop
/* 80037C24-80037C7C 032564 0058+00 0/0 0/0 1/1 .text CheckShopItemCreateHeap__FP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void CheckShopItemCreateHeap(fopAc_ac_c* param_0) {
nofralloc
#include "asm/d/a/d_a_shop_item_static/CheckShopItemCreateHeap__FP10fopAc_ac_c.s"
void CheckShopItemCreateHeap(fopAc_ac_c* actor) {
daShopItem_c* item = static_cast<daShopItem_c*>(actor);
u8 item_id = item->getShopItemID();
item->CreateItemHeap(daShopItem_c::mData[item_id].get_arcName(), daShopItem_c::mData[item_id].get_bmdName(),
daShopItem_c::mData[item_id].get_btk1Name(), daShopItem_c::mData[item_id].get_bpk1Name(),
daShopItem_c::mData[item_id].get_bck1Name(), daShopItem_c::mData[item_id].get_bxa1Name(),
daShopItem_c::mData[item_id].get_brk1Name(), daShopItem_c::mData[item_id].get_btp1Name());
}
#pragma pop
/* 80379738-80379738 005D98 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */

View File

@ -1514,7 +1514,7 @@ asm void dMsgFlow_c::checkOpenDoor(fopAc_ac_c* param_0, int* param_1) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMsgFlow_c::doFlow(fopAc_ac_c* param_0, fopAc_ac_c** param_1, int param_2) {
asm int dMsgFlow_c::doFlow(fopAc_ac_c* param_0, fopAc_ac_c** param_1, int param_2) {
nofralloc
#include "asm/d/msg/d_msg_flow/doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci.s"
}
@ -1544,7 +1544,7 @@ asm void dMsgFlow_c::remove() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMsgFlow_c::getEventId(int* param_0) {
asm u16 dMsgFlow_c::getEventId(int* param_0) {
nofralloc
#include "asm/d/msg/d_msg_flow/getEventId__10dMsgFlow_cFPi.s"
}
@ -1797,7 +1797,7 @@ asm void dMsgFlow_c::query004(mesg_flow_node_branch* param_0, fopAc_ac_c* param_
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMsgFlow_c::query005(mesg_flow_node_branch* param_0, fopAc_ac_c* param_1, int param_2) {
asm u16 dMsgFlow_c::query005(mesg_flow_node_branch* param_0, fopAc_ac_c* param_1, int param_2) {
nofralloc
#include "asm/d/msg/d_msg_flow/query005__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci.s"
}

View File

@ -1905,7 +1905,7 @@ asm void dMsgObject_c::offMsgSendControl() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMsgObject_c::isMsgSendControl() {
asm int dMsgObject_c::isMsgSendControl() {
nofralloc
#include "asm/d/msg/d_msg_object/isMsgSendControl__12dMsgObject_cFv.s"
}
@ -1955,7 +1955,7 @@ asm void dMsgObject_c::isMouthCheck() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMsgObject_c::getMessageID() {
asm u32 dMsgObject_c::getMessageID() {
nofralloc
#include "asm/d/msg/d_msg_object/getMessageID__12dMsgObject_cFv.s"
}

View File

@ -23,20 +23,6 @@ struct dPa_control_c {
dKy_tevstr_c const*, u32, u32, csXyz const*, cXyz const*, s8);
};
struct dPaPoT_c {
/* 8005115C */ void setEffectTwo(dKy_tevstr_c const*, cXyz const*, u32, u32, cXyz const*,
cXyz const*, cXyz const*, csXyz const*, cXyz const*, s8, f32,
f32);
/* 80051294 */ void clearTwoAllID();
/* 80051470 */ void getRightEffType(int) const;
/* 8005147C */ void getLeftEffType(int) const;
/* 80051494 */ void getRightEmitter(int, int);
/* 800514DC */ void getLeftEmitter(int, int);
static u8 m_typeTwoData[36];
static u8 m_emitterTwoData[36];
};
struct dPaPoF_c {
/* 800512E8 */ void setEffectFour(dKy_tevstr_c const*, cXyz const*, u32, u32, cXyz const*,
cXyz const*, cXyz const*, cXyz const*, cXyz const*,

View File

@ -7,30 +7,6 @@
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct daShopItem_c {
/* 80037C14 */ void getRotateP();
/* 80037C1C */ void getPosP();
};
struct Vec {};
struct cXyz {
/* 80266B34 */ void operator-(Vec const&) const;
};
struct dShopItemCtrl_c {
/* 80196914 */ dShopItemCtrl_c();
/* 80196958 */ ~dShopItemCtrl_c();
/* 801969A0 */ void getCurrentPos(int);
/* 80196A3C */ void isHomePos(int);
/* 80196AF0 */ void setRotateAnime(int);
/* 80196BA4 */ void setZoomAnime(int, cXyz*, s16, bool);
};
//
// Forward References:
//
@ -54,46 +30,25 @@ extern "C" void __mi__4cXyzCFRC3Vec();
extern "C" void cLib_addCalcPos2__FP4cXyzRC4cXyzff();
extern "C" void cLib_addCalcAngleS__FPsssss();
extern "C" void __dl__FPv();
extern "C" void PSVECSquareMag();
extern "C" void _savegpr_23();
extern "C" void _savegpr_27();
extern "C" void _restgpr_23();
extern "C" void _restgpr_27();
extern "C" extern u32 __float_nan;
//
// Declarations:
//
/* ############################################################################################## */
/* 803BB888-803BB898 0189A8 000C+04 2/2 0/0 0/0 .data __vt__15dShopItemCtrl_c */
SECTION_DATA extern void* __vt__15dShopItemCtrl_c[3 + 1 /* padding */] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__15dShopItemCtrl_cFv,
/* padding */
NULL,
};
/* 80196914-80196958 191254 0044+00 0/0 0/0 10/10 .text __ct__15dShopItemCtrl_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dShopItemCtrl_c::dShopItemCtrl_c() {
nofralloc
#include "asm/d/shop/d_shop_item_ctrl/__ct__15dShopItemCtrl_cFv.s"
dShopItemCtrl_c::dShopItemCtrl_c() {
for (int i = 0; i < 7; i++) {
mItemIndex[i] = -1;
mMessageIndex[i] = 0;
}
}
#pragma pop
/* 80196958-801969A0 191298 0048+00 1/0 1/1 0/0 .text __dt__15dShopItemCtrl_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dShopItemCtrl_c::~dShopItemCtrl_c() {
nofralloc
#include "asm/d/shop/d_shop_item_ctrl/__dt__15dShopItemCtrl_cFv.s"
}
#pragma pop
dShopItemCtrl_c::~dShopItemCtrl_c() {}
/* ############################################################################################## */
/* 80453AD0-80453AD8 0020D0 0004+04 2/2 0/0 0/0 .sdata2 @3659 */
@ -105,35 +60,57 @@ SECTION_SDATA2 static f32 lit_3659[1 + 1 /* padding */] = {
/* 801969A0-80196A3C 1912E0 009C+00 0/0 3/3 3/3 .text getCurrentPos__15dShopItemCtrl_cFi
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dShopItemCtrl_c::getCurrentPos(int param_0) {
nofralloc
#include "asm/d/shop/d_shop_item_ctrl/getCurrentPos__15dShopItemCtrl_cFi.s"
cXyz dShopItemCtrl_c::getCurrentPos(int item_index) {
f32 tmp = lit_3659[0];
cXyz item_pos(tmp, tmp, tmp);
if (mItemIndex[item_index] != -1) {
fopAc_ac_c* item = fopAcM_SearchByID(mItemIndex[item_index]);
if (item != NULL) {
item_pos.set(item->mCurrent.mPosition);
}
}
return item_pos;
}
#pragma pop
/* 80196A3C-80196AF0 19137C 00B4+00 0/0 2/2 0/0 .text isHomePos__15dShopItemCtrl_cFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dShopItemCtrl_c::isHomePos(int param_0) {
nofralloc
#include "asm/d/shop/d_shop_item_ctrl/isHomePos__15dShopItemCtrl_cFi.s"
bool dShopItemCtrl_c::isHomePos(int item_index) {
if (item_index >= 0 && item_index < 7 && mItemIndex[item_index] != -1) {
daShopItem_c* item = (daShopItem_c*)fopAcM_SearchByID(mItemIndex[item_index]);
if (item != NULL) {
cXyz* item_pos = item->getPosP();
cXyz item_home = item->mOrig.mPosition;
if (item_pos->x == item_home.x &&
item_pos->y == item_home.y &&
item_pos->z == item_home.z) {
return true;
}
}
}
return false;
}
#pragma pop
/* 80196AF0-80196BA4 191430 00B4+00 0/0 1/1 0/0 .text setRotateAnime__15dShopItemCtrl_cFi
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dShopItemCtrl_c::setRotateAnime(int param_0) {
nofralloc
#include "asm/d/shop/d_shop_item_ctrl/setRotateAnime__15dShopItemCtrl_cFi.s"
void dShopItemCtrl_c::setRotateAnime(int item_index) {
for (int i = 0; i < 7; i++) {
if (mItemIndex[i] != -1) {
daShopItem_c* item = (daShopItem_c*)fopAcM_SearchByID(mItemIndex[i]);
if (item != NULL) {
csXyz* item_rot = item->getRotateP();
if (i == item_index - 1) {
item_rot->y += 0x200;
} else {
cLib_addCalcAngleS(&item_rot->y, item->mOrig.mAngle.y, 4, 0x800, 0x80);
}
}
}
}
}
#pragma pop
/* ############################################################################################## */
/* 80453AD8-80453AE0 0020D8 0008+00 1/1 0/0 0/0 .sdata2 @3838 */

File diff suppressed because it is too large Load Diff

View File

@ -218,7 +218,7 @@ static u8 g_fopAc_type[4];
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void fopAc_IsActor(void* param_0) {
asm s32 fopAc_IsActor(void* param_0) {
nofralloc
#include "asm/f_op/f_op_actor/fopAc_IsActor__FPv.s"
}