mirror of https://github.com/zeldaret/tp.git
145 lines
4.1 KiB
C++
145 lines
4.1 KiB
C++
#ifndef D_A_E_PO_H
|
|
#define D_A_E_PO_H
|
|
#include "d/d_bg_s_acch.h"
|
|
#include "d/d_cc_d.h"
|
|
#include "d/d_cc_uty.h"
|
|
#include "d/d_com_inf_game.h"
|
|
|
|
|
|
/**
|
|
* @ingroup actors-enemies
|
|
* @class e_po_class
|
|
* @brief Poe
|
|
*
|
|
* @details
|
|
*
|
|
*/
|
|
|
|
enum daE_PO_ANM {
|
|
ANM_ATTACK = 5,
|
|
ANM_AWAKE = 6,
|
|
ANM_DAMAGE = 7,
|
|
ANM_DOWN = 8,
|
|
ANM_DOWN_DAMAGE = 9,
|
|
ANM_DOWN_DEAD = 10,
|
|
ANM_DOWN_WAIT = 11,
|
|
ANM_FIRE_CATCH = 12,
|
|
ANM_HANGED = 13,
|
|
ANM_HANGED_BRUSH = 14,
|
|
ANM_HANGED_DAMAGE = 15,
|
|
ANM_HANGED_WAIT = 16,
|
|
ANM_POSSESS = 17,
|
|
ANM_RUN_AFTER = 18,
|
|
ANM_RUN_AFTER2 = 19,
|
|
ANM_SWAY_BACK = 20,
|
|
ANM_WAIT = 21,
|
|
ANM_WAIT02 = 22,
|
|
};
|
|
|
|
enum Action_e {
|
|
ACT_WAIT = 0,
|
|
ACT_AVOID = 1,
|
|
ACT_OPENING = 2,
|
|
ACT_SEARCH = 3,
|
|
ACT_ATTACK = 4,
|
|
ACT_LIMBERING = 5,
|
|
ACT_ROLL_MOVE = 6,
|
|
ACT_DAMAGE = 10,
|
|
ACT_WOLF_BITE = 11,
|
|
ACT_DEAD = 12,
|
|
ACT_HOLL_DEMO = 20,
|
|
};
|
|
|
|
class e_po_class {
|
|
public:
|
|
e_po_class();
|
|
|
|
/* 0x000 */ fopEn_enemy_c enemy;
|
|
/* 0x5AC */ request_of_phase_process_class mPhase;
|
|
/* 0x5B4 */ int mType;
|
|
/* 0x5B8 */ u32 field_0x5B8;
|
|
/* 0x5BC */ u8 mArg0;
|
|
/* 0x5BD */ u8 BitSW;
|
|
/* 0x5BE */ u8 BitSW2;
|
|
/* 0x5BF */ u8 BitSW3;
|
|
/* 0x5C0 */ bool field_0x5C0;
|
|
/* 0x5C1 */ bool field_0x5C1;
|
|
/* 0x5C2 */ u8 field_0x5C2[0x5D4 - 0x5C2]; // Padding
|
|
/* 0x5D4 */ mDoExt_McaMorfSO* mpMorf;
|
|
/* 0x5D8 */ mDoExt_McaMorfSO* mpMorf3;
|
|
/* 0x5DC */ mDoExt_invisibleModel mInvModel;
|
|
/* 0x5E4 */ int mAnmID;
|
|
/* 0x5E8 */ J3DModel* mpModel;
|
|
/* 0x5EC */ J3DModel* mpModel2;
|
|
/* 0x5F0 */ mDoExt_McaMorf* mpMorf2;
|
|
/* 0x5F4 */ f32 field_0x5F4;
|
|
/* 0x5F8 */ Z2CreatureEnemy mSound1;
|
|
/* 0x69C */ Z2CreatureEnemy mSound2;
|
|
/* 0x740 */ s16 field_0x740;
|
|
/* 0x742 */ s16 mActionID;
|
|
/* 0x744 */ f32 field_0x744;
|
|
/* 0x748 */ u8 field_0x748[0x74A - 0x748]; // Padding
|
|
/* 0x74A */ s16 field_0x74A[5];
|
|
/* 0x754 */ s16 field_0x754;
|
|
/* 0x756 */ u8 field_0x756;
|
|
/* 0x757 */ s8 field_0x757;
|
|
/* 0x758 */ u8 field_0x758;
|
|
/* 0x759 */ u8 field_0x759;
|
|
/* 0x75A */ u8 field_0x75A;
|
|
/* 0x75B */ u8 field_0x75B;
|
|
/* 0x75C */ u32 field_0x75C;
|
|
/* 0x760 */ u8 field_0x760;
|
|
/* 0x762 */ s16 field_0x762;
|
|
/* 0x764 */ csXyz field_0x764;
|
|
/* 0x76C */ f32 field_0x76C;
|
|
/* 0x770 */ cXyz field_0x770; // From here on, a lot of joint angles and position vectors...
|
|
/* 0x77C */ cXyz field_0x77C;
|
|
/* 0x788 */ cXyz field_0x788;
|
|
/* 0x794 */ cXyz field_0x794;
|
|
/* 0x7A0 */ cXyz field_0x7A0;
|
|
/* 0x7AC */ cXyz field_0x7AC;
|
|
/* 0x7B8 */ cXyz field_0x7B8;
|
|
/* 0x7C4 */ f32 field_0x7C4; // Linked to lamp anim after death, flame spawn height above ground ?
|
|
/* 0x7C8 */ u8 field_0x7C8[0x7D0 - 0x7C8]; // Padding
|
|
/* 0x7D0 */ f32 field_0x7D0;
|
|
/* 0x7D4 */ f32 field_0x7D4;
|
|
/* 0x7D8 */ f32 field_0x7D8; // FovY camera ?
|
|
/* 0x7DC */ bool field_0x7DC;
|
|
/* 0x7DD */ bool field_0x7DD;
|
|
/* 0x7DE */ s16 field_0x7DE; // Amount of times bitten by wolf
|
|
/* 0x7E0 */ s16 field_0x7E0;
|
|
/* 0x7E2 */ s16 field_0x7E2;
|
|
/* 0x7E4 */ s16 field_0x7E4;
|
|
/* 0x7E6 */ csXyz field_0x7E6[4];
|
|
/* 0x7FE */ u8 field_0x7FE;
|
|
/* 0x800 */ f32 field_0x800;
|
|
/* 0x804 */ f32 field_0x804;
|
|
/* 0x808 */ f32 field_0x808;
|
|
/* 0x80C */ f32 field_0x80C;
|
|
/* 0x810 */ s16 field_0x810;
|
|
/* 0x812 */ s8 field_0x812;
|
|
/* 0x814 */ cXyz field_0x814;
|
|
/* 0x820 */ cXyz field_0x820;
|
|
/* 0x82C */ cXyz field_0x82C;
|
|
/* 0x838 */ cXyz field_0x838; // Eye pointer, camera ?
|
|
/* 0x844 */ cXyz field_0x844; // Center pointer, camera ?
|
|
/* 0x850 */ dBgS_AcchCir mAcchCir;
|
|
/* 0x890 */ dBgS_ObjAcch mAcch;
|
|
/* 0xA68 */ s8 field_0xA68;
|
|
/* 0xA6C */ dCcD_Stts mColliderStts;
|
|
/* 0xAA8 */ dCcD_Cyl mCyl;
|
|
/* 0xBE4 */ dCcD_Sph mSph;
|
|
/* 0xD1C */ dCcD_Sph mSph2;
|
|
/* 0xE54 */ dCcU_AtInfo mAtInfo;
|
|
/* 0xE78 */ u32 mParticleKey6;
|
|
/* 0xE7C */ u32 mParticleKey5[2];
|
|
/* 0xE84 */ u32 mParticleKeys[12];
|
|
/* 0xEB4 */ dPa_hermiteEcallBack_c field_0xEB4;
|
|
/* 0xECC */ u8 field_0xECC;
|
|
/* 0xECD */ u8 field_0xECD[0xee0 - 0xECD]; // Padding
|
|
};
|
|
|
|
STATIC_ASSERT(sizeof(e_po_class) == 0xee0);
|
|
|
|
#endif /* D_A_E_PO_H */
|