mirror of https://github.com/zeldaret/tp.git
182 lines
6.1 KiB
C++
182 lines
6.1 KiB
C++
#ifndef D_A_E_FM_H
|
|
#define D_A_E_FM_H
|
|
|
|
#include "f_op/f_op_actor_mng.h"
|
|
#include "d/d_cc_d.h"
|
|
#include "d/d_cc_uty.h"
|
|
#include "d/d_bg_s_acch.h"
|
|
#include "Z2AudioLib/Z2Creature.h"
|
|
|
|
struct chain_s {
|
|
/* 0x0000 */ J3DModel* model[26];
|
|
/* 0x0068 */ cXyz field_0x68;
|
|
/* 0x0074 */ cXyz pos[26];
|
|
/* 0x01AC */ cXyz field_0x1ac[26];
|
|
/* 0x02E4 */ cXyz field_0x2e4[26];
|
|
/* 0x041C */ csXyz rot[26];
|
|
/* 0x04B8 */ dKy_tevstr_c tevstr[26];
|
|
/* 0x6088 */ cXyz sound_pos;
|
|
/* 0x6094 */ cXyz field_0x6094;
|
|
/* 0x60A0 */ u8 field_0x60A0[0x6170 - 0x60A0];
|
|
/* 0x6170 */ int field_0x6170;
|
|
/* 0x6174 */ f32 field_0x6174;
|
|
/* 0x6178 */ f32 field_0x6178;
|
|
/* 0x617C */ s8 field_0x617c;
|
|
/* 0x617D */ s8 field_0x617d;
|
|
/* 0x617E */ s8 field_0x617e;
|
|
/* 0x6180 */ cXyz field_0x6180;
|
|
/* 0x618C */ cXyz field_0x618c;
|
|
/* 0x6198 */ f32 field_0x6198;
|
|
/* 0x619C */ s8 field_0x619c;
|
|
/* 0x619E */ s16 field_0x619e;
|
|
/* 0x61A0 */ f32 field_0x61a0;
|
|
/* 0x61A4 */ f32 field_0x61a4;
|
|
/* 0x61A8 */ u8 field_0x61A8[0x61D0 - 0x61A8];
|
|
/* 0x61D0 */ int field_0x61d0;
|
|
};
|
|
|
|
/**
|
|
* @ingroup actors-enemies
|
|
* @class e_fm_class
|
|
* @brief Fyrus (Fire Man)
|
|
*
|
|
* @details
|
|
*
|
|
*/
|
|
class e_fm_class : public fopEn_enemy_c {
|
|
public:
|
|
e_fm_class();
|
|
|
|
BOOL checkCameraFree() { return field_0x1b07c; }
|
|
|
|
/* 0x005AC */ request_of_phase_process_class mPhase;
|
|
/* 0x005B4 */ u8 arg0;
|
|
/* 0x005B5 */ u8 arg1;
|
|
/* 0x005B6 */ u8 arg3;
|
|
/* 0x005B7 */ u8 field_0x5B7[0x005C4 - 0x005B7];
|
|
/* 0x005C4 */ s16 field_0x5c4;
|
|
/* 0x005C6 */ s16 mAngleToPlayer;
|
|
/* 0x005C8 */ int field_0x5c8;
|
|
/* 0x005CC */ f32 mKankyoBlend;
|
|
/* 0x005D0 */ mDoExt_McaMorf* mpFmModelMorf;
|
|
/* 0x005D4 */ mDoExt_btkAnm* mpFmBtk[9];
|
|
/* 0x005F8 */ mDoExt_brkAnm* mpFmBrk[9];
|
|
/* 0x0061C */ int mPlayTexAnmNo;
|
|
/* 0x00620 */ int mAnm;
|
|
/* 0x00624 */ s8 mDrawDemoModel;
|
|
/* 0x00628 */ mDoExt_McaMorf* mpDemoFmModelMorf;
|
|
/* 0x0062C */ u8 field_0x62C[0x00630 - 0x0062C];
|
|
/* 0x00630 */ mDoExt_brkAnm* mpDemoFmBrk;
|
|
/* 0x00634 */ f32 mDemoModelSize;
|
|
/* 0x00638 */ f32 mDemoModelSizeStep;
|
|
/* 0x0063C */ Z2CreatureFM mSound;
|
|
/* 0x00760 */ J3DModel* mpCoreModel;
|
|
/* 0x00764 */ mDoExt_btkAnm* mpCoreBtk;
|
|
/* 0x00768 */ mDoExt_brkAnm* mpCoreBrk;
|
|
/* 0x0076C */ f32 mCoreBrkFrame;
|
|
/* 0x00770 */ s16 field_0x770;
|
|
/* 0x00772 */ s8 mDoCreateBa;
|
|
/* 0x00773 */ u8 field_0x773;
|
|
/* 0x00774 */ f32 mChainColorR;
|
|
/* 0x00778 */ f32 field_0x778;
|
|
/* 0x0077C */ mDoExt_McaMorf* mpAttackEfModelMorf[2];
|
|
/* 0x00784 */ mDoExt_btkAnm* mpAttackEfBtk[2];
|
|
/* 0x0078C */ mDoExt_brkAnm* mpAttackEfBrk;
|
|
/* 0x00790 */ s16 field_0x790;
|
|
/* 0x00792 */ s8 field_0x792;
|
|
/* 0x00794 */ f32 field_0x794;
|
|
/* 0x00798 */ f32 field_0x798;
|
|
/* 0x0079C */ f32 field_0x79c;
|
|
/* 0x007A0 */ s16 mCounter;
|
|
/* 0x007A2 */ s16 mAction;
|
|
/* 0x007A4 */ s16 mMode;
|
|
/* 0x007A8 */ u32 mShadowKey;
|
|
/* 0x007AC */ s16 mTimers[4];
|
|
/* 0x007B4 */ s16 mDamageInvulnerabilityTimer;
|
|
/* 0x007B6 */ s8 field_0x7b6;
|
|
/* 0x007B8 */ f32 field_0x7b8;
|
|
/* 0x007BC */ u8 field_0x7BC[0x007C0 - 0x007BC];
|
|
/* 0x007C0 */ s8 field_0x7c0;
|
|
/* 0x007C2 */ s16 mBodyRotX;
|
|
/* 0x007C4 */ s16 mHeadRotZ;
|
|
/* 0x007C8 */ cXyz mFootPos[2];
|
|
/* 0x007E0 */ int field_0x7e0;
|
|
/* 0x007E4 */ cXyz field_0x7e4[2];
|
|
/* 0x007FC */ f32 field_0x7fc;
|
|
/* 0x00800 */ s16 field_0x800;
|
|
/* 0x00802 */ s8 mDownCnt;
|
|
/* 0x00804 */ s16 field_0x804;
|
|
/* 0x00806 */ s16 field_0x806;
|
|
/* 0x00808 */ s8 field_0x808;
|
|
/* 0x00809 */ s8 field_0x809;
|
|
/* 0x0080C */ dBgS_AcchCir mAcchCir;
|
|
/* 0x0084C */ dBgS_ObjAcch mAcch;
|
|
/* 0x00A24 */ dCcD_Stts field_0xa24;
|
|
/* 0x00A60 */ dCcD_Stts field_0xa60;
|
|
/* 0x00A9C */ dCcD_Sph mCcSph[8];
|
|
/* 0x0145C */ dCcD_Sph mAtSph;
|
|
/* 0x01594 */ dCcD_Sph mCoreSph;
|
|
/* 0x016CC */ dCcD_Sph mEffAtSph;
|
|
/* 0x01804 */ dCcU_AtInfo mAtInfo;
|
|
/* 0x01828 */ s8 field_0x1828;
|
|
/* 0x01829 */ s8 field_0x1829;
|
|
/* 0x0182A */ s8 field_0x182a;
|
|
/* 0x0182B */ s8 field_0x182b;
|
|
/* 0x0182C */ s8 field_0x182c;
|
|
/* 0x0182D */ s8 mHideCore;
|
|
/* 0x01830 */ f32 field_0x1830;
|
|
/* 0x01834 */ f32 field_0x1834;
|
|
/* 0x01838 */ u32 field_0x1838[14];
|
|
/* 0x01870 */ u32 field_0x1870;
|
|
/* 0x01874 */ u32 field_0x1874;
|
|
/* 0x01878 */ u32 field_0x1878;
|
|
/* 0x0187C */ u32 field_0x187c[2];
|
|
/* 0x01884 */ u32 field_0x1884;
|
|
/* 0x01888 */ u32 field_0x1888[4];
|
|
/* 0x01898 */ fopAc_ac_c* mHashiraActors[10];
|
|
/* 0x018C0 */ u8 field_0x18c0[0x018D0 - 0x018C0];
|
|
/* 0x018D0 */ cXyz field_0x18d0[8];
|
|
/* 0x01930 */ u8 field_0x1930[0x1990 - 0x01930];
|
|
/* 0x01990 */ dCcD_Sph mFEffAtSph[8];
|
|
/* 0x02350 */ u32 field_0x2350;
|
|
/* 0x02354 */ u32 field_0x2354[8];
|
|
/* 0x02374 */ u32 field_0x2374[6];
|
|
/* 0x0238C */ u32 field_0x238c[3];
|
|
/* 0x02398 */ s8 field_0x2398;
|
|
/* 0x02399 */ s8 field_0x2399;
|
|
/* 0x0239C */ LIGHT_INFLUENCE mPlight;
|
|
/* 0x023BC */ chain_s mChain[4];
|
|
/* 0x1AB0C */ s8 field_0x1ab0c[4];
|
|
/* 0x1AB10 */ dCcD_Sph mChainAtSph[4];
|
|
/* 0x1AFF0 */ u8 field_0x1aff0;
|
|
/* 0x1AFF2 */ s16 mDemoCamMode;
|
|
/* 0x1AFF4 */ s16 mDemoCamTimer;
|
|
/* 0x1AFF6 */ s16 field_0x1aff6;
|
|
/* 0x1AFF8 */ cXyz mDemoCamEye;
|
|
/* 0x1B004 */ cXyz mDemoCamCenter;
|
|
/* 0x1B010 */ cXyz mDemoCamEyeTarget;
|
|
/* 0x1B01C */ cXyz mDemoCamCenterTarget;
|
|
/* 0x1B028 */ cXyz mDemoCamEyeSpd;
|
|
/* 0x1B034 */ cXyz mDemoCamCenterSpd;
|
|
/* 0x1B040 */ cXyz field_0x1b040;
|
|
/* 0x1B04C */ f32 mDemoCamFovy;
|
|
/* 0x1B050 */ f32 field_0x1b050;
|
|
/* 0x1B054 */ f32 field_0x1b054;
|
|
/* 0x1B058 */ u8 field_0x1B058[0x1B05C - 0x1B058];
|
|
/* 0x1B05C */ f32 field_0x1b05c;
|
|
/* 0x1B060 */ u8 field_0x1B060[0x1B064 - 0x1B060];
|
|
/* 0x1B064 */ f32 field_0x1b064;
|
|
/* 0x1B068 */ f32 field_0x1b068;
|
|
/* 0x1B06C */ f32 field_0x1b06c;
|
|
/* 0x1B070 */ f32 field_0x1b070;
|
|
/* 0x1B074 */ f32 field_0x1b074;
|
|
/* 0x1B078 */ s8 field_0x1b078;
|
|
/* 0x1B07C */ int field_0x1b07c;
|
|
/* 0x1B080 */ s8 field_0x1b080;
|
|
/* 0x1B081 */ u8 mInitHIO;
|
|
};
|
|
|
|
STATIC_ASSERT(sizeof(e_fm_class) == 0x1b084);
|
|
|
|
#endif /* D_A_E_FM_H */
|