summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorTrueffel <106771418+Trueffeloot@users.noreply.github.com>2025-09-24 18:50:36 +0200
committerGitHub <noreply@github.com>2025-09-24 19:50:36 +0300
commit46b1f0ee712cbc8738bf5907bc2e23841f9ff1ef (patch)
tree012b81fa73f2801406355a096e9239579d63390a /include
parent169c7ae4a2e892a78babe26b450a2846ea0d8e38 (diff)
d_a_e_hz (Tile Worm) OK and linked (#2691)
* all funcs matched * TU linked and some docs * apply enums
Diffstat (limited to 'include')
-rw-r--r--include/d/actor/d_a_boomerang.h1
-rw-r--r--include/d/actor/d_a_e_hz.h113
2 files changed, 90 insertions, 24 deletions
diff --git a/include/d/actor/d_a_boomerang.h b/include/d/actor/d_a_boomerang.h
index 9198ac4702..07af0236f4 100644
--- a/include/d/actor/d_a_boomerang.h
+++ b/include/d/actor/d_a_boomerang.h
@@ -114,6 +114,7 @@ public:
u32 checkStateFlg0(daBoomerang_FLG0 i_flag) const { return m_stateFlg0 & i_flag; }
void onStateFlg0(daBoomerang_FLG0 flag) { m_stateFlg0 |= flag; }
void offStateFlg0(daBoomerang_FLG0 flag) { m_stateFlg0 &= ~flag; }
+ u32 getReturnFlg() { return checkStateFlg0(FLG0_1); }
void onWindCatch() { onStateFlg0(WIND_CATCH); }
bool checkForceDelete() const { return m_forceDelete; }
void onForceDelete() { m_forceDelete = true; }
diff --git a/include/d/actor/d_a_e_hz.h b/include/d/actor/d_a_e_hz.h
index 865302fcd0..9cea59c1f6 100644
--- a/include/d/actor/d_a_e_hz.h
+++ b/include/d/actor/d_a_e_hz.h
@@ -1,30 +1,38 @@
#ifndef D_A_E_HZ_H
#define D_A_E_HZ_H
+
+#include "d/actor/d_a_boomerang.h"
+#include "d/actor/d_a_nbomb.h"
+#include "d/actor/d_a_obj_carry.h"
+#include "d/d_bg_s_acch.h"
+#include "d/d_cc_d.h"
+#include "d/d_cc_uty.h"
#include "f_op/f_op_actor_mng.h"
+
/**
* @ingroup actors-enemies
* @class daE_HZ_c
* @brief Tile Worm
- *
- * @details
- *
+ *
+ * @details Enemy - Tile Worm
+ *
*/
class daE_HZ_c : public fopEn_enemy_c {
public:
/* 806EA690 */ void setBck(int, u8, f32, f32);
- /* 806EA734 */ void checkBck(int);
- /* 806EA790 */ void draw();
+ /* 806EA734 */ bool checkBck(int);
+ /* 806EA790 */ int draw();
/* 806EAADC */ void setActionMode(int);
- /* 806EAB68 */ void checkHideStart();
- /* 806EAEDC */ void checkAttackStart();
- /* 806EB05C */ void checkArrowCharge();
+ /* 806EAB68 */ bool checkHideStart();
+ /* 806EAEDC */ bool checkAttackStart();
+ /* 806EB05C */ bool checkArrowCharge();
/* 806EB0A4 */ void setTgSetBit(int);
/* 806EB0FC */ bool isWait();
/* 806EB13C */ void checkFall();
/* 806EB2E8 */ void setCloseSmokeEffect();
/* 806EB3EC */ void executeWait();
- /* 806EB7B0 */ void getHideSpeed();
+ /* 806EB7B0 */ f32 getHideSpeed();
/* 806EB818 */ void executeHide();
/* 806EBD44 */ void executeAttack();
/* 806EC068 */ void initBackWalk();
@@ -33,7 +41,7 @@ public:
/* 806ECB64 */ void executeWind();
/* 806ED5B0 */ void executeChance();
/* 806ED6C8 */ void initRollDamage();
- /* 806ED7A8 */ void doRollDamage();
+ /* 806ED7A8 */ bool doRollDamage();
/* 806ED8A4 */ void executeDamage();
/* 806EDAA8 */ void executeDeath();
/* 806EDDCC */ void setWindChanceEnd();
@@ -43,27 +51,84 @@ public:
/* 806EE3BC */ void executeWaterDeath();
/* 806EE820 */ void executeDeathWait();
/* 806EE978 */ void damage_check();
- /* 806EEE10 */ void checkWaterSurface();
+ /* 806EEE10 */ bool checkWaterSurface();
/* 806EEEE4 */ void action();
/* 806EF144 */ void mtx_set();
/* 806EF2C8 */ void cc_set();
- /* 806EF46C */ void execute();
- /* 806EF6B4 */ void _delete();
- /* 806EF770 */ void ctrlJoint(J3DJoint*, J3DModel*);
- /* 806EF880 */ void JointCallBack(J3DJoint*, int);
- /* 806EF8CC */ void CreateHeap();
+ /* 806EF46C */ int execute();
+ /* 806EF6B4 */ int _delete();
+ /* 806EF770 */ int ctrlJoint(J3DJoint*, J3DModel*);
+ /* 806EF880 */ static int JointCallBack(J3DJoint*, int);
+ /* 806EF8CC */ int CreateHeap();
/* 806EFB54 */ void setInitPos();
- /* 806EFC18 */ void create();
+ /* 806EFC18 */ int create();
+
private:
- /* 0x5ac */ u8 field_0x5ac[0x1238 - 0x5ac];
+ /* 0x5AC */ request_of_phase_process_class mPhaseReq;
+ /* 0x5B4 */ request_of_phase_process_class mPhaseReq2;
+ /* 0x5BC */ mDoExt_McaMorfSO* mpMorfSO;
+ /* 0x5C0 */ J3DModel* mpModel;
+ /* 0x5C4 */ J3DModel* mpModel2;
+ /* 0x5C8 */ Z2CreatureEnemy mSound;
+ /* 0x66C */ daBoomerang_c* mpBoomerangActor;
+ /* 0x670 */ daNbomb_c* mpBombActor;
+ /* 0x674 */ daObjCarry_c* mpCarryActor;
+ /* 0x678 */ cXyz field_0x678;
+ /* 0x684 */ cXyz mSmokeEffectPosition;
+ /* 0x690 */ csXyz field_0x690;
+ /* 0x696 */ csXyz field_0x696;
+ /* 0x69C */ csXyz field_0x69c;
+ /* 0x6A4 */ f32 mPlayerDist;
+ /* 0x6A8 */ f32 field_0x6a8;
+ /* 0x6AC */ f32 mGroundCross;
+ /* 0x6B0 */ s16 mPlayerAngleY;
+ /* 0x6B2 */ s16 field_0x6b2;
+ /* 0x6B4 */ s16 field_0x6b4;
+ /* 0x6B6 */ s16 field_0x6b6;
+ /* 0x6B8 */ u8 field_0x6B8[0x6BC - 0x6B8];
+ /* 0x6BC */ char* mpName;
+ /* 0x6C0 */ s32 mAction;
+ /* 0x6C4 */ s32 mPrevAction;
+ /* 0x6C8 */ s32 mMode; // That's just a guess. Might need a better name for it's usage
+ /* 0x6CC */ s32 field_0x6cc;
+ /* 0x6D0 */ u32 mShadowKey;
+ /* 0x6D4 */ s16 mDamageDeathTimer;
+ /* 0x6D6 */ s16 mWaitTimer;
+ /* 0x6D8 */ s16 mPiyoriTimer;
+ /* 0x6DA */ s16 mAttackStartTimer;
+ /* 0x6DC */ s16 mRetentionBeforeStretchTimer;
+ /* 0x6DE */ s16 mAttackCooldownTimer;
+ /* 0x6E0 */ s16 mCameraOffTimer;
+ /* 0x6E2 */ s16 mCameraOnTimer;
+ /* 0x6E4 */ u8 field_0x6e4;
+ /* 0x6E5 */ u8 mSetModelAnmMtx;
+ /* 0x6E6 */ u8 field_0x6E6[0x6E7 - 0x6E6];
+ /* 0x6E7 */ u8 mDisableShadow; // Shadow is active when this is false
+ /* 0x6E8 */ u8 field_0x6e8;
+ /* 0x6E9 */ u8 field_0x6e9;
+ /* 0x6EA */ u8 field_0x6ea;
+ /* 0x6EB */ u8 mParam;
+ /* 0x6EC */ u8 field_0x6EC[0x6ED - 0x6EC];
+ /* 0x6ED */ u8 mReadyNewAction;
+ /* 0x6F0 */ f32 mColor;
+ /* 0x6F4 */ u8 mReadyChangeColor;
+ /* 0x6F8 */ dKy_tevstr_c mTevStr;
+ /* 0xA80 */ u8 field_0xA80[0xA84 - 0xA80];
+ /* 0xA84 */ Mtx mMtx;
+ /* 0xAB4 */ dBgW* mpBgW;
+ /* 0xAB8 */ dBgS_AcchCir mAcchCir;
+ /* 0xAF8 */ dBgS_ObjAcch mObjAcch;
+ /* 0xCD0 */ dCcD_Stts mStts;
+ /* 0xD0C */ dCcD_Sph mSpheres[4];
+ /* 0x11EC */ dCcU_AtInfo mAtInfo;
+ /* 0x1210 */ u32 mSmokeKey;
+ /* 0x1214 */ u32 mSmokeKey2;
+ /* 0x1218 */ u32 mJumpEffects[2];
+ /* 0x1220 */ u32 mWaterEffects[4];
+ /* 0x1230 */ u32 mEffect;
+ /* 0x1234 */ u8 mHIOInit;
};
STATIC_ASSERT(sizeof(daE_HZ_c) == 0x1238);
-class daE_HZ_HIO_c {
- /* 806EA60C */ daE_HZ_HIO_c();
- /* 806F0368 */ ~daE_HZ_HIO_c();
-};
-
-
#endif /* D_A_E_HZ_H */