diff options
| author | Caroline Madsen <69010899+randomsalience@users.noreply.github.com> | 2024-03-25 14:41:20 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-03-25 20:41:20 +0200 |
| commit | 7da5cdee5679d8f7995c601f69e46967bfbcdb73 (patch) | |
| tree | 048f398551645db8ea9b7d90bc30587224b2d0ea /include | |
| parent | 023c06c5736af85b8ea50dba8ac6025875e8d844 (diff) | |
d_a_e_nest OK (#2108)
* d_a_e_nest OK
* complete merge
Diffstat (limited to 'include')
| -rw-r--r-- | include/d/d_bomb.h | 8 | ||||
| -rw-r--r-- | include/rel/d/a/e/d_a_e_nest/d_a_e_nest.h | 112 |
2 files changed, 119 insertions, 1 deletions
diff --git a/include/d/d_bomb.h b/include/d/d_bomb.h index 8d833f2f6d..f12422adf9 100644 --- a/include/d/d_bomb.h +++ b/include/d/d_bomb.h @@ -41,6 +41,14 @@ public: bool checkWaterBomb(fopAc_ac_c*); bool checkInsectBombMove(fopAc_ac_c*); + bool checkStateExplode() { + return fopAcM_GetParam(this) == 0; + } + + static bool checkBombActor(fopAc_ac_c* i_actor) { + return fopAcM_GetName(i_actor) == PROC_NBOMB; + } + static fopAc_ac_c* createNormalBombPlayer(cXyz* i_pos) { return (fopAc_ac_c*)fopAcM_fastCreate(PROC_NBOMB, 8, i_pos, -1, NULL, NULL, -1, NULL, NULL); } diff --git a/include/rel/d/a/e/d_a_e_nest/d_a_e_nest.h b/include/rel/d/a/e/d_a_e_nest/d_a_e_nest.h index 736663a51a..335fb0945b 100644 --- a/include/rel/d/a/e/d_a_e_nest/d_a_e_nest.h +++ b/include/rel/d/a/e/d_a_e_nest/d_a_e_nest.h @@ -1,6 +1,116 @@ #ifndef D_A_E_NEST_H #define D_A_E_NEST_H -#include "dolphin/types.h" +#include "f_op/f_op_actor.h" +#include "SSystem/SComponent/c_phase.h" +#include "d/cc/d_cc_d.h" +#include "d/cc/d_cc_uty.h" +#include "d/bg/d_bg_s_acch.h" +#include "Z2AudioLib/Z2Creature.h" + +struct nest_hahen_s { + /* 805044E8 */ nest_hahen_s() {} + /* 805044AC */ ~nest_hahen_s() {} + + /* 0x00 */ J3DModel* mpModel; + /* 0x04 */ cXyz mPos; + /* 0x10 */ cXyz mLastPos; + /* 0x1C */ cXyz mSpeed; + /* 0x28 */ cXyz mScale; + /* 0x34 */ s16 mAngleZ; + /* 0x36 */ s16 mAngleY; + /* 0x38 */ u8 unused_0x38[2]; + /* 0x3A */ s16 mGroundAngleX; + /* 0x3C */ s16 mGroundAngleZ; + /* 0x3E */ u8 unused_0x3e[6]; + /* 0x44 */ s16 mCounter; + /* 0x46 */ u8 unused_0x46[0xa]; + /* 0x50 */ s16 mMaxRotationZ; + /* 0x52 */ s8 mGroundHitStage; + /* 0x53 */ bool mActive; + /* 0x54 */ u8 mTimer; +}; + +STATIC_ASSERT(sizeof(nest_hahen_s) == 0x58); + +class e_nest_class : public fopAc_ac_c { +public: + enum Type { + TYPE_BEE = 1, + TYPE_BUG = 2, + }; + + enum Action { + ACT_NORMAL = 0, + ACT_DROP = 1, + ACT_HOOK = 2, + ACT_CARRY = 3, + ACT_FLOAT = 4, + ACT_DEBRIS = 5, + }; + + /* 0x568 */ request_of_phase_process_class mPhase; + /* 0x570 */ u8 mParamType; + /* 0x571 */ u8 mParam1; + /* 0x572 */ u8 mParamScale; + /* 0x573 */ u8 mBrokenSwitch; + /* 0x574 */ u8 unused_0x574[4]; + /* 0x578 */ J3DModel* mpModel; + /* 0x57C */ s16 mFrame; + /* 0x57E */ s16 mAction; + /* 0x580 */ s16 mMode; + /* 0x582 */ s16 mTimers[3]; + /* 0x588 */ s16 mHitTimer; + /* 0x58A */ s8 mKnockDown; + /* 0x58C */ f32 mCarryOffset; + /* 0x590 */ f32 mDropOffset; + /* 0x594 */ f32 mWaterHeight; + /* 0x598 */ s16 mCarryAngle; + /* 0x59A */ s16 mCarryAngleSpeed; + /* 0x59C */ u8 unused_0x59c[4]; + /* 0x5A0 */ u32 mShadowKey; + /* 0x5A4 */ cXyz mCenterPos; + /* 0x5B0 */ s8 mIframes; + /* 0x5B4 */ dBgS_AcchCir mAcchCir; + /* 0x5F4 */ dBgS_ObjAcch mAcch; + /* 0x7CC */ dCcD_Stts mCcStts; + /* 0x808 */ dCcD_Sph mCcSph; + /* 0x940 */ dCcD_Cyl mCcCyl; + /* 0xA7C */ dCcU_AtInfo mAtInfo; + /* 0xAA0 */ bool mHawkHit; + /* 0xAA4 */ int mHitActorID; + /* 0xAA8 */ f32 mBob; + /* 0xAAC */ csXyz mRotation; + /* 0xAB2 */ s16 mSpin; + /* 0xAB4 */ f32 mWobble; + /* 0xAB8 */ u32 mSmokeKey1; + /* 0xABC */ u32 mSmokeKey2; + /* 0xAC0 */ u32 mParticleKey[4]; + /* 0xAD0 */ u32 mRippleKey; + /* 0xAD4 */ u8 unused_0xad4[4]; + /* 0xAD8 */ Z2SoundObjBeeGroup mBeeSound; + /* 0xAF8 */ Z2SoundObjSimple mSound; + /* 0xB18 */ s8 mBreakStage; + /* 0xB1C */ nest_hahen_s mDebris[5]; + /* 0xCD4 */ s16 mDemoStage; + /* 0xCD6 */ s16 mDemoTimer; + /* 0xCD8 */ cXyz mDemoCameraEye; + /* 0xCE4 */ cXyz mDemoCameraCenter; + /* 0xCF0 */ f32 mDemoCameraFovY; + /* 0xCF4 */ bool mHIOInit; +}; + +STATIC_ASSERT(sizeof(e_nest_class) == 0xCF8); + +class daE_Nest_HIO_c { +public: + /* 80500F8C */ daE_Nest_HIO_c(); + /* 80504634 */ virtual ~daE_Nest_HIO_c() {} + + /* 0x4 */ s8 field_0x4; + /* 0x8 */ f32 mScale; +}; + +STATIC_ASSERT(sizeof(daE_Nest_HIO_c) == 0xC); #endif /* D_A_E_NEST_H */ |
