mirror of
https://github.com/zeldaret/tww.git
synced 2026-09-02 01:42:49 -04:00
d_a_npc_btsw2 50%
This commit is contained in:
@@ -2,44 +2,104 @@
|
||||
#define D_A_NPC_BTSW2_H
|
||||
|
||||
#include "f_op/f_op_actor.h"
|
||||
#include "d/d_npc.h"
|
||||
|
||||
class daNpc_Btsw2_c : public fopAc_ac_c {
|
||||
class daNpc_Btsw2_c : public fopNpc_npc_c {
|
||||
public:
|
||||
void getAttentionBasePos() {}
|
||||
void setAction(int (daNpc_Btsw2_c::*)(void*), void*) {}
|
||||
typedef BOOL (daNpc_Btsw2_c::*ActionFunc)(void*);
|
||||
|
||||
void initTexPatternAnm(bool);
|
||||
void getAttentionBasePos() {}
|
||||
void setAction(ActionFunc func, void*) {
|
||||
if (mCurrActionFunc != func) {
|
||||
if (mCurrActionFunc) {
|
||||
m74A = -1;
|
||||
(this->*mCurrActionFunc)(NULL);
|
||||
}
|
||||
mCurrActionFunc = func;
|
||||
m74A = 0;
|
||||
(this->*mCurrActionFunc)(NULL);
|
||||
}
|
||||
}
|
||||
|
||||
BOOL initTexPatternAnm(bool);
|
||||
void playTexPatternAnm();
|
||||
void setAnm(signed char);
|
||||
void chkAttention(cXyz, short);
|
||||
void setAnm(s8);
|
||||
void chkAttention(cXyz, s16);
|
||||
void eventOrder();
|
||||
void checkOrder();
|
||||
void anmAtr(unsigned short);
|
||||
void getMsg();
|
||||
void next_msgStatus(unsigned long*);
|
||||
virtual void anmAtr(u16);
|
||||
virtual u32 getMsg();
|
||||
virtual u16 next_msgStatus(u32*);
|
||||
void setAttention();
|
||||
void lookBack();
|
||||
void CreateHeap();
|
||||
void CreateInit();
|
||||
BOOL CreateHeap();
|
||||
BOOL CreateInit();
|
||||
void wait01();
|
||||
void talk01();
|
||||
void pathMove();
|
||||
void wait_action(void*);
|
||||
BOOL wait_action(void*);
|
||||
s32 _create();
|
||||
BOOL _delete();
|
||||
BOOL _execute();
|
||||
BOOL _draw();
|
||||
|
||||
static const char m_arc_name[];
|
||||
|
||||
public:
|
||||
/* Place member variables here */
|
||||
/* 0x6C4 */ request_of_phase_process_class mPhs;
|
||||
/* 0x6CC */ u32 mShadowId;
|
||||
/* 0x6D0 */ J3DModel* m6D0;
|
||||
/* 0x6D4 */ J3DModel* m6D4;
|
||||
/* 0x6D8 */ J3DAnmTexPattern* m_btp;
|
||||
/* 0x6DC */ mDoExt_btpAnm mBtpAnm;
|
||||
/* 0x6F0 */ s8 m6F0;
|
||||
/* 0x6F1 */ s8 m6F1;
|
||||
/* 0x6F2 */ s8 m6F2;
|
||||
/* 0x6F3 */ u8 m6F3[0x6F4 - 0x6F3];
|
||||
/* 0x6F4 */ s16 m6F4;
|
||||
/* 0x6F6 */ u8 m6F6[0x704 - 0x6F6];
|
||||
/* 0x704 */ cXyz m704;
|
||||
/* 0x710 */ u8 m710[0x714 - 0x710];
|
||||
/* 0x714 */ csXyz m714;
|
||||
/* 0x71A */ u8 m71A[0x71D - 0x71A];
|
||||
/* 0x71D */ u8 m71D;
|
||||
/* 0x71E */ bool m71E;
|
||||
/* 0x71F */ u8 m71F[0x724 - 0x71F];
|
||||
/* 0x724 */ u8 m724;
|
||||
/* 0x725 */ u8 m725[0x728 - 0x725];
|
||||
/* 0x728 */ ActionFunc mCurrActionFunc;
|
||||
/* 0x734 */ s8 mPathNo;
|
||||
/* 0x735 */ u8 m735;
|
||||
/* 0x736 */ u8 m736;
|
||||
/* 0x737 */ u8 m737[0x738 - 0x737];
|
||||
/* 0x738 */ dPath* mpPath;
|
||||
/* 0x73C */ s16 m73C;
|
||||
/* 0x73E */ s16 m73E;
|
||||
/* 0x740 */ s16 m740;
|
||||
/* 0x742 */ s16 m742;
|
||||
/* 0x744 */ s8 m744;
|
||||
/* 0x745 */ u8 m745;
|
||||
/* 0x746 */ u8 m746;
|
||||
/* 0x747 */ u8 m747;
|
||||
/* 0x748 */ u8 m748[0x74A - 0x748];
|
||||
/* 0x74A */ s8 m74A;
|
||||
/* 0x74B */ u8 m74B[0x74C - 0x74B];
|
||||
};
|
||||
|
||||
class daNpc_Btsw2_HIO_c {
|
||||
public:
|
||||
daNpc_Btsw2_HIO_c();
|
||||
virtual ~daNpc_Btsw2_HIO_c() {}
|
||||
|
||||
public:
|
||||
/* Place member variables here */
|
||||
/* 0x04 */ s8 mChildID;
|
||||
/* 0x08 */ dNpc_HIO_c mNpc;
|
||||
/* 0x30 */ s16 m30;
|
||||
/* 0x32 */ s16 m32;
|
||||
/* 0x34 */ f32 m34;
|
||||
/* 0x38 */ f32 m38;
|
||||
/* 0x3C */ s16 m3C;
|
||||
/* 0x3E */ s16 m3E;
|
||||
};
|
||||
|
||||
#endif /* D_A_NPC_BTSW2_H */
|
||||
|
||||
+3
-2
@@ -214,7 +214,7 @@ public:
|
||||
mCurrMsgBsPcId = fpcM_ERROR_PROCESS_ID_e;
|
||||
mpCurrMsg = 0;
|
||||
}
|
||||
/* 0x290 */ dNpc_JntCtrl_c mJntCtrl;
|
||||
/* 0x290 */ dNpc_JntCtrl_c m_jnt;
|
||||
/* 0x2C4 */ dNpc_EventCut_c mEventCut;
|
||||
/* 0x330 */ mDoExt_McaMorf* mpMcaMorf;
|
||||
/* 0x334 */ dBgS_ObjAcch mObjAcch;
|
||||
@@ -226,6 +226,7 @@ public:
|
||||
/* 0x6AC */ u32 mCurrMsgBsPcId;
|
||||
/* 0x6B0 */ msg_class* mpCurrMsg;
|
||||
/* 0x6B4 */ u8 pad_0x6B4[0x6C0 - 0x6B4];
|
||||
/* 0x6C0 */ /* vtable */
|
||||
|
||||
virtual u16 next_msgStatus(u32* msgId) { return fopMsgStts_MSG_ENDS_e; }
|
||||
virtual u32 getMsg() { return 0; }
|
||||
@@ -233,7 +234,7 @@ public:
|
||||
|
||||
void setCollision(float radius, float height);
|
||||
u16 talk(int);
|
||||
};
|
||||
}; // Size: 0x6C4
|
||||
|
||||
bool dNpc_setAnmIDRes(mDoExt_McaMorf* pMorf, int loopMode, float morf, float speed, int animResId, int soundResId, const char* arcName);
|
||||
bool dNpc_setAnmFNDirect(mDoExt_McaMorf* pMorf, int loopMode, f32 morf, f32 speed, char* animFilename, char* soundFilename, const char* arcName);
|
||||
|
||||
+18
-32
@@ -49,13 +49,13 @@ private:
|
||||
class mDoExt_btkAnm : public mDoExt_baseAnm {
|
||||
public:
|
||||
mDoExt_btkAnm() { mpTexMtxAnm = NULL; }
|
||||
int init(J3DMaterialTable* i_matTable, J3DAnmTextureSRTKey* i_btk, int i_anmPlay,
|
||||
int init(J3DMaterialTable* i_matTable, J3DAnmTextureSRTKey* i_btk, BOOL i_anmPlay,
|
||||
int i_attribute, f32 i_rate, s16 i_start, s16 i_end, bool i_modify, int i_entry);
|
||||
void entry(J3DMaterialTable* i_matTable, f32 i_frame);
|
||||
void entry(J3DModelData *i_modelData, f32 i_frame);
|
||||
|
||||
void entry(J3DModelData* i_modelData) { entry(i_modelData, getFrame()); }
|
||||
int init(J3DModelData* i_modelData, J3DAnmTextureSRTKey* i_btk, int i_anmPlay, int i_attribute,
|
||||
int init(J3DModelData* i_modelData, J3DAnmTextureSRTKey* i_btk, BOOL i_anmPlay, int i_attribute,
|
||||
f32 i_rate, s16 i_start, s16 i_end, bool i_modify, int i_entry);
|
||||
|
||||
int remove(J3DModelData* i_modelData) { return i_modelData->removeTexMtxAnimator(mpAnm); }
|
||||
@@ -80,14 +80,14 @@ public:
|
||||
mpCRegAnm = NULL;
|
||||
mpKRegAnm = NULL;
|
||||
}
|
||||
int init(J3DMaterialTable* i_matTable, J3DAnmTevRegKey* i_brk, int i_anmPlay,
|
||||
int init(J3DMaterialTable* i_matTable, J3DAnmTevRegKey* i_brk, BOOL i_anmPlay,
|
||||
int i_attribute, f32 i_rate, s16 i_start, s16 i_end, bool i_modify, int i_entry);
|
||||
void entry(J3DMaterialTable* i_matTable, f32 i_frame);
|
||||
|
||||
void entry(J3DModelData* i_modelData) { entry(i_modelData, getFrame()); }
|
||||
void entry(J3DModelData* i_modelData, f32 i_frame);
|
||||
|
||||
int init(J3DModelData* i_modelData, J3DAnmTevRegKey* i_brk, int i_anmPlay, int i_attribute,
|
||||
int init(J3DModelData* i_modelData, J3DAnmTevRegKey* i_brk, BOOL i_anmPlay, int i_attribute,
|
||||
f32 i_rate, s16 i_start, s16 i_end, bool i_modify, int i_entry);
|
||||
|
||||
int remove(J3DModelData* i_modelData) { return i_modelData->removeTevRegAnimator(mpAnm); }
|
||||
@@ -113,18 +113,10 @@ public:
|
||||
f32 i_rate, s16 i_startF, s16 i_endF1, bool i_modify);
|
||||
void changeBckOnly(J3DAnmTransform* i_bck);
|
||||
void entry(J3DModelData* i_modelData, f32 i_frame);
|
||||
void entryJoint(J3DModelData* i_modelData, u16 i_jntNo, f32 i_frame);
|
||||
|
||||
void entry(J3DModelData* i_modelData) { entry(i_modelData, getFrame()); }
|
||||
|
||||
void remove(J3DModelData* i_modelData) { i_modelData->getJointNodePointer(0)->setMtxCalc(NULL); }
|
||||
|
||||
J3DAnmTransform* getBckAnm() { return mAnmTransform; }
|
||||
|
||||
void removeJoint(J3DModelData* i_modelData, u16 i_idx) {
|
||||
J3DJoint* mpJnt = i_modelData->getJointNodePointer(i_idx);
|
||||
mpJnt->setMtxCalc(0);
|
||||
}
|
||||
J3DAnmTransform* getBckAnm() const { return mAnmTransform; }
|
||||
|
||||
private:
|
||||
/* 0x08 */ J3DAnmTransform* mAnmTransform;
|
||||
@@ -136,22 +128,16 @@ STATIC_ASSERT(sizeof(mDoExt_bckAnm) == 0x10);
|
||||
class mDoExt_btpAnm : public mDoExt_baseAnm {
|
||||
public:
|
||||
mDoExt_btpAnm() { field_0xc = NULL; }
|
||||
int init(J3DMaterialTable* i_matTable, J3DAnmTexPattern* i_btk, int i_anmPlay,
|
||||
int i_attribute, f32 i_rate, s16 i_start, s16 param_6);
|
||||
int init(J3DModelData*, J3DAnmTexPattern*, int, int, float, short, short, bool, int);
|
||||
int init(J3DMaterialTable*, J3DAnmTexPattern*, int, int, float, short, short, bool, int);
|
||||
int init(J3DModelData* i_modelData, J3DAnmTexPattern* i_btp, BOOL i_anmPlay, int i_attribute,
|
||||
f32 i_rate, s16 i_start, s16 i_end, bool i_modify, int i_entry);
|
||||
int init(J3DMaterialTable* i_matTable, J3DAnmTexPattern* i_btp, BOOL i_anmPlay, int i_attribute,
|
||||
f32 i_rate, s16 i_start, s16 i_end, bool i_modify, int i_entry);
|
||||
void entry(J3DModelData* i_modelData, s16 i_frame);
|
||||
void entry(J3DMaterialTable* i_matTable, s16 i_frame);
|
||||
|
||||
void entry(J3DModelData* i_modelData) { entry(i_modelData, getFrame()); }
|
||||
|
||||
int init(J3DModelData* i_modelData, J3DAnmTexPattern* i_btk, int i_anmPlay, int i_attribute,
|
||||
f32 i_rate, s16 i_start, s16 param_6) {
|
||||
return init(&i_modelData->getMaterialTable(), i_btk, i_anmPlay, i_attribute, i_rate,
|
||||
i_start, param_6);
|
||||
}
|
||||
|
||||
int remove(J3DModelData* i_modelData) { return i_modelData->removeTexNoAnimator(mpAnm); }
|
||||
J3DAnmTexPattern* getBtpAnm() const { return mpAnm; }
|
||||
|
||||
private:
|
||||
/* 0x08 */ J3DAnmTexPattern* mpAnm;
|
||||
@@ -161,7 +147,7 @@ private:
|
||||
|
||||
class mDoExt_blkAnm : public mDoExt_baseAnm {
|
||||
public:
|
||||
int init(J3DDeformData* i_deformData, J3DAnmCluster* i_blk, int i_anmPlay,
|
||||
int init(J3DDeformData* i_deformData, J3DAnmCluster* i_blk, BOOL i_anmPlay,
|
||||
int i_attribute, f32 i_rate, s16 i_start, s16 param_6);
|
||||
|
||||
J3DAnmCluster* getBlkAnm() { return mpAnm; }
|
||||
@@ -172,11 +158,11 @@ private:
|
||||
|
||||
class mDoExt_bpkAnm : public mDoExt_baseAnm {
|
||||
public:
|
||||
int init(J3DModelData*, J3DAnmColor*, int, int, float, short, short, bool, int);
|
||||
int init(J3DMaterialTable*, J3DAnmColor*, int, int, float, short, short, bool, int);
|
||||
int init(J3DModelData*, J3DAnmColor*, int, int, f32, s16, s16, bool, int);
|
||||
int init(J3DMaterialTable*, J3DAnmColor*, int, int, f32, s16, s16, bool, int);
|
||||
|
||||
void entry(J3DModelData*, float);
|
||||
void entry(J3DMaterialTable*, float);
|
||||
void entry(J3DModelData*, f32);
|
||||
void entry(J3DMaterialTable*, f32);
|
||||
|
||||
private:
|
||||
/* 0x08 */ J3DAnmColor* mpAnm;
|
||||
@@ -186,10 +172,10 @@ private:
|
||||
|
||||
class mDoExt_bvaAnm : public mDoExt_baseAnm {
|
||||
public:
|
||||
int init(J3DModel*, J3DAnmVisibilityFull*, int, int, float, short, short, bool, int);
|
||||
void entry(J3DModel*, short);
|
||||
int init(J3DModel*, J3DAnmVisibilityFull*, int, int, f32, s16, s16, bool, int);
|
||||
void entry(J3DModel*, s16);
|
||||
|
||||
int init(J3DModelData*, J3DAnmTransform*, int, int, float, short, short, bool);
|
||||
int init(J3DModelData*, J3DAnmTransform*, int, int, f32, s16, s16, bool);
|
||||
|
||||
private:
|
||||
/* 0x08 */ J3DAnmVisibilityFull* mpAnm;
|
||||
|
||||
Reference in New Issue
Block a user