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
81 changes: 74 additions & 7 deletions include/d/actor/d_a_e_ai.h
Original file line number Diff line number Diff line change
@@ -1,16 +1,23 @@
#ifndef D_A_E_AI_H
#define D_A_E_AI_H

#include "Z2AudioLib/Z2Creature.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 e_ai_class
* @brief Armos
*
* @details
*
*
* @details
*
*/
class e_ai_class : public fopEn_enemy_c {
public:
/* 806791BC */ void initCcCylinder();
/* 80679284 */ void setCcCylinder();
/* 80679350 */ void anm_init(int, f32, u8, f32);
Expand All @@ -33,16 +40,76 @@ class e_ai_class : public fopEn_enemy_c {
/* 8067B6F0 */ void CreateHeap();
/* 8067B8E4 */ void Create();
/* 8067BAEC */ e_ai_class();

private:
/* 0x5ac */ u8 field_0x5ac[0xd44 - 0x5ac];
/* 0x5AC */ JPABaseEmitter* mpEmitter;
/* 0x5B0 */ request_of_phase_process_class mPhaseReq;
/* 0x5B8 */ u8 field_0x5B8[0x5B9 - 0x5B8];
/* 0x5B9 */ u8 field_0x5b9;
/* 0x5BA */ u8 field_0x5ba;
/* 0x5BC */ cXyz mUnused; // The offset of this member is a guess. Debug only says that it
// exists, unsure of offset in retail
/* 0x5C8 */ mDoExt_brkAnm* mpBrkAnm;
/* 0x5CC */ u8 field_0x5cc;
/* 0x5D0 */ mDoExt_McaMorfSO* mpMorfSO;
/* 0x5D4 */ Z2CreatureEnemy mCreatureSound;
/* 0x678 */ u8 field_0x678[0x67C - 0x678];
/* 0x67C */ u8 field_0x67c;
/* 0x680 */ u32 mShadowKey;
/* 0x684 */ s32 field_0x684;
/* 0x688 */ u8 field_0x688[0x68C - 0x688];
/* 0x68C */ s16 field_0x68c;
/* 0x68E */ s16 field_0x68e;
/* 0x690 */ s16 field_0x690;
/* 0x692 */ s16 field_0x692;
/* 0x694 */ s16 field_0x694;
/* 0x696 */ s16 field_0x696;
/* 0x698 */ u8 field_0x698;
/* 0x699 */ cXyz mUnused2; // The offset of this member is a guess. Also unused in debug but
// exists, unsure of offset in retail
/* 0x6A8 */ s16 field_0x6a8;
/* 0x6AA */ s16 field_0x6aa;
/* 0x6AC */ f32 field_0x6ac;
/* 0x6B0 */ s16 field_0x6b0[4];
/* 0x6B8 */ s16 field_0x6b8;
/* 0x6BA */ s16 field_0x6ba;
/* 0x6BC */ s16 field_0x6bc;
/* 0x6C0 */ f32 field_0x6c0;
/* 0x6C4 */ u8 field_0x6C4[0x6C8 - 0x6C4];
/* 0x6C8 */ dBgS_AcchCir mAcchCir;
/* 0x708 */ dBgS_ObjAcch mObjAcch;
/* 0x8E0 */ dCcD_Stts mAtStts;
/* 0x91C */ dCcD_Stts mShieldStts;
/* 0x958 */ dCcD_Sph mAtSphere;
/* 0xA90 */ dCcD_Sph mShieldSphere;
/* 0xBC8 */ dCcD_Cyl mCylinder;
/* 0xD04 */ dCcU_AtInfo mAtInfo;
/* 0xD28 */ u8 field_0xd28;
/* 0xD29 */ s8 field_0xd29;
/* 0xD2C */ u32 field_0xd2c;
/* 0xD30 */ u32 field_0xd30;
/* 0xD34 */ u32 field_0xd34;
/* 0xD38 */ u32 field_0xd38;
/* 0xD3C */ u8 field_0xD3C[0xD40 - 0xD3C];
/* 0xD40 */ u8 mHIOInit;
};

STATIC_ASSERT(sizeof(e_ai_class) == 0xd44);

class daE_AI_HIO_c {
class daE_AI_HIO_c : public JORReflexible {
public:
/* 8067916C */ daE_AI_HIO_c();
/* 8067BF40 */ ~daE_AI_HIO_c();
};
/* 8067BF40 */ virtual ~daE_AI_HIO_c();

void genMessage(JORMContext*);

/* 0x04 */ s8 field_0x4;
/* 0x08 */ f32 model_size;
/* 0x0C */ f32 movement_speed;
/* 0x10 */ f32 pl_recognition_distance;
/* 0x14 */ f32 attack_range_1;
/* 0x18 */ f32 attack_range_2;
/* 0x1C */ f32 home_distance;
};

#endif /* D_A_E_AI_H */
78 changes: 71 additions & 7 deletions include/d/actor/d_a_e_bg.h
Original file line number Diff line number Diff line change
@@ -1,17 +1,22 @@
#ifndef D_A_E_BG_H
#define D_A_E_BG_H

#include "Z2AudioLib/Z2Creature.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_BG_c
* @brief Bomb Fish
*
* @details
*
*
* @details
*
*/
class daE_BG_c : public fopEn_enemy_c {
public:
/* 8068585C */ void ctrlJoint(J3DJoint*, J3DModel*);
/* 80685948 */ void JointCallBack(J3DJoint*, int);
/* 80685994 */ void draw();
Expand All @@ -36,16 +41,75 @@ class daE_BG_c : public fopEn_enemy_c {
/* 80689978 */ void _delete();
/* 80689A0C */ void CreateHeap();
/* 80689C38 */ void create();

void setBgId(u32 i_bgId) { mBgId = i_bgId; }
bool isBomb() { return mIsBomb; }

private:
/* 0x5ac */ u8 field_0x5ac[0xbbc - 0x5ac];
/* 0x5AC */ request_of_phase_process_class mPhaseReq;
/* 0x5B4 */ mDoExt_McaMorfSO* mpMorfSO;
/* 0x5B8 */ mDoExt_brkAnm* mpBrkAnm;
/* 0x5BC */ Z2CreatureEnemy mCreatureSound;
/* 0x660 */ cXyz field_0x660;
/* 0x66C */ u32 mBgId;
/* 0x670 */ s32 mActionMode;
/* 0x674 */ s32 mMoveMode;
/* 0x678 */ u32 mShadowKey;
/* 0x67C */ u8 field_0x67C[0x684 - 0x67C];
/* 0x684 */ f32 field_0x684;
/* 0x688 */ f32 field_0x688;
/* 0x68C */ u8 field_0x68c;
/* 0x68D */ u8 field_0x68d;
/* 0x68E */ u8 field_0x68e;
/* 0x68F */ u8 field_0x68f;
/* 0x690 */ s32 field_0x690;
/* 0x694 */ s32 field_0x694;
/* 0x698 */ s16 field_0x698;
/* 0x69A */ s16 field_0x69a;
/* 0x69C */ s16 field_0x69c;
/* 0x69E */ s16 field_0x69e;
/* 0x6A0 */ s16 field_0x6a0;
/* 0x6A2 */ s16 field_0x6a2;
/* 0x6A4 */ s16 field_0x6a4;
/* 0x6A6 */ s16 field_0x6a6;
/* 0x6A8 */ s16 field_0x6a8;
/* 0x6AA */ s16 field_0x6aa;
/* 0x6AC */ s16 field_0x6ac;
/* 0x6AE */ u8 field_0x6ae;
/* 0x6AF */ u8 field_0x6af;
/* 0x6B0 */ u8 field_0x6b0;
/* 0x6B1 */ bool mIsBomb;
/* 0x6B2 */ u8 field_0x6B2[0x6B4 - 0x6B2];
/* 0x6B4 */ dBgS_AcchCir mAcchCir;
/* 0x6F4 */ dBgS_ObjAcch mObjAcch;
/* 0x8CC */ dCcD_Stts mStts;
/* 0x908 */ dCcD_Sph mSphere;
/* 0xA40 */ dCcD_Sph mAtSphere;
/* 0xB78 */ dCcU_AtInfo mAtInfo;
/* 0xB9C */ u32 mParticle;
/* 0xBA0 */ u8 field_0xBA0[0xBB0 - 0xBA0];
/* 0xBB0 */ u32 mParticle2;
/* 0xBB4 */ u32 mParticle3;
/* 0xBB8 */ u8 mHIOInit;
};

STATIC_ASSERT(sizeof(daE_BG_c) == 0xbbc);

class daE_BG_HIO_c {
class daE_BG_HIO_c : public JORReflexible {
public:
/* 8068580C */ daE_BG_HIO_c();
/* 8068A19C */ ~daE_BG_HIO_c();
};
/* 8068A19C */ virtual ~daE_BG_HIO_c();

void genMessage(JORMContext*);

/* 0x04 */ s8 field_0x4;
/* 0x08 */ f32 tracking_speed;
/* 0x0C */ f32 rush_speed;
/* 0x10 */ f32 waiting_distance_before_charging;
/* 0x14 */ f32 player_search_distance;
/* 0x18 */ f32 attack_range;
/* 0x1C */ f32 swimming_range;
/* 0x20 */ f32 spring_time;
};

#endif /* D_A_E_BG_H */
47 changes: 40 additions & 7 deletions include/d/actor/d_a_e_df.h
Original file line number Diff line number Diff line change
@@ -1,16 +1,21 @@
#ifndef D_A_E_DF_H
#define D_A_E_DF_H

#include "Z2AudioLib/Z2Creature.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_DF_c
* @brief Deku Flower
*
* @details
*
*
* @details
*
*/
class daE_DF_c : public fopEn_enemy_c {
public:
/* 806A7710 */ void CreateHeap();
/* 806A7828 */ void initCcCylinder();
/* 806A78A0 */ void setCcCylinder();
Expand Down Expand Up @@ -39,16 +44,44 @@ class daE_DF_c : public fopEn_enemy_c {
/* 806A9550 */ void Delete();
/* 806A95B8 */ void setBaseMtx();
/* 806A9678 */ void Create();

private:
/* 0x5ac */ u8 field_0x5ac[0x838 - 0x5ac];
/* 0x5AC */ u8 field_0x5ac;
/* 0x5AD */ u8 field_0x5ad;
/* 0x5AE */ u8 field_0x5ae;
/* 0x5B0 */ csXyz field_0x5b0;
/* 0x5B6 */ u8 field_0x5B6[0x5B8 - 0x5B6];
/* 0x5B8 */ s32 field_0x5b8;
/* 0x5BC */ u8 field_0x5bc;
/* 0x5BE */ s16 field_0x5be;
/* 0x5C0 */ s32 field_0x5c0;
/* 0x5C4 */ s16 field_0x5c4;
/* 0x5C6 */ s16 field_0x5c6;
/* 0x5C8 */ mDoExt_McaMorfSO* mpMorfSO;
/* 0x5CC */ request_of_phase_process_class mPhaseReq;
/* 0x5D4 */ u8 field_0x5D4[0x5D8 - 0x5D4];
/* 0x5D8 */ Z2CreatureEnemy mCreatureSound;
/* 0x67C */ dCcD_Stts mStts;
/* 0x6B8 */ dCcD_Cyl mCylinder;
/* 0x7F4 */ dCcU_AtInfo mAtInfo;
/* 0x818 */ u8 mHIOInit;
/* 0x819 */ u8 field_0x819;
/* 0x81C */ cXyz field_0x81c;
/* 0x828 */ cXyz field_0x828;
/* 0x834 */ f32 field_0x834;
};

STATIC_ASSERT(sizeof(daE_DF_c) == 0x838);

class daE_DF_HIO_c {
class daE_DF_HIO_c : public JORReflexible {
public:
/* 806A76EC */ daE_DF_HIO_c();
/* 806A9A84 */ ~daE_DF_HIO_c();
};
/* 806A9A84 */ virtual ~daE_DF_HIO_c();

void genMessage(JORMContext*);

/* 0x4 */ s8 field_0x4;
/* 0x8 */ f32 speed;
};

#endif /* D_A_E_DF_H */
68 changes: 61 additions & 7 deletions include/d/actor/d_a_e_dk.h
Original file line number Diff line number Diff line change
@@ -1,17 +1,23 @@
#ifndef D_A_E_DK_H
#define D_A_E_DK_H

#include "Z2AudioLib/Z2Creature.h"
#include "d/d_bg_s_acch.h"
#include "d/d_bg_s_sph_chk.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_DK_c
* @brief Bari
*
* @details
*
*
* @details
*
*/
class daE_DK_c : public fopEn_enemy_c {
public:
/* 806AA228 */ void draw();
/* 806AA5C8 */ void setBck(int, u8, f32, f32);
/* 806AA68C */ void setBckCore(int, u8, f32, f32);
Expand All @@ -38,16 +44,64 @@ class daE_DK_c : public fopEn_enemy_c {
/* 806ACAA4 */ void CreateHeap();
/* 806ACE14 */ void create();
/* 806AD0AC */ daE_DK_c();

private:
/* 0x5ac */ u8 field_0x5ac[0xd54 - 0x5ac];
/* 0x5AC */ request_of_phase_process_class mPhaseReq;
/* 0x5B4 */ mDoExt_McaMorfSO* mpMorfSO;
/* 0x5B8 */ mDoExt_McaMorfSO* mpCoreMorfSO;
/* 0x5BC */ mDoExt_brkAnm* mpBrkAnm[2];
/* 0x5C4 */ mDoExt_btkAnm* mpBtkAnm[2];
/* 0x5CC */ Z2CreatureEnemy mCreatureSound;
/* 0x670 */ cXyz field_0x670;
/* 0x67C */ s32 mActionMode;
/* 0x680 */ s32 mMoveMode;
/* 0x684 */ u32 mShadowKey;
/* 0x688 */ u32 mShadowKey2;
/* 0x68C */ s16 field_0x68c;
/* 0x68E */ s16 field_0x68e;
/* 0x690 */ u8 field_0x690;
/* 0x691 */ u8 field_0x691;
/* 0x692 */ u8 field_0x692;
/* 0x694 */ s16 field_0x694;
/* 0x698 */ s32 field_0x698;
/* 0x69C */ s32 field_0x69c;
/* 0x6A0 */ u8 field_0x6a0;
/* 0x6A1 */ u8 field_0x6a1;
/* 0x6A2 */ u8 field_0x6a2;
/* 0x6A3 */ u8 field_0x6a3;
/* 0x6A4 */ u8 field_0x6a4;
/* 0x6A8 */ f32 field_0x6a8;
/* 0x6AC */ f32 field_0x6ac;
/* 0x6B0 */ f32 field_0x6b0;
/* 0x6B4 */ f32 field_0x6b4;
/* 0x6B8 */ f32 field_0x6b8;
/* 0x6BC */ dBgS_AcchCir mAcchCir;
/* 0x6FC */ dBgS_ObjAcch mObjAcch;
/* 0x8D4 */ dBgS_SphChk mSphereChk;
/* 0x928 */ dCcD_Stts mStts;
/* 0x964 */ dCcD_Sph mSphere;
/* 0xA9C */ dCcD_Sph mAtSphere;
/* 0xBD4 */ dCcD_Sph mCoreSphere;
/* 0xD0C */ dCcU_AtInfo field_0xd0c;
/* 0xD30 */ u32 mEffects[6];
/* 0xD48 */ u8 field_0xD48[0xD50 - 0xD48];
/* 0xD50 */ u8 mHIOInit;
};

STATIC_ASSERT(sizeof(daE_DK_c) == 0xd54);

class daE_DK_HIO_c {
class daE_DK_HIO_c : public JORReflexible {
public:
/* 806AA1EC */ daE_DK_HIO_c();
/* 806AD490 */ ~daE_DK_HIO_c();
};
/* 806AD490 */ virtual ~daE_DK_HIO_c();

void genMessage(JORMContext*);

/* 0x04 */ s8 field_0x4;
/* 0x08 */ f32 model_size;
/* 0x0C */ f32 player_detection_range;
/* 0x10 */ f32 field_0x10;
/* 0x14 */ f32 first_attack_range;
};

#endif /* D_A_E_DK_H */
Loading