mirror of
https://github.com/encounter/tp.git
synced 2026-07-11 06:18:46 -07:00
d_a_npc_zrz mostly done (#2168)
Co-authored-by: hatal175 <hatal175@users.noreply.github.com>
This commit is contained in:
co-authored by
hatal175
parent
61c48f6e72
commit
57a1d21be8
@@ -635,14 +635,14 @@ protected:
|
||||
/* 0x902 */ csXyz mHeadAngle;
|
||||
/* 0x908 */ csXyz field_0x908[3];
|
||||
/* 0x91A */ csXyz mLookatAngle[3];
|
||||
/* 0x92C */ int mCutIndex;
|
||||
/* 0x930 */ u32 field_0x930;
|
||||
/* 0x92C */ int mStaffID;
|
||||
/* 0x930 */ int mCutType;
|
||||
/* 0x934 */ int mAttnIdx;
|
||||
/* 0x938 */ int mAttnChangeTimer;
|
||||
/* 0x93C */ int mAttnActorTimer[5];
|
||||
/* 0x950 */ int mMsgTimer;
|
||||
/* 0x954 */ int field_0x954;
|
||||
/* 0x958 */ int field_0x958;
|
||||
/* 0x954 */ int mDamageTimer;
|
||||
/* 0x958 */ int mTotalDamageTimer;
|
||||
/* 0x95C */ int field_0x95c;
|
||||
/* 0x960 */ int mEventTimer;
|
||||
/* 0x964 */ int mBtpTimer;
|
||||
@@ -687,7 +687,7 @@ protected:
|
||||
/* 0x9ED */ bool mOrderNewEvt;
|
||||
/* 0x9EE */ bool field_0x9ee;
|
||||
/* 0x9EF */ u8 field_0x9ef;
|
||||
/* 0x9F0 */ u8 field_0x9f0;
|
||||
/* 0x9F0 */ bool mIsDamaged;
|
||||
/* 0x9F1 */ u8 field_0x9f1;
|
||||
/* 0x9F2 */ bool mHide;
|
||||
/* 0x9f3 */ u8 field_0x9f3;
|
||||
@@ -740,7 +740,7 @@ public:
|
||||
};
|
||||
|
||||
/* 80152014 */ BOOL execute();
|
||||
/* 801522AC */ BOOL draw(BOOL, BOOL, f32, _GXColorS10*, BOOL);
|
||||
/* 801522AC */ int draw(BOOL, BOOL, f32, _GXColorS10*, BOOL);
|
||||
/* 80152614 */ static void tgHitCallBack(fopAc_ac_c*, dCcD_GObjInf*, fopAc_ac_c*,
|
||||
dCcD_GObjInf*);
|
||||
/* 80152654 */ static void* srchAttnActor1(void*, void*);
|
||||
@@ -769,7 +769,7 @@ public:
|
||||
/* 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);
|
||||
/* 80153578 */ BOOL hitChk2(dCcD_Cyl*, BOOL, BOOL);
|
||||
/* 80153658 */ void setDamage(int, int, int);
|
||||
/* 80153718 */ int ctrlMsgAnm(int&, int&, fopAc_ac_c*, BOOL);
|
||||
/* 8015387C */ void orderEvent(int, char*, u16, u16, u8, u16);
|
||||
@@ -825,6 +825,7 @@ public:
|
||||
BOOL checkHide() { return mHide || (mTwilight && !dComIfGs_wolfeye_effect_check()); }
|
||||
void setIntDemander(fopAc_ac_c* i_actor) { field_0x824.entry(i_actor); }
|
||||
void setIntFlowNodeNo(int i_flowNodeNo) { mFlowNodeNo = i_flowNodeNo; }
|
||||
void setCutType(int i_cutType) { mCutType = i_cutType; }
|
||||
void onInterrupt(u8 param_0) { field_0x9ef = param_0; }
|
||||
|
||||
static u8 const mCcDObjInfo[48];
|
||||
@@ -922,6 +923,7 @@ public:
|
||||
|
||||
int getIdx() { return mIdx; };
|
||||
void setIdx(int i_idx) { mIdx = i_idx; }
|
||||
int getArg0() { return mpRoomPath->m_points[mIdx].mArg0; }
|
||||
u8 getArg0(int i_idx) { return mpRoomPath->m_points[i_idx].mArg0; }
|
||||
Vec getPntPos(int i_idx) { return mpRoomPath->m_points[i_idx].m_position; }
|
||||
BOOL chkClose() { return dPath_ChkClose(mpRoomPath); }
|
||||
|
||||
@@ -117,10 +117,10 @@ public:
|
||||
/* 8095A8EC */ bool talk(void*);
|
||||
/* 8095AD28 */ bool demo(void*);
|
||||
/* 8095B164 */ bool leave(void*);
|
||||
/* 8095B48C */ BOOL EvCut_Introduction(int i_cutIndex);
|
||||
/* 8095B58C */ BOOL EvCut_Meeting(int i_cutIndex);
|
||||
/* 8095B83C */ BOOL EvCut_WiretapSponsor(int i_cutIndex);
|
||||
/* 8095BA80 */ BOOL EvCut_WiretapEntrant(int i_cutIndex);
|
||||
/* 8095B48C */ BOOL EvCut_Introduction(int i_staffID);
|
||||
/* 8095B58C */ BOOL EvCut_Meeting(int i_staffID);
|
||||
/* 8095B83C */ BOOL EvCut_WiretapSponsor(int i_staffID);
|
||||
/* 8095BA80 */ BOOL EvCut_WiretapEntrant(int i_staffID);
|
||||
/* 8095BCF0 */ void setParam();
|
||||
/* 8095BF6C */ BOOL main();
|
||||
#ifdef NONMATCHING
|
||||
@@ -182,11 +182,11 @@ public:
|
||||
/* 0x54 */ f32 mAttnRadius;
|
||||
/* 0x58 */ f32 mAttnUpperY;
|
||||
/* 0x5C */ f32 mAttnLowerY;
|
||||
/* 0x60 */ u16 field_0x60;
|
||||
/* 0x62 */ u16 field_0x62;
|
||||
/* 0x64 */ u16 mTestExpression;
|
||||
/* 0x66 */ u16 mTestMotion;
|
||||
/* 0x68 */ u16 mTestLookMode;
|
||||
/* 0x60 */ s16 field_0x60;
|
||||
/* 0x62 */ s16 mDamageTimer;
|
||||
/* 0x64 */ s16 mTestExpression;
|
||||
/* 0x66 */ s16 mTestMotion;
|
||||
/* 0x68 */ s16 mTestLookMode;
|
||||
/* 0x6A */ bool mTest;
|
||||
};
|
||||
|
||||
|
||||
@@ -242,7 +242,7 @@ public:
|
||||
/* 0x58 */ f32 mAttnUpperY;
|
||||
/* 0x5C */ f32 mAttnLowerY;
|
||||
/* 0x60 */ s16 field_0x60;
|
||||
/* 0x62 */ s16 field_0x62;
|
||||
/* 0x62 */ s16 mDamageTimer;
|
||||
/* 0x64 */ s16 mTestExpression;
|
||||
/* 0x66 */ s16 mTestMotion;
|
||||
/* 0x68 */ s16 mTestLookMode;
|
||||
|
||||
@@ -433,7 +433,7 @@ public:
|
||||
/* 0x58 */ f32 mAttnUpperY;
|
||||
/* 0x5C */ f32 mAttnLowerY;
|
||||
/* 0x60 */ s16 field_0x60;
|
||||
/* 0x62 */ s16 field_0x62;
|
||||
/* 0x62 */ s16 mDamageTimer;
|
||||
/* 0x64 */ s16 mTestExpression;
|
||||
/* 0x66 */ s16 mTestMotion;
|
||||
/* 0x68 */ s16 mTestLookMode;
|
||||
|
||||
@@ -3,50 +3,58 @@
|
||||
|
||||
#include "d/a/d_a_npc.h"
|
||||
|
||||
class daGraveStone_c;
|
||||
class daObjZraRock_c;
|
||||
|
||||
/**
|
||||
* @ingroup actors-npcs
|
||||
* @class daNpc_zrZ_c
|
||||
* @brief Rutela
|
||||
*
|
||||
* @details
|
||||
* @details The ghost of the Zora queen.
|
||||
*
|
||||
*/
|
||||
class daNpc_zrZ_c : public fopAc_ac_c {
|
||||
class daNpc_zrZ_c : public daNpcF_c {
|
||||
public:
|
||||
typedef BOOL (daNpc_zrZ_c::*ActionFn)(void*);
|
||||
typedef BOOL (daNpc_zrZ_c::*EventFn)(int);
|
||||
|
||||
/* 80B93DCC */ daNpc_zrZ_c();
|
||||
/* 80B94014 */ ~daNpc_zrZ_c();
|
||||
/* 80B9423C */ void create();
|
||||
/* 80B9453C */ void CreateHeap();
|
||||
/* 80B949F4 */ void Delete();
|
||||
/* 80B94A28 */ void Execute();
|
||||
/* 80B94A48 */ void Draw();
|
||||
/* 80B94B34 */ void draw(int, int, f32, _GXColorS10*, int);
|
||||
/* 80B94E18 */ void ctrlJoint(J3DJoint*, J3DModel*);
|
||||
/* 80B950F4 */ void createHeapCallBack(fopAc_ac_c*);
|
||||
/* 80B95114 */ void ctrlJointCallBack(J3DJoint*, int);
|
||||
/* 80B9423C */ cPhs__Step create();
|
||||
/* 80B9453C */ int CreateHeap();
|
||||
/* 80B949F4 */ int Delete();
|
||||
/* 80B94A28 */ int Execute();
|
||||
/* 80B94A48 */ int Draw();
|
||||
/* 80B94B34 */ int draw(BOOL, BOOL, f32, _GXColorS10*, BOOL);
|
||||
/* 80B94E18 */ int ctrlJoint(J3DJoint*, J3DModel*);
|
||||
/* 80B950F4 */ static int createHeapCallBack(fopAc_ac_c*);
|
||||
/* 80B95114 */ static int ctrlJointCallBack(J3DJoint*, int);
|
||||
/* 80B95244 */ void setParam();
|
||||
/* 80B953CC */ void main();
|
||||
/* 80B95598 */ void ctrlBtk();
|
||||
/* 80B953CC */ BOOL main();
|
||||
/* 80B95598 */ BOOL ctrlBtk();
|
||||
/* 80B956B4 */ void setAttnPos();
|
||||
/* 80B95BB8 */ void setMtx();
|
||||
/* 80B95C6C */ void setExpressionAnm(int, bool);
|
||||
/* 80B95DD0 */ void setExpressionBtp(int);
|
||||
/* 80B95C6C */ bool setExpressionAnm(int, bool);
|
||||
/* 80B95DD0 */ bool setExpressionBtp(int);
|
||||
/* 80B95F10 */ void setExpression(int, f32);
|
||||
/* 80B95F3C */ void setMotionAnm(int, f32);
|
||||
/* 80B9612C */ void setMotion(int, f32, int);
|
||||
/* 80B96170 */ bool drawDbgInfo();
|
||||
/* 80B96170 */ BOOL drawDbgInfo();
|
||||
/* 80B96178 */ void drawOtherMdls();
|
||||
/* 80B9617C */ void getTypeFromParam();
|
||||
/* 80B961B4 */ void isDelete();
|
||||
/* 80B9617C */ u8 getTypeFromParam();
|
||||
/* inline */ u8 getPathNoFromParam() { return (fopAcM_GetParam(this) >> 8) & 0xff; }
|
||||
/* inline */ u8 getDemoMode() { return (fopAcM_GetParam(this) >> 0x10) & 0xf; }
|
||||
/* 80B961B4 */ BOOL isDelete();
|
||||
/* 80B96268 */ void reset();
|
||||
/* 80B9652C */ void playExpression();
|
||||
/* 80B96618 */ void playMotion();
|
||||
/* 80B96740 */ void chkAction(int (daNpc_zrZ_c::*)(void*));
|
||||
/* 80B9676C */ void setAction(int (daNpc_zrZ_c::*)(void*));
|
||||
/* 80B96814 */ void selectAction();
|
||||
/* 80B968E0 */ void doNormalAction(int);
|
||||
/* 80B969F4 */ void doEvent();
|
||||
/* 80B96DF0 */ void setSkipZev(int, int);
|
||||
/* 80B96740 */ BOOL chkAction(ActionFn);
|
||||
/* 80B9676C */ BOOL setAction(ActionFn);
|
||||
/* 80B96814 */ BOOL selectAction();
|
||||
/* 80B968E0 */ void doNormalAction(BOOL);
|
||||
/* 80B969F4 */ BOOL doEvent();
|
||||
/* 80B96DF0 */ BOOL setSkipZev(int, int);
|
||||
/* 80B96E7C */ void setLookMode(int);
|
||||
/* 80B96EA0 */ void lookat();
|
||||
/* 80B97128 */ void setExpressionTalkAfter();
|
||||
@@ -54,37 +62,162 @@ public:
|
||||
/* 80B971BC */ void setLightPos();
|
||||
/* 80B9723C */ void lightPowerCalc(int);
|
||||
/* 80B972EC */ void lightColorProc();
|
||||
/* 80B974BC */ void ECut_helpPrince(int);
|
||||
/* 80B97B78 */ void ECut_comeHere(int);
|
||||
/* 80B97D7C */ void ECut_restoreLink(int);
|
||||
/* 80B97EB4 */ void ECut_clothesGet(int);
|
||||
/* 80B98540 */ void ECut_getAfter(int);
|
||||
/* 80B9877C */ void ECut_sealRelease(int);
|
||||
/* 80B98ACC */ void ECut_srSkip(int);
|
||||
/* 80B974BC */ BOOL ECut_helpPrince(int);
|
||||
/* 80B97B78 */ BOOL ECut_comeHere(int);
|
||||
/* 80B97D7C */ BOOL ECut_restoreLink(int);
|
||||
/* 80B97EB4 */ BOOL ECut_clothesGet(int);
|
||||
/* 80B98540 */ BOOL ECut_getAfter(int);
|
||||
/* 80B9877C */ BOOL ECut_sealRelease(int);
|
||||
/* 80B98ACC */ BOOL ECut_srSkip(int);
|
||||
/* 80B98C34 */ void pullbackPlayer(f32);
|
||||
/* 80B98D04 */ void wait(void*);
|
||||
/* 80B98F84 */ void comeHere(void*);
|
||||
/* 80B998BC */ void comeHere2(void*);
|
||||
/* 80B9A0EC */ void talk(void*);
|
||||
/* 80B9A29C */ void test(void*);
|
||||
/* 80B98D04 */ BOOL wait(void*);
|
||||
/* 80B98F84 */ BOOL comeHere(void*);
|
||||
/* 80B998BC */ BOOL comeHere2(void*);
|
||||
/* 80B9A0EC */ BOOL talk(void*);
|
||||
/* 80B9A29C */ BOOL test(void*);
|
||||
/* 80B9A380 */ void himoCalc();
|
||||
/* 80B9AF7C */ void adjustShapeAngle();
|
||||
|
||||
static void* mEvtCutNameList[8];
|
||||
static u8 mEvtCutList[96];
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0x14c8 - 0x568];
|
||||
/* 0x0B48 */ Z2Creature mCreatureSound;
|
||||
/* 0x0BD8 */ daNpcF_MatAnm_c* mpMatAnm;
|
||||
/* 0x0BDC */ mDoExt_invisibleModel mInvisibleModel;
|
||||
/* 0x0BE4 */ daNpcF_Lookat_c mLookat;
|
||||
/* 0x0C80 */ daNpcF_ActorMngr_c mActorMngr[2];
|
||||
/* 0x0C90 */ daNpcF_Path_c mPath;
|
||||
/* 0x12C0 */ u8 field_0x12c0[4];
|
||||
/* 0x12C4 */ dCcD_Cyl mCcCyl;
|
||||
/* 0x1400 */ ActionFn mpNextActionFn;
|
||||
/* 0x140C */ ActionFn mpActionFn;
|
||||
/* 0x1418 */ request_of_phase_process_class mPhase[2];
|
||||
/* 0x1428 */ u8 field_0x1428[8];
|
||||
/* 0x1430 */ u32 mItemID;
|
||||
/* 0x1434 */ int field_0x1434;
|
||||
/* 0x1438 */ int field_0x1438;
|
||||
/* 0x143C */ int field_0x143c;
|
||||
/* 0x1440 */ int field_0x1440;
|
||||
/* 0x1444 */ int mFlowID;
|
||||
/* 0x1448 */ s16 mLookMode;
|
||||
/* 0x144A */ u16 mMode;
|
||||
/* 0x144C */ u8 mType;
|
||||
/* 0x144D */ bool mIsLeading;
|
||||
/* 0x144E */ u8 mDemoMode;
|
||||
/* 0x144F */ bool mIsMoving;
|
||||
/* 0x1450 */ f32 mSpeed;
|
||||
/* 0x1454 */ u8 mSwitch1;
|
||||
/* 0x1455 */ u8 mSwitch2;
|
||||
/* 0x1456 */ u8 mSwitch3;
|
||||
/* 0x1458 */ csXyz mMoveAngle;
|
||||
/* 0x1460 */ int mModulationParam;
|
||||
/* 0x1464 */ f32 mModulationOffset;
|
||||
/* 0x1468 */ LIGHT_INFLUENCE mLight;
|
||||
/* 0x1488 */ f32 mAllcolRatio;
|
||||
/* 0x148C */ int mLightEffectFrame;
|
||||
/* 0x1490 */ bool mUseLightEffect;
|
||||
/* 0x1491 */ bool mClothesObtained;
|
||||
/* 0x1494 */ daGraveStone_c* mpGravestoneActor;
|
||||
/* 0x1498 */ fopAc_ac_c* mpClothActor;
|
||||
/* 0x149C */ daObjZraRock_c* mpRockActor;
|
||||
/* 0x14A0 */ cXyz mLimbCalcPos;
|
||||
/* 0x14AC */ cXyz mLimbCalcRelPos;
|
||||
/* 0x14B8 */ csXyz mLimbAngle;
|
||||
/* 0x14C0 */ BOOL mMusicSet;
|
||||
/* 0x14C4 */ bool mSealReleased;
|
||||
|
||||
static char* mEvtCutNameList[8];
|
||||
#ifdef NONMATCHING
|
||||
static EventFn mEvtCutList[8];
|
||||
#else
|
||||
static u8 mEvtCutList[96];
|
||||
#endif
|
||||
|
||||
enum Animation {
|
||||
/* 0x0 */ ANM_NONE,
|
||||
/* 0x1 */ ANM_F_TALK_A,
|
||||
/* 0x2 */ ANM_WAIT_GT_A,
|
||||
/* 0x3 */ ANM_LEAD,
|
||||
/* 0x4 */ ANM_COMEON,
|
||||
};
|
||||
|
||||
enum Expression {
|
||||
/* 0x0 */ EXPR_TALK_A,
|
||||
/* 0x1 */ EXPR_NONE,
|
||||
};
|
||||
|
||||
enum Motion {
|
||||
/* 0x0 */ MOT_WAIT_GT_A,
|
||||
/* 0x1 */ MOT_COMEON,
|
||||
/* 0x2 */ MOT_LEAD,
|
||||
};
|
||||
|
||||
enum DemoMode {
|
||||
/* 0x1 */ DEMO_WAIT = 1,
|
||||
/* 0x2 */ DEMO_COME_HERE,
|
||||
/* 0x3 */ DEMO_COME_HERE_2,
|
||||
};
|
||||
|
||||
enum Event {
|
||||
/* 0x0 */ EVT_NONE,
|
||||
/* 0x1 */ EVT_HELP_PRINCE,
|
||||
/* 0x2 */ EVT_COME_HERE,
|
||||
/* 0x3 */ EVT_RESTORE_LINK,
|
||||
/* 0x4 */ EVT_CLOTHES_GET,
|
||||
/* 0x5 */ EVT_GET_AFTER,
|
||||
/* 0x6 */ EVT_SEAL_RELEASE,
|
||||
/* 0x7 */ EVT_SR_SKIP,
|
||||
};
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daNpc_zrZ_c) == 0x14c8);
|
||||
|
||||
class daNpc_zrZ_Param_c {
|
||||
public:
|
||||
/* 80B9AF80 */ ~daNpc_zrZ_Param_c();
|
||||
struct param {
|
||||
/* 0x00 */ f32 mAttnOffsetY;
|
||||
/* 0x04 */ f32 mGravity;
|
||||
/* 0x08 */ f32 mScale;
|
||||
/* 0x0C */ f32 mShadowDepth;
|
||||
/* 0x10 */ f32 mCcWeight;
|
||||
/* 0x14 */ f32 mCylH;
|
||||
/* 0x18 */ f32 mWallH;
|
||||
/* 0x1C */ f32 mWallR;
|
||||
/* 0x20 */ f32 mBodyUpAngle;
|
||||
/* 0x24 */ f32 mBodyDownAngle;
|
||||
/* 0x28 */ f32 mBodyLeftAngle;
|
||||
/* 0x2C */ f32 mBodyRightAngle;
|
||||
/* 0x30 */ f32 mHeadUpAngle;
|
||||
/* 0x34 */ f32 mHeadDownAngle;
|
||||
/* 0x38 */ f32 mHeadLeftAngle;
|
||||
/* 0x3C */ f32 mHeadRightAngle;
|
||||
/* 0x40 */ f32 mNeckAngleScl;
|
||||
/* 0x44 */ f32 mMorfFrames;
|
||||
/* 0x48 */ s16 mSpeakDistIdx;
|
||||
/* 0x4A */ s16 mSpeakAngleIdx;
|
||||
/* 0x4C */ s16 mTalkDistIdx;
|
||||
/* 0x4E */ s16 mTalkAngleIdx;
|
||||
/* 0x50 */ f32 mAttnFovY;
|
||||
/* 0x54 */ f32 mAttnRadius;
|
||||
/* 0x58 */ f32 mAttnUpperY;
|
||||
/* 0x5C */ f32 mAttnLowerY;
|
||||
/* 0x60 */ s16 field_0x60;
|
||||
/* 0x62 */ s16 mDamageTimer;
|
||||
/* 0x64 */ s16 mTestExpression;
|
||||
/* 0x66 */ s16 mTestMotion;
|
||||
/* 0x68 */ s16 mTestLookMode;
|
||||
/* 0x6A */ bool mTest;
|
||||
/* 0x6C */ f32 field_0x6c;
|
||||
/* 0x70 */ f32 mFollowDst;
|
||||
/* 0x74 */ f32 mRestoreDst;
|
||||
/* 0x78 */ f32 mMaxSpeed;
|
||||
/* 0x7C */ f32 mClothesGetDst;
|
||||
/* 0x80 */ f32 field_0x80;
|
||||
};
|
||||
|
||||
static u8 const m[132];
|
||||
/* 80B9AF80 */ virtual ~daNpc_zrZ_Param_c() {}
|
||||
|
||||
static param const m;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daNpc_zrZ_Param_c::param) == 0x84);
|
||||
|
||||
#endif /* D_A_NPC_ZRZ_H */
|
||||
|
||||
@@ -40,6 +40,8 @@ public:
|
||||
/* 80C1311C */ int Delete();
|
||||
|
||||
private:
|
||||
friend class daNpc_zrZ_c;
|
||||
|
||||
/* 0x5A0 */ request_of_phase_process_class mPhase;
|
||||
/* 0x5A8 */ J3DModel* mpModel;
|
||||
/* 0x5AC */ dBgS_ObjAcch mAcch;
|
||||
|
||||
@@ -29,6 +29,8 @@ public:
|
||||
void setDemoStart() { mDemoStart = 1; }
|
||||
|
||||
private:
|
||||
friend class daNpc_zrZ_c;
|
||||
|
||||
/* 0x5A0 */ request_of_phase_process_class mPhaseReq;
|
||||
/* 0x5A8 */ J3DModel* mpModelXlu;
|
||||
/* 0x5AC */ J3DModel* mpModelOpa;
|
||||
|
||||
Reference in New Issue
Block a user