mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-09-06 18:01:01 -04:00
work on d_a_npc_ne (#2037)
This commit is contained in:
@@ -398,6 +398,7 @@ public:
|
||||
RFLG0_UNK_20000000 = 0x20000000,
|
||||
RFLG0_UNK_8000000 = 0x8000000,
|
||||
RFLG0_UNK_4000000 = 0x4000000,
|
||||
RFLG0_GRAB_PUT_START = 0x400000,
|
||||
RFLG0_UNK_20000 = 0x20000,
|
||||
RFLG0_UNK_8000 = 0x8000,
|
||||
RFLG0_UNK_4000 = 0x4000,
|
||||
@@ -760,6 +761,7 @@ public:
|
||||
bool checkFreezeDamage() const { return i_checkNoResetFlg1(FLG1_UNK_40000000); }
|
||||
bool checkWolfTagLockJumpReady() const { return i_checkResetFlg0(RFLG0_UNK_20000); }
|
||||
bool getGrabUpEnd() const { return i_checkResetFlg0(RFLG0_GRAB_UP_END); }
|
||||
bool getGrabPutStart() const { return i_checkResetFlg0(RFLG0_GRAB_PUT_START); }
|
||||
|
||||
void onForceAutoJump() { i_onEndResetFlg0(ERFLG0_FORCE_AUTO_JUMP); }
|
||||
void onNotAutoJump() { i_onEndResetFlg0(ERFLG0_NOT_AUTO_JUMP); }
|
||||
|
||||
@@ -43,8 +43,8 @@ public:
|
||||
/* 8024A424 */ int checkEventRender(int*, int*, int*, int*);
|
||||
/* 8024A4C4 */ void remove();
|
||||
/* 8024A528 */ u16 getEventId(int*);
|
||||
/* 8024A538 */ int getMsgNo();
|
||||
/* 8024A540 */ int getNowMsgNo();
|
||||
/* 8024A538 */ u32 getMsgNo();
|
||||
/* 8024A540 */ u32 getNowMsgNo();
|
||||
/* 8024A548 */ msg_class* getMsg();
|
||||
/* 8024A580 */ void setInitValue(int);
|
||||
/* 8024A618 */ void setInitValueGroupChange(int, fopAc_ac_c**);
|
||||
@@ -181,8 +181,8 @@ private:
|
||||
/* 0x25 */ u8 field_0x25;
|
||||
/* 0x26 */ u8 field_0x26;
|
||||
/* 0x27 */ u8 field_0x27;
|
||||
/* 0x28 */ int mMsgNo;
|
||||
/* 0x2C */ int mNowMsgNo;
|
||||
/* 0x28 */ u32 mMsgNo;
|
||||
/* 0x2C */ u32 mNowMsgNo;
|
||||
/* 0x30 */ u16 field_0x30;
|
||||
/* 0x32 */ u16 mEventId;
|
||||
/* 0x34 */ int field_0x34;
|
||||
|
||||
@@ -1,6 +1,74 @@
|
||||
#ifndef D_A_MG_FISH_H
|
||||
#define D_A_MG_FISH_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "SSystem/SComponent/c_phase.h"
|
||||
#include "Z2AudioLib/Z2Creature.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
// including this causes vtable problems
|
||||
// #include "d/bg/d_bg_s_acch.h"
|
||||
#include "d/cc/d_cc_d.h"
|
||||
|
||||
struct mf_ke_s {
|
||||
/* 80535F74 */ ~mf_ke_s();
|
||||
/* 80535FD4 */ mf_ke_s();
|
||||
|
||||
/* 0x00 */ u8 field_0x0[0x48];
|
||||
};
|
||||
|
||||
class mg_fish_class : public fopEn_enemy_c {
|
||||
public:
|
||||
/* 0x5AC */ request_of_phase_process_class mPhaseReq;
|
||||
/* 0x5B4 */ s16 field_0x5b4;
|
||||
/* 0x5B6 */ s16 field_0x5b6;
|
||||
/* 0x5B8 */ s16 field_0x5b8;
|
||||
/* 0x5BC */ f32 field_0x5bc;
|
||||
/* 0x5C0 */ cXyz field_0x5c0;
|
||||
/* 0x5CC */ u8 field_0x5cc[0xc];
|
||||
/* 0x5D8 */ f32 field_0x5d8;
|
||||
/* 0x5DC */ f32 field_0x5dc;
|
||||
/* 0x5E0 */ cXyz field_0x5e0;
|
||||
/* 0x5EC */ f32 field_0x5ec;
|
||||
/* 0x5F0 */ f32 field_0x5f0;
|
||||
/* 0x5F4 */ u8 field_0x5f4[8];
|
||||
/* 0x5FC */ char* mResName;
|
||||
/* 0x600 */ mDoExt_McaMorf* mpMorf;
|
||||
/* 0x604 */ J3DAnmTransform* field_0x604;
|
||||
/* 0x608 */ u8 field_0x608[4];
|
||||
/* 0x60C */ int mAnmID;
|
||||
/* 0x610 */ mDoExt_brkAnm* mpBrkAnm;
|
||||
/* 0x614 */ J3DModel* mpModel[3];
|
||||
/* 0x620 */ mDoExt_btpAnm* mpBtpAnm;
|
||||
/* 0x624 */ s16 field_0x624;
|
||||
/* 0x626 */ u8 field_0x626[2];
|
||||
/* 0x628 */ s16 field_0x628;
|
||||
/* 0x62A */ u8 field_0x62a[8];
|
||||
/* 0x632 */ u16 field_0x632;
|
||||
/* 0x634 */ u8 mGedouKind;
|
||||
/* 0x635 */ u8 mKind2;
|
||||
/* 0x638 */ cXyz field_0x638;
|
||||
/* 0x644 */ u16 field_0x644;
|
||||
/* 0x646 */ u8 field_0x646[0x1e];
|
||||
/* 0x664 */ cXyz field_0x664[10];
|
||||
/* 0x6DC */ csXyz field_0x6dc[10];
|
||||
/* 0x718 */ s16 field_0x718[10];
|
||||
/* 0x72C */ int field_0x72c;
|
||||
/* 0x730 */ s16 field_0x730;
|
||||
/* 0x732 */ u8 field_0x732[0xe];
|
||||
/* 0x740 */ f32 field_0x740;
|
||||
/* 0x744 */ u8 field_0x744[0x10];
|
||||
/* 0x754 */ mf_ke_s field_0x754[2];
|
||||
/* 0x7E4 */ mDoExt_3DlineMat0_c field_0x7e4;
|
||||
/* 0x800 */ Z2Creature mSound;
|
||||
// /* 0x890 */ dBgS_AcchCir mAcchCir;
|
||||
// /* 0x8D0 */ dBgS_ObjAcch mAcch;
|
||||
/* 0x890 */ u8 field_0x890[0x218];
|
||||
/* 0xAA8 */ dCcD_Stts mCcStatus;
|
||||
/* 0xAE4 */ dCcD_Cyl mCcCyl;
|
||||
/* 0xC20 */ u8 field_0xc20[0x28];
|
||||
/* 0xC48 */ J3DJointCallBack mNodeCallBack;
|
||||
/* 0xC4C */ u32 field_0xc4c;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(mg_fish_class) == 0xC50);
|
||||
|
||||
#endif /* D_A_MG_FISH_H */
|
||||
|
||||
@@ -3,6 +3,9 @@
|
||||
|
||||
#include "d/msg/d_msg_flow.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
#include "Z2AudioLib/Z2Creature.h"
|
||||
#include "d/bg/d_bg_s_acch.h"
|
||||
#include "d/cc/d_cc_d.h"
|
||||
|
||||
struct mg_rod_s {
|
||||
/* 0x0 */ cXyz field_0x0[16];
|
||||
@@ -25,7 +28,6 @@ public:
|
||||
f32 getRodStickY() { return mRodStickY; }
|
||||
bool checkRodEquipPermission() { return field_0x1514 == 0; }
|
||||
|
||||
private:
|
||||
/* 0x0568 */ u8 field_0x568[0x5A4 - 0x568];
|
||||
/* 0x05A4 */ mg_rod_s field_0x5a4;
|
||||
/* 0x0664 */ u8 field_0x664[0x6AC - 0x664];
|
||||
@@ -44,7 +46,10 @@ private:
|
||||
/* 0x075C */ u8 field_0x75c[0x764 - 0x75C];
|
||||
/* 0x0764 */ cXyz field_0x764;
|
||||
/* 0x0770 */ mg_line_s field_0x770;
|
||||
/* 0x0C20 */ u8 field_0xc20[0xFAC - 0xC20];
|
||||
/* 0x0C20 */ u8 field_0xc20[0xF7C - 0xC20];
|
||||
/* 0x0F7C */ s16 field_0xf7c;
|
||||
/* 0x0F7E */ s16 field_0xf7e;
|
||||
/* 0x0F80 */ u8 field_0xf80[0xFAC - 0xF80];
|
||||
/* 0x0FAC */ mg_hook_s field_0xfac[2];
|
||||
/* 0x0FEC */ u8 field_0xfec[0x1060 - 0xFEC];
|
||||
/* 0x1060 */ cXyz field_0x1060;
|
||||
@@ -56,7 +61,9 @@ private:
|
||||
/* 0x1144 */ u8 field_0x1144[0x1190 - 0x1144];
|
||||
/* 0x1190 */ dBgS_AcchCir field_0x1190;
|
||||
/* 0x11D0 */ dBgS_ObjAcch field_0x11d0;
|
||||
/* 0x13A8 */ u8 field_0x13a8[0x1474 - 0x13A8];
|
||||
/* 0x13A8 */ u8 field_0x13a8[0x13B4 - 0x13A8];
|
||||
/* 0x13B4 */ s16 field_0x13b4;
|
||||
/* 0x13B6 */ u8 field_0x13b6[0x1474 - 0x13B6];
|
||||
/* 0x1474 */ dMsgFlow_c mMsgFlow;
|
||||
/* 0x14C0 */ u8 field_0x14c0[0x14C8 - 0x14C0];
|
||||
/* 0x14C8 */ f32 mRodStickX;
|
||||
|
||||
@@ -1,6 +1,189 @@
|
||||
#ifndef D_A_NPC_NE_H
|
||||
#define D_A_NPC_NE_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "SSystem/SComponent/c_phase.h"
|
||||
#include "d/bg/d_bg_s_acch.h"
|
||||
#include "d/cc/d_cc_d.h"
|
||||
#include "d/d_path.h"
|
||||
#include "d/msg/d_msg_flow.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
|
||||
class npc_ne_class : public fopAc_ac_c {
|
||||
public:
|
||||
enum Action {
|
||||
ACT_WAIT = 0,
|
||||
ACT_AWAY = 1,
|
||||
ACT_TAME = 2,
|
||||
ACT_ROOF = 3,
|
||||
ACT_HOME = 4,
|
||||
ACT_JUMP = 5,
|
||||
ACT_S_JUMP = 6,
|
||||
ACT_BIRD = 7,
|
||||
ACT_BALL = 8,
|
||||
ACT_SANBASI = 9,
|
||||
ACT_PATH_WALK = 10,
|
||||
ACT_SWIM = 12,
|
||||
ACT_OUT_SWIM = 13,
|
||||
ACT_CLIMB = 14,
|
||||
ACT_DROP = 15,
|
||||
ACT_S_DROP = 16,
|
||||
ACT_MESSAGE = 17,
|
||||
ACT_DISH = 18,
|
||||
ACT_CARRY = 20,
|
||||
};
|
||||
|
||||
enum Animation {
|
||||
ANM_CARRY_A = 6,
|
||||
ANM_CARRY_B = 7,
|
||||
ANM_DRINK_DISH = 8,
|
||||
ANM_EMPTY_DISH = 9,
|
||||
ANM_FAWN_L = 10,
|
||||
ANM_FAWN_R = 11,
|
||||
ANM_JUMP_END = 12,
|
||||
ANM_JUMP_LOOP = 13,
|
||||
ANM_JUMP_START = 14,
|
||||
ANM_JUMP_UP = 15,
|
||||
ANM_MILK = 16,
|
||||
ANM_RUN = 17,
|
||||
ANM_SIT_A = 18,
|
||||
ANM_SIT_B = 19,
|
||||
ANM_SWIM = 20,
|
||||
ANM_TO_JUMP = 21,
|
||||
ANM_TO_WAIT = 22,
|
||||
ANM_TO_CARRY_B = 23,
|
||||
ANM_WAIT = 24,
|
||||
ANM_WALK = 25,
|
||||
};
|
||||
|
||||
/* 80A92118 */ npc_ne_class();
|
||||
|
||||
/* 0x568 */ u8 field_0x568[0x44];
|
||||
/* 0x5AC */ request_of_phase_process_class mPhase;
|
||||
/* 0x5B4 */ u8 field_0x5b4;
|
||||
/* 0x5B5 */ u8 field_0x5b5;
|
||||
/* 0x5B6 */ u8 mSize;
|
||||
/* 0x5B7 */ u8 field_0x5b7;
|
||||
/* 0x5B8 */ u8 mPathIndex;
|
||||
/* 0x5B9 */ u8 field_0x5b9;
|
||||
/* 0x5BC */ dPath* mpPath;
|
||||
/* 0x5C0 */ s8 mPathPointNo;
|
||||
/* 0x5C1 */ s8 mPathDir;
|
||||
/* 0x5C4 */ cXyz mTargetPos;
|
||||
/* 0x5D0 */ s16 mTargetAngleY;
|
||||
/* 0x5D4 */ f32 mAngleYStep;
|
||||
/* 0x5D8 */ f32 mDistToTarget;
|
||||
/* 0x5DC */ s16 mAngleToPlayer;
|
||||
/* 0x5E0 */ f32 field_0x5e0;
|
||||
/* 0x5E4 */ char* mResName;
|
||||
/* 0x5E8 */ mDoExt_McaMorf* mpMorf;
|
||||
/* 0x5EC */ mDoExt_btkAnm* mpBtkAnm;
|
||||
/* 0x5F0 */ mDoExt_btpAnm* mpBtpAnm;
|
||||
/* 0x5F4 */ s8 mBtkFrame;
|
||||
/* 0x5F6 */ s16 mBtpFrame;
|
||||
/* 0x5F8 */ s8 field_0x5f8;
|
||||
/* 0x5FC */ mDoExt_McaMorf* mpDishMorf;
|
||||
/* 0x600 */ cXyz mDishPos;
|
||||
/* 0x60C */ Z2SoundObjSimple mSound;
|
||||
/* 0x62C */ s16 field_0x62c;
|
||||
/* 0x62E */ u8 field_0x62e[2];
|
||||
/* 0x630 */ int mAnmID;
|
||||
/* 0x634 */ u8 field_0x634[4];
|
||||
/* 0x638 */ f32 mAnmSpeed;
|
||||
/* 0x63C */ u8 field_0x63c[4];
|
||||
/* 0x640 */ s16 field_0x640;
|
||||
/* 0x642 */ s16 mAction;
|
||||
/* 0x644 */ u8 field_0x644[2];
|
||||
/* 0x646 */ s16 mState;
|
||||
/* 0x648 */ u32 mShadowKey;
|
||||
/* 0x64C */ s16 mTimers[5];
|
||||
/* 0x656 */ s16 field_0x656;
|
||||
/* 0x658 */ s16 field_0x658;
|
||||
/* 0x65C */ f32 field_0x65c;
|
||||
/* 0x660 */ s16 field_0x660;
|
||||
/* 0x662 */ s16 mHeadAngleZ;
|
||||
/* 0x664 */ s16 mHeadAngleY;
|
||||
/* 0x666 */ s16 mHeadAngleX;
|
||||
/* 0x668 */ s8 field_0x668;
|
||||
/* 0x66C */ cXyz field_0x66c;
|
||||
/* 0x678 */ s16 field_0x678;
|
||||
/* 0x67A */ s16 field_0x67a;
|
||||
/* 0x67C */ s16 field_0x67c;
|
||||
/* 0x67E */ s16 mHeadTargetAngleY;
|
||||
/* 0x680 */ s16 mHeadTargetAngleZ;
|
||||
/* 0x682 */ s16 field_0x682;
|
||||
/* 0x684 */ s16 field_0x684[2];
|
||||
/* 0x688 */ s16 field_0x688;
|
||||
/* 0x68A */ s16 field_0x68a;
|
||||
/* 0x68C */ f32 field_0x68c;
|
||||
/* 0x690 */ f32 field_0x690;
|
||||
/* 0x694 */ s16 field_0x694;
|
||||
/* 0x696 */ s16 field_0x696;
|
||||
/* 0x698 */ u8 field_0x698[2];
|
||||
/* 0x69A */ s16 mHeadMinorAngleY;
|
||||
/* 0x69C */ s16 mHeadMinorAngleX;
|
||||
/* 0x69E */ u8 field_0x69e[2];
|
||||
/* 0x6A0 */ s16 mHeadMinorTargetAngleY;
|
||||
/* 0x6A2 */ s16 mHeadMinorTargetAngleX;
|
||||
/* 0x6A4 */ s16 field_0x6a4;
|
||||
/* 0x6A6 */ u8 field_0x6a6[0x12];
|
||||
/* 0x6B8 */ f32 field_0x6b8;
|
||||
/* 0x6BC */ f32 field_0x6bc;
|
||||
/* 0x6C0 */ u8 field_0x6c0[0x14];
|
||||
/* 0x6D4 */ f32 field_0x6d4;
|
||||
/* 0x6D8 */ cXyz mBaseScale;
|
||||
/* 0x6E4 */ cXyz field_0x6e4;
|
||||
/* 0x6F0 */ s8 field_0x6f0;
|
||||
/* 0x6F1 */ u8 field_0x6f1[7];
|
||||
/* 0x6F8 */ s8 field_0x6f8;
|
||||
/* 0x6FC */ int mHomePathIdx;
|
||||
/* 0x700 */ s8 mNoFollow;
|
||||
/* 0x701 */ s8 field_0x701;
|
||||
/* 0x704 */ dBgS_AcchCir mAcchCir;
|
||||
/* 0x744 */ dBgS_ObjAcch mAcch;
|
||||
/* 0x91C */ f32 field_0x91c;
|
||||
/* 0x920 */ dCcD_Stts mStts;
|
||||
/* 0x95C */ dCcD_Sph mCcSph;
|
||||
/* 0xA94 */ dCcD_Sph mAtSph;
|
||||
/* 0xBCC */ s8 field_0xbcc;
|
||||
/* 0xBCD */ u8 field_0xbcd[0x27];
|
||||
/* 0xBF4 */ f32 field_0xbf4;
|
||||
/* 0xBF8 */ u8 field_0xbf8[8];
|
||||
/* 0xC00 */ u32 mParticle[2];
|
||||
/* 0xC08 */ s8 field_0xc08;
|
||||
/* 0xC09 */ s16 field_0xc0a;
|
||||
/* 0xC0C */ s16 mFlowID;
|
||||
/* 0xC10 */ dMsgFlow_c mMsgFlow;
|
||||
/* 0xC5C */ s16 field_0xc5c;
|
||||
/* 0xC5E */ s16 field_0xc5e;
|
||||
/* 0xC60 */ u8 field_0xc60[0x54];
|
||||
/* 0xCB4 */ u8 field_0xcb4;
|
||||
/* 0xCB6 */ s16 field_0xcb6;
|
||||
/* 0xCB8 */ f32 field_0xcb8;
|
||||
/* 0xCBC */ u32 mFishID;
|
||||
/* 0xCC0 */ u8 field_0xcc0;
|
||||
/* 0xCC1 */ u8 field_0xcc1;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(npc_ne_class) == 0xCC4);
|
||||
|
||||
class daNpc_Ne_HIO_c {
|
||||
public:
|
||||
/* 80A88CCC */ daNpc_Ne_HIO_c();
|
||||
#ifdef NONMATCHING
|
||||
/* 80A92374 */ virtual ~daNpc_Ne_HIO_c() {}
|
||||
#else
|
||||
/* 80A92374 */ ~daNpc_Ne_HIO_c();
|
||||
/* 0x00 */ void* vtable;
|
||||
#endif
|
||||
|
||||
/* 0x04 */ s8 field_0x04;
|
||||
/* 0x08 */ f32 mScale;
|
||||
/* 0x0C */ f32 mWalkSpeed;
|
||||
/* 0x10 */ f32 mRunSpeed;
|
||||
/* 0x14 */ f32 mSwimSpeed;
|
||||
/* 0x18 */ u8 field_0x18;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daNpc_Ne_HIO_c) == 0x1C);
|
||||
|
||||
#endif /* D_A_NPC_NE_H */
|
||||
|
||||
Reference in New Issue
Block a user