mirror of
https://github.com/zeldaret/tp
synced 2026-09-10 04:02:20 -04:00
d_a_npc work
daBaseNpc_c::setBckAnm and J3DAnmTransform* daBaseNpc_c daBaseNpc_c::setBtpAnm daBaseNpc_c::attnSttsOn daBaseNpc_c::orderEvent daBaseNpc_c::setEnvTevColor daBaseNpc_c::setRoomNo daBaseNpc_c::checkEndAnm attempt CheckCreateHeap daNpcF_addIdx daNpcF_subIdx daNpcF_incIdx daNpcF_decIdx daNpcF_ActorMngr_c::initialize() daNpcF_ActorMngr_c::entry cleanup daNpcF_ActorMngr_c::entry daNpcF_ActorMngr_c::remove daNpcF_ActorMngr_c::getActorP daNpcF_MatAnm_c::calc attempt daNpcF_SPCurve_c::initialize minor fixes daNpcF_Path_c::initialize daNpcF_Path_c::setPathInfo daNpcF_Path_c::chkPassed daNpcF_Path_c::reverse daNpcF_Path_c::setNextIdx daNpcF_Path_c::getNextIdx daNpcF_Path_c::getBeforeIdx daNpcF_Path_c::getBeforePos daNpcF_Path_c::getNextPos daNpcT_MatAnm_c::initialize daNpcT_MatAnm_c::calc daNpcT_addIdx daNpcT_subIdx daNpcT_decIdx daNpcT_Path_c::hermite daNpcT_Path_c::initialize daNpcT_Path_c::setPathInfo attempt daNpcT_Path_c::setNextPathInfo daNpcT_Path_c::reverse daNpcT_Path_c::setNextIdx daNpcT_Path_c::getDstPos attempt daNpcT_DmgStagger_c::setParam Add FLOAT_LABEL where possible fopEn_enemy / fix e_wb move jasper's jsystem work over d_attention / d_demo / d_lib work remove asm clean up dolphin files / work on some rels (#212) * d_a_alldie / d_a_tboxSw / d_a_tag_gstart / d_a_tag_hstop * dolphin OS work / cleanup * dolphin GX work / cleanup * finish changing dolphin files to C * more files into C * match rest of MSL_C math functions * more dolphin files converted to C * remove asm * d_bg_w work * remove asm * d_a_alink work / kytag14 initial changes to d_a_e_yc checkpoint until virtual destructor issue is solved daNpcF_Lookat_c::adjustMoveDisAngle daBaseNpc_c::setMtx daBaseNpc_moveBgActor_c::daBaseNpc_moveBgActor_c() daNpcT_c::ctrlFaceMotion daNpcT_c::ctrlMsgAnm attempt daNpcT_c::initTalk daNpcF_clearMessageTmpBit daNpcF_getDistTableIdx daNpcF_offTmpBit daNpcF_onTmpBit daNpcF_chkTmpBit daNpcF_onEvtBit daNpcF_chkEvtBit daNpcF_c::getDistTableIdx daNpcF_chkPointInArea daNpcF_chkDoBtnEqSpeak daNpcF_getPlayerInfoFromPlayerList attempt daNpcF_pntVsLineSegmentLengthSquare2D daNpcF_c::chkPointInArea daNpcF_c::chkPointInArea daNpcF_c::getAttentionPos daNpcT_chkTmpBit daNpcT_offTmpBit daNpcT_onTmpBit daNpcT_chkEvtBit daNpcT_offEvtBit daNpcT_onEvtBit daNpcT_chkDoBtnIsSpeak daNpcT_getDistTableIdx daBaseNpc_acMngr_c::entry daNpcF_c::initTalk undo override
This commit is contained in:
+699
-288
File diff suppressed because it is too large
Load Diff
+380
-33
@@ -2,9 +2,41 @@
|
||||
#define D_A_D_A_NPC_H
|
||||
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
#include "d/d_path.h"
|
||||
#include "d/msg/d_msg_object.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "global.h"
|
||||
|
||||
struct dPnt {};
|
||||
|
||||
class daNpcT_ActorMngr_c {
|
||||
private:
|
||||
/* 0x0 */ u32 mActorID;
|
||||
|
||||
public:
|
||||
/* 801456D4 */ void initialize();
|
||||
/* 801456E0 */ void entry(fopAc_ac_c*);
|
||||
/* 801456FC */ void remove();
|
||||
/* 80145708 */ fopAc_ac_c* getActorP();
|
||||
|
||||
/* 8014D108 */ virtual ~daNpcT_ActorMngr_c();
|
||||
};
|
||||
|
||||
class daNpcT_MatAnm_c : public J3DMaterialAnm {
|
||||
private:
|
||||
/* 0x0F4 */ mutable f32 field_0xF4;
|
||||
/* 0x0F8 */ mutable f32 field_0xF8;
|
||||
/* 0x0FC */ f32 mTranslationX;
|
||||
/* 0x100 */ f32 mTranslationY;
|
||||
/* 0x104 */u8 field_0x104;
|
||||
/* 0x105 */u8 field_0x105;
|
||||
|
||||
public:
|
||||
/* 80145764 */ void initialize();
|
||||
/* 80145788 */ virtual void calc(J3DMaterial*) const;
|
||||
/* 8014D24C */ ~daNpcT_MatAnm_c();
|
||||
};
|
||||
|
||||
class daNpcT_MotionSeqMngr_c {
|
||||
public:
|
||||
class sequenceStepData_c {
|
||||
@@ -34,19 +66,6 @@ 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 */ fopAc_ac_c* getActorP();
|
||||
|
||||
/* 8014D108 */ virtual ~daNpcT_ActorMngr_c();
|
||||
};
|
||||
|
||||
class daNpcT_JntAnm_c {
|
||||
private:
|
||||
/* 0x000 */ daNpcT_ActorMngr_c mActrMngr;
|
||||
@@ -95,7 +114,8 @@ public:
|
||||
|
||||
private:
|
||||
/* 0x00 */ csXyz field_0x0[2];
|
||||
/* 0x0C */ f32 field_0xc[2];
|
||||
/* 0x0C */ f32 field_0xc;
|
||||
/* 0x0C */ f32 field_0x10;
|
||||
/* 0x14 */ s16 mStagger;
|
||||
/* 0x16 */ s16 field_0x16;
|
||||
/* 0x18 */ u8 mRebirth;
|
||||
@@ -111,6 +131,59 @@ struct daNpcT_motionAnmData_c {
|
||||
u8 data[8];
|
||||
};
|
||||
|
||||
class daNpcT_Hermite_c {
|
||||
public:
|
||||
/* 8014CBAC */ ~daNpcT_Hermite_c();
|
||||
|
||||
/* 0x00 */ f32 field_0x00;
|
||||
/* 0x04 */ cXyz mPosition;
|
||||
/* 0x10 */ f32 field_0x10;
|
||||
};
|
||||
|
||||
class daNpcT_Path_c {
|
||||
private:
|
||||
/* 0x00 */ dPath* mpRoomPath;
|
||||
/* 0x04 */ cXyz mPosition;
|
||||
/* 0x10 */ f32 field_0x10;
|
||||
/* 0x14 */ f32 field_0x14;
|
||||
/* 0x18 */ f32 field_0x18;
|
||||
/* 0x1C */ u16 mIdx;
|
||||
/* 0x1E */ u16 field_0x1E;
|
||||
/* 0x20 */ u8 mDirection;
|
||||
/* 0x21 */ u8 mIsClosed;
|
||||
|
||||
public:
|
||||
/* 80145B7C */ void hermite(cXyz&, cXyz&, cXyz&, cXyz&, daNpcT_Hermite_c&, cXyz&);
|
||||
/* 80145C40 */ void initialize();
|
||||
/* 80145C74 */ int setPathInfo(u8, s8, u8);
|
||||
/* 80145D2C */ int setNextPathInfo(s8, u8);
|
||||
/* 80145DA0 */ void reverse();
|
||||
/* 80145DD0 */ int setNextIdx(int);
|
||||
/* 80145E38 */ int getDstPos(cXyz, cXyz*, int);
|
||||
/* 80145FB4 */ int getDstPosH(cXyz, cXyz*, int, int);
|
||||
/* 80146188 */ int chkPassed1(cXyz, int);
|
||||
/* 801464D8 */ int chkPassed2(cXyz, cXyz*, int, int);
|
||||
|
||||
inline cXyz* getPntPos(u16 i_idx) {
|
||||
u16 tmpidx = i_idx;
|
||||
|
||||
dStage_dPnt_c* tmppnt = &mpRoomPath->m_points[tmpidx];
|
||||
return &tmppnt->m_position;
|
||||
}
|
||||
|
||||
inline int chkClose() {
|
||||
int roomPath = dPath_ChkClose(mpRoomPath);
|
||||
return roomPath;
|
||||
}
|
||||
|
||||
u16& getNumPnts() {
|
||||
dPath* path = mpRoomPath;
|
||||
return path->m_num;
|
||||
}
|
||||
|
||||
inline u16& getIdx() { return mIdx; }
|
||||
};
|
||||
|
||||
class mDoExt_McaMorfSO;
|
||||
|
||||
class daNpcT_c : public fopAc_ac_c {
|
||||
@@ -162,7 +235,7 @@ public:
|
||||
/* 0xD90 */ u32 field_0xd90;
|
||||
/* 0xD94 */ u32 field_0xd94;
|
||||
/* 0xD98 */ u32 field_0xd98;
|
||||
/* 0xD9C */ u32 field_0xd9c;
|
||||
/* 0xD9C */ profile_method_class* mSubMtd;
|
||||
/* 0xDA0 */ u8 field_0xda0[8];
|
||||
/* 0xDA8 */ u32 field_0xda8;
|
||||
/* 0xDAC */ int field_0xdac;
|
||||
@@ -174,9 +247,9 @@ public:
|
||||
/* 0xDC4 */ u8 field_0xdc4[4];
|
||||
/* 0xDC8 */ s16 field_0xdc8;
|
||||
/* 0xDCA */ s16 field_0xdca;
|
||||
/* 0xDCC */ u8 field_0xdcc[8];
|
||||
/* 0xDCC */ u8 field_0xdcc[10];
|
||||
/* 0xDD4 */ s16 field_0xdd4;
|
||||
/* 0xDD8 */ s16 field_0xdd8;
|
||||
/* 0xDD8 */ s16 mStepNo;
|
||||
/* 0xDDA */ s16 field_0xdda;
|
||||
/* 0xDDC */ f32 field_0xddc;
|
||||
/* 0xDE0 */ f32 field_0xde0;
|
||||
@@ -235,13 +308,13 @@ public:
|
||||
/* 8014886C */ int draw(int, int, f32, _GXColorS10*, f32, int, int, int);
|
||||
/* 80148C70 */ void setEnvTevColor();
|
||||
/* 80148CCC */ void setRoomNo();
|
||||
/* 80148D10 */ void checkEndAnm(f32);
|
||||
/* 80148D10 */ int 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);
|
||||
/* 801493B8 */ int ctrlMsgAnm(int*, int*, fopAc_ac_c*, int);
|
||||
/* 8014A224 */ void evtChange();
|
||||
/* 8014A388 */ void setFaceMotionAnm(int, bool);
|
||||
/* 8014A908 */ void setPos(cXyz);
|
||||
@@ -261,11 +334,11 @@ public:
|
||||
/* 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**);
|
||||
/* 8014BBF0 */ int 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();
|
||||
/* 8014BFB0 */ u32 getShopItemTagP();
|
||||
/* 8014C030 */ void setHitodamaPrtcl();
|
||||
|
||||
/* 8014CD20 */ virtual ~daNpcT_c();
|
||||
@@ -316,7 +389,13 @@ public:
|
||||
/* 8014CCE8 */ virtual void changeBtk(int*, int*);
|
||||
/* 8014A628 */ virtual void setMotionAnm(int, f32, int);
|
||||
|
||||
bool checkHide() { return !field_0xe25 && (!dComIfGs_wolfeye_effect_check() && field_0xa89); }
|
||||
inline bool checkHide() {
|
||||
return field_0xe25 || (!dComIfGs_wolfeye_effect_check() && field_0xa89);
|
||||
}
|
||||
|
||||
inline s16 checkStep() {
|
||||
return mStepNo == 1;
|
||||
}
|
||||
|
||||
static u8 const mCcDObjData[48];
|
||||
static u8 mCcDCyl[68];
|
||||
@@ -337,7 +416,7 @@ public:
|
||||
/* 801506D8 */ void entry(unsigned int);
|
||||
/* 801506BC */ void entry(fopAc_ac_c*);
|
||||
/* 801506E0 */ void remove();
|
||||
/* 801506EC */ void getActorP();
|
||||
/* 801506EC */ fopAc_ac_c* getActorP();
|
||||
|
||||
/* 80155E40 */ virtual ~daNpcF_ActorMngr_c();
|
||||
};
|
||||
@@ -431,7 +510,7 @@ private:
|
||||
/* 0x9F4 */ u8 field_0x9f4;
|
||||
/* 0x9F5 */ u8 field_0x9f5;
|
||||
/* 0x9F6 */ u8 field_0x9f6;
|
||||
/* 0x9F8 */ dMsgFlow_c field_0x9f8;
|
||||
/* 0x9F8 */ dMsgFlow_c mFlow;
|
||||
/* 0xA44 */ cBgS_GndChk field_0xa44;
|
||||
/* 0xA80 */ dBgS_GndChk field_0xa80;
|
||||
/* 0xAD4 */ dBgS_LinChk field_0xad4;
|
||||
@@ -443,7 +522,7 @@ public:
|
||||
/* 801522AC */ void 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*);
|
||||
/* 801526E8 */ void* srchActor(void*, void*);
|
||||
|
||||
/* 801528C8 */ void initialize();
|
||||
/* 80152B2C */ void getTrnsfrmKeyAnmP(char*, int);
|
||||
@@ -471,19 +550,19 @@ public:
|
||||
/* 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);
|
||||
/* 80153D1C */ void initTalk(int, fopAc_ac_c**);
|
||||
/* 80153D1C */ int initTalk(int, fopAc_ac_c**);
|
||||
/* 80153D84 */ void talkProc(int*, int, fopAc_ac_c**);
|
||||
/* 80153EF4 */ void turn(s16, f32, int);
|
||||
/* 801540A4 */ void step(s16, int, int, int);
|
||||
/* 80154250 */ void setAngle(s16);
|
||||
/* 80154278 */ void getDistTableIdx(int, int);
|
||||
/* 801542A0 */ void getEvtAreaTagP(int, int);
|
||||
/* 801542A0 */ int 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);
|
||||
/* 80154834 */ void chkPointInArea(cXyz, cXyz, f32, f32, f32, s16);
|
||||
/* 801548F4 */ void chkPointInArea(cXyz, cXyz, cXyz, s16);
|
||||
/* 8015496C */ void getAttentionPos(fopAc_ac_c*);
|
||||
/* 80154834 */ bool chkPointInArea(cXyz, cXyz, f32, f32, f32, s16);
|
||||
/* 801548F4 */ bool chkPointInArea(cXyz, cXyz, cXyz, s16);
|
||||
/* 8015496C */ cXyz getAttentionPos(fopAc_ac_c*);
|
||||
/* 801549E0 */ void chkFindPlayer2(int, s16);
|
||||
/* 80154BD8 */ void setHitodamaPrtcl();
|
||||
|
||||
@@ -508,13 +587,281 @@ public:
|
||||
static u8 mCcDCyl[68];
|
||||
static u8 mCcDSph[64];
|
||||
static u8 mFindActorPList[400];
|
||||
static u8 mFindCount[4];
|
||||
static u8 mSrchActorName[2 + 2 /* padding */];
|
||||
static s32 mFindCount;
|
||||
static s16 mSrchActorName;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daNpcF_c) == 0xB48);
|
||||
|
||||
void daNpcF_getPlayerInfoFromPlayerList(int param_0, int param_1, cXyz& param_2,
|
||||
int daNpcF_getPlayerInfoFromPlayerList(int param_0, int i_roomNo, cXyz& param_2,
|
||||
csXyz& param_3);
|
||||
|
||||
struct daBaseNpc_matAnm_c {
|
||||
/* 8014D884 */ void calc(J3DMaterial*) const;
|
||||
/* 80150444 */ ~daBaseNpc_matAnm_c();
|
||||
};
|
||||
|
||||
class daBaseNpc_acMngr_c {
|
||||
private:
|
||||
/* 0x00 */ u8 field_0x00[4];
|
||||
/* 0x04 */ u32 mActorId;
|
||||
public:
|
||||
/* 8014D804 */ daBaseNpc_acMngr_c();
|
||||
/* 8014D81C */ void entry(fopAc_ac_c*);
|
||||
/* 8014D838 */ fopAc_ac_c* getActor();
|
||||
/* 80150524 */ ~daBaseNpc_acMngr_c();
|
||||
};
|
||||
|
||||
class daBaseNpc_path_c {
|
||||
private:
|
||||
/* 0x000 */ f32 field_0x0;
|
||||
/* 0x004 */ dPath* mpRoomPath;
|
||||
/* 0x008 */ f32 field_0x8;
|
||||
/* 0x00C */ dPath* field_0xc;
|
||||
/* 0x010 */ u8 field_0x10[2558];
|
||||
/* 0xA0E */ u16 field_0xa0e;
|
||||
/* 0xA10 */ u16 mIdx;
|
||||
/* 0xA12 */ s8 mDirection;
|
||||
/* 0xA13 */ u8 field_0xa13[17];
|
||||
|
||||
public:
|
||||
/* 8014D998 */ daBaseNpc_path_c();
|
||||
/* 8014D9A8 */ BOOL isPath();
|
||||
/* 8014D9BC */ int setPathInfo(u8, s8, s8);
|
||||
/* 8014DA48 */ void reverseDir();
|
||||
/* 8014DA64 */ void chkPnt(cXyz);
|
||||
/* 8014DAC4 */ void setNextPnt();
|
||||
/* 8014DB04 */ u16 getIdx();
|
||||
/* 8014DB0C */ void setIdx(u16);
|
||||
/* 8014DB14 */ void getPntPos(u16);
|
||||
/* 801503FC */ ~daBaseNpc_path_c();
|
||||
|
||||
|
||||
};
|
||||
|
||||
class daBaseNpc_lookat_c {
|
||||
private:
|
||||
/* 0x00 */ int field_0x00;
|
||||
/* 0x04 */ csXyz mMaxJntLmt[2];
|
||||
/* 0x10 */ u8 field_0x0A[12];
|
||||
/* 0x1C */ csXyz mMinJntLmt[2];
|
||||
/* 0x28 */ u8 field_0x28[12];
|
||||
/* 0x34 */ cXyz mJntPos[3];
|
||||
/* 0x4C */ u8 field_0x4C[24];
|
||||
/* 0x64 */ csXyz mUnk[2];
|
||||
/* 0x70 */ u8 field_0x70[12];
|
||||
/* 0x7C */ csXyz mUnk2[2];
|
||||
/* 0x88 */ u8 field_0x88[4];
|
||||
/* 0x8C */ cXyz* mpAttnPos;
|
||||
|
||||
public:
|
||||
/* 8014DB40 */ void limitter(s16, s16*, s16, s16);
|
||||
/* 8014DBB4 */ void calc(fopAc_ac_c*, f32 (*)[4], s16);
|
||||
/* 8014E634 */ void setMaxJntLmt(csXyz, int);
|
||||
/* 8014E658 */ void setMinJntLmt(csXyz, int);
|
||||
/* 8014E67C */ void setJntPos(cXyz, int);
|
||||
/* 8014E6A0 */ int setAttnPos(cXyz*);
|
||||
/* 8014E6AC */ void getRot(int);
|
||||
/* 801502EC */ ~daBaseNpc_lookat_c();
|
||||
};
|
||||
|
||||
class daBaseNpc_c : public fopAc_ac_c {
|
||||
private:
|
||||
/* 0x568 */ void* vtable;
|
||||
/* 0x56C */ dBgS_Acch field_0x56c;
|
||||
/* 0x744 */ u8 field_0x744[16];
|
||||
/* 0x754 */ mDoExt_McaMorfSO* mMcaMorfAnm[2];
|
||||
/* 0x758 */ Z2Creature mCreature;
|
||||
/* 0x7EC */ mDoExt_bckAnm mBckAnm;
|
||||
/* 0x808 */ mDoExt_btpAnm mBtpAnm;
|
||||
/* 0x820 */ u8 tmp2[28];
|
||||
/* 0x83c */ u16* field_0x83c;
|
||||
/* 0x840 */ u16 field_0x840;
|
||||
/* 0x842 */ u8 field_0x842[6];
|
||||
/* 0x848 */ s32 mUnk;
|
||||
/* 0x84C */ dMsgFlow_c mMsg;
|
||||
/* 0x898 */ u8 field_0x898[2];
|
||||
/* 0x89A */ s16 mEvtIdx;
|
||||
/* 0x89C */ u8 field_0x89C[34];
|
||||
/* 0x8BE */ u8 mRoomId;
|
||||
/* 0x8C0 */ u8 field_0x8C0[90];
|
||||
/* 0x91A */ csXyz field_0x91a;
|
||||
/* 0x920 */ csXyz field_0xd7e;
|
||||
/* 0x926 */ csXyz field_0xd84;
|
||||
/* 0x92C */ csXyz field_0xd8a;
|
||||
/* 0x932 */ csXyz field_0x932;
|
||||
/* 0x938 */ u8 field_0x938[4];
|
||||
/* 0x93C */ csXyz field_0x93c;
|
||||
/* 0x940 */ u8 field_0x940[18];
|
||||
/* 0x954 */ cXyz field_0x954;
|
||||
/* 0x960 */ u8 field_0x960[36];
|
||||
/* 0x984 */ csXyz field_0x984;
|
||||
/* 0x98A */ u8 field_0x98A[18];
|
||||
/* 0x99C */ csXyz field_0x99c;
|
||||
/* 0x9A2 */ u8 field_0x9a2[70];
|
||||
/* 0x9E8 */ const cBgS_PolyInfo mBgSPolyInfo;
|
||||
/* 0x9F9 */ u8 field_0x9f9[27];
|
||||
|
||||
public:
|
||||
/* 8014E6C8 */ daBaseNpc_c();
|
||||
/* 8014E89C */ ~daBaseNpc_c();
|
||||
/* 8014EAD0 */ void execute();
|
||||
/* 8014EC50 */ void draw(f32);
|
||||
/* 8014EE3C */ bool getResName();
|
||||
/* 8014EE44 */ J3DAnmTransform* getTrnsfrmKeyAnmP(char*, int);
|
||||
/* 8014EE80 */ void setMcaMorfAnm(J3DAnmTransformKey*, f32, f32, int, int, int);
|
||||
/* 8014EEE4 */ void setBckAnm(J3DAnmTransform*, f32, int, int, int, bool);
|
||||
/* 8014EF28 */ J3DAnmTransform* getTexPtrnAnmP(char*, int);
|
||||
/* 8014EF64 */ void setBtpAnm(J3DAnmTexPattern*, J3DModelData*, f32, int);
|
||||
/* 8014EFA4 */ void attnSttsOn(int, int);
|
||||
/* 8014EFF0 */ void setParam();
|
||||
/* 8014EFF4 */ void orderEvent(int, char*);
|
||||
/* 8014F09C */ void mainProc();
|
||||
/* 8014F0A0 */ void setEnvTevColor();
|
||||
/* 8014F0FC */ void setRoomNo();
|
||||
/* 8014F140 */ bool btkCtrl();
|
||||
/* 8014F148 */ int checkEndAnm(f32);
|
||||
/* 8014F1C8 */ int checkEndAnm(J3DFrameCtrl*);
|
||||
/* 8014F228 */ void allAnmPlay();
|
||||
/* 8014F38C */ void adjustShapeAngle();
|
||||
/* 8014F390 */ void setMtx(int);
|
||||
/* 8014F4A0 */ void setCollisions();
|
||||
/* 8014F4A4 */ void setAttnPos();
|
||||
/* 8014F4A8 */ void drawOtherMdls();
|
||||
/* 8014F4AC */ bool dbgDraw();
|
||||
|
||||
void setVtable(void* table) { vtable = table;}
|
||||
|
||||
static u8 const mCcDObj[48];
|
||||
static u8 mCcDCyl[68];
|
||||
static u8 mCcDSph[64];
|
||||
};
|
||||
|
||||
class daBaseNpc_moveBgActor_c : public daBaseNpc_c {
|
||||
private:
|
||||
/* 0xA14 */ u32 field_0xa14;
|
||||
|
||||
|
||||
public:
|
||||
/* 8014F4B4 */ daBaseNpc_moveBgActor_c();
|
||||
/* 8014F518 */ void MoveBGCreateHeap();
|
||||
/* 8014F60C */ void
|
||||
MoveBGCreate(char const*, int,
|
||||
void (*)(dBgW*, void*, cBgS_PolyInfo const&, bool, cXyz*, csXyz*, csXyz*), u32);
|
||||
/* 8014F6FC */ void MoveBGDelete();
|
||||
/* 8014F770 */ void MoveBGExecute();
|
||||
/* 801503BC */ bool CreateHeap();
|
||||
/* 801503C4 */ bool Create();
|
||||
/* 801503CC */ bool Delete();
|
||||
/* 801503D4 */ bool Execute(f32 (**)[3][4]);
|
||||
/* 801503DC */ bool Draw();
|
||||
/* 801503E4 */ bool IsDelete();
|
||||
/* 801503EC */ bool ToFore();
|
||||
/* 801503F4 */ bool ToBack();
|
||||
/* 80155FB0 */ ~daBaseNpc_moveBgActor_c();
|
||||
|
||||
static u8 m_name[4];
|
||||
static u8 m_dzb_id[4];
|
||||
static u8 m_set_func[4];
|
||||
};
|
||||
|
||||
class daNpcF_MatAnm_c {
|
||||
private:
|
||||
/* 0x000 */ J3DMaterialAnm mMaterialAnm;
|
||||
/* 0x0F4 */ mutable f32 field_0xF4;
|
||||
/* 0x0F8 */ mutable f32 field_0xF8;
|
||||
/* 0x0FC */ f32 mTranslationX;
|
||||
/* 0x100 */ f32 mTranslationY;
|
||||
/* 0x104 */ u8 field_0x104;
|
||||
/* 0x105 */ u8 field_0x105;
|
||||
|
||||
public:
|
||||
/* 80150738 */ void initialize();
|
||||
/* 8015075C */ void calc(J3DMaterial*) const;
|
||||
/* 80155ED0 */ ~daNpcF_MatAnm_c();
|
||||
};
|
||||
|
||||
class daNpcF_SPCurve_c {
|
||||
private:
|
||||
/* 0x00 */ u16 mNurbs;
|
||||
/* 0x02 */ u16 field_0x02;
|
||||
/* 0x04 */ u8 field_0x04;
|
||||
/* 0x05 */ bool mIsClosed;
|
||||
// /* 0x08 */ dPnt mPoints[96];
|
||||
|
||||
|
||||
public:
|
||||
/* 80150870 */ void initialize(dPath*, int);
|
||||
};
|
||||
|
||||
class daNpcF_Path_c {
|
||||
private:
|
||||
/* 0x00 */ u16 mIdx;
|
||||
/* 0x02 */ u8 field_0x02;
|
||||
/* 0x03 */ u8 mIsClosed;
|
||||
/* 0x04 */ dPath* mpRoomPath;
|
||||
/* 0x08 */ f32 field_0x08;
|
||||
/* 0x0C */ f32 field_0x0C;
|
||||
/* 0x10 */ f32 field_0x10;
|
||||
/* 0x14 */ cXyz mPosition;
|
||||
/* 0x20 */ daNpcF_SPCurve_c mSPCurve;
|
||||
|
||||
public:
|
||||
/* 80150900 */ void initialize();
|
||||
/* 8015095C */ int setPathInfo(u8, s8, u8);
|
||||
/* 80150A24 */ int chkPassed(cXyz);
|
||||
/* 80150A7C */ void chkPassedDst(cXyz);
|
||||
/* 80150BBC */ void reverse();
|
||||
/* 80150BE0 */ int setNextIdx();
|
||||
/* 80150C18 */ u16 getNextIdx();
|
||||
/* 80150C60 */ u16 getBeforeIdx();
|
||||
/* 80150CA8 */ void getBeforePos(cXyz&);
|
||||
/* 80150D44 */ void getNextPos(cXyz&);
|
||||
/* 80150DE0 */ int getDstPos(cXyz, cXyz&);
|
||||
/* 80150EB4 */ void setNextIdxDst(cXyz);
|
||||
|
||||
inline u16& getIdx() { return mIdx; };
|
||||
inline cXyz* getPntPos(); // finish
|
||||
};
|
||||
|
||||
class daNpcF_MoveBgActor_c {
|
||||
private:
|
||||
|
||||
public:
|
||||
/* 80155B54 */ ~daNpcF_MoveBgActor_c();
|
||||
/* 80155E88 */ bool CreateHeap();
|
||||
/* 80155E90 */ bool Create();
|
||||
/* 80155E98 */ bool Delete();
|
||||
/* 80155EA0 */ bool Execute(f32 (**)[3][4]);
|
||||
/* 80155EA8 */ bool Draw();
|
||||
/* 80155EB0 */ bool IsDelete();
|
||||
/* 80155EB8 */ bool ToFore();
|
||||
/* 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 */
|
||||
|
||||
+106
-44
@@ -34,12 +34,15 @@ private:
|
||||
class daPy_boomerangMove_c {
|
||||
public:
|
||||
/* 8015E5B0 */ void initOffset(cXyz const*);
|
||||
/* 8015E654 */ void posMove(cXyz*, s16*, fopAc_ac_c*, s16);
|
||||
/* 8015E654 */ int posMove(cXyz*, s16*, fopAc_ac_c*, s16);
|
||||
/* 8015E87C */ void bgCheckAfterOffset(cXyz const*);
|
||||
|
||||
static s16 m_dropAngleY;
|
||||
static s16 m_eventKeepFlg;
|
||||
|
||||
private:
|
||||
/* 0x0 */ u8 field_0x0;
|
||||
/* 0x2 */ u16 field_0x2;
|
||||
/* 0x2 */ s16 field_0x2;
|
||||
/* 0x4 */ f32 field_0x4;
|
||||
/* 0x8 */ f32 field_0x8;
|
||||
}; // Size: 0xC
|
||||
@@ -75,6 +78,7 @@ public:
|
||||
void setBufferSize(u32 size) { mBufferSize = size; }
|
||||
void setBuffer(u8* buf) { mBuffer = buf; }
|
||||
u8* getBuffer() { return mBuffer; }
|
||||
bool checkNoSetIdx() const { return mIdx == 0xFFFF; }
|
||||
|
||||
private:
|
||||
/* 0x00 */ u16 mIdx;
|
||||
@@ -195,69 +199,118 @@ public:
|
||||
public:
|
||||
enum daPy_FLG0 {
|
||||
FLG0_UNK_40000000 = 0x40000000,
|
||||
EQUIP_HEAVY_BOOTS = 0x2000000,
|
||||
PLAYER_NO_DRAW = 0x8000000,
|
||||
FLG0_EQUIP_HVY_BOOTS = 0x2000000,
|
||||
FLG0_PLAYER_NO_DRAW = 0x8000000,
|
||||
FLG0_UNK_10000000 = 0x10000000,
|
||||
FLG0_UNK_1000000 = 0x1000000,
|
||||
UNDER_WATER_MOVEMENT = 0x800000,
|
||||
FLG0_UNDERWATER = 0x800000,
|
||||
FLG0_UNK_100000 = 0x100000,
|
||||
FLG0_UNK_80000 = 0x80000,
|
||||
FLG0_UNK_20000 = 0x20000,
|
||||
FLG0_UNK_8000 = 0x8000,
|
||||
FLG0_UNK_4000 = 0x4000,
|
||||
MAGNE_BOOTS_ON = 0x1000,
|
||||
FLG0_UNK_2000 = 0x2000,
|
||||
FLG0_MAGNE_BOOTS_ON = 0x1000,
|
||||
FLG0_UNK_100 = 0x100,
|
||||
FLG0_UNK_80 = 0x80,
|
||||
FLG0_UNK_40 = 0x40,
|
||||
FLG0_UNK_20 = 0x20,
|
||||
UNK_F_ROLL_CRASH_2 = 0x10,
|
||||
UNK_F_ROLL_CRASH_1 = 0x8,
|
||||
MIDNA_RIDE = 4,
|
||||
FLG0_UNK_10 = 0x10,
|
||||
FLG0_UNK_8 = 0x8,
|
||||
FLG0_MIDNA_RIDE = 4,
|
||||
FLG0_UNK_2 = 2,
|
||||
|
||||
HEAVY_STATE_BOOTS = FLG0_UNK_40000000 | EQUIP_HEAVY_BOOTS | FLG0_UNK_20000,
|
||||
FLG0_HVY_STATE = FLG0_UNK_40000000 | FLG0_EQUIP_HVY_BOOTS | FLG0_UNK_20000,
|
||||
};
|
||||
enum daPy_FLG1 { IS_WOLF = 0x2000000, FLG1_UNK_10000 = 0x10000, THROW_DAMAGE = 0x4000, FLG1_UNK_4 = 4, };
|
||||
|
||||
enum daPy_FLG1 {
|
||||
FLG1_UNK_10000000 = 0x10000000,
|
||||
FLG1_IS_WOLF = 0x2000000,
|
||||
FLG1_UNK_400000 = 0x400000,
|
||||
FLG1_UNK_10000 = 0x10000,
|
||||
FLG1_THROW_DAMAGE = 0x4000,
|
||||
FLG1_UNK_20 = 0x20,
|
||||
FLG1_UNK_10 = 0x10,
|
||||
FLG1_UNK_4 = 4,
|
||||
FLG1_UNK_2 = 2,
|
||||
};
|
||||
|
||||
enum daPy_FLG2 {
|
||||
FLG2_UNK_20000000 = 0x20000000,
|
||||
FLG2_UNK_4080000 = 0x4080000,
|
||||
FLG2_UNK_2080000 = 0x2080000,
|
||||
BOAR_SINGLE_BATTLE = 0x1800000,
|
||||
STATUS_WINDOW_DRAW = 0x400000,
|
||||
FLG2_BOAR_SINGLE_BATTLE = 0x1800000,
|
||||
FLG2_UNK_1000000 = 0x1000000,
|
||||
FLG2_UNK_800000 = 0x800000,
|
||||
FLG2_STATUS_WINDOW_DRAW = 0x400000,
|
||||
FLG2_UNK_280000 = 0x280000,
|
||||
UNK_ARMOR = 0x80000,
|
||||
SCENE_CHANGE_START = 0x8000,
|
||||
FLG2_UNK_200000 = 0x200000,
|
||||
FLG2_UNK_80000 = 0x80000,
|
||||
FLG2_UNK_40000 = 0x40000,
|
||||
FLG2_UNK_20000 = 0x20000,
|
||||
FLG2_SCN_CHG_START = 0x8000,
|
||||
FLG2_UNK_4000 = 0x4000,
|
||||
UNK_FLG2_2 = 2,
|
||||
UNK_DAPY_FLG2_1 = 1
|
||||
FLG2_UNK_80 = 0x80,
|
||||
FLG2_UNK_40 = 0x40,
|
||||
FLG2_UNK_10 = 0x10,
|
||||
FLG2_UNK_8 = 8,
|
||||
FLG2_UNK_2 = 2,
|
||||
FLG2_UNK_1 = 1,
|
||||
|
||||
FLG2_UNK_58 = FLG2_UNK_40 | FLG2_UNK_10 | FLG2_UNK_8,
|
||||
};
|
||||
|
||||
enum daPy_FLG3 {
|
||||
FLG3_UNK_40000000 = 0x40000000,
|
||||
FLG3_UNK_2000000 = 0x2000000,
|
||||
FLG3_UNK_1000000 = 0x1000000,
|
||||
FLG3_UNK_100000 = 0x100000,
|
||||
COPY_ROD_THROW_AFTER = 0x40000
|
||||
FLG3_UNK_80000 = 0x80000,
|
||||
FLG3_COPY_ROD_THROW_AFTER = 0x40000,
|
||||
FLG3_UNK_4000 = 0x4000,
|
||||
};
|
||||
|
||||
enum daPy_ERFLG0 {
|
||||
ERFLG0_UNK_8000000 = 0x8000000,
|
||||
ERFLG0_UNK_2000000 = 0x2000000,
|
||||
ERFLG0_UNK_1000000 = 0x1000000,
|
||||
ERFLG0_UNK_800000 = 0x800000,
|
||||
ERFLG0_UNK_400000 = 0x400000,
|
||||
ERFLG0_UNK_200000 = 0x200000,
|
||||
ERFLG0_UNK_100000 = 0x100000,
|
||||
ERFLG0_UNK_2000 = 0x2000,
|
||||
ERFLG0_UNK_400 = 0x400,
|
||||
ERFLG0_UNK_100 = 0x100,
|
||||
ERFLG0_UNK_4 = 4,
|
||||
ERFLG0_UNK_2 = 2,
|
||||
ERFLG0_UNK_1 = 1,
|
||||
};
|
||||
|
||||
enum daPy_ERFLG1 {
|
||||
GANON_FINISH = 0x80000000,
|
||||
UNK_FORCE_PUT_POS = 0x2000,
|
||||
ERFLG1_GANON_FINISH = 0x80000000,
|
||||
ERFLG1_UNK_10000000 = 0x10000000,
|
||||
ERFLG1_UNK_4000000 = 0x4000000,
|
||||
ERFLG1_UNK_40000 = 0x40000,
|
||||
ERFLG1_UNK_2000 = 0x2000,
|
||||
ERFLG1_UNK_200 = 0x200,
|
||||
ERFLG1_UNK_4 = 4,
|
||||
ERFLG1_UNK_2 = 2,
|
||||
ERFLG1_UNK_1 = 1,
|
||||
};
|
||||
|
||||
enum daPy_ERFLG2 {
|
||||
ERFLG2_UNK_100 = 0x100,
|
||||
ERFLG2_UNK_20 = 0x20,
|
||||
};
|
||||
|
||||
enum daPy_RFLG0 {
|
||||
RFLG0_UNK_8000000 = 0x8000000,
|
||||
RFLG0_UNK_4000 = 0x4000,
|
||||
ENEMY_ATTENTION_LOCK = 0x1000,
|
||||
RFLG0_ENEMY_ATTN_LOCK = 0x1000,
|
||||
RFLG0_UNK_400 = 0x400,
|
||||
RFLG0_UNK_80 = 0x80,
|
||||
RFLG0_UNK_40 = 0x40,
|
||||
RFLG0_UNK_10 = 0x10,
|
||||
RFLG0_UNK_2 = 0x2,
|
||||
};
|
||||
|
||||
@@ -307,8 +360,8 @@ public:
|
||||
static BOOL checkTradeItem(int);
|
||||
static BOOL checkDungeonWarpItem(int);
|
||||
static BOOL checkMasterSwordEquip();
|
||||
void checkWoodShieldEquip();
|
||||
f32 getAttentionOffsetY();
|
||||
bool checkWoodShieldEquip();
|
||||
static f32 getAttentionOffsetY();
|
||||
s16 checkNowWolfEyeUp();
|
||||
static void forceRestartRoom(int, u32, int);
|
||||
static void setFmChainPos(fopAc_ac_c*, cXyz*, int);
|
||||
@@ -321,7 +374,7 @@ public:
|
||||
static u32 checkCarryStartLightBallA();
|
||||
static u32 checkCarryStartLightBallB();
|
||||
float getSpinnerRideSpeed() const;
|
||||
void checkSpinnerReflectEffect();
|
||||
bool checkSpinnerReflectEffect();
|
||||
static bool checkBoomerangCharge();
|
||||
bool checkBoomerangChargeTime();
|
||||
static daBoomerang_c* getThrowBoomerangActor();
|
||||
@@ -329,10 +382,10 @@ public:
|
||||
static void setPlayerDamage(int, int);
|
||||
static void setMidnaMotionNum(int);
|
||||
static void setMidnaFaceNum(int);
|
||||
int checkNoResetFlg0(daPy_FLG0) const;
|
||||
int checkEquipHeavyBoots() const;
|
||||
int checkBoarSingleBattle() const;
|
||||
int checkEndResetFlg0(daPy_ERFLG0) const;
|
||||
u32 checkNoResetFlg0(daPy_FLG0) const;
|
||||
u32 checkEquipHeavyBoots() const;
|
||||
u32 checkBoarSingleBattle() const;
|
||||
u32 checkEndResetFlg0(daPy_ERFLG0) const;
|
||||
void onNoResetFlg2(daPy_py_c::daPy_FLG2);
|
||||
void offNoResetFlg0(daPy_py_c::daPy_FLG0);
|
||||
int checkEndResetFlg2(daPy_py_c::daPy_ERFLG2) const;
|
||||
@@ -340,14 +393,14 @@ public:
|
||||
int checkNoResetFlg3(daPy_py_c::daPy_FLG3) const;
|
||||
BOOL checkShieldGet();
|
||||
void onNoResetFlg0(daPy_py_c::daPy_FLG0);
|
||||
int checkEndResetFlg1(daPy_py_c::daPy_ERFLG1) const;
|
||||
u32 checkEndResetFlg1(daPy_py_c::daPy_ERFLG1) const;
|
||||
void offNoResetFlg1(daPy_py_c::daPy_FLG1);
|
||||
void offNoResetFlg2(daPy_py_c::daPy_FLG2);
|
||||
int checkWolf() const;
|
||||
u32 checkWolf() const;
|
||||
BOOL checkSwordGet();
|
||||
int checkResetFlg0(daPy_py_c::daPy_RFLG0) const;
|
||||
int checkNoResetFlg2(daPy_py_c::daPy_FLG2) const;
|
||||
int checkMagneBootsOn() const;
|
||||
u32 checkResetFlg0(daPy_py_c::daPy_RFLG0) const;
|
||||
u32 checkNoResetFlg2(daPy_py_c::daPy_FLG2) const;
|
||||
u32 checkMagneBootsOn() const;
|
||||
void changeDemoPos0(cXyz const*);
|
||||
void changeDemoMode(u32, int, int, s16);
|
||||
void changeDemoParam2(s16);
|
||||
@@ -363,6 +416,7 @@ public:
|
||||
/* 80182B9C */ void getRightHandPos() const;
|
||||
/* 8015DFD8 */ const cXyz getItemPos() const;
|
||||
/* 8015DFF4 */ const cXyz& getLeftHandPos() const;
|
||||
/* 800977B4 */ bool checkMidnaRide() const;
|
||||
|
||||
/* const cXyz* getItemPos() const {
|
||||
return &mItemPos;
|
||||
@@ -551,15 +605,15 @@ public:
|
||||
|
||||
bool i_getSumouMode() const { return getSumouCameraMode(); }
|
||||
|
||||
bool checkStatusWindowDraw() { return i_checkNoResetFlg2(STATUS_WINDOW_DRAW); }
|
||||
bool checkStatusWindowDraw() { return i_checkNoResetFlg2(FLG2_STATUS_WINDOW_DRAW); }
|
||||
bool checkCargoCarry() const { return mSpecialMode == SMODE_CARGO_CARRY; }
|
||||
bool getHeavyStateAndBoots() { return i_checkNoResetFlg0(HEAVY_STATE_BOOTS); }
|
||||
bool checkEnemyAttentionLock() const { return i_checkResetFlg0(ENEMY_ATTENTION_LOCK); }
|
||||
bool getHeavyStateAndBoots() { return i_checkNoResetFlg0(FLG0_HVY_STATE); }
|
||||
bool checkEnemyAttentionLock() const { return i_checkResetFlg0(RFLG0_ENEMY_ATTN_LOCK); }
|
||||
bool checkCanoeSlider() const { return mSpecialMode == 0x2D; }
|
||||
u8 getCutType() const { return mCutType; }
|
||||
u16 getSwordAtUpTime() const { return mSwordUpTimer; }
|
||||
bool checkWaterInMove() const { return i_checkNoResetFlg0(UNDER_WATER_MOVEMENT); }
|
||||
bool checkSceneChangeAreaStart() const { return i_checkNoResetFlg2(SCENE_CHANGE_START); }
|
||||
bool checkWaterInMove() const { return i_checkNoResetFlg0(FLG0_UNDERWATER); }
|
||||
bool checkSceneChangeAreaStart() const { return i_checkNoResetFlg2(FLG2_SCN_CHG_START); }
|
||||
|
||||
// some functions use these function as an inline
|
||||
// is there a better way to handle this?
|
||||
@@ -567,28 +621,36 @@ public:
|
||||
int i_checkNoResetFlg1(daPy_FLG1 pFlag) const { return mNoResetFlg1 & pFlag; }
|
||||
int i_checkNoResetFlg2(daPy_FLG2 pFlag) const { return mNoResetFlg2 & pFlag; }
|
||||
int i_checkNoResetFlg3(daPy_FLG3 pFlag) const { return mNoResetFlg3 & pFlag; }
|
||||
|
||||
void i_onNoResetFlg0(int pFlg) { mNoResetFlg0 |= pFlg; }
|
||||
void i_onNoResetFlg1(int pFlg) { mNoResetFlg1 |= pFlg; }
|
||||
void i_onNoResetFlg2(int pFlg) { mNoResetFlg2 |= pFlg; }
|
||||
void i_onNoResetFlg3(int pFlg) { mNoResetFlg3 |= pFlg; }
|
||||
|
||||
void i_offNoResetFlg0(int pFlg) { mNoResetFlg0 &= ~pFlg; }
|
||||
void i_offNoResetFlg2(int pFlg) { mNoResetFlg2 &= ~pFlg; }
|
||||
void i_offNoResetFlg3(int pFlg) { mNoResetFlg3 &= ~pFlg; }
|
||||
|
||||
void i_offResetFlg0(int flag) { mResetFlg0 &= ~flag; }
|
||||
void i_onResetFlg0(int flag) { mResetFlg0 |= flag; }
|
||||
void i_onResetFlg1(int flag) { mResetFlg1 |= flag; }
|
||||
|
||||
void i_onEndResetFlg0(int flag) { mEndResetFlg0 |= flag; }
|
||||
void i_onEndResetFlg2(int flag) { mEndResetFlg2 |= flag; }
|
||||
|
||||
int i_checkResetFlg0(daPy_py_c::daPy_RFLG0 flag) const { return mResetFlg0 & flag; }
|
||||
|
||||
int i_checkEndResetFlg0(daPy_py_c::daPy_ERFLG0 flag) const { return mEndResetFlg0 & flag; }
|
||||
int i_checkEndResetFlg1(daPy_py_c::daPy_ERFLG1 flag) const { return mEndResetFlg1 & flag; }
|
||||
|
||||
void i_onEndResetFlg1(daPy_ERFLG1 pFlg) { mEndResetFlg1 |= pFlg; }
|
||||
u32 i_checkWolf() const { return i_checkNoResetFlg1(IS_WOLF); }
|
||||
BOOL i_checkEquipHeavyBoots() const { return i_checkNoResetFlg0(EQUIP_HEAVY_BOOTS); }
|
||||
BOOL i_checkMagneBootsOn() const { return i_checkNoResetFlg0(MAGNE_BOOTS_ON); }
|
||||
bool i_checkMidnaRide() const { return i_checkNoResetFlg0(MIDNA_RIDE); }
|
||||
void i_onPlayerNoDraw() { i_onNoResetFlg0(PLAYER_NO_DRAW); }
|
||||
void i_offPlayerNoDraw() { i_offNoResetFlg0(PLAYER_NO_DRAW); }
|
||||
|
||||
u32 i_checkWolf() const { return i_checkNoResetFlg1(FLG1_IS_WOLF); }
|
||||
BOOL i_checkEquipHeavyBoots() const { return i_checkNoResetFlg0(FLG0_EQUIP_HVY_BOOTS); }
|
||||
BOOL i_checkMagneBootsOn() const { return i_checkNoResetFlg0(FLG0_MAGNE_BOOTS_ON); }
|
||||
bool i_checkMidnaRide() const { return i_checkNoResetFlg0(FLG0_MIDNA_RIDE); }
|
||||
void i_onPlayerNoDraw() { i_onNoResetFlg0(FLG0_PLAYER_NO_DRAW); }
|
||||
void i_offPlayerNoDraw() { i_offNoResetFlg0(FLG0_PLAYER_NO_DRAW); }
|
||||
|
||||
inline static u32 i_getLastSceneMode();
|
||||
inline static u32 getLastSceneMode();
|
||||
|
||||
Reference in New Issue
Block a user