Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
186 changes: 178 additions & 8 deletions include/d/actor/d_a_e_rdy.h
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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 */
3 changes: 2 additions & 1 deletion include/d/actor/d_a_e_yc.h
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,8 @@ class e_yc_class : public fopEn_enemy_c {
/* 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;
Expand Down
6 changes: 6 additions & 0 deletions include/d/actor/d_a_kago.h
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,12 @@ class daKago_c : public fopAc_ac_c {
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));
Expand Down
3 changes: 2 additions & 1 deletion include/d/actor/d_a_player.h
Original file line number Diff line number Diff line change
Expand Up @@ -469,7 +469,7 @@ class daPy_py_c : public fopAc_ac_c {
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,
Expand Down Expand Up @@ -1037,6 +1037,7 @@ class daPy_py_c : public fopAc_ac_c {
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); }
Expand Down
1 change: 1 addition & 0 deletions include/f_op/f_op_actor.h
Original file line number Diff line number Diff line change
Expand Up @@ -261,6 +261,7 @@ class fopEn_enemy_c : public fopAc_ac_c {
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; }
Expand Down
4 changes: 3 additions & 1 deletion include/m_Do/m_Do_graphic.h
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,9 @@ class mDoGph_gInf_c {
/* 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();
Expand Down
2 changes: 1 addition & 1 deletion src/d/actor/d_a_alink_link.inc
Original file line number Diff line number Diff line change
Expand Up @@ -2709,7 +2709,7 @@ int daAlink_c::execute() {
}
}

if (checkEndResetFlg0(ERFLG0_UNK_1000000) && mEquipItem == 0x103) {
if (checkEndResetFlg0(ERFLG0_ENEMY_DEAD) && mEquipItem == 0x103) {
mSwordFlourishTimer = daAlinkHIO_cut_c0::m.mFlourishTime;
}

Expand Down
Loading