mirror of
https://github.com/zeldaret/tp
synced 2026-07-04 13:30:09 -04:00
work on d_a_npc, d_a_npc_ash, d_a_tag_evtarea (#345)
All credit goes to randomsalience
This commit is contained in:
@@ -9,8 +9,8 @@ typedef struct _GXColorS10 GXColorS10;
|
||||
|
||||
class J3DMatColorAnm {
|
||||
public:
|
||||
/* 8003B2B8 */ ~J3DMatColorAnm();
|
||||
/* 8003B2F4 */ J3DMatColorAnm();
|
||||
/* 8003B2B8 */ ~J3DMatColorAnm() {};
|
||||
/* 8003B2F4 */ J3DMatColorAnm() {};
|
||||
|
||||
void operator=(J3DMatColorAnm const& other) {
|
||||
mAnmColor = other.mAnmColor;
|
||||
@@ -30,9 +30,9 @@ private:
|
||||
|
||||
class J3DTexNoAnm {
|
||||
public:
|
||||
/* 8003B1F8 */ ~J3DTexNoAnm();
|
||||
/* 8003B240 */ J3DTexNoAnm();
|
||||
/* 8003C82C */ virtual void calc(u16*) const;
|
||||
/* 8003B1F8 */ ~J3DTexNoAnm() {};
|
||||
/* 8003B240 */ J3DTexNoAnm() {};
|
||||
/* 8003C82C */ virtual void calc(u16* param_0) const { mAnmTexPattern->getTexNo(field_0x4, param_0); }
|
||||
|
||||
void operator=(J3DTexNoAnm const& other) {
|
||||
mAnmTexPattern = other.mAnmTexPattern;
|
||||
@@ -52,8 +52,8 @@ private:
|
||||
|
||||
class J3DTexMtxAnm {
|
||||
public:
|
||||
/* 8003B264 */ ~J3DTexMtxAnm();
|
||||
/* 8003B2A0 */ J3DTexMtxAnm();
|
||||
/* 8003B264 */ ~J3DTexMtxAnm() {};
|
||||
/* 8003B2A0 */ J3DTexMtxAnm() {};
|
||||
|
||||
void operator=(J3DTexMtxAnm const& other) {
|
||||
mAnmTransform = other.mAnmTransform;
|
||||
@@ -75,8 +75,8 @@ private:
|
||||
|
||||
class J3DTevKColorAnm {
|
||||
public:
|
||||
/* 8003B150 */ ~J3DTevKColorAnm();
|
||||
/* 8003B18C */ J3DTevKColorAnm();
|
||||
/* 8003B150 */ ~J3DTevKColorAnm() {};
|
||||
/* 8003B18C */ J3DTevKColorAnm() {};
|
||||
|
||||
void operator=(J3DTevKColorAnm const& other) {
|
||||
mAnmTevReg = other.mAnmTevReg;
|
||||
@@ -96,8 +96,8 @@ private:
|
||||
|
||||
class J3DTevColorAnm {
|
||||
public:
|
||||
/* 8003B1A4 */ ~J3DTevColorAnm();
|
||||
/* 8003B1E0 */ J3DTevColorAnm();
|
||||
/* 8003B1A4 */ ~J3DTevColorAnm() {};
|
||||
/* 8003B1E0 */ J3DTevColorAnm() {};
|
||||
|
||||
void operator=(J3DTevColorAnm const& other) {
|
||||
mAnmTevReg = other.mAnmTevReg;
|
||||
@@ -126,7 +126,7 @@ public:
|
||||
/* 8032C664 */ void setTevColorAnm(int, J3DTevColorAnm*);
|
||||
/* 8032C6A4 */ void setTevKColorAnm(int, J3DTevKColorAnm*);
|
||||
|
||||
/* 800A4820 */ virtual ~J3DMaterialAnm();
|
||||
/* 800A4820 */ virtual ~J3DMaterialAnm() {};
|
||||
/* 8032C3C4 */ virtual void calc(J3DMaterial*) const;
|
||||
|
||||
const J3DTexMtxAnm& getTexMtxAnm(int i) const { return mTexMtxAnm[i]; }
|
||||
|
||||
@@ -458,6 +458,7 @@ public:
|
||||
void OffAtVsPlayerBit() { mObjAt.OffSPrmBit(0xC); }
|
||||
void OnAtVsPlayerBit() { mObjAt.OnSPrmBit(0xC); }
|
||||
void OnCoSPrmBit(u32 flag) { mObjCo.OnSPrmBit(flag); }
|
||||
void SetTgSPrm(u32 prm) { mObjTg.SetSPrm(prm); }
|
||||
void SetCoSPrm(u32 prm) { mObjCo.SetSPrm(prm); }
|
||||
|
||||
}; // Size = 0x40
|
||||
|
||||
@@ -94,6 +94,11 @@ T cLib_calcTimer(T* value) {
|
||||
return *value;
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
T cLib_getRndValue(T min, T range) {
|
||||
return (T)(min + cM_rndF((f32)range));
|
||||
}
|
||||
|
||||
void MtxInit(void);
|
||||
void MtxTrans(f32, f32, f32, u8);
|
||||
void MtxScale(f32, f32, f32, u8);
|
||||
|
||||
@@ -18,11 +18,11 @@ float cM_rndF2(float);
|
||||
float cM_rndFX2(float);
|
||||
|
||||
inline f32 cM_scos(s16 s) {
|
||||
return JMath::sincosTable_.table[static_cast<u16>(s) >> 3].second;
|
||||
return JMASCos(s);
|
||||
}
|
||||
|
||||
inline f32 cM_ssin(s16 s) {
|
||||
return JMath::sincosTable_.table[static_cast<u16>(s) >> 3].first;
|
||||
return JMASSin(s);
|
||||
}
|
||||
|
||||
inline s16 cM_deg2s(f32 val) {
|
||||
|
||||
+157
-95
@@ -4,12 +4,31 @@
|
||||
#include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h"
|
||||
#include "Z2AudioLib/Z2Creature.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
#include "d/a/d_a_player.h"
|
||||
#include "d/d_path.h"
|
||||
#include "d/msg/d_msg_flow.h"
|
||||
#include "d/particle/d_particle_copoly.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "global.h"
|
||||
|
||||
struct bckGetParam {
|
||||
/* 0x00 */ int bckIdx;
|
||||
/* 0x04 */ int bckAttr;
|
||||
/* 0x08 */ int arcIdx;
|
||||
};
|
||||
|
||||
struct btpGetParam {
|
||||
/* 0x00 */ int btpIdx;
|
||||
/* 0x04 */ int btpAttr;
|
||||
/* 0x08 */ int arcIdx;
|
||||
};
|
||||
|
||||
struct btkGetParam {
|
||||
/* 0x00 */ int btkIdx;
|
||||
/* 0x04 */ int btkAttr;
|
||||
/* 0x08 */ int arcIdx;
|
||||
};
|
||||
|
||||
struct dPnt {};
|
||||
|
||||
class daNpcT_ActorMngr_c {
|
||||
@@ -407,11 +426,16 @@ public:
|
||||
|
||||
STATIC_ASSERT(sizeof(daNpcT_c) == 0xE40);
|
||||
|
||||
BOOL daNpcT_chkEvtBit(u32 i_idx);
|
||||
BOOL daNpcT_chkPointInArea(cXyz param_0, cXyz param_1, cXyz param_2, s16 param_3, int param_4);
|
||||
|
||||
class daNpcF_ActorMngr_c {
|
||||
private:
|
||||
/* 0x0 */ u32 mActorID;
|
||||
|
||||
public:
|
||||
daNpcF_ActorMngr_c() { initialize(); }
|
||||
|
||||
/* 801506B0 */ void initialize();
|
||||
/* 801506D8 */ void entry(unsigned int);
|
||||
/* 801506BC */ void entry(fopAc_ac_c*);
|
||||
@@ -422,19 +446,19 @@ public:
|
||||
};
|
||||
|
||||
class daNpcF_c : public fopAc_ac_c {
|
||||
private:
|
||||
protected:
|
||||
/* 0x568 */ mDoExt_McaMorfSO* mMcaMorf;
|
||||
/* 0x56C */ mDoExt_bckAnm mBckAnm;
|
||||
/* 0x588 */ mDoExt_btpAnm mBtpAnm;
|
||||
/* 0x5A0 */ mDoExt_btkAnm mBtkAnm;
|
||||
/* 0x5B8 */ mDoExt_brkAnm mBrkAnm;
|
||||
/* 0x5D0 */ dBgS_ObjAcch field_0x5d0;
|
||||
/* 0x7A8 */ dCcD_Stts field_0x7a8;
|
||||
/* 0x7E4 */ dBgS_AcchCir field_0x7e4;
|
||||
/* 0x5D0 */ dBgS_ObjAcch mAcch;
|
||||
/* 0x7A8 */ dCcD_Stts mStts;
|
||||
/* 0x7E4 */ dBgS_AcchCir mAcchCir;
|
||||
/* 0x824 */ daNpcF_ActorMngr_c field_0x824;
|
||||
/* 0x82C */ daNpcF_ActorMngr_c field_0x82c[5];
|
||||
/* 0x854 */ cXyz field_0x854[3];
|
||||
/* 0x878 */ cXyz field_0x878;
|
||||
/* 0x854 */ cXyz mLookatPos[3];
|
||||
/* 0x878 */ cXyz mLookPos;
|
||||
/* 0x884 */ cXyz field_0x884;
|
||||
/* 0x890 */ cXyz field_0x890;
|
||||
/* 0x89C */ cXyz field_0x89c;
|
||||
@@ -443,20 +467,20 @@ private:
|
||||
/* 0x8C0 */ cXyz field_0x8c0;
|
||||
/* 0x8CC */ cXyz field_0x8cc;
|
||||
/* 0x8D8 */ cXyz field_0x8d8;
|
||||
/* 0x8E4 */ cXyz field_0x8e4;
|
||||
/* 0x8E4 */ cXyz mHeadPos;
|
||||
/* 0x8F0 */ csXyz field_0x8f0;
|
||||
/* 0x8F6 */ csXyz field_0x8f6;
|
||||
/* 0x8FC */ csXyz field_0x8fc;
|
||||
/* 0x902 */ csXyz field_0x902;
|
||||
/* 0x908 */ csXyz field_0x908[3];
|
||||
/* 0x91A */ csXyz field_0x91a[3];
|
||||
/* 0x92C */ int field_0x92c;
|
||||
/* 0x92C */ int mCutIndex;
|
||||
/* 0x930 */ u32 field_0x930;
|
||||
/* 0x934 */ u32 field_0x934;
|
||||
/* 0x938 */ u32 field_0x938;
|
||||
/* 0x93C */ u32 field_0x93c[5];
|
||||
/* 0x934 */ int field_0x934; // index in 0x93c to not decrement timer (if 0x938 is nonzero)
|
||||
/* 0x938 */ int field_0x938; // controls whether to use field 0x934
|
||||
/* 0x93C */ int field_0x93c[5]; // timers for removing actors from 0x82c
|
||||
/* 0x950 */ int field_0x950;
|
||||
/* 0x954 */ int field_0x954;
|
||||
/* 0x954 */ int field_0x954; // a timer
|
||||
/* 0x958 */ int field_0x958;
|
||||
/* 0x95C */ int field_0x95c;
|
||||
/* 0x960 */ int field_0x960;
|
||||
@@ -464,19 +488,19 @@ private:
|
||||
/* 0x968 */ int field_0x968;
|
||||
/* 0x96C */ int field_0x96c;
|
||||
/* 0x970 */ f32 field_0x970;
|
||||
/* 0x974 */ f32 field_0x974;
|
||||
/* 0x978 */ f32 field_0x978;
|
||||
/* 0x97C */ f32 field_0x97c;
|
||||
/* 0x974 */ f32 mExpressionMorfOverride;
|
||||
/* 0x978 */ f32 mExpressionMorf;
|
||||
/* 0x97C */ f32 mMotionMorfOverride;
|
||||
/* 0x980 */ f32 field_0x980;
|
||||
/* 0x984 */ f32 field_0x984[3];
|
||||
/* 0x990 */ u16 field_0x990;
|
||||
/* 0x990 */ u16 field_0x992;
|
||||
/* 0x990 */ u16 field_0x994;
|
||||
/* 0x990 */ u16 field_0x996;
|
||||
/* 0x992 */ u16 field_0x992;
|
||||
/* 0x994 */ u16 field_0x994;
|
||||
/* 0x996 */ s16 field_0x996;
|
||||
/* 0x998 */ u16 field_0x998;
|
||||
/* 0x99C */ u32 field_0x99c;
|
||||
/* 0x99C */ u32 mAnmFlags;
|
||||
/* 0x9A0 */ u32 field_0x9a0;
|
||||
/* 0x9A4 */ int field_0x9a4;
|
||||
/* 0x9A4 */ profile_method_class* field_0x9a4;
|
||||
/* 0x9A8 */ int field_0x9a8;
|
||||
/* 0x9AC */ int field_0x9ac;
|
||||
/* 0x9B0 */ u32 field_0x9b0;
|
||||
@@ -485,17 +509,17 @@ private:
|
||||
/* 0x9C4 */ cXyz field_0x9c4;
|
||||
/* 0x9D0 */ u16 field_0x9d0;
|
||||
/* 0x9D2 */ u16 field_0x9d2;
|
||||
/* 0x9D4 */ u16 field_0x9d4;
|
||||
/* 0x9D6 */ u16 field_0x9d6;
|
||||
/* 0x9D8 */ u16 field_0x9d8;
|
||||
/* 0x9DA */ u16 field_0x9da;
|
||||
/* 0x9DC */ u16 field_0x9dc;
|
||||
/* 0x9DE */ u16 field_0x9de;
|
||||
/* 0x9E0 */ u16 field_0x9e0;
|
||||
/* 0x9E2 */ u16 field_0x9e2;
|
||||
/* 0x9E4 */ u16 field_0x9e4;
|
||||
/* 0x9E6 */ u16 field_0x9e6;
|
||||
/* 0x9E8 */ u8 field_0x9e8;
|
||||
/* 0x9D4 */ s16 field_0x9d4;
|
||||
/* 0x9D6 */ s16 mExpressionPhase;
|
||||
/* 0x9D8 */ s16 mExpressionPrevPhase;
|
||||
/* 0x9DA */ s16 mMotionPhase;
|
||||
/* 0x9DC */ s16 mMotionPrevPhase;
|
||||
/* 0x9DE */ s16 mExpression;
|
||||
/* 0x9E0 */ s16 mMotion;
|
||||
/* 0x9E2 */ u16 mMotionLoops;
|
||||
/* 0x9E4 */ u16 mExpressionLoops;
|
||||
/* 0x9E6 */ u16 mOrderEvtNo;
|
||||
/* 0x9E8 */ s8 field_0x9e8;
|
||||
/* 0x9E9 */ u8 field_0x9e9;
|
||||
/* 0x9EA */ u8 field_0x9ea;
|
||||
/* 0x9EB */ u8 field_0x9eb;
|
||||
@@ -507,7 +531,7 @@ private:
|
||||
/* 0x9F1 */ u8 field_0x9f1;
|
||||
/* 0x9F2 */ bool mHide;
|
||||
/* 0x9f3 */ u8 field_0x9f3;
|
||||
/* 0x9F4 */ u8 field_0x9f4;
|
||||
/* 0x9F4 */ bool field_0x9f4; // controls whether setHitodamaPrtcl is called
|
||||
/* 0x9F5 */ u8 field_0x9f5;
|
||||
/* 0x9F6 */ u8 field_0x9f6;
|
||||
/* 0x9F8 */ dMsgFlow_c mFlow;
|
||||
@@ -516,50 +540,73 @@ private:
|
||||
/* 0xAD4 */ dBgS_LinChk field_0xad4;
|
||||
|
||||
public:
|
||||
struct daNpcF_anmPlayData {};
|
||||
struct daNpcF_anmPlayData {
|
||||
u16 idx;
|
||||
f32 morf;
|
||||
s32 numLoops;
|
||||
};
|
||||
|
||||
/* 80152014 */ void execute();
|
||||
/* 801522AC */ void draw(int, int, f32, _GXColorS10*, int);
|
||||
enum AnmFlags {
|
||||
ANM_PAUSE_MORF = 0x0001,
|
||||
ANM_PAUSE_BTK = 0x0002,
|
||||
ANM_PAUSE_BRK = 0x0004,
|
||||
ANM_PLAY_MORF = 0x0008,
|
||||
ANM_PLAY_BTK = 0x0010,
|
||||
ANM_PLAY_BRK = 0x0020,
|
||||
ANM_PAUSE_BCK = 0x0040,
|
||||
ANM_PAUSE_BTP = 0x0080,
|
||||
ANM_PLAY_BCK = 0x0100,
|
||||
ANM_PLAY_BTP = 0x0200,
|
||||
ANM_FLAG_400 = 0x0400,
|
||||
ANM_FLAG_800 = 0x0800,
|
||||
ANM_PAUSE_EXPRESSION = 0x1000,
|
||||
ANM_MOTION_FLAGS = ANM_PAUSE_MORF | ANM_PAUSE_BTK | ANM_PAUSE_BRK | ANM_PLAY_MORF | ANM_PLAY_BTK | ANM_PLAY_BRK,
|
||||
ANM_EXPRESSION_FLAGS = ANM_PAUSE_BCK | ANM_PAUSE_BTP | ANM_PLAY_BCK | ANM_PLAY_BTP | ANM_FLAG_400 | ANM_FLAG_800 | ANM_PAUSE_EXPRESSION,
|
||||
ANM_PAUSE_ALL = ANM_PAUSE_MORF | ANM_PAUSE_BTK | ANM_PAUSE_BRK | ANM_PAUSE_BCK | ANM_PAUSE_BTP | ANM_PAUSE_EXPRESSION,
|
||||
};
|
||||
|
||||
/* 80152014 */ BOOL execute();
|
||||
/* 801522AC */ BOOL draw(int, int, f32, _GXColorS10*, int);
|
||||
/* 80152614 */ void tgHitCallBack(fopAc_ac_c*, dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*);
|
||||
/* 80152654 */ void srchAttnActor1(void*, void*);
|
||||
/* 801526E8 */ void* srchActor(void*, void*);
|
||||
|
||||
/* 801528C8 */ void initialize();
|
||||
/* 80152B2C */ void getTrnsfrmKeyAnmP(char*, int);
|
||||
/* 80152B68 */ void getTexPtrnAnmP(char*, int);
|
||||
/* 80152BA4 */ void getTexSRTKeyAnmP(char*, int);
|
||||
/* 80152BE0 */ void getTevRegKeyAnmP(char*, int);
|
||||
/* 80152C1C */ void setMcaMorfAnm(J3DAnmTransformKey*, f32, f32, int, int, int);
|
||||
/* 80152C80 */ void setBckAnm(J3DAnmTransform*, f32, int, int, int, bool);
|
||||
/* 80152CC4 */ void setBtpAnm(J3DAnmTexPattern*, J3DModelData*, f32, int);
|
||||
/* 80152D04 */ void setBtkAnm(J3DAnmTextureSRTKey*, J3DModelData*, f32, int);
|
||||
/* 80152D44 */ void setBrkAnm(J3DAnmTevRegKey*, J3DModelData*, f32, int);
|
||||
/* 80152B2C */ J3DAnmTransformKey* getTrnsfrmKeyAnmP(char*, int);
|
||||
/* 80152B68 */ J3DAnmTexPattern* getTexPtrnAnmP(char*, int);
|
||||
/* 80152BA4 */ J3DAnmTextureSRTKey* getTexSRTKeyAnmP(char*, int);
|
||||
/* 80152BE0 */ J3DAnmTevRegKey* getTevRegKeyAnmP(char*, int);
|
||||
/* 80152C1C */ BOOL setMcaMorfAnm(J3DAnmTransformKey* i_anm, f32 i_rate, f32 i_morf, int i_attr, int i_start, int i_end);
|
||||
/* 80152C80 */ BOOL setBckAnm(J3DAnmTransform* i_bck, f32 i_rate, int i_attr, int i_start, int i_end, bool i_modify);
|
||||
/* 80152CC4 */ BOOL setBtpAnm(J3DAnmTexPattern* i_btp, J3DModelData* i_modelData, f32 i_rate, int i_attr);
|
||||
/* 80152D04 */ BOOL setBtkAnm(J3DAnmTextureSRTKey* i_btk, J3DModelData* i_modelData, f32 i_rate, int i_attr);
|
||||
/* 80152D44 */ BOOL setBrkAnm(J3DAnmTevRegKey* i_brk, J3DModelData* i_modelData, f32 i_rate, int i_attr);
|
||||
/* 80152D84 */ void setEnvTevColor();
|
||||
/* 80152DE0 */ void setRoomNo();
|
||||
/* 80152E24 */ void chkEndAnm(f32);
|
||||
/* 80152EC4 */ void chkEndAnm(J3DFrameCtrl*, f32);
|
||||
/* 80152F40 */ void playAllAnm();
|
||||
/* 80152E24 */ BOOL chkEndAnm(f32);
|
||||
/* 80152EC4 */ BOOL chkEndAnm(J3DFrameCtrl*, f32);
|
||||
/* 80152F40 */ BOOL playAllAnm();
|
||||
/* 80153150 */ void playExpressionAnm(daNpcF_c::daNpcF_anmPlayData***);
|
||||
/* 80153264 */ void playMotionAnm(daNpcF_c::daNpcF_anmPlayData***);
|
||||
/* 8015337C */ void setLookatMtx(int, int*, f32);
|
||||
/* 80153578 */ void hitChk2(dCcD_Cyl*, int, int);
|
||||
/* 80153658 */ void setDamage(int, int, int);
|
||||
/* 80153718 */ void ctrlMsgAnm(int&, int&, fopAc_ac_c*, int);
|
||||
/* 80153718 */ int ctrlMsgAnm(int&, int&, fopAc_ac_c*, int);
|
||||
/* 8015387C */ void orderEvent(int, char*, u16, u16, u8, u16);
|
||||
/* 80153954 */ void changeEvent(char*, char*, u16, u16);
|
||||
/* 801539F0 */ void chkActorInSight(fopAc_ac_c*, f32);
|
||||
/* 80153A78 */ void chkActorInArea(fopAc_ac_c*, cXyz, cXyz, s16);
|
||||
/* 80153BDC */ void chkActorInAttnArea(fopAc_ac_c*, fopAc_ac_c*, int);
|
||||
/* 801539F0 */ BOOL chkActorInSight(fopAc_ac_c*, f32);
|
||||
/* 80153A78 */ BOOL chkActorInArea(fopAc_ac_c*, cXyz, cXyz, s16);
|
||||
/* 80153BDC */ BOOL chkActorInAttnArea(fopAc_ac_c*, fopAc_ac_c*, int);
|
||||
/* 80153D1C */ int initTalk(int, fopAc_ac_c**);
|
||||
/* 80153D84 */ void talkProc(int*, int, fopAc_ac_c**);
|
||||
/* 80153EF4 */ void turn(s16, f32, int);
|
||||
/* 80153D84 */ BOOL talkProc(int*, int, fopAc_ac_c**);
|
||||
/* 80153EF4 */ BOOL turn(s16, f32, int);
|
||||
/* 801540A4 */ void step(s16, int, int, int);
|
||||
/* 80154250 */ void setAngle(s16);
|
||||
/* 80154278 */ void getDistTableIdx(int, int);
|
||||
/* 801542A0 */ int getEvtAreaTagP(int, int);
|
||||
/* 80154278 */ u8 getDistTableIdx(int, int);
|
||||
/* 801542A0 */ fopAc_ac_c* getEvtAreaTagP(int, int);
|
||||
/* 8015436C */ void getAttnActorP(int, void* (*)(void*, void*), f32, f32, f32, f32, s16, int,
|
||||
int);
|
||||
/* 80154730 */ void chkActorInSight2(fopAc_ac_c*, f32, s16);
|
||||
/* 80154730 */ BOOL chkActorInSight2(fopAc_ac_c*, f32, s16);
|
||||
/* 80154834 */ bool chkPointInArea(cXyz, cXyz, f32, f32, f32, s16);
|
||||
/* 801548F4 */ bool chkPointInArea(cXyz, cXyz, cXyz, s16);
|
||||
/* 8015496C */ cXyz getAttentionPos(fopAc_ac_c*);
|
||||
@@ -568,23 +615,29 @@ public:
|
||||
|
||||
/* 80155BF4 */ virtual ~daNpcF_c();
|
||||
/* 80155BC8 */ virtual void setParam();
|
||||
/* 80155BC0 */ virtual bool main();
|
||||
/* 80155BD8 */ virtual bool ctrlBtk();
|
||||
/* 80155BC0 */ virtual BOOL main();
|
||||
/* 80155BD8 */ virtual BOOL ctrlBtk();
|
||||
/* 80155BBC */ virtual void adjustShapeAngle();
|
||||
/* 8015276C */ virtual void setMtx();
|
||||
/* 801527FC */ virtual void setMtx2();
|
||||
/* 80155BB8 */ virtual void setAttnPos();
|
||||
/* 80155BB4 */ virtual void setCollisions();
|
||||
/* 80155BE0 */ virtual bool setExpressionAnm(int, bool);
|
||||
/* 80155EC8 */ virtual bool setExpressionBtp(int);
|
||||
/* 80155BF0 */ virtual void setExpression(int, f32);
|
||||
/* 80155BE8 */ virtual void setMotionAnm(int, f32);
|
||||
/* 80155BEC */ virtual void setMotion(int, f32, int);
|
||||
/* 80155BD0 */ virtual bool drawDbgInfo();
|
||||
/* 80155BE0 */ virtual bool setExpressionAnm(int i_idx, bool i_modify);
|
||||
/* 80155EC8 */ virtual bool setExpressionBtp(int i_idx);
|
||||
/* 80155BF0 */ virtual void setExpression(int i_expression, f32 i_morf);
|
||||
/* 80155BE8 */ virtual void setMotionAnm(int i_idx, f32 i_morf);
|
||||
/* 80155BEC */ virtual void setMotion(int i_motion, f32 i_morf, int i_restart);
|
||||
/* 80155BD0 */ virtual BOOL drawDbgInfo();
|
||||
/* 80155BCC */ virtual void drawOtherMdls();
|
||||
|
||||
BOOL chkActorInSpeakArea(fopAc_ac_c* i_actorCheck, fopAc_ac_c* i_actorArea) { return chkActorInAttnArea(i_actorCheck, i_actorArea, mAttentionInfo.field_0x0[3]); }
|
||||
BOOL chkPlayerInSpeakArea(fopAc_ac_c* i_actor) { return chkActorInSpeakArea(daPy_getPlayerActorClass(), i_actor); }
|
||||
BOOL chkActorInTalkArea(fopAc_ac_c* i_actorCheck, fopAc_ac_c* i_actorArea) { return chkActorInAttnArea(i_actorCheck, i_actorArea, mAttentionInfo.field_0x0[1]); }
|
||||
BOOL chkPlayerInTalkArea(fopAc_ac_c* i_actor) { return chkActorInTalkArea(daPy_getPlayerActorClass(), i_actor); }
|
||||
BOOL checkHide() { return mHide || (field_0x9f4 && !dComIfGs_wolfeye_effect_check()); }
|
||||
|
||||
static u8 const mCcDObjInfo[48];
|
||||
static u8 mCcDCyl[68];
|
||||
static dCcD_SrcCyl mCcDCyl;
|
||||
static u8 mCcDSph[64];
|
||||
static u8 mFindActorPList[400];
|
||||
static s32 mFindCount;
|
||||
@@ -593,8 +646,12 @@ public:
|
||||
|
||||
STATIC_ASSERT(sizeof(daNpcF_c) == 0xB48);
|
||||
|
||||
BOOL daNpcF_chkEvtBit(u32 i_idx);
|
||||
BOOL daNpcF_chkTmpBit(u32 i_idx);
|
||||
void daNpcF_offTmpBit(u32 i_idx);
|
||||
int daNpcF_getPlayerInfoFromPlayerList(int param_0, int i_roomNo, cXyz& param_2,
|
||||
csXyz& param_3);
|
||||
int daNpcF_getGroundAngle(cBgS_PolyInfo*, s16);
|
||||
|
||||
struct daBaseNpc_matAnm_c {
|
||||
/* 8014D884 */ void calc(J3DMaterial*) const;
|
||||
@@ -765,20 +822,23 @@ public:
|
||||
static u8 m_set_func[4];
|
||||
};
|
||||
|
||||
class daNpcF_MatAnm_c {
|
||||
class daNpcF_MatAnm_c : public J3DMaterialAnm {
|
||||
private:
|
||||
/* 0x000 */ J3DMaterialAnm mMaterialAnm;
|
||||
/* 0x0F4 */ mutable f32 field_0xF4;
|
||||
/* 0x0F8 */ mutable f32 field_0xF8;
|
||||
/* 0x0FC */ f32 mTranslationX;
|
||||
/* 0x100 */ f32 mTranslationY;
|
||||
/* 0x104 */ u8 field_0x104;
|
||||
/* 0x0FC */ f32 mNowOffsetX;
|
||||
/* 0x100 */ f32 mNowOffsetY;
|
||||
/* 0x104 */ u8 mEyeMoveFlag;
|
||||
/* 0x105 */ u8 field_0x105;
|
||||
|
||||
public:
|
||||
daNpcF_MatAnm_c() { initialize(); }
|
||||
/* 80150738 */ void initialize();
|
||||
/* 8015075C */ void calc(J3DMaterial*) const;
|
||||
/* 80155ED0 */ ~daNpcF_MatAnm_c();
|
||||
void setNowOffsetX(float i_nowOffsetX) { mNowOffsetX = i_nowOffsetX; }
|
||||
void setNowOffsetY(float i_nowOffsetY) { mNowOffsetY = i_nowOffsetY; }
|
||||
void onEyeMoveFlag() { mEyeMoveFlag = 1; }
|
||||
};
|
||||
|
||||
class daNpcF_SPCurve_c {
|
||||
@@ -824,6 +884,33 @@ public:
|
||||
cXyz* getPntPos(); // finish
|
||||
};
|
||||
|
||||
class daNpcF_Lookat_c {
|
||||
private:
|
||||
/* 0x00 */ cXyz field_0x00[4];
|
||||
/* 0x30 */ cXyz* mAttnPos;
|
||||
/* 0x34 */ csXyz field_0x34[4];
|
||||
/* 0x4C */ csXyz field_0x4c[4];
|
||||
/* 0x64 */ csXyz field_0x64[4];
|
||||
/* 0x7C */ csXyz mRotAngle[4];
|
||||
/* 0x94 */ u8 field_0x94[4];
|
||||
/* 0x98 vtable */
|
||||
|
||||
public:
|
||||
/* 80151038 */ void initialize();
|
||||
/* 801510B8 */ void setParam(f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, s16,
|
||||
cXyz*);
|
||||
/* 80151350 */ void calc(fopAc_ac_c*, f32 (*)[4], csXyz**, int, int, int);
|
||||
/* 801515D4 */ void adjustMoveDisAngle(s16&, s16, s16, s16);
|
||||
/* 80151648 */ void initCalc(fopAc_ac_c*, f32 (*)[4], cXyz*, csXyz*, f32*, cXyz&, int);
|
||||
/* 80151A54 */ void update(cXyz*, csXyz*, f32*);
|
||||
/* 80151B68 */ void calcMoveDisAngle(int, cXyz*, csXyz*, cXyz, int, int);
|
||||
/* 80151F54 */ void setRotAngle();
|
||||
/* 80151FE0 */ void clrRotAngle();
|
||||
virtual ~daNpcF_Lookat_c() {}
|
||||
cXyz* getAttnPos() { return mAttnPos; }
|
||||
void setAttnPos(cXyz* i_attnPos) { mAttnPos = i_attnPos; }
|
||||
};
|
||||
|
||||
class daNpcF_MoveBgActor_c {
|
||||
private:
|
||||
|
||||
@@ -839,29 +926,4 @@ public:
|
||||
/* 80155EC0 */ bool ToBack();
|
||||
};
|
||||
|
||||
class daNpcF_Lookat_c {
|
||||
private:
|
||||
/* 0x00 */ cXyz field_0x00[4];
|
||||
/* 0x30 */ int field_0x30;
|
||||
/* 0x34 */ csXyz field_0x34[4];
|
||||
/* 0x4C */ csXyz field_0x4c[4];
|
||||
/* 0x64 */ csXyz field_0x64[4];
|
||||
/* 0x7C */ csXyz mRotAngle[4];
|
||||
/* 0x94 */ u8 field_0x94[4];
|
||||
/* 0x98 */ void* vtable;
|
||||
|
||||
public:
|
||||
/* 80151038 */ void initialize();
|
||||
/* 801510B8 */ void setParam(f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, s16,
|
||||
cXyz*);
|
||||
/* 80151350 */ void calc(fopAc_ac_c*, f32 (*)[4], csXyz**, int, int, int);
|
||||
/* 801515D4 */ void adjustMoveDisAngle(s16&, s16, s16, s16);
|
||||
/* 80151648 */ void initCalc(fopAc_ac_c*, f32 (*)[4], cXyz*, csXyz*, f32*, cXyz&, int);
|
||||
/* 80151A54 */ void update(cXyz*, csXyz*, f32*);
|
||||
/* 80151B68 */ void calcMoveDisAngle(int, cXyz*, csXyz*, cXyz, int, int);
|
||||
/* 80151F54 */ void setRotAngle();
|
||||
/* 80151FE0 */ void clrRotAngle();
|
||||
};
|
||||
|
||||
|
||||
#endif /* D_A_D_A_NPC_H */
|
||||
|
||||
@@ -126,6 +126,7 @@ public:
|
||||
void ClrWallHit() { m_flags &= ~WALL_HIT; }
|
||||
void SetRoofNone() { m_flags |= ROOF_NONE; }
|
||||
void SetRoofHit() { m_flags |= ROOF_HIT; }
|
||||
void SetWaterNone() { m_flags |= WATER_NONE; }
|
||||
bool ChkWallHit() { return m_flags & WALL_HIT; }
|
||||
void OffLineCheckHit() { m_flags &= ~LINE_CHECK_HIT; }
|
||||
void OffLineCheck() { m_flags &= ~LINE_CHECK; }
|
||||
|
||||
@@ -924,7 +924,7 @@ void dComIfGs_offZoneSwitch(int i_swBit, int i_roomNo);
|
||||
void dComIfGs_offOneZoneSwitch(int i_swBit, int i_roomNo);
|
||||
s8 dComIfGp_getReverb(int i_roomNo);
|
||||
void dComIfGs_gameStart();
|
||||
bool dComIfGs_wolfeye_effect_check();
|
||||
BOOL dComIfGs_wolfeye_effect_check();
|
||||
BOOL dComIfGs_Wolf_Change_Check();
|
||||
void dComIfGs_onVisitedRoom(int param_0);
|
||||
void dComIfGs_offVisitedRoom(int param_0);
|
||||
@@ -2883,22 +2883,22 @@ inline int dComIfGp_evmng_startDemo(int param_0) {
|
||||
return dComIfGp_getPEvtManager()->setStartDemo(param_0);
|
||||
}
|
||||
|
||||
inline void* dComIfGp_event_getTalkPartner() {
|
||||
inline fopAc_ac_c* dComIfGp_event_getTalkPartner() {
|
||||
u32 t = g_dComIfG_gameInfo.play.getEvent().mPtT;
|
||||
return g_dComIfG_gameInfo.play.getEvent().convPId(t);
|
||||
}
|
||||
|
||||
inline void* dComIfGp_event_getItemPartner() {
|
||||
inline fopAc_ac_c* dComIfGp_event_getItemPartner() {
|
||||
u32 i = g_dComIfG_gameInfo.play.getEvent().mPtI;
|
||||
return g_dComIfG_gameInfo.play.getEvent().convPId(i);
|
||||
}
|
||||
|
||||
inline void* dComIfGp_event_getPt1() {
|
||||
inline fopAc_ac_c* dComIfGp_event_getPt1() {
|
||||
u32 pt1 = g_dComIfG_gameInfo.play.getEvent().mPt1;
|
||||
return g_dComIfG_gameInfo.play.getEvent().convPId(pt1);
|
||||
}
|
||||
|
||||
inline void* dComIfGp_event_getPt2() {
|
||||
inline fopAc_ac_c* dComIfGp_event_getPt2() {
|
||||
u32 pt2 = g_dComIfG_gameInfo.play.getEvent().mPt2;
|
||||
return g_dComIfG_gameInfo.play.getEvent().convPId(pt2);
|
||||
}
|
||||
@@ -2922,6 +2922,10 @@ inline u16 i_dComIfGp_event_chkEventFlag(u16 flag) {
|
||||
return g_dComIfG_gameInfo.play.getEvent().chkEventFlag(flag);
|
||||
}
|
||||
|
||||
inline BOOL dComIfGp_event_chkTalkXY() {
|
||||
return g_dComIfG_gameInfo.play.getEvent().chkTalkXY();
|
||||
}
|
||||
|
||||
inline void dComIfGp_event_setCullRate(f32 f) {
|
||||
g_dComIfG_gameInfo.play.getEvent().setCullRate(f);
|
||||
}
|
||||
@@ -2954,6 +2958,10 @@ inline int dComIfGp_evmng_getMySubstanceNum(int index, char* name) {
|
||||
return dComIfGp_getPEvtManager()->getMySubstanceNum(index, name);
|
||||
}
|
||||
|
||||
inline BOOL dComIfGp_evmng_ChkPresentEnd() {
|
||||
return dComIfGp_getPEvtManager()->ChkPresentEnd();
|
||||
}
|
||||
|
||||
inline int dComIfGp_evmng_checkStartDemo() {
|
||||
return dComIfGp_getPEvtManager()->checkStartDemo();
|
||||
}
|
||||
|
||||
@@ -125,7 +125,7 @@ public:
|
||||
dStage_MapEvent_dt_c* getStageEventDt();
|
||||
void sceneChange(int exitId);
|
||||
u32 getPId(void*);
|
||||
void* convPId(unsigned int);
|
||||
fopAc_ac_c* convPId(unsigned int);
|
||||
void* getStbDemoData(char* resName);
|
||||
static dStage_MapEvent_dt_c* searchMapEventData(u8 mapToolID, s32 roomNo);
|
||||
static dStage_MapEvent_dt_c* searchMapEventData(u8 mapToolID);
|
||||
@@ -154,11 +154,12 @@ public:
|
||||
void onFlag2(u16 flag) { mFlag2 |= flag; }
|
||||
void offFlag2(u16 flag) { mFlag2 &= ~flag; }
|
||||
void setCullRate(f32 f) { mCullRate = f; }
|
||||
BOOL chkTalkXY() { return field_0xed == 1 || field_0xed == 2; }
|
||||
|
||||
bool i_isOrderOK() { return mEventStatus == 0 || mEventStatus == 2; }
|
||||
void* getPt1() { return convPId(mPt1); }
|
||||
void* getPt2() { return convPId(mPt2); }
|
||||
void* getPtT() { return convPId(mPtT); }
|
||||
fopAc_ac_c* getPt1() { return convPId(mPt1); }
|
||||
fopAc_ac_c* getPt2() { return convPId(mPt2); }
|
||||
fopAc_ac_c* getPtT() { return convPId(mPtT); }
|
||||
bool isChangeOK(void* param_0) { return mChangeOK == param_0; }
|
||||
u8 getPreItemNo() { return mPreItemNo; }
|
||||
|
||||
|
||||
@@ -136,7 +136,7 @@ public:
|
||||
/* 80238320 */ static void onMsgSend();
|
||||
/* 8023834C */ void offMsgSend();
|
||||
/* 80238378 */ void isMsgSend();
|
||||
/* 802383A4 */ bool isMouthCheck();
|
||||
/* 802383A4 */ static bool isMouthCheck();
|
||||
/* 802383D0 */ static u32 getMessageID();
|
||||
/* 802383E4 */ void getSmellTypeMessageID();
|
||||
/* 80238410 */ static void setSmellType(u8);
|
||||
|
||||
@@ -473,9 +473,9 @@ s32 fopAcM_orderMapToolAutoNextEvent(fopAc_ac_c*, u8, s16, u16, u16, u16);
|
||||
s32 fopAcM_orderPotentialEvent(fopAc_ac_c*, u16, u16, u16);
|
||||
s32 fopAcM_orderItemEvent(fopAc_ac_c*, u16, u16);
|
||||
s32 fopAcM_orderTreasureEvent(fopAc_ac_c*, fopAc_ac_c*, u16, u16);
|
||||
void* fopAcM_getTalkEventPartner(const fopAc_ac_c*);
|
||||
void* fopAcM_getItemEventPartner(const fopAc_ac_c*);
|
||||
void* fopAcM_getEventPartner(const fopAc_ac_c*);
|
||||
fopAc_ac_c* fopAcM_getTalkEventPartner(const fopAc_ac_c*);
|
||||
fopAc_ac_c* fopAcM_getItemEventPartner(const fopAc_ac_c*);
|
||||
fopAc_ac_c* fopAcM_getEventPartner(const fopAc_ac_c*);
|
||||
static void fopAcM_onSwitch(fopAc_ac_c const* param_0, int param_1);
|
||||
|
||||
s32 fopAcM_createItemForPresentDemo(cXyz const* p_pos, int i_itemNo, u8 param_2, int i_itemBitNo,
|
||||
|
||||
@@ -26,6 +26,8 @@ public:
|
||||
s16 i_endF);
|
||||
/* 8000D428 */ int play();
|
||||
|
||||
J3DFrameCtrl* getFrameCtrl() { return &mFrameCtrl; }
|
||||
f32 getPlaySpeed() { return mFrameCtrl.getRate(); }
|
||||
void setPlaySpeed(f32 speed) { mFrameCtrl.setRate(speed); }
|
||||
f32 getFrame() { return mFrameCtrl.getFrame(); }
|
||||
f32 getEndFrame() { return mFrameCtrl.getEnd(); }
|
||||
@@ -272,6 +274,7 @@ public:
|
||||
f32 getEndFrame() { return mFrameCtrl.getEnd(); }
|
||||
BOOL checkFrame(f32 frame) { return mFrameCtrl.checkPass(frame); }
|
||||
J3DAnmTransform* getAnm() { return mpAnm; }
|
||||
void changeAnm(J3DAnmTransform* anm) { mpAnm = anm; }
|
||||
|
||||
bool isStop() {
|
||||
bool stopped = true;
|
||||
@@ -299,7 +302,7 @@ public:
|
||||
int, Z2Creature*, u32, u32);
|
||||
/* 800108F0 */ int create(J3DModelData*, mDoExt_McaMorfCallBack1_c*, mDoExt_McaMorfCallBack2_c*,
|
||||
J3DAnmTransform*, int, f32, int, int, Z2Creature*, u32, u32);
|
||||
/* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32);
|
||||
/* 80010E70 */ void setAnm(J3DAnmTransform* i_anm, int i_attr, f32 i_morf, f32 i_rate, f32 i_start, f32 i_end);
|
||||
/* 800110B0 */ int play(u32, s8);
|
||||
/* 80011154 */ void updateDL();
|
||||
/* 800111C0 */ void entryDL();
|
||||
|
||||
@@ -59,6 +59,10 @@ inline void cMtx_multVec(Mtx mtx, const Vec* src, Vec* dst) {
|
||||
mDoMtx_multVec(mtx, src, dst);
|
||||
}
|
||||
|
||||
inline void cMtx_copy(const Mtx src, Mtx dst) {
|
||||
mDoMtx_copy(src, dst);
|
||||
}
|
||||
|
||||
inline void mDoMtx_multVecZero(MtxP param_0, Vec* param_1) {
|
||||
param_1->x = param_0[0][3];
|
||||
param_1->y = param_0[1][3];
|
||||
|
||||
@@ -2,5 +2,123 @@
|
||||
#define D_A_NPC_ASH_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "d/a/d_a_npc.h"
|
||||
|
||||
class daNpcAsh_c;
|
||||
|
||||
typedef bool (daNpcAsh_c::*daNpcAsh_actionFn)(void*);
|
||||
typedef BOOL (daNpcAsh_c::*daNpcAsh_eventFn)(int);
|
||||
|
||||
class daNpcAsh_c : public daNpcF_c {
|
||||
private:
|
||||
/* 0xB48 */ Z2Creature mZ2;
|
||||
/* 0xBD8 */ J3DModel* mModelBow;
|
||||
/* 0xBDC */ J3DModel* mModelQuiver;
|
||||
/* 0xBE0 */ daNpcF_MatAnm_c* mpMatAnm;
|
||||
/* 0xBE4 */ daNpcF_Lookat_c mLookat;
|
||||
/* 0xC80 */ daNpcF_ActorMngr_c mActorMngr[6];
|
||||
/* 0xCB0 */ fopAc_ac_c* mTalkPartner;
|
||||
/* 0xCB4 */ u32 field_0xcb4; // unused
|
||||
/* 0xCB8 */ dCcD_Cyl mCcCyl[2];
|
||||
/* 0xF30 */ daNpcAsh_actionFn mpActionFn;
|
||||
/* 0xF3C */ request_of_phase_process_class mPhase[2];
|
||||
/* 0xF4C */ u32 mItemPartnerId;
|
||||
/* 0xF50 */ u32 field_0xf50; // unused
|
||||
/* 0xF54 */ u32 field_0xf54;
|
||||
/* 0xF58 */ s16 mMessageNo;
|
||||
/* 0xF5A */ s16 mLookMode;
|
||||
/* 0xF5C */ u16 field_0xf5c;
|
||||
/* 0xF5E */ u8 mMapToolId;
|
||||
/* 0xF5F */ u8 field_0xf5f;
|
||||
/* 0xF60 */ u8 field_0xf60;
|
||||
|
||||
public:
|
||||
/* 809582EC */ daNpcAsh_c();
|
||||
/* 80958610 */ ~daNpcAsh_c();
|
||||
/* 809587A0 */ cPhs__Step Create();
|
||||
/* 80958B68 */ BOOL CreateHeap();
|
||||
/* 809590C4 */ int Delete();
|
||||
/* 809590F8 */ int Execute();
|
||||
/* 8095911C */ int Draw();
|
||||
/* 80959238 */ bool ctrlJoint(J3DJoint*, J3DModel*);
|
||||
/* 80959458 */ static BOOL createHeapCallBack(fopAc_ac_c*);
|
||||
/* 80959478 */ static BOOL ctrlJointCallBack(J3DJoint*, int);
|
||||
/* 809594C4 */ bool setExpressionAnm(int, bool);
|
||||
/* 809596E0 */ bool setExpressionBtp(int);
|
||||
/* 809597C0 */ void setMotionAnm(int i_idx, f32 i_morf);
|
||||
/* 80959910 */ void reset();
|
||||
/* 80959B28 */ /* inline */ bool setAction(daNpcAsh_actionFn);
|
||||
/* 80959BD0 */ /* inline */ bool isSneaking();
|
||||
/* 80959C40 */ bool wait_type0(void*);
|
||||
/* 8095A67C */ void setMotion(int, f32, int);
|
||||
/* 8095A6C0 */ void setExpression(int, f32);
|
||||
/* 8095A6EC */ bool wait_type1(void*);
|
||||
/* 8095A8EC */ bool talk(void*);
|
||||
/* 8095AD28 */ bool demo(void*);
|
||||
/* 8095B164 */ bool leave(void*);
|
||||
/* 8095B48C */ BOOL EvCut_Introduction(int cutIndex);
|
||||
/* 8095B58C */ BOOL EvCut_Meeting(int cutIndex);
|
||||
/* 8095B83C */ BOOL EvCut_WiretapSponsor(int cutIndex);
|
||||
/* 8095BA80 */ BOOL EvCut_WiretapEntrant(int cutIndex);
|
||||
/* 8095BCF0 */ void setParam();
|
||||
/* 8095BF6C */ BOOL main();
|
||||
/* 8095C200 */ /* inline */ void playMotion();
|
||||
/* 8095C520 */ BOOL ctrlBtk();
|
||||
/* 8095C5C4 */ void setAttnPos();
|
||||
/* 8095C9BC */ void lookat();
|
||||
/* 8095CC8C */ BOOL drawDbgInfo();
|
||||
|
||||
s16 getMessageNo() { return shape_angle.x; }
|
||||
bool isMap() { return !(daNpcF_chkEvtBit(0x10c) || !daNpcF_chkEvtBit(0x108)); }
|
||||
inline void setExpressionTalkAfter() { setExpression(7, -1.0f); }
|
||||
inline void setLookMode(int i_lookMode, fopAc_ac_c* i_talkPartner);
|
||||
inline void searchActors();
|
||||
inline BOOL chkFindPlayer();
|
||||
inline bool step(s16, bool);
|
||||
inline void playExpression();
|
||||
|
||||
#ifdef NONMATCHING
|
||||
static daNpcAsh_eventFn mEvtSeqList[6];
|
||||
#else
|
||||
static u8 mEvtSeqList[72];
|
||||
#endif
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daNpcAsh_c) == 0xF64);
|
||||
|
||||
class daNpcAsh_Param_c {
|
||||
public:
|
||||
/* 8095D5D4 */ virtual ~daNpcAsh_Param_c();
|
||||
|
||||
struct param {
|
||||
/* 0x00 */ f32 m00;
|
||||
/* 0x04 */ f32 mGravity;
|
||||
/* 0x08 */ f32 m08;
|
||||
/* 0x0C */ f32 mShadow;
|
||||
/* 0x10 */ f32 mSttsWeight;
|
||||
/* 0x14 */ f32 m14;
|
||||
/* 0x18 */ f32 m18;
|
||||
/* 0x1C */ f32 m1C;
|
||||
/* 0x20 */ f32 m20;
|
||||
/* 0x24 */ f32 m24;
|
||||
/* 0x28 */ f32 m28;
|
||||
/* 0x2C */ f32 m2C;
|
||||
/* 0x30 */ f32 m30;
|
||||
/* 0x34 */ f32 m34;
|
||||
/* 0x38 */ f32 m38;
|
||||
/* 0x3C */ f32 m3C;
|
||||
/* 0x40 */ f32 mLookatScl;
|
||||
/* 0x44 */ f32 m44;
|
||||
/* 0x48 */ s16 m48;
|
||||
/* 0x4A */ s16 m4A;
|
||||
/* 0x4C */ s16 m4C;
|
||||
/* 0x4E */ s16 m4E;
|
||||
/* 0x50 */ f32 mSightAngle;
|
||||
/* 0x54 */ f32 m54[3];
|
||||
/* 0x60 */ u16 m60[6];
|
||||
};
|
||||
|
||||
static param const m;
|
||||
};
|
||||
|
||||
#endif /* D_A_NPC_ASH_H */
|
||||
|
||||
@@ -1,6 +1,30 @@
|
||||
#ifndef D_A_TAG_EVTAREA_H
|
||||
#define D_A_TAG_EVTAREA_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
class daTag_EvtArea_c : public fopAc_ac_c {
|
||||
public:
|
||||
/* 8048C4F8 */ cPhs__Step create();
|
||||
/* 8048C728 */ bool Delete();
|
||||
/* 8048C730 */ bool Execute();
|
||||
/* 8048C894 */ bool Draw();
|
||||
/* 8048C89C */ BOOL isDelete();
|
||||
/* 8048C94C */ BOOL chkPointInArea(cXyz, cXyz);
|
||||
/* 8048CD08 */ BOOL chkPointInArea(cXyz);
|
||||
/* 8048CD68 */ virtual ~daTag_EvtArea_c();
|
||||
|
||||
inline s32 getType();
|
||||
inline u32 getOnEvtBit();
|
||||
inline u32 getOffEvtBit();
|
||||
inline u8 getBitSW();
|
||||
inline u8 getBitSW2();
|
||||
|
||||
private:
|
||||
/* 0x568 vtable */
|
||||
/* 0x56C */ u8 field_0x56c;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daTag_EvtArea_c) == 0x570);
|
||||
|
||||
#endif /* D_A_TAG_EVTAREA_H */
|
||||
|
||||
Reference in New Issue
Block a user