diff options
| author | TakaRikka <38417346+TakaRikka@users.noreply.github.com> | 2025-04-15 01:16:22 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-04-15 11:16:22 +0300 |
| commit | 59ff71c355015c7ed2ffadf96371db67c1b1d0b5 (patch) | |
| tree | 572b18d2c724557955bf15275622464477d15dbb /include | |
| parent | c1845e9e09953d0a93048b6d8bee28d909d328c8 (diff) | |
e_fm equivalent (#2395)
Diffstat (limited to 'include')
| -rw-r--r-- | include/d/actor/d_a_e_fm.h | 222 | ||||
| -rw-r--r-- | include/d/actor/d_a_obj_hhashi.h | 1 |
2 files changed, 211 insertions, 12 deletions
diff --git a/include/d/actor/d_a_e_fm.h b/include/d/actor/d_a_e_fm.h index a1b39a274c..8ece67184a 100644 --- a/include/d/actor/d_a_e_fm.h +++ b/include/d/actor/d_a_e_fm.h @@ -2,8 +2,39 @@ #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 @@ -15,23 +46,192 @@ class e_fm_class : public fopEn_enemy_c { public: /* 804F9B64 */ e_fm_class(); - /* 0x005AC */ u8 field_0x5ac[0x63c - 0x5ac]; - /* 0x0063C */ Z2CreatureFM field_0x63c; - /* 0x00760 */ u8 field_0x760[0x1828 - 0x760]; - /* 0x01828 */ u8 field_0x1828; - /* 0x01829 */ u8 field_0x1829[0x1b084 - 0x1829]; + + 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); -class daE_FM_HIO_c { +class daE_FM_HIO_c : public JORReflexible { +public: /* 804EF0EC */ daE_FM_HIO_c(); - /* 804FA3D8 */ ~daE_FM_HIO_c(); -}; -struct chain_s { - /* 804F9E14 */ ~chain_s(); - /* 804F9F14 */ chain_s(); + void genMessage(JORMContext*); + /* 804FA3D8 */ virtual ~daE_FM_HIO_c() {} + + /* 0x04 */ s8 no; + /* 0x08 */ f32 base_size; + /* 0x0C */ f32 field_0xc; + /* 0x10 */ f32 field_0x10; + /* 0x14 */ f32 field_0x14; + /* 0x18 */ f32 field_0x18; + /* 0x1C */ f32 field_0x1c; + /* 0x20 */ f32 field_0x20; + /* 0x24 */ f32 field_0x24; + /* 0x28 */ f32 field_0x28; + /* 0x2C */ f32 field_0x2c; + /* 0x30 */ f32 field_0x30; + /* 0x34 */ s16 field_0x34; + /* 0x36 */ s16 field_0x36; + /* 0x38 */ s16 field_0x38; + /* 0x3C */ f32 field_0x3c; + /* 0x40 */ f32 field_0x40; + /* 0x44 */ f32 field_0x44; + /* 0x48 */ f32 chain_size; + /* 0x4C */ f32 field_0x4c; + /* 0x50 */ f32 field_0x50; + /* 0x54 */ f32 field_0x54; + /* 0x58 */ f32 field_0x58; + /* 0x5C */ f32 field_0x5c; + /* 0x60 */ u8 field_0x60; + /* 0x61 */ u8 field_0x61; + /* 0x64 */ f32 field_0x64; + /* 0x68 */ f32 field_0x68; + /* 0x6C */ f32 field_0x6c; + /* 0x70 */ f32 field_0x70; + /* 0x74 */ f32 field_0x74; + /* 0x78 */ f32 field_0x78; + /* 0x7C */ f32 field_0x7c; + /* 0x80 */ f32 field_0x80; + /* 0x84 */ f32 field_0x84; + /* 0x88 */ f32 field_0x88; + /* 0x8C */ f32 field_0x8c; + /* 0x90 */ f32 field_0x90; + /* 0x94 */ s16 field_0x94; + /* 0x96 */ s16 field_0x96; + /* 0x98 */ s16 field_0x98; + /* 0x9A */ s16 field_0x9a; + /* 0x9C */ s16 field_0x9c; + /* 0xA0 */ f32 field_0xa0; + /* 0xA4 */ f32 field_0xa4; + /* 0xA8 */ f32 field_0xa8; + /* 0xAC */ u8 field_0xac; }; diff --git a/include/d/actor/d_a_obj_hhashi.h b/include/d/actor/d_a_obj_hhashi.h index 7392886029..353c0f039e 100644 --- a/include/d/actor/d_a_obj_hhashi.h +++ b/include/d/actor/d_a_obj_hhashi.h @@ -34,7 +34,6 @@ public: /* 805812BC */ int Draw(); /* 8058140C */ int Delete(); -private: /* 0x05A0 */ int field_0x5a0; /* 0x05A4 */ int field_0x5a4; /* 0x05A8 */ s8 field_0x5a8; |
