tp/include/d/actor/d_a_npc_ne.h

220 lines
5.8 KiB
C++

#ifndef D_A_NPC_NE_H
#define D_A_NPC_NE_H
#include "SSystem/SComponent/c_phase.h"
#include "d/d_bg_s_acch.h"
#include "d/d_cc_d.h"
#include "d/d_path.h"
#include "d/d_msg_flow.h"
#include "f_op/f_op_actor.h"
/**
* @ingroup actors-npcs
* @class npc_ne_class
* @brief Cat (Neko)
*
* @details
*
*/
class npc_ne_class : public fopEn_enemy_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,
};
enum Behavior {
BHV_NONE = 0,
BHV_TAME = 1,
BHV_PIER = 2,
BHV_DISH = 3,
};
enum LookMode {
LOOK_FORWARD = 0,
LOOK_PLAYER = 1,
LOOK_TARGET = 2,
LOOK_NONE = 3,
};
npc_ne_class();
/* 0x5AC */ request_of_phase_process_class mPhase;
/* 0x5B4 */ u8 mBehavior;
/* 0x5B5 */ u8 mTexture;
/* 0x5B6 */ u8 mSize;
/* 0x5B7 */ u8 mIsGengle;
/* 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 mDistScale;
/* 0x5E4 */ char* mResName;
/* 0x5E8 */ mDoExt_McaMorf* mpMorf;
/* 0x5EC */ mDoExt_btkAnm* mpBtkAnm;
/* 0x5F0 */ mDoExt_btpAnm* mpBtpAnm;
/* 0x5F4 */ s8 mBtkFrame;
/* 0x5F6 */ s16 mBtpFrame;
/* 0x5F8 */ s8 mBtpReset;
/* 0x5FC */ mDoExt_McaMorf* mpDishMorf;
/* 0x600 */ cXyz mDishPos;
/* 0x60C */ Z2SoundObjSimple mSound;
/* 0x62C */ s16 mBtpTimer;
/* 0x630 */ int mAnmID;
/* 0x634 */ u8 field_0x634[4];
/* 0x638 */ f32 mAnmSpeed;
/* 0x63C */ u8 field_0x63c[4];
/* 0x640 */ s16 mCounter;
/* 0x642 */ s16 mAction;
/* 0x644 */ u8 field_0x644[2];
/* 0x646 */ s16 mMode;
/* 0x648 */ u32 mShadowKey;
/* 0x64C */ s16 mTimers[5];
/* 0x656 */ s16 mCcDisableTimer;
/* 0x658 */ s16 mSplashTimer;
/* 0x65C */ f32 field_0x65c;
/* 0x660 */ s16 field_0x660;
/* 0x662 */ s16 mHeadAngleZ;
/* 0x664 */ s16 mHeadAngleY;
/* 0x666 */ s16 mHeadAngleX;
/* 0x668 */ s8 mLookMode;
/* 0x66C */ cXyz mLookTarget;
/* 0x678 */ s16 mLookNoMoveTimer;
/* 0x67A */ s16 mLookDownTimer;
/* 0x67C */ s16 mLookUpTimer;
/* 0x67E */ s16 mHeadTargetAngleY;
/* 0x680 */ s16 mHeadTargetAngleZ;
/* 0x682 */ s16 mNeckAngleY;
/* 0x684 */ s16 mTailSwayAngle[2];
/* 0x688 */ s16 mTailAngle;
/* 0x68A */ s16 mTailTargetAngle;
/* 0x68C */ f32 mTailSway;
/* 0x690 */ f32 mTailSwayTarget;
/* 0x694 */ s16 mBackboneAngleY;
/* 0x696 */ s16 mBackboneTargetAngleY;
/* 0x698 */ u8 field_0x698[2];
/* 0x69A */ s16 mHeadBobAngleY;
/* 0x69C */ s16 mHeadBobAngleX;
/* 0x69E */ u8 field_0x69e[2];
/* 0x6A0 */ s16 mHeadBobTargetAngleY;
/* 0x6A2 */ s16 mHeadBobTargetAngleX;
/* 0x6A4 */ s16 mHeadBobTimer;
/* 0x6A6 */ u8 field_0x6a6[0x12];
/* 0x6B8 */ f32 field_0x6b8;
/* 0x6BC */ f32 mWaterY;
/* 0x6C0 */ u8 field_0x6c0[0x14];
/* 0x6D4 */ f32 field_0x6d4;
/* 0x6D8 */ cXyz mBaseScale;
/* 0x6E4 */ cXyz mClimbPos;
/* 0x6F0 */ s8 mCarryTimer;
/* 0x6F1 */ u8 field_0x6f1[7];
/* 0x6F8 */ s8 mSearchBall;
/* 0x6FC */ int mHomePathIdx;
/* 0x700 */ s8 mNoFollow;
/* 0x701 */ s8 mWantsFish;
/* 0x704 */ dBgS_AcchCir mAcchCir;
/* 0x744 */ dBgS_ObjAcch mAcch;
/* 0x91C */ f32 mGroundY;
/* 0x920 */ dCcD_Stts mStts;
/* 0x95C */ dCcD_Sph mCcSph;
/* 0xA94 */ dCcD_Sph mAtSph;
/* 0xBCC */ s8 mAtEnable;
/* 0xBCD */ u8 field_0xbcd[0x27];
/* 0xBF4 */ f32 field_0xbf4;
/* 0xBF8 */ u8 field_0xbf8[8];
/* 0xC00 */ u32 mParticle[2];
/* 0xC08 */ s8 mMessageState;
/* 0xC09 */ s16 mIsTalking;
/* 0xC0C */ s16 mFlowID;
/* 0xC10 */ dMsgFlow_c mMsgFlow;
/* 0xC5C */ s16 mDemoMode;
/* 0xC5E */ s16 mDemoCounter;
/* 0xC60 */ s16 mDemoTimer;
/* 0xC64 */ cXyz mCameraEye1;
/* 0xC70 */ cXyz mCameraCenter1;
/* 0xC7C */ u8 field_0xc7c[0xc];
/* 0xC88 */ f32 mCameraFovY;
/* 0xC8C */ u8 field_0xc8c[4];
/* 0xC90 */ cXyz mDemoFishPos;
/* 0xC9C */ cXyz mCameraEye2;
/* 0xCA8 */ cXyz mCameraCenter2;
/* 0xCB4 */ bool field_0xcb4;
/* 0xCB6 */ s16 field_0xcb6;
/* 0xCB8 */ f32 field_0xcb8;
/* 0xCBC */ u32 mFishID;
/* 0xCC0 */ bool field_0xcc0;
/* 0xCC1 */ bool mHIOInit;
};
STATIC_ASSERT(sizeof(npc_ne_class) == 0xCC4);
class daNpc_Ne_HIO_c {
public:
daNpc_Ne_HIO_c();
virtual ~daNpc_Ne_HIO_c() {}
/* 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);
struct home_path_pnt {
public:
/* 0x0 */ int mNo;
/* 0x4 */ Vec mPosition;
}; // Size: 0x10
#endif /* D_A_NPC_NE_H */