diff options
| author | Caroline Madsen <69010899+randomsalience@users.noreply.github.com> | 2025-03-12 19:02:03 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-03-12 16:02:03 -0700 |
| commit | 15a807bb7b2b3584da255dbba5c467d06a38b89e (patch) | |
| tree | 68cbbb5b62c32ea1c046f865aa8a4f5c3281afbb /include | |
| parent | 3ad60c1b175cc0d8bec4527cacc113e71bcc5da1 (diff) | |
e_rdy mostly done (#2324)
* e_rdy work
* e_rdy work
* e_rdy work
* e_rdy mostly done
* e_rdy fix hit direction
Diffstat (limited to 'include')
| -rw-r--r-- | include/d/actor/d_a_e_rdy.h | 186 | ||||
| -rw-r--r-- | include/d/actor/d_a_e_yc.h | 3 | ||||
| -rw-r--r-- | include/d/actor/d_a_kago.h | 6 | ||||
| -rw-r--r-- | include/d/actor/d_a_player.h | 3 | ||||
| -rw-r--r-- | include/f_op/f_op_actor.h | 1 | ||||
| -rw-r--r-- | include/m_Do/m_Do_graphic.h | 4 |
6 files changed, 192 insertions, 11 deletions
diff --git a/include/d/actor/d_a_e_rdy.h b/include/d/actor/d_a_e_rdy.h index 49aa7f9f4a..989468b9d8 100644 --- a/include/d/actor/d_a_e_rdy.h +++ b/include/d/actor/d_a_e_rdy.h @@ -1,7 +1,14 @@ #ifndef D_A_E_RDY_H #define D_A_E_RDY_H -#include "f_op/f_op_actor_mng.h" +#include "SSystem/SComponent/c_phase.h" +#include "d/d_bg_s_acch.h" +#include "d/d_cc_d.h" +#include "d/d_cc_uty.h" +#include "d/d_jnt_col.h" +#include "d/d_msg_flow.h" +#include "d/d_path.h" +#include "f_op/f_op_actor.h" /** * @ingroup actors-enemies @@ -15,20 +22,183 @@ class e_rdy_class : public fopEn_enemy_c { public: /* 80779340 */ e_rdy_class(); - /* 0x05AC */ u8 field_0x5ac[0xa8f - 0x5ac]; - /* 0x0A8F */ u8 field_0xa8f; - /* 0x0A90 */ u8 field_0xa90[0x1370 - 0xa90]; - /* 0x1370 */ s16 field_0x1370; - /* 0x1372 */ s16 field_0x1372; - /* 0x1374 */ u8 field_0x1374[0x142c - 0x1374]; + /* 0x05AC */ request_of_phase_process_class mPhase; + /* 0x05B4 */ s16 mMode; + /* 0x05B6 */ u8 field_0x5b6; + /* 0x05B7 */ u8 field_0x5b7; + /* 0x05B8 */ u8 field_0x5b8; + /* 0x05B9 */ u8 mSwBit; + /* 0x05BA */ u8 mWeaponType; + /* 0x05BB */ s8 field_0x5bb; + /* 0x05BC */ cXyz field_0x5bc; + /* 0x05C8 */ s16 mTargetAngleY; + /* 0x05CC */ mDoExt_McaMorfSO* mpMorf; + /* 0x05D0 */ Z2CreatureEnemy mSound; + /* 0x0674 */ char* mpArcName; + /* 0x0678 */ int mAnm; + /* 0x067C */ u8 field_0x67c[0x680 - 0x67c]; + /* 0x0680 */ dJntCol_c mJntCol; + /* 0x0690 */ J3DModel* mpWeaponModel; + /* 0x0694 */ mDoExt_McaMorfSO* mpBowMorf; + /* 0x0698 */ J3DModel* mpHawkGrassModel; + /* 0x069C */ s8 mIsHoldingGrass; + /* 0x06A0 */ dKy_tevstr_c mHawkGrassTevStr; + /* 0x0A28 */ J3DModel* mpEyeModel[2]; + /* 0x0A30 */ f32 mEyeScale; + /* 0x0A34 */ f32 mTargetEyeScale; + /* 0x0A38 */ s8 mIsDying; + /* 0x0A3C */ f32 mDyingTevColor; + /* 0x0A40 */ s16 mCounter; + /* 0x0A42 */ s16 mAction; + /* 0x0A44 */ s16 mPrevAction; + /* 0x0A48 */ f32 mPlayerDist; + /* 0x0A4C */ s16 mPlayerAngle; + /* 0x0A50 */ f32 mPlayerCheckDist; + /* 0x0A54 */ f32 mWaterHeight; + /* 0x0A58 */ u32 mShadowKey; + /* 0x0A5C */ fpc_ProcID mKargarokID; + /* 0x0A60 */ s16 mTimer[4]; + /* 0x0A68 */ s16 mIFrameTimer; + /* 0x0A6A */ u8 field_0xa6a[0xa6c - 0xa6a]; + /* 0x0A6C */ s16 field_0xa6c; + /* 0x0A6E */ s16 field_0xa6e; + /* 0x0A70 */ u8 field_0xa70; + /* 0x0A71 */ s8 field_0xa71; + /* 0x0A72 */ s8 mHasArrow; + /* 0x0A73 */ s8 mArrowFired; + /* 0x0A74 */ s8 field_0xa74; + /* 0x0A76 */ s16 mBowRotationTimer; + /* 0x0A78 */ s16 mBowRotation; + /* 0x0A7A */ u8 field_0xa7a[0xa7b - 0xa7a]; + /* 0x0A7B */ s8 field_0xa7b; + /* 0x0A7C */ s8 field_0xa7c; + /* 0x0A7D */ s8 mCollisionEnabled; + /* 0x0A7E */ u8 mFadeTimer; + /* 0x0A80 */ cXyz mKargarokPos; + /* 0x0A8C */ s8 mRideState; + /* 0x0A8D */ u8 field_0xa8d[0xa8e - 0xa8d]; + /* 0x0A8E */ s8 field_0xa8e; + /* 0x0A8F */ s8 field_0xa8f; + /* 0x0A90 */ f32 mJumpHeight; + /* 0x0A94 */ f32 mJumpSpeed; + /* 0x0A98 */ s8 field_0xa98; + /* 0x0A9A */ s16 field_0xa9a; + /* 0x0A9C */ s16 field_0xa9c; + /* 0x0A9E */ s16 field_0xa9e; + /* 0x0AA0 */ s16 field_0xaa0; + /* 0x0AA4 */ cXyz mArrowTarget; + /* 0x0AB0 */ u8 field_0xab0[0xabc - 0xab0]; + /* 0x0ABC */ f32 field_0xabc; + /* 0x0AC0 */ f32 mKnockback; + /* 0x0AC4 */ s16 mHitDirection; + /* 0x0AC6 */ s16 field_0xac6; + /* 0x0AC8 */ s8 field_0xac8; + /* 0x0AC9 */ u8 field_0xac9[0xadc - 0xac9]; + /* 0x0ADC */ csXyz field_0xadc; + /* 0x0AE2 */ csXyz field_0xae2; + /* 0x0AE8 */ csXyz field_0xae8; + /* 0x0AEE */ s8 field_0xaee; + /* 0x0AEF */ s8 mIsUpsideDown; + /* 0x0AF0 */ u32 field_0xaf0; + /* 0x0AF4 */ f32 field_0xaf4; + /* 0x0AF8 */ s16 field_0xaf8; + /* 0x0AFC */ f32 field_0xafc; + /* 0x0B00 */ s16 field_0xb00; + /* 0x0B02 */ csXyz field_0xb02[11]; + /* 0x0B44 */ csXyz field_0xb44[11]; + /* 0x0B88 */ f32 field_0xb88; + /* 0x0B8C */ s16 field_0xb8c[11]; + /* 0x0BA2 */ s16 field_0xba2[4]; + /* 0x0BAA */ s16 field_0xbaa; + /* 0x0BAC */ s16 field_0xbac; + /* 0x0BAE */ s16 field_0xbae; + /* 0x0BB0 */ s16 field_0xbb0; + /* 0x0BB2 */ u8 field_0xbb2[0xbb4 - 0xbb2]; + /* 0x0BB4 */ s16 field_0xbb4; + /* 0x0BB6 */ s16 field_0xbb6; + /* 0x0BB8 */ u8 field_0xbb8[0xbbc - 0xbb8]; + /* 0x0BBC */ f32 field_0xbbc; + /* 0x0BC0 */ s16 field_0xbc0; + /* 0x0BC2 */ u8 field_0xbc2[0xbc8 - 0xbc2]; + /* 0x0BC8 */ s16 field_0xbc8; + /* 0x0BCA */ s8 field_0xbca; + /* 0x0BCB */ s8 mKargarokDeleteTimer; + /* 0x0BCC */ dPath* mpPath; + /* 0x0BD0 */ s8 mPathIndex; + /* 0x0BD1 */ s8 mPathDirection; + /* 0x0BD4 */ dBgS_AcchCir mAcchCir; + /* 0x0C14 */ dBgS_ObjAcch mAcch; + /* 0x0DEC */ dCcD_Stts mCcStts; + /* 0x0E28 */ dCcD_Sph mCcSph[3]; + /* 0x11D0 */ dCcD_Sph mAtSph; + /* 0x1308 */ dCcU_AtInfo mAtInfo; + /* 0x132C */ bool mHIOInit; + /* 0x132D */ s8 mGroundHit; + /* 0x1330 */ u32 mSmokeKey1; + /* 0x1334 */ u32 mSmokeKey2; + /* 0x1338 */ u32 mWaterParticleKey[3]; + /* 0x1344 */ u32 mFireParticleKey[2]; + /* 0x134C */ cXyz field_0x134c; + /* 0x1358 */ cXyz field_0x1358; + /* 0x1364 */ s8 mInWater; + /* 0x1365 */ s8 field_0x1365; + /* 0x1366 */ s8 field_0x1366; + /* 0x1367 */ s8 mDrawEyeModel; + /* 0x1368 */ u8 field_0x1368; + /* 0x1369 */ s8 field_0x1369; + /* 0x136A */ u8 field_0x136a[0x136b - 0x136a]; + /* 0x136B */ s8 mParticleTimer; + /* 0x136C */ int mSwBit2; + /* 0x1370 */ s16 mDemoMode; + /* 0x1372 */ s16 mDemoTimer; + /* 0x1374 */ s16 mCamBankPhase; + /* 0x1378 */ cXyz mCamEye; + /* 0x1384 */ cXyz mCamCenter; + /* 0x1390 */ cXyz mCamEyeTarget; + /* 0x139C */ cXyz mCamCenterTarget; + /* 0x13A8 */ cXyz mCamEyeSpeed; + /* 0x13B4 */ cXyz mCamCenterSpeed; + /* 0x13C0 */ f32 mCamDist; + /* 0x13C4 */ u8 field_0x13c4[0x13c8 - 0x13c4]; + /* 0x13C8 */ f32 mCamFovy; + /* 0x13CC */ f32 mCamBank; + /* 0x13D0 */ f32 mCamSpeed; + /* 0x13D4 */ s16 field_0x13d4; + /* 0x13D6 */ u8 field_0x13d6[0x13e0 - 0x13d6]; + /* 0x13E0 */ dMsgFlow_c mMsgFlow; }; STATIC_ASSERT(sizeof(e_rdy_class) == 0x142C); class daE_RDY_HIO_c { +public: /* 8076BDCC */ daE_RDY_HIO_c(); - /* 80779880 */ ~daE_RDY_HIO_c(); + /* 80779880 */ virtual ~daE_RDY_HIO_c() {} + + /* 0x04 */ s8 field_0x4; + /* 0x08 */ f32 mScale; + /* 0x0C */ f32 field_0xc; + /* 0x10 */ f32 mWalkSpeed; + /* 0x14 */ f32 mRunSpeed; + /* 0x18 */ f32 field_0x18; + /* 0x1C */ f32 field_0x1c; + /* 0x20 */ f32 mAttackAnmSpeed; + /* 0x24 */ s16 field_0x24; + /* 0x28 */ f32 field_0x28; + /* 0x2C */ f32 field_0x2c; + /* 0x30 */ f32 field_0x30; + /* 0x34 */ f32 field_0x34; + /* 0x38 */ u8 field_0x38; + /* 0x39 */ u8 field_0x39; + /* 0x3A */ u8 mDrawEyeModel; + /* 0x3B */ u8 field_0x3b; + /* 0x3C */ f32 field_0x3c; + /* 0x40 */ f32 field_0x40; + /* 0x44 */ f32 field_0x44; + /* 0x48 */ f32 field_0x48; + /* 0x4C */ f32 field_0x4c; }; +STATIC_ASSERT(sizeof(daE_RDY_HIO_c) == 0x50); #endif /* D_A_E_RDY_H */ diff --git a/include/d/actor/d_a_e_yc.h b/include/d/actor/d_a_e_yc.h index 4568c88b82..6bd2886f3f 100644 --- a/include/d/actor/d_a_e_yc.h +++ b/include/d/actor/d_a_e_yc.h @@ -43,7 +43,8 @@ public: /* 0x6A2 */ s16 mTimer[4]; /* 0x6AA */ s16 mCcDisableTimer; /* 0x6AC */ u32 mRiderID; - /* 0x6B0 */ u8 field_0x6b0[2]; + /* 0x6B0 */ u8 field_0x6b0; + /* 0x6B1 */ u8 field_0x6b1; /* 0x6B2 */ s8 mNoDrawFlag; /* 0x6B3 */ s8 mWolfBiteDamageCount; /* 0x6B4 */ dBgS_AcchCir mAcchCir; diff --git a/include/d/actor/d_a_kago.h b/include/d/actor/d_a_kago.h index 86ff1b5ef7..32fac3d662 100644 --- a/include/d/actor/d_a_kago.h +++ b/include/d/actor/d_a_kago.h @@ -93,6 +93,12 @@ public: field_0x744 = 0; } + void setEvent2() { + mIsFlying = 0; + field_0x740 = 6; + field_0x744 = 0; + } + void setKagoPath(u8 i_pathNo) { if (i_pathNo != 0xFF) { field_0x76c = dPath_GetRoomPath(i_pathNo, fopAcM_GetRoomNo(this)); diff --git a/include/d/actor/d_a_player.h b/include/d/actor/d_a_player.h index f1be27ad5d..486a78cb55 100644 --- a/include/d/actor/d_a_player.h +++ b/include/d/actor/d_a_player.h @@ -469,7 +469,7 @@ public: ERFLG0_UNK_8000000 = 0x8000000, ERFLG0_UNK_4000000 = 0x4000000, ERFLG0_BOSS_ROOM_WAIT = 0x2000000, - ERFLG0_UNK_1000000 = 0x1000000, + ERFLG0_ENEMY_DEAD = 0x1000000, ERFLG0_UNK_800000 = 0x800000, ERFLG0_BEE_FOLLOW = 0x400000, ERFLG0_UNK_200000 = 0x200000, @@ -1037,6 +1037,7 @@ public: void onNeckSearchWide() { onEndResetFlg0(ERFLG0_UNK_400); } void offPressedDamage() { offNoResetFlg2(FLG2_PRESSED_DAMAGE); } void onForceSubjectCancel() { onEndResetFlg0(ERFLG0_FORCE_SUBJECT_CANCEL); } + void onEnemyDead() { onEndResetFlg0(ERFLG0_ENEMY_DEAD); } u32 checkBoarSingleBattle() const { return checkNoResetFlg2(daPy_FLG2(FLG2_UNK_1000000 | FLG2_BOAR_SINGLE_BATTLE)); } u32 checkWolfDashAutoJump() const { return checkNoResetFlg2(FLG2_WOLF_DASH_AUTO_JUMP); } diff --git a/include/f_op/f_op_actor.h b/include/f_op/f_op_actor.h index c71e0c0536..3cfdce5ff1 100644 --- a/include/f_op/f_op_actor.h +++ b/include/f_op/f_op_actor.h @@ -261,6 +261,7 @@ public: bool checkWolfNoLock() const { return mFlags & 0x200; } bool checkHeadLockFlg() const { return mFlags & 0x80; } bool checkWolfBiteDamage() const { return mFlags & 0x40; } + bool checkWolfDownPullFlg() const { return mFlags & 0x10; } bool checkDownFlg() const { return mFlags & 0x1; } bool checkCutDownHitFlg() const { return mFlags & 0x2; } bool checkDeadFlg() const { return mFlags & 0x8; } diff --git a/include/m_Do/m_Do_graphic.h b/include/m_Do/m_Do_graphic.h index fa458c501b..c58396868c 100644 --- a/include/m_Do/m_Do_graphic.h +++ b/include/m_Do/m_Do_graphic.h @@ -45,7 +45,9 @@ public: /* 80007F90 */ static void beginRender(); /* 800080D0 */ static void fadeOut(f32); /* 80007FD8 */ static void fadeOut(f32, _GXColor&); - /* 807DFAB4 */ static void fadeIn(f32, _GXColor&); + /* 807DFAB4 */ static void fadeIn(f32 fadeSpeed, _GXColor& fadeColor) { + fadeOut(-fadeSpeed, fadeColor); + } /* 80008028 */ static void fadeOut_f(f32, _GXColor&); /* 800080A0 */ static void onBlure(const Mtx); /* 80008078 */ static void onBlure(); |
