Setup d_a_e actors (#2157)

* checkpoint

* checkpoint

* checkpoint

* checkpoint

* checkpoint

* checkpoint

* checkpoint

* finish

* add class comments
This commit is contained in:
Pheenoh 2024-05-24 00:31:16 -06:00 committed by GitHub
parent 522c051b1a
commit 38ac3e9227
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
181 changed files with 6148 additions and 18570 deletions

View File

@ -1,4 +1,47 @@
#ifndef D_A_E_AI_H
#define D_A_E_AI_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_ai_class
* @brief Armos
*
* @details
*
*/
class e_ai_class : public fopEn_enemy_c {
/* 806791BC */ void initCcCylinder();
/* 80679284 */ void setCcCylinder();
/* 80679350 */ void anm_init(int, f32, u8, f32);
/* 806793FC */ void Draw();
/* 806794F4 */ void player_way_check();
/* 80679538 */ void other_bg_check(fopAc_ac_c*);
/* 80679610 */ void pl_check(f32, s16);
/* 8067968C */ void damage_check();
/* 80679DC8 */ void e_ai_damage();
/* 8067A2CC */ void e_ai_attack();
/* 8067A54C */ void e_ai_move();
/* 8067AA48 */ void e_ai_wait();
/* 8067ACA0 */ void e_ai_return();
/* 8067B024 */ void action();
/* 8067B2B0 */ void PlayerWaySet();
/* 8067B31C */ void AttentionSet();
/* 8067B378 */ void Execute();
/* 8067B598 */ void setBaseMtx();
/* 8067B620 */ void Delete();
/* 8067B6F0 */ void CreateHeap();
/* 8067B8E4 */ void Create();
/* 8067BAEC */ e_ai_class();
private:
/* 0x5ac */ u8 field_0x5ac[0xd44 - 0x5ac];
};
STATIC_ASSERT(sizeof(e_ai_class) == 0xd44);
class daE_AI_HIO_c {
/* 8067916C */ daE_AI_HIO_c();
/* 8067BF40 */ ~daE_AI_HIO_c();
};
#endif /* D_A_E_AI_H */

View File

@ -19,10 +19,13 @@ enum e_arrow_type {
};
/**
* @ingroup actors-enemies
* @brief Enemy arrow
*
*/
* @ingroup actors-enemies
* @class e_arrow_class
* @brief Enemy Arrow
*
* @details
*
*/
class e_arrow_class : public fopEn_enemy_c {
public:
/* 0x5AC */ request_of_phase_process_class mPhase;

View File

@ -8,6 +8,14 @@
#include "d/cc/d_cc_uty.h"
#include "d/d_path.h"
/**
* @ingroup actors-enemies
* @class e_ba_class
* @brief Keese
*
* @details
*
*/
class e_ba_class : public fopEn_enemy_c {
public:
enum Type {

View File

@ -44,10 +44,13 @@ struct bee_s {
STATIC_ASSERT(sizeof(bee_s) == 0x74);
/**
* @ingroup actors-enemies
* @brief Bee
*
*/
* @ingroup actors-enemies
* @class e_bee_class
* @brief Bee
*
* @details
*
*/
class e_bee_class : public fopAc_ac_c {
public:
/* 0x0568 */ request_of_phase_process_class mPhase;

View File

@ -2,5 +2,50 @@
#define D_A_E_BG_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class daE_BG_c
* @brief Bomb Fish
*
* @details
*
*/
class daE_BG_c : public fopEn_enemy_c {
/* 8068585C */ void ctrlJoint(J3DJoint*, J3DModel*);
/* 80685948 */ void JointCallBack(J3DJoint*, int);
/* 80685994 */ void draw();
/* 80685B70 */ void setBck(int, u8, f32, f32);
/* 80685C14 */ void setActionMode(int, int);
/* 80685C2C */ void damage_check();
/* 80685DBC */ void setSparkEffect();
/* 80685F04 */ void search_esa();
/* 80685F88 */ void executeBorn();
/* 80686210 */ void executeSwim();
/* 80686C90 */ void executeAttack();
/* 80687B38 */ void executeDamage();
/* 80687CD8 */ void setBombCarry(int);
/* 80687DEC */ void executeBomb();
/* 80687FC4 */ void executeBirth();
/* 8068838C */ void executeHook();
/* 806883D0 */ void executeEat();
/* 80689168 */ void action();
/* 80689544 */ void mtx_set();
/* 8068966C */ void cc_set();
/* 806897EC */ void execute();
/* 80689978 */ void _delete();
/* 80689A0C */ void CreateHeap();
/* 80689C38 */ void create();
private:
/* 0x5ac */ u8 field_0x5ac[0xbbc - 0x5ac];
};
STATIC_ASSERT(sizeof(daE_BG_c) == 0xbbc);
class daE_BG_HIO_c {
/* 8068580C */ daE_BG_HIO_c();
/* 8068A19C */ ~daE_BG_HIO_c();
};
#endif /* D_A_E_BG_H */

View File

@ -1,4 +1,25 @@
#ifndef D_A_E_BI_H
#define D_A_E_BI_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_bi_class
* @brief Bomb Insect
*
* @details
*
*/
class e_bi_class : public fopEn_enemy_c {
private:
/* 0x5ac */ u8 field_0x5ac[0xc00 - 0x5ac];
};
STATIC_ASSERT(sizeof(e_bi_class) == 0xc00);
class daE_BI_HIO_c {
/* 8068A5EC */ daE_BI_HIO_c();
/* 8068D2DC */ ~daE_BI_HIO_c();
};
#endif /* D_A_E_BI_H */

View File

@ -4,10 +4,13 @@
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @brief Bombling Leaf
*
*/
* @ingroup actors-enemies
* @class e_bi_leaf_class
* @brief Bomb Insect - Leaf
*
* @details
*
*/
class e_bi_leaf_class : public fopEn_enemy_c {
public:
/* 0x5AC */ request_of_phase_process_class mPhase;

View File

@ -1,4 +1,25 @@
#ifndef D_A_E_BS_H
#define D_A_E_BS_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_bs_class
* @brief Stalkin
*
* @details
*
*/
class e_bs_class : public fopEn_enemy_c {
private:
/* 0x5ac */ u8 field_0x5ac[0xcfc - 0x5ac];
};
STATIC_ASSERT(sizeof(e_bs_class) == 0xcfc);
class daE_BS_HIO_c {
/* 8068E12C */ daE_BS_HIO_c();
/* 8069091C */ ~daE_BS_HIO_c();
};
#endif /* D_A_E_BS_H */

View File

@ -1,4 +1,25 @@
#ifndef D_A_E_BU_H
#define D_A_E_BU_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_bu_class
* @brief Bubble
*
* @details
*
*/
class e_bu_class : public fopEn_enemy_c {
private:
/* 0x5ac */ u8 field_0x5ac[0xaa4 - 0x5ac];
};
STATIC_ASSERT(sizeof(e_bu_class) == 0xaa4);
class daE_BU_HIO_c {
/* 806911AC */ daE_BU_HIO_c();
/* 806941D4 */ ~daE_BU_HIO_c();
};
#endif /* D_A_E_BU_H */

View File

@ -2,5 +2,31 @@
#define D_A_E_BUG_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_bug_class
* @brief Poison Mite
*
* @details
*
*/
class e_bug_class : public fopEn_enemy_c {
private:
/* 0x5ac */ u8 field_0x5ac[0x7db0 - 0x5ac];
};
STATIC_ASSERT(sizeof(e_bug_class) == 0x7db0);
class daE_Bug_HIO_c {
/* 80694B8C */ daE_Bug_HIO_c();
/* 80697BEC */ ~daE_Bug_HIO_c();
};
struct bug_s {
/* 80697B4C */ ~bug_s();
/* 80697BB8 */ bug_s();
};
#endif /* D_A_E_BUG_H */

View File

@ -1,4 +1,25 @@
#ifndef D_A_E_CR_H
#define D_A_E_CR_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_cr_class
* @brief Bombskit
*
* @details
*
*/
class e_cr_class : public fopEn_enemy_c {
private:
/* 0x5ac */ u8 field_0x5ac[0xa60 - 0x5ac];
};
STATIC_ASSERT(sizeof(e_cr_class) == 0xa60);
class daE_CR_HIO_c {
/* 8069800C */ daE_CR_HIO_c();
/* 806997F4 */ ~daE_CR_HIO_c();
};
#endif /* D_A_E_CR_H */

View File

@ -1,4 +1,20 @@
#ifndef D_A_E_CR_EGG_H
#define D_A_E_CR_EGG_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_cr_egg_class
* @brief Bombskit Egg
*
* @details
*
*/
class e_cr_egg_class : public fopEn_enemy_c {
private:
/* 0x5ac */ u8 field_0x5ac[0xa0c - 0x5ac];
};
STATIC_ASSERT(sizeof(e_cr_egg_class) == 0xa0c);
#endif /* D_A_E_CR_EGG_H */

View File

@ -1,4 +1,25 @@
#ifndef D_A_E_DB_H
#define D_A_E_DB_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_db_class
* @brief Deku Baba
*
* @details
*
*/
class e_db_class : public fopEn_enemy_c {
private:
/* 0x5ac */ u8 field_0x5ac[0x1270 - 0x5ac];
};
STATIC_ASSERT(sizeof(e_db_class) == 0x1270);
class daE_DB_HIO_c {
/* 8069AAEC */ daE_DB_HIO_c();
/* 806A13D8 */ ~daE_DB_HIO_c();
};
#endif /* D_A_E_DB_H */

View File

@ -5,10 +5,13 @@
#include "dolphin/types.h"
/**
* @ingroup actors-enemies
* @brief Deku Baba Leaf
*
*/
* @ingroup actors-enemies
* @class e_db_leaf_class
* @brief Deku Baba - Leaf
*
* @details
*
*/
class e_db_leaf_class : public fopEn_enemy_c {
public:
/* 0x5AC */ request_of_phase_process_class mPhase;

View File

@ -1,4 +1,25 @@
#ifndef D_A_E_DD_H
#define D_A_E_DD_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_dd_class
* @brief Dodongo
*
* @details
*
*/
class e_dd_class : public fopEn_enemy_c {
private:
/* 0x5ac */ u8 field_0x5ac[0xe94 - 0x5ac];
};
STATIC_ASSERT(sizeof(e_dd_class) == 0xe94);
class daE_DD_HIO_c {
/* 806A226C */ daE_DD_HIO_c();
/* 806A6D08 */ ~daE_DD_HIO_c();
};
#endif /* D_A_E_DD_H */

View File

@ -1,4 +1,53 @@
#ifndef D_A_E_DF_H
#define D_A_E_DF_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class daE_DF_c
* @brief Deku Flower
*
* @details
*
*/
class daE_DF_c : public fopEn_enemy_c {
/* 806A7710 */ void CreateHeap();
/* 806A7828 */ void initCcCylinder();
/* 806A78A0 */ void setCcCylinder();
/* 806A78D4 */ void SetAnm(int, int, f32, f32);
/* 806A7980 */ void CameraSet(f32);
/* 806A7B40 */ void DemoStart();
/* 806A7C3C */ void SetReleaseCam();
/* 806A7CE0 */ void ctrlJoint(J3DJoint*, J3DModel*);
/* 806A8030 */ void Link_Eat_Pos();
/* 806A8098 */ void Set_Angle(cXyz*);
/* 806A816C */ void Obj_Damage();
/* 806A8244 */ void DamageAction();
/* 806A8368 */ void BombEatAction();
/* 806A8790 */ void Spid_Out();
/* 806A8938 */ void LinkEatAction();
/* 806A8C80 */ void Mogu_Mogu();
/* 806A8D98 */ void ObjEatAction();
/* 806A8ED4 */ void EatAction();
/* 806A8F2C */ void SearchAction();
/* 806A91B4 */ void WaitAction();
/* 806A9254 */ void MissAction();
/* 806A9304 */ void Action();
/* 806A9384 */ void Execute();
/* 806A949C */ void Yazirushi();
/* 806A94E0 */ void Draw();
/* 806A9550 */ void Delete();
/* 806A95B8 */ void setBaseMtx();
/* 806A9678 */ void Create();
private:
/* 0x5ac */ u8 field_0x5ac[0x838 - 0x5ac];
};
STATIC_ASSERT(sizeof(daE_DF_c) == 0x838);
class daE_DF_HIO_c {
/* 806A76EC */ daE_DF_HIO_c();
/* 806A9A84 */ ~daE_DF_HIO_c();
};
#endif /* D_A_E_DF_H */

View File

@ -2,5 +2,52 @@
#define D_A_E_DK_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class daE_DK_c
* @brief Bari
*
* @details
*
*/
class daE_DK_c : public fopEn_enemy_c {
/* 806AA228 */ void draw();
/* 806AA5C8 */ void setBck(int, u8, f32, f32);
/* 806AA68C */ void setBckCore(int, u8, f32, f32);
/* 806AA730 */ void setActionMode(int, int);
/* 806AA73C */ void damage_check();
/* 806AA8B0 */ void checkPlayerSearch();
/* 806AAB18 */ void checkPlayerAttack(f32);
/* 806AAC24 */ void checkWaterHeight();
/* 806AAD68 */ void SphBgcCallBack(dBgS_SphChk*, cBgD_Vtx_t*, int, int, int, cM3dGPla*, void*);
/* 806AAE10 */ void setElectricEffect();
/* 806AB054 */ void setCoreDeadEffect();
/* 806AB158 */ void setBodyDeadEffect();
/* 806AB29C */ void executeWait();
/* 806AB684 */ void executeChase();
/* 806ABA78 */ void executeAttack();
/* 806ABCC8 */ void executeDamage();
/* 806ABE3C */ void BodyDeathMove();
/* 806ABF6C */ void executeDeath();
/* 806AC390 */ void action();
/* 806AC5BC */ void mtx_set();
/* 806AC754 */ void cc_set();
/* 806AC968 */ void execute();
/* 806ACA10 */ void _delete();
/* 806ACAA4 */ void CreateHeap();
/* 806ACE14 */ void create();
/* 806AD0AC */ daE_DK_c();
private:
/* 0x5ac */ u8 field_0x5ac[0xd54 - 0x5ac];
};
STATIC_ASSERT(sizeof(daE_DK_c) == 0xd54);
class daE_DK_HIO_c {
/* 806AA1EC */ daE_DK_HIO_c();
/* 806AD490 */ ~daE_DK_HIO_c();
};
#endif /* D_A_E_DK_H */

View File

@ -1,4 +1,26 @@
#ifndef D_A_E_DN_H
#define D_A_E_DN_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_dn_class
* @brief Lizalfos
*
* @details
*
*/
class e_dn_class : public fopEn_enemy_c {
/* 804EDE58 */ e_dn_class();
private:
/* 0x5ac */ u8 field_0x5ac[0x110c - 0x5ac];
};
STATIC_ASSERT(sizeof(e_dn_class) == 0x110c);
class daE_DN_HIO_c {
/* 804E51AC */ daE_DN_HIO_c();
/* 804EE39C */ ~daE_DN_HIO_c();
};
#endif /* D_A_E_DN_H */

View File

@ -2,5 +2,93 @@
#define D_A_E_DT_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class daE_DT_c
* @brief Deku Toad
*
* @details
*
*/
class daE_DT_c : public fopEn_enemy_c {
/* 806AD97C */ void ctrlJoint(J3DJoint*, J3DModel*);
/* 806ADBA0 */ void JointCallBack(J3DJoint*, int);
/* 806ADBEC */ void ctrlJointTuba(J3DJoint*, J3DModel*);
/* 806ADD30 */ void JointCallBackTuba(J3DJoint*, int);
/* 806ADD7C */ void draw();
/* 806AE5C8 */ void demo_skip(int);
/* 806AE618 */ void DemoSkipCallBack(void*, int);
/* 806AE64C */ void setBck(int, u8, f32, f32);
/* 806AE6F0 */ void checkBck(int);
/* 806AE74C */ void setActionMode(int, int);
/* 806AE758 */ void damage_check();
/* 806AEB48 */ void setStabPos();
/* 806AEBD4 */ void checkBeforeBg(f32);
/* 806AED94 */ void checkTongueBg();
/* 806AEEFC */ void checkWaterSurface();
/* 806AEFE8 */ void setSmallWaterEffect();
/* 806AF09C */ void setLargeWaterEffect();
/* 806AF150 */ void setHamonEffect(int);
/* 806AF240 */ void setJumpEffect();
/* 806AF2F4 */ void setJumpSizukuEffect();
/* 806AF3D0 */ void setDamageShibukiEffect(int);
/* 806AF460 */ void setDamageYodareEffect(int);
/* 806AF548 */ void setSwingEffect();
/* 806AF5CC */ void setStepEffect();
/* 806AF740 */ void setBombEffect();
/* 806AF848 */ void setBombSmokeEffect();
/* 806AF924 */ void setDeadShibukiEffect();
/* 806AF9D8 */ void setDeadYodareEffect();
/* 806AFAE0 */ void setBoxTubaEffect();
/* 806AFBBC */ void setBoxTubaLandEffect();
/* 806AFD30 */ void getNumberOfOtama();
/* 806AFE24 */ void setStayOtamaFall();
/* 806AFEAC */ void setStayOtamaDelete();
/* 806B0114 */ void checkBombEat();
/* 806B01B4 */ void isShutterOpen();
/* 806B0200 */ void executeWait();
/* 806B0368 */ void executeCry();
/* 806B063C */ void executeShake();
/* 806B07C4 */ void executeWalk();
/* 806B0E9C */ void executeJump();
/* 806B177C */ void executeDown();
/* 806B1B60 */ void executeSearch();
/* 806B1BEC */ void executeDamage();
/* 806B1D48 */ void executeBombDamage();
/* 806B1F78 */ void executeDeath();
/* 806B28E4 */ void pointInSight(cXyz*);
/* 806B29D4 */ void executeOpening();
/* 806B3B08 */ void calcCamera();
/* 806B40D8 */ void calcBoxAndTuba();
/* 806B4724 */ void action();
/* 806B49F0 */ void mtx_set();
/* 806B4B24 */ void cc_set();
/* 806B4FD8 */ void execute();
/* 806B5158 */ void _delete();
/* 806B5214 */ void CreateHeap();
/* 806B5460 */ void create();
private:
/* 0x5ac */ u8 field_0x5ac[0x1174 - 0x5ac];
};
STATIC_ASSERT(sizeof(daE_DT_c) == 0x1174);
class daE_DT_HIO_c {
/* 806AD90C */ daE_DT_HIO_c();
/* 806B5BDC */ ~daE_DT_HIO_c();
};
struct E_DT_n {
static u8 eDt_ShakeFrame[40];
static u8 eDt_ShakeFrameDemo[40];
static u8 cc_dt_body_src[64];
static u8 cc_dt_tongue_src[64];
static u8 mDt_OtamaNum[4];
static u8 mDt_OtamaNo[80];
static u8 m_fall_no[4];
static u8 m_tongue_pos[12];
};
#endif /* D_A_E_DT_H */

View File

@ -2,5 +2,48 @@
#define D_A_E_FB_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class daE_FB_c
* @brief Freezard
*
* @details
*
*/
class daE_FB_c : public fopEn_enemy_c {
/* 806B6520 */ void ctrlJoint(J3DJoint*, J3DModel*);
/* 806B65C0 */ void JointCallBack(J3DJoint*, int);
/* 806B660C */ void draw();
/* 806B67E0 */ void setBck(int, u8, f32, f32);
/* 806B688C */ void setActionMode(int, int);
/* 806B6898 */ void damage_check();
/* 806B6D20 */ void mBgLineCheck();
/* 806B6DF4 */ void search_check();
/* 806B6F40 */ void executeWait();
/* 806B70FC */ void executeAttack();
/* 806B78A0 */ void executeDamage();
/* 806B7B88 */ void executeBullet();
/* 806B7DDC */ void action();
/* 806B80A4 */ void mtx_set();
/* 806B811C */ void cc_set();
/* 806B82B4 */ void normal_eff_set();
/* 806B83F0 */ void dead_eff_set();
/* 806B8518 */ void execute();
/* 806B85C8 */ void _delete();
/* 806B8678 */ void CreateHeap();
/* 806B88E0 */ void create();
/* 806B8C1C */ daE_FB_c();
private:
/* 0x5ac */ u8 field_0x5ac[0xce8 - 0x5ac];
};
STATIC_ASSERT(sizeof(daE_FB_c) == 0xce8);
class daE_FB_HIO_c {
/* 806B64AC */ daE_FB_HIO_c();
/* 806B8EE4 */ ~daE_FB_HIO_c();
};
#endif /* D_A_E_FB_H */

View File

@ -1,4 +1,59 @@
#ifndef D_A_E_FK_H
#define D_A_E_FK_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class daE_FK_c
* @brief Phantom Rider
*
* @details
*
*/
class daE_FK_c : public fopEn_enemy_c {
/* 806B93CC */ void CreateHeap();
/* 806B9534 */ void initBodySph();
/* 806B95BC */ void initSwordSph();
/* 806B9670 */ void SetBodySph();
/* 806B97A4 */ void SetSwordSph();
/* 806B98C4 */ void ctrlJoint(J3DJoint*, J3DModel*);
/* 806B9A28 */ void SetAnm(int, int, f32, f32);
/* 806B9AD8 */ void Yazirushi();
/* 806B9B2C */ void SpeedSet();
/* 806B9BB4 */ void TnNeckSet(s16);
/* 806B9C14 */ void HsAngleSet();
/* 806B9C18 */ void SpeedChk();
/* 806B9C1C */ void SetAnmSpeed();
/* 806B9C20 */ void TgChk();
/* 806B9D00 */ void AtChk();
/* 806B9D7C */ void OnAt();
/* 806B9DA4 */ void R_MoveAction();
/* 806B9E6C */ void StartAction();
/* 806B9F20 */ void RunAction();
/* 806BA004 */ void Action();
/* 806BA024 */ void DeathAction();
/* 806BA188 */ void DamageChk();
/* 806BA24C */ void DamageAction();
/* 806BA330 */ void checkViewArea();
/* 806BA3B4 */ void AttackAction();
/* 806BA61C */ void UpDown();
/* 806BA6EC */ void Execute();
/* 806BABB8 */ void At_Check(int);
/* 806BACEC */ void Draw();
/* 806BADB4 */ void Delete();
/* 806BAE1C */ void setBaseMtx();
/* 806BAEB0 */ void setEfMtx();
/* 806BAF74 */ void CreateChk();
/* 806BB004 */ void Create();
private:
/* 0x5ac */ u8 field_0x5ac[0xf6c - 0x5ac];
};
STATIC_ASSERT(sizeof(daE_FK_c) == 0xf6c);
class daE_FK_HIO_c {
/* 806B938C */ daE_FK_HIO_c();
/* 806BB594 */ ~daE_FK_HIO_c();
};
#endif /* D_A_E_FK_H */

View File

@ -1,4 +1,31 @@
#ifndef D_A_E_FM_H
#define D_A_E_FM_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_fm_class
* @brief Fyrus
*
* @details
*
*/
class e_fm_class : public fopEn_enemy_c {
/* 804F9B64 */ e_fm_class();
private:
/* 0x5ac */ u8 field_0x5ac[0x1b084 - 0x5ac];
};
STATIC_ASSERT(sizeof(e_fm_class) == 0x1b084);
class daE_FM_HIO_c {
/* 804EF0EC */ daE_FM_HIO_c();
/* 804FA3D8 */ ~daE_FM_HIO_c();
};
struct chain_s {
/* 804F9E14 */ ~chain_s();
/* 804F9F14 */ chain_s();
};
#endif /* D_A_E_FM_H */

View File

@ -1,4 +1,25 @@
#ifndef D_A_E_FS_H
#define D_A_E_FS_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_fs_class
* @brief Wooden Puppet
*
* @details
*
*/
class e_fs_class : public fopEn_enemy_c {
private:
/* 0x5ac */ u8 field_0x5ac[0xb9c - 0x5ac];
};
STATIC_ASSERT(sizeof(e_fs_class) == 0xb9c);
class daE_Fs_HIO_c {
/* 806BBACC */ daE_Fs_HIO_c();
/* 806BDF94 */ ~daE_Fs_HIO_c();
};
#endif /* D_A_E_FS_H */

View File

@ -2,5 +2,31 @@
#define D_A_E_GA_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
struct ga_s {
/* 804FBAB8 */ ~ga_s();
/* 804FBAF4 */ ga_s();
};
/**
* @ingroup actors-enemies
* @class e_ga_class
* @brief Decorative Moth
*
* @details
*
*/
class e_ga_class : public fopEn_enemy_c {
private:
/* 0x5ac */ u8 field_0x5ac[0x4d7c - 0x5ac];
};
STATIC_ASSERT(sizeof(e_ga_class) == 0x4d7c);
class daE_Ga_HIO_c {
/* 804FB0EC */ daE_Ga_HIO_c();
/* 804FBAF8 */ ~daE_Ga_HIO_c();
};
#endif /* D_A_E_GA_H */

View File

@ -1,4 +1,26 @@
#ifndef D_A_E_GB_H
#define D_A_E_GB_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_gb_class
* @brief Giant Baba
*
* @details
*
*/
class e_gb_class : public fopEn_enemy_c {
/* 806C6B94 */ e_gb_class();
private:
/* 0x5ac */ u8 field_0x5ac[0xef8 - 0x5ac];
};
STATIC_ASSERT(sizeof(e_gb_class) == 0xef8);
class daE_GB_HIO_c {
/* 806C1CEC */ daE_GB_HIO_c();
/* 806C6F98 */ ~daE_GB_HIO_c();
};
#endif /* D_A_E_GB_H */

View File

@ -3,16 +3,14 @@
#include "f_op/f_op_actor_mng.h"
struct daE_GE_HIO_c {
/* 806C7A4C */ daE_GE_HIO_c();
/* 806CCA58 */ ~daE_GE_HIO_c();
};
/**
* @ingroup actors-enemies
* @brief Guay
*
*/
* @ingroup actors-enemies
* @class daE_GE_c
* @brief Guay
*
* @details
*
*/
class daE_GE_c : public fopEn_enemy_c {
public:
u8 getGroupNo() {
@ -52,11 +50,18 @@ public:
/* 806CC278 */ void CreateHeap();
/* 806CC390 */ void create();
private:
/* 0x5AC */ u8 field_0x5ac[1519];
/* 0xB9B */ u8 mGroupNo;
/* 0xB9C */ u8 field_0xb9c[4];
static u8 l_actionmenu[108];
};
STATIC_ASSERT(sizeof(daE_GE_c) == 0xBA0);
class daE_GE_HIO_c {
/* 806C7A4C */ daE_GE_HIO_c();
/* 806CCA58 */ ~daE_GE_HIO_c();
};
#endif /* D_A_E_GE_H */

View File

@ -2,5 +2,52 @@
#define D_A_E_GI_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class daE_GI_c
* @brief Gibdo
*
* @details
*
*/
class daE_GI_c : public fopEn_enemy_c {
/* 806CD4F4 */ void ctrlJoint(J3DJoint*, J3DModel*);
/* 806CD594 */ void JointCallBack(J3DJoint*, int);
/* 806CD5E0 */ void draw();
/* 806CD868 */ void setBck(int, u8, f32, f32);
/* 806CD90C */ void setActionMode(int, int);
/* 806CD938 */ void damage_check();
/* 806CDD1C */ void setWeaponAtBit(u8);
/* 806CDD8C */ void setCryStop();
/* 806CDED8 */ void setAttackEffect();
/* 806CDFB0 */ void setDragSwordEffect();
/* 806CE0D4 */ void setDeathSmokeEffect();
/* 806CE184 */ void setDamageEffect();
/* 806CE3C4 */ void executeSleep();
/* 806CE6AC */ void executeWait();
/* 806CE858 */ void executeChase();
/* 806CEC94 */ void executeAttack();
/* 806CF0B8 */ void executeDamage();
/* 806CF410 */ void executeBiteDamage();
/* 806CF720 */ void PushButtonCount();
/* 806CF878 */ void action();
/* 806CFB60 */ void mtx_set();
/* 806CFBF0 */ void cc_set();
/* 806CFDF4 */ void execute();
/* 806D0054 */ void _delete();
/* 806D00E8 */ void CreateHeap();
/* 806D027C */ void create();
private:
/* 0x5ac */ u8 field_0x5ac[0x107c - 0x5ac];
};
STATIC_ASSERT(sizeof(daE_GI_c) == 0x107c);
class daE_GI_HIO_c {
/* 806CD48C */ daE_GI_HIO_c();
/* 806D098C */ ~daE_GI_HIO_c();
};
#endif /* D_A_E_GI_H */

View File

@ -2,5 +2,59 @@
#define D_A_E_GM_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class daE_GM_c
* @brief Baby Gohma
*
* @details
*
*/
class daE_GM_c : public fopEn_enemy_c {
/* 806D12C8 */ void setAction(void (daE_GM_c::*)());
/* 806D136C */ void action();
/* 806D1580 */ void egg_wait();
/* 806D1A9C */ void appear();
/* 806D1CC0 */ void walk();
/* 806D21A4 */ void create_item();
/* 806D2294 */ void pechanko_damage();
/* 806D24C0 */ void wait();
/* 806D25E8 */ void egg_damage();
/* 806D289C */ void setDeathLightEffect();
/* 806D2940 */ void setEggBreakEffect();
/* 806D29E4 */ void damage();
/* 806D2DD4 */ void core_damage();
/* 806D3308 */ void core_delwait();
/* 806D344C */ void core_piku();
/* 806D35E4 */ void core_pechanko_damage();
/* 806D378C */ void hook();
/* 806D398C */ void rebound();
/* 806D3EC4 */ void walk2();
/* 806D4288 */ void dead_wait();
/* 806D4468 */ void core_wait();
/* 806D462C */ void core_escape();
/* 806D4D1C */ void chaseCheck();
/* 806D4EF4 */ void normal_wait();
/* 806D545C */ void normal_chase();
/* 806D578C */ void mtx_set();
/* 806D59D0 */ void cc_set();
/* 806D5D54 */ void draw();
/* 806D631C */ void damage_check();
/* 806D6708 */ void execute();
/* 806D6980 */ void _delete();
/* 806D6AC8 */ void CreateHeap();
/* 806D6CF0 */ void create();
private:
/* 0x5ac */ u8 field_0x5ac[0xa78 - 0x5ac];
};
STATIC_ASSERT(sizeof(daE_GM_c) == 0xa78);
class daE_GM_HIO_c {
/* 806D126C */ daE_GM_HIO_c();
/* 806D7428 */ ~daE_GM_HIO_c();
};
#endif /* D_A_E_GM_H */

View File

@ -1,4 +1,26 @@
#ifndef D_A_E_GOB_H
#define D_A_E_GOB_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_gob_class
* @brief Dangoro
*
* @details
*
*/
class e_gob_class : public fopEn_enemy_c {
/* 806DEA10 */ e_gob_class();
private:
/* 0x5ac */ u8 field_0x5ac[0xde4 - 0x5ac];
};
STATIC_ASSERT(sizeof(e_gob_class) == 0xde4);
class daE_GOB_HIO_c {
/* 806D808C */ daE_GOB_HIO_c();
/* 806DECD0 */ ~daE_GOB_HIO_c();
};
#endif /* D_A_E_GOB_H */

View File

@ -2,5 +2,26 @@
#define D_A_E_GS_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_gs_class
* @brief Ghost Soldier
*
* @details
*
*/
class e_gs_class : public fopEn_enemy_c {
private:
/* 0x5ac */ u8 field_0x5ac[0x6bc - 0x5ac];
};
STATIC_ASSERT(sizeof(e_gs_class) == 0x6bc);
class daE_GS_HIO_c {
/* 806DF46C */ daE_GS_HIO_c();
/* 806DFD5C */ ~daE_GS_HIO_c();
};
#endif /* D_A_E_GS_H */

View File

@ -1,4 +1,25 @@
#ifndef D_A_E_HB_H
#define D_A_E_HB_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_hb_class
* @brief Hebi Baba
*
* @details
*
*/
class e_hb_class : public fopEn_enemy_c {
private:
/* 0x5ac */ u8 field_0x5ac[0x1268 - 0x5ac];
};
STATIC_ASSERT(sizeof(e_hb_class) == 0x1268);
class daE_HB_HIO_c {
/* 804FBD6C */ daE_HB_HIO_c();
/* 805005D0 */ ~daE_HB_HIO_c();
};
#endif /* D_A_E_HB_H */

View File

@ -4,10 +4,13 @@
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @brief Snake Baba Leaf
*
*/
* @ingroup actors-enemies
* @class e_hb_leaf_class
* @brief Hebi Baba - Leaf
*
* @details
*
*/
class e_hb_leaf_class : public fopEn_enemy_c {
public:
/* 0x5AC */ request_of_phase_process_class mPhase;

View File

@ -2,5 +2,76 @@
#define D_A_E_HM_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class daE_HM_c
* @brief Torch Slug
*
* @details
*
*/
class daE_HM_c : public fopEn_enemy_c {
/* 806E043C */ void CreateHeap();
/* 806E06C0 */ void initCcCylinder();
/* 806E074C */ void setCcCylinder();
/* 806E0958 */ void ctrlJoint(J3DJoint*, J3DModel*);
/* 806E0DB0 */ void Particle_Set(u32&, u16);
/* 806E0E8C */ void SetAnm(int, int, f32, f32);
/* 806E0F38 */ void W_TargetAngle(cXyz, cXyz);
/* 806E0FF4 */ void W_DeathSpSet();
/* 806E1118 */ void W_DeathAction();
/* 806E1370 */ void W_DeathMotion();
/* 806E155C */ void W_MoveCheckWall();
/* 806E18A0 */ void W_WallCheck();
/* 806E1A00 */ void WallExecute();
/* 806E1AA0 */ void WallCreateExecute();
/* 806E1B5C */ void CreateExecute();
/* 806E1C28 */ void Tyakuchi_Set();
/* 806E1E78 */ void UpDeathAction();
/* 806E20FC */ void UpMoveAction();
/* 806E2410 */ void UpWaitAction();
/* 806E2568 */ void UpExecute();
/* 806E25E8 */ void WallCheck();
/* 806E2694 */ void MoveCheck();
/* 806E29B8 */ void ShippuAction();
/* 806E2B80 */ void ShieldMotion();
/* 806E2C50 */ void ShieldAction();
/* 806E2D08 */ void DeathSpSet();
/* 806E2D40 */ void DeathMotion();
/* 806E2EA0 */ void DeathCutDown();
/* 806E2F5C */ void DeathAction();
/* 806E31B0 */ void AttackAfter();
/* 806E3208 */ void AttackMotion();
/* 806E3420 */ void AttackAction();
/* 806E34C8 */ void FreeMove();
/* 806E3690 */ void LinkSearch();
/* 806E3724 */ void WaitAction();
/* 806E37F4 */ void MemberClear();
/* 806E3800 */ void DownExecute();
/* 806E3884 */ void At_Check();
/* 806E39E8 */ void Obj_Damage();
/* 806E3BE4 */ void ActionMode();
/* 806E4008 */ void Yazirushi();
/* 806E40B8 */ void setStabPos();
/* 806E40D4 */ void Execute();
/* 806E434C */ void Draw();
/* 806E44F0 */ void Delete();
/* 806E4558 */ void setBaseMtx();
/* 806E4620 */ void CheckRoof();
/* 806E486C */ void CheckWall();
/* 806E4CCC */ void CreateStyle();
/* 806E4E64 */ void Create();
private:
/* 0x5ac */ u8 field_0x5ac[0xa88 - 0x5ac];
};
STATIC_ASSERT(sizeof(daE_HM_c) == 0xa88);
class daE_HM_HIO_c {
/* 806E03EC */ daE_HM_HIO_c();
/* 806E53F8 */ ~daE_HM_HIO_c();
};
#endif /* D_A_E_HM_H */

View File

@ -2,5 +2,50 @@
#define D_A_E_HP_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class daE_HP_c
* @brief Huge Poe?
*
* @details
*
*/
class daE_HP_c : public fopEn_enemy_c {
/* 806E5E30 */ void ctrlJoint(J3DJoint*, J3DModel*);
/* 806E5ED0 */ void JointCallBack(J3DJoint*, int);
/* 806E5F1C */ void LampCtrlJoint(J3DJoint*, J3DModel*);
/* 806E5FCC */ void LampJointCallBack(J3DJoint*, int);
/* 806E6018 */ void draw();
/* 806E6514 */ void setBck(int, u8, f32, f32);
/* 806E65C0 */ void setActionMode(int, int);
/* 806E65CC */ void mChkDistance(f32);
/* 806E673C */ void damage_check();
/* 806E6948 */ void executeWait();
/* 806E6C74 */ void executeMove();
/* 806E6ED8 */ void executeRetMove();
/* 806E7228 */ void executeAttack();
/* 806E7574 */ void executeDamage();
/* 806E77C0 */ void executeDown();
/* 806E7E94 */ void executeDead();
/* 806E814C */ void action();
/* 806E89C0 */ void mtx_set();
/* 806E8DE0 */ void cc_set();
/* 806E8FEC */ void execute();
/* 806E9198 */ void _delete();
/* 806E9240 */ void CreateHeap();
/* 806E951C */ void create();
/* 806E9900 */ daE_HP_c();
private:
/* 0x5ac */ u8 field_0x5ac[0xdfc - 0x5ac];
};
STATIC_ASSERT(sizeof(daE_HP_c) == 0xdfc);
class daE_HP_HIO_c {
/* 806E5DEC */ daE_HP_HIO_c();
/* 806E9D38 */ ~daE_HP_HIO_c();
};
#endif /* D_A_E_HP_H */

View File

@ -1,4 +1,67 @@
#ifndef D_A_E_HZ_H
#define D_A_E_HZ_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class daE_HZ_c
* @brief Tile Worm
*
* @details
*
*/
class daE_HZ_c : public fopEn_enemy_c {
/* 806EA690 */ void setBck(int, u8, f32, f32);
/* 806EA734 */ void checkBck(int);
/* 806EA790 */ void draw();
/* 806EAADC */ void setActionMode(int);
/* 806EAB68 */ void checkHideStart();
/* 806EAEDC */ void checkAttackStart();
/* 806EB05C */ void checkArrowCharge();
/* 806EB0A4 */ void setTgSetBit(int);
/* 806EB0FC */ void isWait();
/* 806EB13C */ void checkFall();
/* 806EB2E8 */ void setCloseSmokeEffect();
/* 806EB3EC */ void executeWait();
/* 806EB7B0 */ void getHideSpeed();
/* 806EB818 */ void executeHide();
/* 806EBD44 */ void executeAttack();
/* 806EC068 */ void initBackWalk();
/* 806EC348 */ void executeAway();
/* 806ECAEC */ void setWindEnd();
/* 806ECB64 */ void executeWind();
/* 806ED5B0 */ void executeChance();
/* 806ED6C8 */ void initRollDamage();
/* 806ED7A8 */ void doRollDamage();
/* 806ED8A4 */ void executeDamage();
/* 806EDAA8 */ void executeDeath();
/* 806EDDCC */ void setWindChanceEnd();
/* 806EDDE8 */ void executeWindChance();
/* 806EE120 */ void executeWindWalk();
/* 806EE2A4 */ void setWaterEffect();
/* 806EE3BC */ void executeWaterDeath();
/* 806EE820 */ void executeDeathWait();
/* 806EE978 */ void damage_check();
/* 806EEE10 */ void 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();
/* 806EFB54 */ void setInitPos();
/* 806EFC18 */ void create();
private:
/* 0x5ac */ u8 field_0x5ac[0x1238 - 0x5ac];
};
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 */

View File

@ -1,4 +1,26 @@
#ifndef D_A_E_HZELDA_H
#define D_A_E_HZELDA_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_hzelda_class
* @brief Puppet Zelda
*
* @details
*
*/
class e_hzelda_class : public fopEn_enemy_c {
/* 806F4E48 */ e_hzelda_class();
private:
/* 0x5ac */ u8 field_0x5ac[0x1460 - 0x5ac];
};
STATIC_ASSERT(sizeof(e_hzelda_class) == 0x1460);
class daE_HZELDA_HIO_c {
/* 806F0D4C */ daE_HZELDA_HIO_c();
/* 806F546C */ ~daE_HZELDA_HIO_c();
};
#endif /* D_A_E_HZELDA_H */

View File

@ -1,4 +1,26 @@
#ifndef D_A_E_IS_H
#define D_A_E_IS_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_is_class
* @brief Armos Titan
*
* @details Armos Titans are enemies from early, unreleased versions of the game.
*
*/
class e_is_class : public fopEn_enemy_c {
/* 806F76B4 */ e_is_class();
private:
/* 0x5ac */ u8 field_0x5ac[0xcf8 - 0x5ac];
};
STATIC_ASSERT(sizeof(e_is_class) == 0xcf8);
class daE_IS_HIO_c {
/* 806F5A4C */ daE_IS_HIO_c();
/* 806F7AC4 */ ~daE_IS_HIO_c();
};
#endif /* D_A_E_IS_H */

View File

@ -1,4 +1,25 @@
#ifndef D_A_E_KG_H
#define D_A_E_KG_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_kg_class
* @brief Young Gohma
*
* @details
*
*/
class e_kg_class : public fopEn_enemy_c {
private:
/* 0x5ac */ u8 field_0x5ac[0xa74 - 0x5ac];
};
STATIC_ASSERT(sizeof(e_kg_class) == 0xa74);
class daE_KG_HIO_c {
/* 806F7EEC */ daE_KG_HIO_c();
/* 806F9EE8 */ ~daE_KG_HIO_c();
};
#endif /* D_A_E_KG_H */

View File

@ -2,5 +2,56 @@
#define D_A_E_KK_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class daE_KK_c
* @brief Chilfos
*
* @details
*
*/
class daE_KK_c : public fopEn_enemy_c {
/* 806FA75C */ void ctrlJoint(J3DJoint*, J3DModel*);
/* 806FA7FC */ void JointCallBack(J3DJoint*, int);
/* 806FA848 */ void draw();
/* 806FAA68 */ void setBck(int, u8, f32, f32);
/* 806FAB14 */ void setWeaponBck(int, u8, f32, f32);
/* 806FABC0 */ void mCutTypeCheck(int);
/* 806FAC80 */ void setActionMode(int, int);
/* 806FAC8C */ void damage_check();
/* 806FB2EC */ void nextActionCheck();
/* 806FB4F4 */ void way_gake_check();
/* 806FB6C0 */ void mDeadEffSet(cXyz&);
/* 806FB7D8 */ void executeWait();
/* 806FB908 */ void executeIcicleWait();
/* 806FBB1C */ void executeWalk();
/* 806FBE98 */ void executeSpearThrow();
/* 806FC370 */ void executeBackWalk();
/* 806FC75C */ void executeYoroke();
/* 806FC8F4 */ void executeGuard();
/* 806FCA28 */ void executeDamage();
/* 806FCC34 */ void executeAttack();
/* 806FD068 */ void executeDead();
/* 806FD294 */ void executeWeaponMove();
/* 806FD930 */ void action();
/* 806FDD0C */ void mtx_set();
/* 806FDF0C */ void weapon_mtx_set();
/* 806FE0B8 */ void cc_set();
/* 806FE2A8 */ void execute();
/* 806FE3E0 */ void _delete();
/* 806FE480 */ void CreateHeap();
/* 806FE6B8 */ void create();
private:
/* 0x5ac */ u8 field_0x5ac[0x13d4 - 0x5ac];
};
STATIC_ASSERT(sizeof(daE_KK_c) == 0x13d4);
class daE_KK_HIO_c {
/* 806FA70C */ daE_KK_HIO_c();
/* 806FF0F0 */ ~daE_KK_HIO_c();
};
#endif /* D_A_E_KK_H */

View File

@ -1,4 +1,25 @@
#ifndef D_A_E_KR_H
#define D_A_E_KR_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_kr_class
* @brief Kargorok
*
* @details
*
*/
class e_kr_class : public fopEn_enemy_c {
/* 80705004 */ e_kr_class();
private:
/* 0x5ac */ u8 field_0x5ac[0xf08 - 0x5ac];
};
STATIC_ASSERT(sizeof(e_kr_class) == 0xf08);
class e_krHIO_c {
/* 80705574 */ ~e_krHIO_c();
};
#endif /* D_A_E_KR_H */

View File

@ -1,4 +1,25 @@
#ifndef D_A_E_MB_H
#define D_A_E_MB_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_mb_class
* @brief Ook (Diababa Fight)
*
* @details
*
*/
class e_mb_class : public fopEn_enemy_c {
private:
/* 0x5ac */ u8 field_0x5ac[0x8cc - 0x5ac];
};
STATIC_ASSERT(sizeof(e_mb_class) == 0x8cc);
class daE_MB_HIO_c {
/* 8070616C */ daE_MB_HIO_c();
/* 8070882C */ ~daE_MB_HIO_c();
};
#endif /* D_A_E_MB_H */

View File

@ -1,4 +1,35 @@
#ifndef D_A_E_MD_H
#define D_A_E_MD_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class daE_MD_c
* @brief Suit of Armor
*
* @details
*
*/
class daE_MD_c : public fopEn_enemy_c {
/* 80708DF8 */ void initCcCylinder();
/* 80708E70 */ void setCcCylinder(f32);
/* 807091F0 */ void SetAnm(mDoExt_McaMorfSO*, int, int, f32, f32);
/* 807092C8 */ void At_Check();
/* 80709378 */ void CheckHit();
/* 8070992C */ void WaitAction();
/* 8070994C */ void HalfBreakAction();
/* 80709A04 */ void VibAction();
/* 80709ABC */ void DummyAction();
/* 80709BB4 */ void RealAction();
/* 80709C3C */ void Action();
/* 80709CFC */ void Execute();
/* 80709D58 */ void Delete();
/* 80709DA8 */ void setBaseMtx();
/* 8070A044 */ void create();
private:
/* 0x5ac */ u8 field_0x5ac[0xa50 - 0x5ac];
};
STATIC_ASSERT(sizeof(daE_MD_c) == 0xa50);
#endif /* D_A_E_MD_H */

View File

@ -1,4 +1,26 @@
#ifndef D_A_E_MF_H
#define D_A_E_MF_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_mf_class
* @brief Dynalfos
*
* @details
*
*/
class e_mf_class : public fopEn_enemy_c {
/* 80712F20 */ e_mf_class();
private:
/* 0x5ac */ u8 field_0x5ac[0x10ec - 0x5ac];
};
STATIC_ASSERT(sizeof(e_mf_class) == 0x10ec);
class daE_MF_HIO_c {
/* 8070A70C */ daE_MF_HIO_c();
/* 80713464 */ ~daE_MF_HIO_c();
};
#endif /* D_A_E_MF_H */

View File

@ -1,4 +1,26 @@
#ifndef D_A_E_MK_H
#define D_A_E_MK_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_mk_class
* @brief Ook
*
* @details
*
*/
class e_mk_class : public fopEn_enemy_c {
/* 8071C190 */ e_mk_class();
private:
/* 0x5ac */ u8 field_0x5ac[0xcf8 - 0x5ac];
};
STATIC_ASSERT(sizeof(e_mk_class) == 0xcf8);
class daE_MK_HIO_c {
/* 8071412C */ daE_MK_HIO_c();
/* 8071C3EC */ ~daE_MK_HIO_c();
};
#endif /* D_A_E_MK_H */

View File

@ -1,4 +1,20 @@
#ifndef D_A_E_MK_BO_H
#define D_A_E_MK_BO_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_mk_bo_class
* @brief Ook?
*
* @details
*
*/
class e_mk_bo_class : public fopEn_enemy_c {
private:
/* 0x5ac */ u8 field_0x5ac[0x9c0 - 0x5ac];
};
STATIC_ASSERT(sizeof(e_mk_bo_class) == 0x9c0);
#endif /* D_A_E_MK_BO_H */

View File

@ -1,4 +1,25 @@
#ifndef D_A_E_MM_H
#define D_A_E_MM_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_mm_class
* @brief Helmasaur
*
* @details
*
*/
class e_mm_class : public fopEn_enemy_c {
private:
/* 0x5ac */ u8 field_0x5ac[0xc1c - 0x5ac];
};
STATIC_ASSERT(sizeof(e_mm_class) == 0xc1c);
class daE_MM_HIO_c {
/* 8071F9CC */ daE_MM_HIO_c();
/* 80722780 */ ~daE_MM_HIO_c();
};
#endif /* D_A_E_MM_H */

View File

@ -1,4 +1,20 @@
#ifndef D_A_E_MM_MT_H
#define D_A_E_MM_MT_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_mm_mt_class
* @brief Helmasaur Shell
*
* @details
*
*/
class e_mm_mt_class : public fopEn_enemy_c {
private:
/* 0x5ac */ u8 field_0x5ac[0xba4 - 0x5ac];
};
STATIC_ASSERT(sizeof(e_mm_mt_class) == 0xba4);
#endif /* D_A_E_MM_MT_H */

View File

@ -1,4 +1,25 @@
#ifndef D_A_E_MS_H
#define D_A_E_MS_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_ms_class
* @brief Rat
*
* @details
*
*/
class e_ms_class : public fopEn_enemy_c {
private:
/* 0x5ac */ u8 field_0x5ac[0xbbc - 0x5ac];
};
STATIC_ASSERT(sizeof(e_ms_class) == 0xbbc);
class daE_MS_HIO_c {
/* 80725B8C */ daE_MS_HIO_c();
/* 8072900C */ ~daE_MS_HIO_c();
};
#endif /* D_A_E_MS_H */

View File

@ -30,14 +30,16 @@ struct nest_hahen_s {
/* 0x53 */ bool mActive;
/* 0x54 */ u8 mTimer;
};
STATIC_ASSERT(sizeof(nest_hahen_s) == 0x58);
/**
* @ingroup actors-enemies
* @brief Beehive
*
*/
* @ingroup actors-enemies
* @class e_nest_class
* @brief Beehive
*
* @details
*
*/
class e_nest_class : public fopAc_ac_c {
public:
enum Type {
@ -104,7 +106,6 @@ public:
/* 0xCF0 */ f32 mDemoCameraFovY;
/* 0xCF4 */ bool mHIOInit;
};
STATIC_ASSERT(sizeof(e_nest_class) == 0xCF8);
class daE_Nest_HIO_c {
@ -115,7 +116,6 @@ public:
/* 0x4 */ s8 field_0x4;
/* 0x8 */ f32 mScale;
};
STATIC_ASSERT(sizeof(daE_Nest_HIO_c) == 0xC);
#endif /* D_A_E_NEST_H */

View File

@ -1,4 +1,25 @@
#ifndef D_A_E_NZ_H
#define D_A_E_NZ_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_nz_class
* @brief Ghoul Rat
*
* @details
*
*/
class e_nz_class : public fopEn_enemy_c {
private:
/* 0x5ac */ u8 field_0x5ac[0xa88 - 0x5ac];
};
STATIC_ASSERT(sizeof(e_nz_class) == 0xa88);
class daE_NZ_HIO_c {
/* 807299EC */ daE_NZ_HIO_c();
/* 8072BC88 */ ~daE_NZ_HIO_c();
};
#endif /* D_A_E_NZ_H */

View File

@ -2,5 +2,96 @@
#define D_A_E_OC_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class daE_OC_c
* @brief Bokoblin
*
* @details
*
*/
class daE_OC_c : public fopEn_enemy_c {
/* 8072C630 */ void ctrlJoint(J3DJoint*, J3DModel*);
/* 8072C6E8 */ void JointCallBack(J3DJoint*, int);
/* 8072C734 */ void draw();
/* 8072CBD4 */ void getVisionAngle(fopAc_ac_c*);
/* 8072CC10 */ void searchOtherOc();
/* 8072CDA8 */ void setWatchMode();
/* 8072CE00 */ void searchPlayer();
/* 8072CF90 */ void searchPlayer2();
/* 8072D100 */ void searchPlayerShakeHead();
/* 8072D1DC */ void searchSound();
/* 8072D364 */ void checkBeforeBg();
/* 8072D640 */ void checkBeforeBgFind();
/* 8072D87C */ void checkBeforeFloorBg(f32);
/* 8072D994 */ void checkDamageBg();
/* 8072DB10 */ void setGroundAngle();
/* 8072DCBC */ void setActionMode(int, int);
/* 8072DD18 */ void getCutType();
/* 8072DD8C */ void offTgSph();
/* 8072DDF4 */ void damage_check();
/* 8072E274 */ void setBck(int, u8, f32, f32);
/* 8072E31C */ void checkBck(int);
/* 8072E37C */ void setSpitEffect();
/* 8072E42C */ void getHeadAngle();
/* 8072E498 */ void setStabPos();
/* 8072E528 */ void setWaitSound();
/* 8072E5A4 */ void setWalkSound();
/* 8072E670 */ void setWalkStSound();
/* 8072E788 */ void setDashSound();
/* 8072E910 */ void setWaitStSound();
/* 8072EA58 */ void setFootNoteSound();
/* 8072EAA4 */ void executeWait();
/* 8072F1A8 */ void executeWalk();
/* 8072F5E0 */ void executeTalk();
/* 8072F914 */ void executeFind();
/* 807302E8 */ void setWeaponGroundAngle();
/* 807305C0 */ void executeAttack();
/* 80730DC0 */ void executeDamage();
/* 80731124 */ void executeBigDamage();
/* 807316F8 */ void executeWatch();
/* 807319E4 */ void executeSoundWatch();
/* 80731D18 */ void checkBeforeDeath();
/* 80731D4C */ void executeDeath();
/* 80731F5C */ void setWaterEffect();
/* 80732074 */ void executeWaterDeath();
/* 807323A4 */ void executeDemoMaster();
/* 80732B04 */ void executeDemoChild();
/* 80732E64 */ void checkFall();
/* 8073301C */ void executeFallDead();
/* 807331CC */ void executeFall();
/* 8073332C */ void executeFindStay();
/* 807335B4 */ void executeMoveOut();
/* 80733E48 */ void checkWaterSurface();
/* 80733F20 */ void action();
/* 807345D8 */ void mtx_set();
/* 80734698 */ void cc_set();
/* 807348DC */ void execute();
/* 80734B6C */ void _delete();
/* 80734C10 */ void CreateHeap();
/* 80734DA8 */ void create();
private:
/* 0x5ac */ u8 field_0x5ac[0xe88 - 0x5ac];
};
STATIC_ASSERT(sizeof(daE_OC_c) == 0xe88);
class daE_OC_HIO_c {
/* 8072C5CC */ daE_OC_HIO_c();
/* 80735630 */ ~daE_OC_HIO_c();
};
struct E_OC_n {
static u8 const oc_attackb_trans[40];
static u8 const oc_attackc_trans[40];
static u8 cc_sph_src[64];
static u8 at_sph_src[64];
static u8 m_battle_oc[4];
static u8 m_damage_oc[4];
static u8 m_death_oc[4];
static u8 m_talk_oc[4];
};
#endif /* D_A_E_OC_H */

View File

@ -10,11 +10,15 @@
#include "SSystem/SComponent/c_phase.h"
/**
* @ingroup actors-enemies
* @brief Morpheel Bomb Fish
*
*/
struct daE_OctBg_c : public fopEn_enemy_c {
* @ingroup actors-enemies
* @class daE_OctBg_c
* @brief Morpheel Bomb Fish
*
* @details
*
*/
class daE_OctBg_c : public fopEn_enemy_c {
public:
typedef void (daE_OctBg_c::*actionFunc)();
/* 8073626C */ void setAction(actionFunc);
@ -50,6 +54,7 @@ struct daE_OctBg_c : public fopEn_enemy_c {
u32 checkAction(actionFunc func) { return field_0xb58 == func; }
bool checkNormalAttk() { return checkAction(&daE_OctBg_c::normal_attack); }
private:
/* 0x5AC */ request_of_phase_process_class mPhase;
/* 0x5B4 */ mDoExt_McaMorfSO* field_0x5b4;
/* 0x5B8 */ mDoExt_brkAnm* field_0x5b8;
@ -88,10 +93,11 @@ struct daE_OctBg_c : public fopEn_enemy_c {
/* 0xBB0 */ u16 field_0xbb0;
/* 0xBB2 */ u8 field_0xbb2;
/* 0xBB3 */ u8 field_0xbb3;
};
STATIC_ASSERT(sizeof(daE_OctBg_c) == 0xBB4);
struct daE_OctBg_HIO_c {
class daE_OctBg_HIO_c {
public:
/* 8073620C */ daE_OctBg_HIO_c();
/* 80739CB8 */ virtual ~daE_OctBg_HIO_c() {}

View File

@ -2,5 +2,47 @@
#define D_A_E_OT_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
#endif /* D_A_E_OT_H */
/**
* @ingroup actors-enemies
* @class daE_OT_c
* @brief ???
*
* @details
*
*/
class daE_OT_c : public fopEn_enemy_c {
/* 8073A314 */ void draw();
/* 8073A454 */ void setBck(int, u8, f32, f32);
/* 8073A4F8 */ void setActionMode(int, int);
/* 8073A510 */ void damage_check();
/* 8073A7B0 */ void checkWaterSurface();
/* 8073A838 */ void setWaterEffect();
/* 8073A99C */ void setEggBreakEffect();
/* 8073AA40 */ void setDeathLightEffect();
/* 8073AB38 */ void setEggStay();
/* 8073AC14 */ void executeEgg();
/* 8073AF70 */ void executeBorn();
/* 8073B0D0 */ void executeAttack();
/* 8073B428 */ void executePanic();
/* 8073B854 */ void executeDamage();
/* 8073BB9C */ void action();
/* 8073BD78 */ void mtx_set();
/* 8073BE10 */ void cc_set();
/* 8073BF84 */ void execute();
/* 8073C058 */ void _delete();
/* 8073C0EC */ void CreateHeap();
/* 8073C31C */ void create();
private:
/* 0x5ac */ u8 field_0x5ac[0xb98 - 0x5ac];
};
STATIC_ASSERT(sizeof(daE_OT_c) == 0xb98);
class daE_OT_HIO_c {
/* 8073A2CC */ daE_OT_HIO_c();
/* 8073C9B0 */ ~daE_OT_HIO_c();
};
#endif /* D_A_E_OT_H */

View File

@ -3,17 +3,20 @@
#include "SSystem/SComponent/c_phase.h"
#include "Z2AudioLib/Z2Creature.h"
#include "f_op/f_op_actor.h"
#include "f_op/f_op_actor_mng.h"
#include "d/bg/d_bg_s_acch.h"
#include "d/cc/d_cc_d.h"
#include "d/cc/d_cc_uty.h"
#include "d/d_path.h"
/**
* @ingroup actors-enemies
* @brief Peahat
*
*/
* @ingroup actors-enemies
* @class daE_PH_c
* @brief Peahat
*
* @details
*
*/
class daE_PH_c : public fopEn_enemy_c {
public:
/* 8073D48C */ void initCcSph();
@ -118,4 +121,18 @@ public:
/* 0xAD0 */ u8 mInitializedHIO;
};
class daE_PH_HIO_c {
public:
/* 8073D44C */ daE_PH_HIO_c();
/* 80741B4C */ virtual ~daE_PH_HIO_c() {}
/* 0x04 */ s8 field_0x4;
/* 0x08 */ f32 mHangPos;
/* 0x0C */ f32 mStopTime;
/* 0x10 */ f32 mSpeed;
/* 0x14 */ f32 mRotationInterpolation;
/* 0x18 */ f32 mRotationYInterpolation;
};
#endif /* D_A_E_PH_H */

View File

@ -1,11 +1,16 @@
#ifndef D_A_E_PM_H
#define D_A_E_PM_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @brief Skull Kid
*
*/
* @ingroup actors-enemies
* @class daE_PM_c
* @brief Skullkid
*
* @details
*
*/
class daE_PM_c : public fopEn_enemy_c {
public:
/* 80741FB4 */ void DemoSkip(int);
@ -68,8 +73,17 @@ public:
void AppearSet() { mAppear = true; }
private:
/* 0x5AC */ u8 field_0x5ac[0x619 - 0x5AC];
/* 0x619 */ bool mAppear;
/* 0x61A */ u8 field_0x61a[0xb7c - 0x61a];
};
STATIC_ASSERT(sizeof(daE_PM_c) == 0xb7c);
class daE_PM_HIO_c {
/* 80741EEC */ daE_PM_HIO_c();
/* 8074BA68 */ ~daE_PM_HIO_c();
};
#endif /* D_A_E_PM_H */

View File

@ -1,4 +1,26 @@
#ifndef D_A_E_PO_H
#define D_A_E_PO_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_po_class
* @brief Poe
*
* @details
*
*/
class e_po_class : public fopEn_enemy_c {
/* 80756900 */ e_po_class();
private:
/* 0x5ac */ u8 field_0x5ac[0xee0 - 0x5ac];
};
STATIC_ASSERT(sizeof(e_po_class) == 0xee0);
class daE_PO_HIO_c {
/* 8074C54C */ daE_PO_HIO_c();
/* 80756DE8 */ ~daE_PO_HIO_c();
};
#endif /* D_A_E_PO_H */

View File

@ -2,8 +2,17 @@
#define D_A_E_PZ_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
struct daE_PZ_c {
/**
* @ingroup actors-enemies
* @class daE_PZ_c
* @brief Phantom Zant
*
* @details
*
*/
class daE_PZ_c : public fopEn_enemy_c {
void onBombArrowHit() { field_0x845 = 1; }
/* 807585BC */ void draw();
@ -35,8 +44,17 @@ struct daE_PZ_c {
/* 8076010C */ void create();
/* 807607EC */ daE_PZ_c();
/* 0x000 */ u8 base[0x845];
private:
/* 0x5AC */ u8 field_0x5ac[0x845 - 0x5ac];
/* 0x845 */ u8 field_0x845;
/* 0x846 */ u8 field_0x846[0xef8 - 0x846];
};
STATIC_ASSERT(sizeof(daE_PZ_c) == 0xEF8);
class daE_PZ_HIO_c {
/* 8075856C */ daE_PZ_HIO_c();
/* 80760C60 */ ~daE_PZ_HIO_c();
};
#endif /* D_A_E_PZ_H */

View File

@ -1,4 +1,25 @@
#ifndef D_A_E_RB_H
#define D_A_E_RB_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_rb_class
* @brief Leever
*
* @details
*
*/
class e_rb_class : public fopEn_enemy_c {
private:
/* 0x5ac */ u8 field_0x5ac[0xa6c - 0x5ac];
};
STATIC_ASSERT(sizeof(e_rb_class) == 0xa6c);
class daE_RB_HIO_c {
/* 8076238C */ daE_RB_HIO_c();
/* 80764838 */ ~daE_RB_HIO_c();
};
#endif /* D_A_E_RB_H */

View File

@ -1,4 +1,26 @@
#ifndef D_A_E_RD_H
#define D_A_E_RD_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_rd_class
* @brief Bulblin
*
* @details
*
*/
class e_rd_class : public fopEn_enemy_c {
/* 80517AE0 */ e_rd_class();
private:
/* 0x5ac */ u8 field_0x5ac[0x1368 - 0x5ac];
};
STATIC_ASSERT(sizeof(e_rd_class) == 0x1368);
class daE_RD_HIO_c {
/* 80504A6C */ daE_RD_HIO_c();
/* 8051801C */ ~daE_RD_HIO_c();
};
#endif /* D_A_E_RD_H */

View File

@ -1,4 +1,26 @@
#ifndef D_A_E_RDB_H
#define D_A_E_RDB_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_rdb_class
* @brief King Bulblin
*
* @details
*
*/
class e_rdb_class : public fopEn_enemy_c {
/* 8076AA0C */ e_rdb_class();
private:
/* 0x5ac */ u8 field_0x5ac[0x1154 - 0x5ac];
};
STATIC_ASSERT(sizeof(e_rdb_class) == 0x1154);
class daE_RDB_HIO_c {
/* 807650CC */ daE_RDB_HIO_c();
/* 8076AF64 */ ~daE_RDB_HIO_c();
};
#endif /* D_A_E_RDB_H */

View File

@ -1,8 +1,16 @@
#ifndef D_A_E_RDY_H
#define D_A_E_RDY_H
#include "f_op/f_op_actor.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_rdy_class
* @brief Shadow Bulblin
*
* @details
*
*/
class e_rdy_class : public fopEn_enemy_c {
public:
/* 80779340 */ e_rdy_class();
@ -14,7 +22,12 @@ public:
/* 0x1372 */ s16 field_0x1372;
/* 0x1374 */ u8 field_0x1374[0x142c - 0x1374];
};
STATIC_ASSERT(sizeof(e_rdy_class) == 0x142C);
class daE_RDY_HIO_c {
/* 8076BDCC */ daE_RDY_HIO_c();
/* 80779880 */ ~daE_RDY_HIO_c();
};
#endif /* D_A_E_RDY_H */

View File

@ -1,4 +1,31 @@
#ifndef D_A_E_S1_H
#define D_A_E_S1_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_s1_class
* @brief Shadow Beast
*
* @details
*
*/
class e_s1_class : public fopEn_enemy_c {
private:
/* 0x5ac */ u8 field_0x5ac[0x3084 - 0x5ac];
};
STATIC_ASSERT(sizeof(e_s1_class) == 0x3084);
class daE_S1_HIO_c {
/* 8077AB8C */ daE_S1_HIO_c();
/* 80780840 */ ~daE_S1_HIO_c();
};
struct s1_ke_s {
/* 807803F4 */ ~s1_ke_s();
/* 80780470 */ s1_ke_s();
};
#endif /* D_A_E_S1_H */

View File

@ -1,4 +1,67 @@
#ifndef D_A_E_SB_H
#define D_A_E_SB_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class daE_SB_c
* @brief Shell Blade
*
* @details
*
*/
class daE_SB_c : public fopEn_enemy_c {
/* 807816D8 */ void CreateHeap();
/* 807817F0 */ void initCcCylinder();
/* 80781850 */ void setCcCylinder();
/* 80781898 */ void ctrlJoint(J3DJoint*, J3DModel*);
/* 807819DC */ void Particle_Set(u16);
/* 80781A4C */ void SetAnm(int, int, f32, f32);
/* 80781AF8 */ void MemberClear();
/* 80781DD4 */ void Shield_Motion();
/* 80781F30 */ void AttackStop();
/* 80781F80 */ void AttackSetSP();
/* 80782180 */ void AttackAngle();
/* 80782264 */ void AttackSpeedMotion();
/* 807822B8 */ void Attack_Motion();
/* 80782650 */ void Bomb_Death_Motion();
/* 80782714 */ void BombJumpSet();
/* 8078273C */ void GetHomeSet();
/* 8078294C */ void HomeJumpMotion();
/* 807829E8 */ void Jump_Normal_Set();
/* 80782B7C */ void Jump_Set();
/* 80782BD4 */ void JumpMiddleMotion();
/* 80782CC8 */ void Jump_Motion();
/* 80782E90 */ void Death_Motion();
/* 80782ED4 */ void Hanekaeri();
/* 80782EF4 */ void Hit();
/* 80782F10 */ void ActionCheck();
/* 80783010 */ void Search();
/* 80783404 */ void Wait_Motion();
/* 807834FC */ void Attack();
/* 807835A0 */ void Shield();
/* 80783678 */ void Anm_Motion();
/* 80783854 */ void Search_Bomb();
/* 80783914 */ void ChanceMotion();
/* 80783A9C */ void NoChanceMotion();
/* 80783B4C */ void Obj_Damage();
/* 80783FBC */ void HashiraVib();
/* 80784144 */ void Yazirushi();
/* 807841CC */ void setGroundAngle();
/* 80784390 */ void Execute();
/* 807844BC */ void Draw();
/* 807845D8 */ void Delete();
/* 80784640 */ void setBaseMtx();
/* 80784720 */ void Create();
private:
/* 0x5ac */ u8 field_0x5ac[0xbc0 - 0x5ac];
};
STATIC_ASSERT(sizeof(daE_SB_c) == 0xbc0);
class daE_SB_HIO_c {
/* 8078164C */ daE_SB_HIO_c();
/* 80784CC0 */ ~daE_SB_HIO_c();
};
#endif /* D_A_E_SB_H */

View File

@ -1,4 +1,25 @@
#ifndef D_A_E_SF_H
#define D_A_E_SF_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_sf_class
* @brief Stalfos
*
* @details
*
*/
class e_sf_class : public fopEn_enemy_c {
private:
/* 0x5ac */ u8 field_0x5ac[0x1000 - 0x5ac];
};
STATIC_ASSERT(sizeof(e_sf_class) == 0x1000);
class daE_SF_HIO_c {
/* 8078512C */ daE_SF_HIO_c();
/* 8078977C */ ~daE_SF_HIO_c();
};
#endif /* D_A_E_SF_H */

View File

@ -1,4 +1,25 @@
#ifndef D_A_E_SG_H
#define D_A_E_SG_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_sg_class
* @brief Skullfish
*
* @details
*
*/
class e_sg_class : public fopEn_enemy_c {
private:
/* 0x5ac */ u8 field_0x5ac[0xab0 - 0x5ac];
};
STATIC_ASSERT(sizeof(e_sg_class) == 0xab0);
class daE_SG_HIO_c {
/* 8078A22C */ daE_SG_HIO_c();
/* 8078DC84 */ ~daE_SG_HIO_c();
};
#endif /* D_A_E_SG_H */

View File

@ -1,4 +1,25 @@
#ifndef D_A_E_SH_H
#define D_A_E_SH_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_sh_class
* @brief Stalhound
*
* @details
*
*/
class e_sh_class : public fopEn_enemy_c {
private:
/* 0x5ac */ u8 field_0x5ac[0xd0c - 0x5ac];
};
STATIC_ASSERT(sizeof(e_sh_class) == 0xd0c);
class daE_SH_HIO_c {
/* 8078E34C */ daE_SH_HIO_c();
/* 807918B4 */ ~daE_SH_HIO_c();
};
#endif /* D_A_E_SH_H */

View File

@ -1,4 +1,65 @@
#ifndef D_A_E_SM_H
#define D_A_E_SM_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class daE_SM_c
* @brief ChuChu
*
* @details
*
*/
class daE_SM_c : public fopEn_enemy_c {
/* 80792260 */ void SetAnm(int, int, f32, f32);
/* 8079230C */ void Draw();
/* 807928A4 */ void Particle_Set(u16, cXyz, cXyz, csXyz);
/* 80792914 */ void ArrowCheck();
/* 80792C20 */ void E_SM_Damage();
/* 80792E70 */ void SmDamageCheck();
/* 807936B4 */ void E_SM_Normal();
/* 80793B64 */ void E_SM_Move();
/* 80793E18 */ void E_SM_Attack();
/* 80794100 */ void Action();
/* 80794338 */ void E_SM_C_Normal();
/* 807943C4 */ void E_SM_C_Fight();
/* 80794458 */ void E_SM_C_Near_Escape();
/* 8079473C */ void E_SM_C_Far_Escape();
/* 807949CC */ void E_SM_C_Home_Escape();
/* 807951EC */ void E_SM_C_Escape();
/* 80795244 */ void E_SM_C_Free();
/* 80795530 */ void E_SM_C_Death();
/* 807958A0 */ void C_DamageCheck();
/* 80795E64 */ void E_SM_C_Hook();
/* 80796060 */ void CheckViewArea();
/* 807960E4 */ void CameraSet();
/* 80796204 */ void SetStopCam(cXyz, f32, f32, s16);
/* 80796324 */ void SetCMoveCam(cXyz, f32, f32);
/* 80796368 */ void SetStopingCam();
/* 807963EC */ void SetReleaseCam();
/* 80796490 */ void DemoStart();
/* 80796628 */ void DemoMid();
/* 807968A0 */ void E_SM_C_Demo();
/* 807968E4 */ void CoreAction();
/* 80796AEC */ void ArrowOn();
/* 80796D80 */ void Execute();
/* 80796FC4 */ void setSmBaseMtx();
/* 80797274 */ void setBaseMtx();
/* 8079730C */ void CoCoreSet();
/* 80797444 */ void CoSmSet();
/* 80797570 */ void Delete();
/* 8079764C */ void CreateHeap();
/* 80797784 */ void initCoSph();
/* 80797858 */ void Create();
/* 80797CE0 */ daE_SM_c();
private:
/* 0x5ac */ u8 field_0x5ac[0x1160 - 0x5ac];
};
STATIC_ASSERT(sizeof(daE_SM_c) == 0x1160);
class daE_Sm_HIO_c {
/* 8079222C */ daE_Sm_HIO_c();
/* 807980E8 */ ~daE_Sm_HIO_c();
};
#endif /* D_A_E_SM_H */

View File

@ -1,17 +1,25 @@
#ifndef D_A_E_SM2_H
#define D_A_E_SM2_H
#include "f_op/f_op_actor_mng.h"
#include "Z2AudioLib/Z2Creature.h"
#include "d/bg/d_bg_s_acch.h"
#include "d/cc/d_cc_d.h"
#include "d/cc/d_cc_uty.h"
/**
* @ingroup actors-enemies
* @brief Chuchu 2
*
*/
* @ingroup actors-enemies
* @class e_sm2_class
* @brief Chuchu 2
*
* @details
*
*/
class e_sm2_class : public fopEn_enemy_c {
public:
bool checkYellow() { return field_0x5b7 == 3; }
private:
/* 0x5AC */ request_of_phase_process_class mPhase;
/* 0x5B4 */ u8 field_0x5b4;
/* 0x5B5 */ u8 field_0x5B5[0x5B7 - 0x5B5];
@ -83,6 +91,14 @@ public:
/* 0xFD4 */ u8 field_0xfd4;
/* 0xFD5 */ u8 field_0xFD5[0xFD8 - 0xFD5];
/* 0xFD8 */ u32 field_0xfd8;
/* 0xFDC */ u8 field_0xfdc[0xFF0 - 0xFDC];
};
STATIC_ASSERT(sizeof(e_sm2_class) == 0xff0);
class daE_SM2_HIO_c {
/* 80798B4C */ daE_SM2_HIO_c();
/* 8079CE94 */ ~daE_SM2_HIO_c();
};
#endif /* D_A_E_SM2_H */

View File

@ -1,4 +1,30 @@
#ifndef D_A_E_ST_H
#define D_A_E_ST_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_st_class
* @brief Skulltula
*
* @details
*
*/
class e_st_class : public fopEn_enemy_c {
/* 807A5CF4 */ e_st_class();
private:
/* 0x5ac */ u8 field_0x5ac[0x1068 - 0x5ac];
};
STATIC_ASSERT(sizeof(e_st_class) == 0x1068);
class daE_ST_HIO_c {
/* 8079DDEC */ daE_ST_HIO_c();
/* 807A61FC */ ~daE_ST_HIO_c();
};
struct st_foot {
/* 807A5F5C */ ~st_foot();
/* 807A5F98 */ st_foot();
};
#endif /* D_A_E_ST_H */

View File

@ -4,10 +4,13 @@
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @brief Skulltula
*
*/
* @ingroup actors-enemies
* @class e_st_line_class
* @brief Skulltula Web Line
*
* @details
*
*/
class e_st_line_class : public fopEn_enemy_c {
public:
/* 0x5AC */ request_of_phase_process_class mPhase;

View File

@ -2,5 +2,82 @@
#define D_A_E_SW_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class daE_SW_c
* @brief Moldorm
*
* @details
*
*/
class daE_SW_c : public fopEn_enemy_c {
/* 807A7460 */ void bckSet(int, f32, u8, f32);
/* 807A7504 */ void draw();
/* 807A76E4 */ void setBeforeJumpEffect();
/* 807A77CC */ void setJumpEffect();
/* 807A78B4 */ void setSmokeEffect();
/* 807A7A08 */ void setDiveEffect();
/* 807A7AC0 */ void setHideEffect();
/* 807A7B64 */ void setActionMode(s16, s16);
/* 807A7C50 */ void search_bomb();
/* 807A7CD0 */ void bomb_check();
/* 807A7D48 */ void setModeBack();
/* 807A7DAC */ void checkFall();
/* 807A7EFC */ void checkBeforeWall();
/* 807A7F88 */ void executeWait();
/* 807A8290 */ void checkRunChase();
/* 807A831C */ void executeChaseSlow();
/* 807A8B98 */ void executeChaseFast();
/* 807A9580 */ void executeBomb();
/* 807A9768 */ void executeAttack();
/* 807A9E58 */ void executeHook();
/* 807AA050 */ void executeMoveOut();
/* 807AA44C */ void executeChance();
/* 807AA784 */ void executeDive();
/* 807AA91C */ void executeDamage();
/* 807AAB7C */ void executeDie();
/* 807AADCC */ void executeMaster();
/* 807AAF70 */ void checkSuddenAttack(int);
/* 807AB310 */ void executeSuddenAttack();
/* 807AB5C4 */ void executeFall();
/* 807AB6C4 */ void action();
/* 807AB884 */ void mtx_set();
/* 807AB930 */ void cc_set();
/* 807ABAB0 */ void damage_check();
/* 807ABD28 */ void checkGroundSand();
/* 807ABE50 */ void execute();
/* 807AC170 */ void _delete();
/* 807AC204 */ void CreateHeap();
/* 807AC31C */ void create();
/* 807ACA40 */ void d_setAction(void (daE_SW_c::*)());
/* 807ACAE4 */ void d_checkFall();
/* 807ACCB0 */ void d_damage_check();
/* 807ACFF8 */ void d_action();
/* 807AD10C */ void d_bomb_check();
/* 807AD17C */ void d_bm_chase();
/* 807AD4A8 */ void d_wait();
/* 807AD7C0 */ void d_chaseCheck();
/* 807ADA08 */ void d_chase();
/* 807ADE50 */ void d_attk();
/* 807AE4B4 */ void d_chance();
/* 807AE7F4 */ void d_chance2();
/* 807AE968 */ void d_dive();
/* 807AEB08 */ void d_damage();
/* 807AEE44 */ void d_die();
/* 807AF01C */ void d_hook();
/* 807AF4B4 */ void d_fall();
/* 807AF57C */ void d_execute();
private:
/* 0x5ac */ u8 field_0x5ac[0xb18 - 0x5ac];
};
STATIC_ASSERT(sizeof(daE_SW_c) == 0xb18);
class daE_SW_HIO_c {
/* 807A740C */ daE_SW_HIO_c();
/* 807AF870 */ ~daE_SW_HIO_c();
};
#endif /* D_A_E_SW_H */

View File

@ -1,4 +1,29 @@
#ifndef D_A_E_TH_H
#define D_A_E_TH_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_th_class
* @brief Darkhammer
*
* @details
*
*/
class e_th_class : public fopEn_enemy_c {
private:
/* 0x5ac */ u8 field_0x5ac[0x123c - 0x5ac];
};
STATIC_ASSERT(sizeof(e_th_class) == 0x123c);
class daE_TH_HIO_c {
/* 807B038C */ daE_TH_HIO_c();
/* 807B3FA4 */ ~daE_TH_HIO_c();
};
struct th_ke_s {
/* 807B3B58 */ ~th_ke_s();
/* 807B3BD4 */ th_ke_s();
};
#endif /* D_A_E_TH_H */

View File

@ -1,4 +1,21 @@
#ifndef D_A_E_TH_BALL_H
#define D_A_E_TH_BALL_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_th_ball_class
* @brief Darkhammer Ball and Chain
*
* @details
*
*/
class e_th_ball_class : public fopEn_enemy_c {
/* 807B7AA8 */ e_th_ball_class();
private:
/* 0x5ac */ u8 field_0x5ac[0x1a90 - 0x5ac];
};
STATIC_ASSERT(sizeof(e_th_ball_class) == 0x1a90);
#endif /* D_A_E_TH_BALL_H */

View File

@ -1,4 +1,25 @@
#ifndef D_A_E_TK_H
#define D_A_E_TK_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_tk_class
* @brief Water Toadpoli
*
* @details
*
*/
class e_tk_class : public fopEn_enemy_c {
private:
/* 0x5ac */ u8 field_0x5ac[0xa64 - 0x5ac];
};
STATIC_ASSERT(sizeof(e_tk_class) == 0xa64);
class daE_TK_HIO_c {
/* 807B81EC */ daE_TK_HIO_c();
/* 807BA1C4 */ ~daE_TK_HIO_c();
};
#endif /* D_A_E_TK_H */

View File

@ -1,4 +1,25 @@
#ifndef D_A_E_TK2_H
#define D_A_E_TK2_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_tk2_class
* @brief Fire Toadpoli
*
* @details
*
*/
class e_tk2_class : public fopEn_enemy_c {
private:
/* 0x5ac */ u8 field_0x5ac[0xa50 - 0x5ac];
};
STATIC_ASSERT(sizeof(e_tk2_class) == 0xa50);
class daE_TK2_HIO_c {
/* 807BA56C */ daE_TK2_HIO_c();
/* 807BBD00 */ ~daE_TK2_HIO_c();
};
#endif /* D_A_E_TK2_H */

View File

@ -1,4 +1,20 @@
#ifndef D_A_E_TK_BALL_H
#define D_A_E_TK_BALL_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_tk_ball_class
* @brief Fire/Water Toadpoli Ball
*
* @details
*
*/
class e_tk_ball_class : public fopEn_enemy_c {
private:
/* 0x5ac */ u8 field_0x5ac[0x8cc - 0x5ac];
};
STATIC_ASSERT(sizeof(e_tk_ball_class) == 0x8cc);
#endif /* D_A_E_TK_BALL_H */

View File

@ -2,5 +2,56 @@
#define D_A_E_TT_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class daE_TT_c
* @brief Tektite
*
* @details
*
*/
class daE_TT_c : public fopEn_enemy_c {
/* 807BD7EC */ void ctrlJoint(J3DJoint*, J3DModel*);
/* 807BD8E0 */ void JointCallBack(J3DJoint*, int);
/* 807BD92C */ void draw();
/* 807BDAE0 */ void setBck(int, u8, f32, f32);
/* 807BDB84 */ void calcHitGroundSpeed();
/* 807BDBE4 */ void setActionMode(int, int);
/* 807BDC10 */ void getCutType();
/* 807BDC50 */ void damage_check();
/* 807BDE5C */ void checkWaterSurface();
/* 807BDF60 */ void checkFootGround();
/* 807BE2A8 */ void setBodyLandEffect();
/* 807BE438 */ void setWaterEffect();
/* 807BE708 */ void setDeathEyeEffect();
/* 807BE99C */ void setDeathFootEffect();
/* 807BEBAC */ void checkPlayerSearch();
/* 807BED70 */ void executeWait();
/* 807BF358 */ void executeChase();
/* 807BF914 */ void executeAttack();
/* 807BFD38 */ void setDamageInit();
/* 807BFD60 */ void executeDamage();
/* 807BFFF4 */ void executeDeath();
/* 807C033C */ void executeOutRange();
/* 807C0530 */ void executeFirstAttack();
/* 807C0C28 */ void action();
/* 807C0E10 */ void mtx_set(int);
/* 807C0EE8 */ void cc_set();
/* 807C1024 */ void execute();
/* 807C1164 */ void _delete();
/* 807C121C */ void CreateHeap();
/* 807C13B4 */ void create();
private:
/* 0x5ac */ u8 field_0x5ac[0xad0 - 0x5ac];
};
STATIC_ASSERT(sizeof(daE_TT_c) == 0xad0);
class daE_TT_HIO_c {
/* 807BD7AC */ daE_TT_HIO_c();
/* 807C1AA8 */ ~daE_TT_HIO_c();
};
#endif /* D_A_E_TT_H */

View File

@ -2,5 +2,88 @@
#define D_A_E_VT_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class daE_VA_c
* @brief ???
*
* @details
*
*/
class daE_VA_c : public fopEn_enemy_c {
/* 807C267C */ void ctrlJoint(J3DJoint*, J3DModel*);
/* 807C284C */ void JointCallBack(J3DJoint*, int);
/* 807C2898 */ void calcJointNeck();
/* 807C2A4C */ void calcJointSleeve();
/* 807C3264 */ void draw();
/* 807C3818 */ void setBck(int, u8, f32, f32);
/* 807C38BC */ void checkBck(int);
/* 807C3918 */ void setActionMode(int, int);
/* 807C39C4 */ void getWolfCutType();
/* 807C3A1C */ void onSwordAtBit();
/* 807C3A50 */ void offSwordShield();
/* 807C3AB0 */ void setTransDamage(cXyz*);
/* 807C3B58 */ void damage_check();
/* 807C4844 */ void setFireEffect(int);
/* 807C49B4 */ void setFootEffect();
/* 807C4B54 */ void setWeponEffect();
/* 807C4DFC */ void setBugsEffect();
/* 807C4F10 */ void setWeponLandEffect();
/* 807C4FCC */ void setWeponGlow();
/* 807C50A4 */ void setWeponFlashScreen();
/* 807C5188 */ void setMagicEffect(int);
/* 807C5258 */ void setMagicHitEffect(int);
/* 807C5338 */ void demo_skip(int);
/* 807C53A8 */ void DemoSkipCallBack(void*, int);
/* 807C53DC */ void getRopeLength(int);
/* 807C53FC */ void calcOpRopePos();
/* 807C5CF0 */ void onRopeCutStatus(int, int, int);
/* 807C5DF4 */ void setVibRope(f32, f32);
/* 807C5EAC */ void setVibTag(int, int);
/* 807C6164 */ void calcTagAngle();
/* 807C638C */ void calcRopeFirePos();
/* 807C6564 */ void executeDemoOpWait();
/* 807C67A4 */ void executeDemoOp();
/* 807C7534 */ void executeClearWait();
/* 807C7640 */ void executeClearChase();
/* 807C783C */ void executeClearAttack();
/* 807C7A8C */ void executeTransWait();
/* 807C7C74 */ void executeTransChase();
/* 807C7ED4 */ void executeTransAttack();
/* 807C839C */ void executeTransBiteDamage();
/* 807C8860 */ void executeTransDamage();
/* 807C8A84 */ void executeTransThrough();
/* 807C8B78 */ void executeOpaciWait();
/* 807C915C */ void executeOpaciFly();
/* 807C9A40 */ void executeOpaciDamage();
/* 807C9C8C */ void executeOpaciChase();
/* 807CA364 */ void executeOpaciAttack();
/* 807CA73C */ void executeOpaciDown();
/* 807CAA80 */ void executeOpaciDownDamage();
/* 807CACE0 */ void executeOpaciFlip();
/* 807CADB8 */ void executeOpaciFadeAway();
/* 807CB1C4 */ void executeOpaciDeath();
/* 807CB8CC */ void calcMagicMove();
/* 807CBC00 */ void setAlphaType();
/* 807CC004 */ void action();
/* 807CC4D0 */ void mtx_set();
/* 807CC864 */ void cc_set();
/* 807CCD24 */ void execute();
/* 807CCF64 */ void _delete();
/* 807CD048 */ void CreateHeap();
/* 807CD668 */ void create();
/* 807CDAD8 */ daE_VA_c();
private:
/* 0x5ac */ u8 field_0x5ac[0x10ffc - 0x5ac];
};
STATIC_ASSERT(sizeof(daE_VA_c) == 0x10ffc);
class daE_VA_HIO_c {
/* 807C25EC */ daE_VA_HIO_c();
/* 807CE2AC */ ~daE_VA_HIO_c();
};
#endif /* D_A_E_VT_H */

View File

@ -2,5 +2,21 @@
#define D_A_E_WARPAPPEAR_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_warpappear_class
* @brief Shadow Beast Warp Appear
*
* @details
*
*/
class e_warpappear_class : public fopEn_enemy_c {
private:
/* 0x5ac */ u8 field_0x5ac[0x650 - 0x5ac];
};
STATIC_ASSERT(sizeof(e_warpappear_class) == 0x650);
#endif /* D_A_E_WARPAPPEAR_H */

View File

@ -1,6 +1,7 @@
#ifndef D_A_E_WB_H
#define D_A_E_WB_H
#include "f_op/f_op_actor_mng.h"
#include "rel/d/a/d_a_horse/d_a_horse.h"
#include "SSystem/SComponent/c_phase.h"
#include "d/cc/d_cc_uty.h"
@ -13,10 +14,13 @@ enum daE_wb_ACT {
};
/**
* @ingroup actors-enemies
* @brief Wild Boar
*
*/
* @ingroup actors-enemies
* @class e_wb_class
* @brief Bullbo
*
* @details
*
*/
class e_wb_class : public fopEn_enemy_c {
public:
BOOL checkWait();
@ -170,5 +174,17 @@ private:
/* 0x17E4 */ u8 field_0x17e4[0x17e8 - 0x17e4];
/* 0x17E8 */ f32 mSpeedRate;
};
STATIC_ASSERT(sizeof(e_wb_class) == 0x17EC);
struct himo_s {
/* 807E1CCC */ ~himo_s();
/* 807E1D2C */ himo_s();
};
class daE_WB_HIO_c {
/* 807D248C */ daE_WB_HIO_c();
/* 807E20DC */ ~daE_WB_HIO_c();
};
#endif /* D_A_E_WB_H */

View File

@ -2,5 +2,50 @@
#define D_A_E_WS_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class daE_WS_c
* @brief Wall Skulltula
*
* @details
*
*/
class daE_WS_c : public fopEn_enemy_c {
/* 807E3A6C */ void draw();
/* 807E3C20 */ void setBck(int, u8, f32, f32);
/* 807E3CC4 */ void setFootSound();
/* 807E3F90 */ void setActionMode(int);
/* 807E3FAC */ void calcTargetDist(cXyz, cXyz);
/* 807E40C8 */ void calcTargetAngle(cXyz, cXyz);
/* 807E416C */ void checkInSearchRange(cXyz, cXyz);
/* 807E4224 */ void checkPlayerPos();
/* 807E4568 */ void checkAttackEnd();
/* 807E470C */ void executeWait();
/* 807E4AB8 */ void executeAttack();
/* 807E4E68 */ void executeDown();
/* 807E5294 */ void executeWindDown();
/* 807E56D0 */ void damage_check();
/* 807E58AC */ void action();
/* 807E5A3C */ void mtx_set();
/* 807E5AAC */ void cc_set();
/* 807E5C0C */ void execute();
/* 807E5CD8 */ void checkInitialWall();
/* 807E5FB8 */ void checkBeforeBg(s16);
/* 807E63F8 */ void checkWall();
/* 807E66B4 */ void _delete();
/* 807E6748 */ void CreateHeap();
/* 807E6860 */ void create();
private:
/* 0x5ac */ u8 field_0x5ac[0xb80 - 0x5ac];
};
STATIC_ASSERT(sizeof(daE_WS_c) == 0xb80);
class daE_WS_HIO_c {
/* 807E3A0C */ daE_WS_HIO_c();
/* 807E6E44 */ ~daE_WS_HIO_c();
};
#endif /* D_A_E_WS_H */

View File

@ -2,5 +2,63 @@
#define D_A_E_WW_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class daE_WW_c
* @brief White Wolfos
*
* @details
*
*/
class daE_WW_c : public fopEn_enemy_c {
/* 807E7748 */ void ctrlJoint(J3DJoint*, J3DModel*);
/* 807E7800 */ void JointCallBack(J3DJoint*, int);
/* 807E784C */ void setHeadAngle();
/* 807E79D4 */ void draw();
/* 807E7ADC */ void setBck(int, u8, f32, f32);
/* 807E7B80 */ void checkBck(int);
/* 807E7BDC */ void setActionMode(int, int);
/* 807E7C20 */ void damage_check();
/* 807E7E74 */ void setRandamNumber();
/* 807E7FCC */ void getNearPlayerAngle();
/* 807E804C */ void setGroundAngle();
/* 807E830C */ void checkCreateBg(cXyz);
/* 807E8560 */ void checkAttackWall();
/* 807E8624 */ void setBlurEffect();
/* 807E8700 */ void setAppearEffect();
/* 807E8C54 */ void checkSideStep();
/* 807E8EEC */ void createWolf(cXyz, u8);
/* 807E905C */ void executeMaster();
/* 807E972C */ void executeWait();
/* 807E99B8 */ void calcJumpSpeed();
/* 807E9C1C */ void executeAttack();
/* 807EA474 */ void checkAttackStart();
/* 807EA870 */ void executeChase();
/* 807EB650 */ void executeDamage();
/* 807EB964 */ void checkMoveOut();
/* 807EBAE0 */ void executeMoveOut();
/* 807EC940 */ void checkWalkStart();
/* 807ECE58 */ void executeWalk();
/* 807ED674 */ void eWW_posMoveF();
/* 807ED78C */ void action();
/* 807EDA78 */ void mtx_set();
/* 807EDB00 */ void cc_set();
/* 807EDCC4 */ void execute();
/* 807EDE8C */ void calcMoveDir(s16*, s16);
/* 807EE440 */ void _delete();
/* 807EE4D4 */ void CreateHeap();
/* 807EE63C */ void create();
private:
/* 0x5ac */ u8 field_0x5ac[0xec8 - 0x5ac];
};
STATIC_ASSERT(sizeof(daE_WW_c) == 0xec8);
class daE_WW_HIO_c {
/* 807E76EC */ daE_WW_HIO_c();
/* 807EEEBC */ ~daE_WW_HIO_c();
};
#endif /* D_A_E_WW_H */

View File

@ -9,10 +9,13 @@
#include "f_op/f_op_actor.h"
/**
* @ingroup actors-enemies
* @brief Twilit Kargorok
*
*/
* @ingroup actors-enemies
* @class e_yc_class
* @brief Twilight Kargorok
*
* @details
*
*/
class e_yc_class : public fopEn_enemy_c {
public:
MtxP getLegR3Mtx() { return mpMorf->getModel()->getAnmMtx(28); }

View File

@ -1,4 +1,25 @@
#ifndef D_A_E_YD_H
#define D_A_E_YD_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_yd_class
* @brief Twilight Deku Baba
*
* @details
*
*/
class e_yd_class : public fopEn_enemy_c {
private:
/* 0x5ac */ u8 field_0x5ac[0x126c - 0x5ac];
};
STATIC_ASSERT(sizeof(e_yd_class) == 0x126c);
class daE_YD_HIO_c {
/* 807F2C2C */ daE_YD_HIO_c();
/* 807F74CC */ ~daE_YD_HIO_c();
};
#endif /* D_A_E_YD_H */

View File

@ -4,10 +4,13 @@
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @brief Shadow Deku Baba Leaf
*
*/
* @ingroup actors-enemies
* @class e_yd_leaf_class
* @brief Twilight Deku Baba - Leaf
*
* @details
*
*/
class e_yd_leaf_class : public fopEn_enemy_c {
public:
/* 0x5AC */ request_of_phase_process_class mPhase;

View File

@ -1,4 +1,30 @@
#ifndef D_A_E_YG_H
#define D_A_E_YG_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_yg_class
* @brief Twilight Vermin
*
* @details
*
*/
class e_yg_class : public fopEn_enemy_c {
private:
/* 0x5ac */ u8 field_0x5ac[0x18a0 - 0x5ac];
};
STATIC_ASSERT(sizeof(e_yg_class) == 0x18a0);
class daE_YG_HIO_c {
/* 807F834C */ daE_YG_HIO_c();
/* 807FC168 */ ~daE_YG_HIO_c();
};
struct yg_ke_s {
/* 807FBE70 */ ~yg_ke_s();
/* 807FBEEC */ yg_ke_s();
};
#endif /* D_A_E_YG_H */

View File

@ -1,4 +1,25 @@
#ifndef D_A_E_YH_H
#define D_A_E_YH_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_yh_class
* @brief Twilight Hebi Baba
*
* @details
*
*/
class e_yh_class : public fopEn_enemy_c {
private:
/* 0x5ac */ u8 field_0x5ac[0x1274 - 0x5ac];
};
STATIC_ASSERT(sizeof(e_yh_class) == 0x1274);
class daE_YH_HIO_c {
/* 807FD4CC */ daE_YH_HIO_c();
/* 80803D48 */ ~daE_YH_HIO_c();
};
#endif /* D_A_E_YH_H */

View File

@ -69,7 +69,10 @@ public:
/**
* @ingroup actors-enemies
* @brief Shadow Keese
* @class e_yk_class
* @brief Twilight Keese
*
* @details
*
*/
class e_yk_class : public fopEn_enemy_c {

View File

@ -3,7 +3,7 @@
#include "SSystem/SComponent/c_phase.h"
#include "Z2AudioLib/Z2Creature.h"
#include "f_op/f_op_actor.h"
#include "f_op/f_op_actor_mng.h"
#include "d/bg/d_bg_s_acch.h"
#include "d/cc/d_cc_d.h"
#include "d/cc/d_cc_uty.h"
@ -26,10 +26,13 @@ public:
};
/**
* @ingroup actors-enemies
* @brief Shadow Insect
*
*/
* @ingroup actors-enemies
* @class daE_YM_c
* @brief Twilight Insect
*
* @details
*
*/
class daE_YM_c : public fopEn_enemy_c {
public:
enum daE_YM_Action {
@ -128,7 +131,8 @@ public:
void setFriendFlag(u8 i_flag) { mFriendFlag |= i_flag; }
u8 getFriendFlag() { return mFriendFlag; }
private:
/* 0x5AC */ request_of_phase_process_class mPhase;
/* 0x5B4 */ mDoExt_McaMorfSO* field_0x5b4;
/* 0x5B8 */ mDoExt_brkAnm* field_0x5b8;
@ -216,5 +220,11 @@ public:
/* 0xAE8 */ u32 field_0xae8[3];
/* 0xAF4 */ u8 field_0xaf4;
};
STATIC_ASSERT(sizeof(daE_YM_c) == 0xAF8);
struct E_YM_n {
static dCcD_SrcSph cc_sph_src;
};
#endif /* D_A_E_YM_H */

View File

@ -4,10 +4,13 @@
#include "rel/d/a/e/d_a_e_ym/d_a_e_ym.h"
/**
* @ingroup actors-tags
* @brief Shadow Insect Tag
*
*/
* @ingroup actors-enemies
* @class daE_YM_TAG_c
* @brief Twilight Insect Tag
*
* @details
*
*/
class daE_YM_TAG_c : public fopAc_ac_c {
public:
/* 80815E8C */ int execute();

View File

@ -4,6 +4,14 @@
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class daE_YMB_c
* @brief Twilight Insect Boss
*
* @details
*
*/
class daE_YMB_c : public fopEn_enemy_c {
public:
/* 8081615C */ void ctrlJoint(J3DJoint*, J3DModel*);
@ -70,7 +78,11 @@ public:
/* 80820DD0 */ void create();
int getMaxLockAttack() { return 6; }
private:
/* 0x5AC */ u8 field_0x5ac[0x1524 - 0x5ac];
};
STATIC_ASSERT(sizeof(daE_YMB_c) == 0x1524);
struct daE_YMB_HIO_c {
/* 8081610C */ daE_YMB_HIO_c();

View File

@ -1,4 +1,25 @@
#ifndef D_A_E_YR_H
#define D_A_E_YR_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class e_yr_class
* @brief Twilight Kargorok Rider?
*
* @details
*
*/
class e_yr_class : public fopEn_enemy_c {
/* 80827D64 */ e_yr_class();
private:
/* 0x5ac */ u8 field_0x5ac[0xf20 - 0x5ac];
};
STATIC_ASSERT(sizeof(e_yr_class) == 0xf20);
class e_yrHIO_c {
/* 808282CC */ ~e_yrHIO_c();
};
#endif /* D_A_E_YR_H */

View File

@ -2,5 +2,62 @@
#define D_A_E_ZH_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class daE_ZH_c
* @brief Zant Head
*
* @details
*
*/
class daE_ZH_c : public fopEn_enemy_c {
/* 8082907C */ void draw();
/* 808293A8 */ void setBck(int, u8, f32, f32);
/* 80829454 */ void setActionMode(int, int);
/* 80829570 */ void startDemoCheck();
/* 80829658 */ void mBallBGCheck();
/* 808298BC */ void mGateOpen();
/* 808299F8 */ void mColorSet(bool, f32, f32);
/* 80829AD8 */ void mReturnLineMove();
/* 80829E44 */ void mBallBgLineCheck();
/* 8082A01C */ void mSearchMove(u8);
/* 8082A390 */ void mStartParticleSet();
/* 8082A4C8 */ void mCutTypeCheck();
/* 8082A534 */ void damage_check();
/* 8082A88C */ void executeStartDemo();
/* 8082ABDC */ void executeWait();
/* 8082ACA8 */ void executeBallWait();
/* 8082B284 */ void executeOpenStart();
/* 8082B820 */ void executeSearchMove();
/* 8082BA18 */ void executeBgHitSHMove();
/* 8082BE20 */ void executeCatchMove();
/* 8082C670 */ void executeCatchFlyMove();
/* 8082CD34 */ void executeReturnDemo();
/* 8082D154 */ void executeFlyDelete();
/* 8082D2F0 */ void executeDamage();
/* 8082D97C */ void executeDeadStop();
/* 8082D9B0 */ void executeEntryCheck();
/* 8082DB64 */ void tagAction();
/* 8082DB84 */ void action();
/* 8082DE18 */ void mtx_set();
/* 8082DF44 */ void cc_set();
/* 8082E2FC */ void execute();
/* 8082E3E8 */ void _delete();
/* 8082E4E4 */ void CreateHeap();
/* 8082E730 */ void create();
/* 8082ECEC */ daE_ZH_c();
private:
/* 0x5ac */ u8 field_0x5ac[0xe08 - 0x5ac];
};
STATIC_ASSERT(sizeof(daE_ZH_c) == 0xe08);
class daE_ZH_HIO_c {
/* 8082902C */ daE_ZH_HIO_c();
/* 8082F160 */ ~daE_ZH_HIO_c();
};
#endif /* D_A_E_ZH_H */

View File

@ -2,5 +2,46 @@
#define D_A_E_ZM_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class daE_ZM_c
* @brief Zant Mask
*
* @details
*
*/
class daE_ZM_c : public fopEn_enemy_c {
/* 8082F9A0 */ void draw();
/* 8082FBD4 */ void setBck(int, u8, f32, f32);
/* 8082FC80 */ void setActionMode(int, int);
/* 8082FC8C */ void damage_check();
/* 808301E0 */ void mCutTypeCheck();
/* 8083033C */ void executeSearchPoint();
/* 80830398 */ void executeWait();
/* 808309DC */ void executeMove();
/* 80830AB8 */ void executeAttack();
/* 80830E28 */ void executeDamage();
/* 808310C4 */ void executeDead();
/* 80831474 */ void executeBullet();
/* 80831930 */ void action();
/* 80831B08 */ void mtx_set();
/* 80831B9C */ void cc_set();
/* 80831D64 */ void execute();
/* 80831E9C */ void _delete();
/* 80831F4C */ void CreateHeap();
/* 80832064 */ void create();
private:
/* 0x5ac */ u8 field_0x5ac[0xc3c - 0x5ac];
};
STATIC_ASSERT(sizeof(daE_ZM_c) == 0xc3c);
class daE_ZM_HIO_c {
/* 8082F94C */ daE_ZM_HIO_c();
/* 80832800 */ ~daE_ZM_HIO_c();
};
#endif /* D_A_E_ZM_H */

View File

@ -2,5 +2,43 @@
#define D_A_E_ZS_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class daE_ZS_c
* @brief Staltroop
*
* @details
*
*/
class daE_ZS_c : public fopEn_enemy_c {
/* 808330DC */ void draw();
/* 808331E4 */ void setBck(int, u8, f32, f32);
/* 80833290 */ void setActionMode(int, int);
/* 8083329C */ void damage_check();
/* 80833698 */ void mBossHandCheck();
/* 80833964 */ void executeAppear();
/* 80833D30 */ void executeWait();
/* 80833F1C */ void executeDamage();
/* 80834108 */ void executeDrive();
/* 808342C8 */ void action();
/* 80834478 */ void mtx_set();
/* 80834518 */ void cc_set();
/* 80834650 */ void execute();
/* 808346E4 */ void _delete();
/* 80834778 */ void CreateHeap();
/* 80834884 */ void create();
private:
/* 0x5ac */ u8 field_0x5ac[0xa3c - 0x5ac];
};
STATIC_ASSERT(sizeof(daE_ZS_c) == 0xa3c);
class daE_ZS_HIO_c {
/* 808330AC */ daE_ZS_HIO_c();
/* 80834DDC */ ~daE_ZS_HIO_c();
};
#endif /* D_A_E_ZS_H */

View File

@ -1,5 +1,41 @@
#ifndef D_A_OBJ_SMALLKEY_H
#define D_A_OBJ_SMALLKEY_H
#include "f_op/f_op_actor_mng.h"
class daKey_c : public fopAc_ac_c {
/* 80CD9F2C */ void initBaseMtx();
/* 80CD9F68 */ void setBaseMtx();
/* 80CD9FDC */ void Create();
/* 80CDA15C */ bool __CreateHeap();
/* 80CDA164 */ void create();
/* 80CDA680 */ void bg_check();
/* 80CDA7E8 */ void actionInitInit();
/* 80CDA81C */ void actionInit();
/* 80CDA8C8 */ void actionParentWaitInit();
/* 80CDA8FC */ void actionParentWait();
/* 80CDA9AC */ void actionWaitInit();
/* 80CDAA28 */ void actionWait();
/* 80CDAB74 */ void initActionOrderGetDemo();
/* 80CDAC18 */ void actionOrderGetDemo();
/* 80CDAC94 */ void actionGetDemo();
/* 80CDAD28 */ void actionInitSwOnWait();
/* 80CDADD4 */ void actionSwOnWait();
/* 80CDAE54 */ void actionInitBoomerangCarry();
/* 80CDAF40 */ void actionBoomerangCarry();
/* 80CDAFB4 */ void effectSet();
/* 80CDB0D8 */ void effectStop();
/* 80CDB128 */ void effectCtrl();
/* 80CDB2E0 */ void seStartTwinkle_private(u32);
/* 80CDB36C */ void actionInitE_GB();
/* 80CDB3D8 */ void actionE_GB();
/* 80CDB404 */ void execute();
/* 80CDB5D4 */ void draw();
/* 80CDB628 */ void _delete();
private:
/* 0x568 */ u8 field_0x568[0x988 - 0x568];
};
STATIC_ASSERT(sizeof(daKey_c) == 0x988);
#endif /* D_A_OBJ_SMALLKEY_H */

View File

@ -1,208 +1,13 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_e_ai
//
/**
* @file d_a_e_ai.cpp
*
*/
#include "rel/d/a/e/d_a_e_ai/d_a_e_ai.h"
#include "d/cc/d_cc_d.h"
#include "dol2asm.h"
//
// Types:
//
struct request_of_phase_process_class {};
struct mDoMtx_stack_c {
/* 8000CD64 */ void transS(cXyz const&);
/* 8000CE38 */ void scaleM(f32, f32, f32);
static u8 now[48];
};
struct J3DAnmTevRegKey {};
struct J3DMaterialTable {
/* 8032F880 */ void removeTevRegAnimator(J3DAnmTevRegKey*);
};
struct mDoExt_brkAnm {
/* 8000D70C */ void init(J3DMaterialTable*, J3DAnmTevRegKey*, int, int, f32, s16, s16);
/* 8000D7A8 */ void entry(J3DMaterialTable*, f32);
};
struct mDoExt_baseAnm {
/* 8000D428 */ void play();
};
struct mDoExt_McaMorfCallBack2_c {};
struct mDoExt_McaMorfCallBack1_c {};
struct J3DAnmTransform {};
struct J3DModelData {};
struct Z2Creature {};
struct mDoExt_McaMorfSO {
/* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*,
mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int,
int, Z2Creature*, u32, u32);
/* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32);
/* 800110B0 */ void play(u32, s8);
/* 800111C0 */ void entryDL();
/* 800111EC */ void modelCalc();
/* 80011310 */ void stopZelAnime();
};
struct fopEn_enemy_c {};
struct fopAc_ac_c {
/* 80018B64 */ fopAc_ac_c();
};
struct e_ai_class {
/* 806791BC */ void initCcCylinder();
/* 80679284 */ void setCcCylinder();
/* 80679350 */ void anm_init(int, f32, u8, f32);
/* 806793FC */ void Draw();
/* 806794F4 */ void player_way_check();
/* 80679538 */ void other_bg_check(fopAc_ac_c*);
/* 80679610 */ void pl_check(f32, s16);
/* 8067968C */ void damage_check();
/* 80679DC8 */ void e_ai_damage();
/* 8067A2CC */ void e_ai_attack();
/* 8067A54C */ void e_ai_move();
/* 8067AA48 */ void e_ai_wait();
/* 8067ACA0 */ void e_ai_return();
/* 8067B024 */ void action();
/* 8067B2B0 */ void PlayerWaySet();
/* 8067B31C */ void AttentionSet();
/* 8067B378 */ void Execute();
/* 8067B598 */ void setBaseMtx();
/* 8067B620 */ void Delete();
/* 8067B6F0 */ void CreateHeap();
/* 8067B8E4 */ void Create();
/* 8067BAEC */ e_ai_class();
};
struct daPy_py_c {
static u8 m_midnaActor[4];
};
struct daE_AI_HIO_c {
/* 8067916C */ daE_AI_HIO_c();
/* 8067BF40 */ ~daE_AI_HIO_c();
};
struct dVibration_c {
/* 8006FA24 */ void StartShock(int, int, cXyz);
};
struct dSv_info_c {
/* 80035200 */ void onSwitch(int, int);
/* 80035360 */ void isSwitch(int, int) const;
};
struct dKy_tevstr_c {};
struct dScnKy_env_light_c {
/* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*);
/* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*);
};
struct dRes_info_c {};
struct dRes_control_c {
/* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int);
};
struct dPa_levelEcallBack {};
struct csXyz {};
struct _GXColor {};
struct dPa_control_c {
/* 8004C218 */ void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, u32);
/* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*,
cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*,
_GXColor const*, cXyz const*, f32);
/* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*,
u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*,
cXyz const*, f32);
};
struct dDlst_shadowControl_c {
static u8 mSimpleTexObj[32];
};
struct dBgS_PolyPassChk {
/* 80078E68 */ void SetObj();
};
struct dBgS_ObjAcch {
/* 8067BDF8 */ ~dBgS_ObjAcch();
};
struct dBgS_LinChk {
/* 80077C68 */ dBgS_LinChk();
/* 80077CDC */ ~dBgS_LinChk();
/* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*);
};
struct dBgS_AcchCir {
/* 80075EAC */ dBgS_AcchCir();
/* 80075F58 */ void SetWall(f32, f32);
/* 8067BE68 */ ~dBgS_AcchCir();
};
struct dBgS {};
struct dBgS_Acch {
/* 80075F94 */ ~dBgS_Acch();
/* 800760A0 */ dBgS_Acch();
/* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*);
/* 80076AAC */ void CrrPos(dBgS&);
};
struct cM3dGCir {
/* 8026EF18 */ ~cM3dGCir();
};
struct cCcS {
/* 80264BA8 */ void Set(cCcD_Obj*);
};
struct cBgS_PolyInfo {
/* 802680B0 */ ~cBgS_PolyInfo();
};
struct cBgS_LinChk {};
struct cBgS {
/* 800743B4 */ void LineCross(cBgS_LinChk*);
};
struct _GXTexObj {};
struct Z2CreatureEnemy {
/* 802C0F64 */ Z2CreatureEnemy();
/* 802C1094 */ void init(Vec*, Vec*, u8, u8);
};
struct JMath {
static u8 sincosTable_[65536];
};
struct J3DModel {};
struct J3DFrameCtrl {
/* 803283FC */ void init(s16);
/* 8032842C */ void checkPass(f32);
/* 8067B87C */ ~J3DFrameCtrl();
};
//
// Forward References:
@ -339,8 +144,6 @@ extern "C" void __dl__FPv();
extern "C" void init__12J3DFrameCtrlFs();
extern "C" void checkPass__12J3DFrameCtrlFf();
extern "C" void removeTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey();
extern "C" void PSMTXCopy();
extern "C" void PSMTXMultVec();
extern "C" void _savegpr_19();
extern "C" void _savegpr_26();
extern "C" void _savegpr_27();
@ -351,8 +154,6 @@ extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
extern "C" extern void* __vt__8dCcD_Sph[36];
extern "C" extern void* __vt__8dCcD_Cyl[36];
extern "C" extern void* __vt__9dCcD_Stts[11];
@ -363,7 +164,6 @@ extern "C" extern void* __vt__9cCcD_Stts[8];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32];
extern "C" extern u8 g_env_light[4880];
extern "C" u8 sincosTable___5JMath[65536];
extern "C" extern void* calc_mtx[1 + 1 /* padding */];
extern "C" u8 m_midnaActor__9daPy_py_c[4];
@ -524,25 +324,30 @@ static dCcD_SrcCyl cc_cyl_src = {
};
/* 8067C5BC-8067C5DC -00001 0020+00 1/0 0/0 0/0 .data l_daE_AI_Method */
SECTION_DATA static void* l_daE_AI_Method[8] = {
(void*)daE_AI_Create__FP10fopAc_ac_c,
(void*)daE_AI_Delete__FP10e_ai_class,
(void*)daE_AI_Execute__FP10e_ai_class,
(void*)daE_AI_IsDelete__FP10e_ai_class,
(void*)daE_AI_Draw__FP10e_ai_class,
(void*)NULL,
(void*)NULL,
(void*)NULL,
static actor_method_class l_daE_AI_Method = {
(process_method_func)daE_AI_Create__FP10fopAc_ac_c,
(process_method_func)daE_AI_Delete__FP10e_ai_class,
(process_method_func)daE_AI_Execute__FP10e_ai_class,
(process_method_func)daE_AI_IsDelete__FP10e_ai_class,
(process_method_func)daE_AI_Draw__FP10e_ai_class,
};
/* 8067C5DC-8067C60C -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_AI */
SECTION_DATA extern void* g_profile_E_AI[12] = {
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
(void*)0x01AF0000, (void*)&g_fpcLf_Method,
(void*)0x00000D44, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x00700000, (void*)&l_daE_AI_Method,
(void*)0x00040100, (void*)0x020E0000,
extern actor_process_profile_definition g_profile_E_AI = {
fpcLy_CURRENT_e, // mLayerID
7, // mListID
fpcPi_CURRENT_e, // mListPrio
PROC_E_AI, // mProcName
&g_fpcLf_Method.mBase, // sub_method
sizeof(e_ai_class), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // sub_method
112, // mPriority
&l_daE_AI_Method, // sub_method
0x00040100, // mStatus
fopAc_ENEMY_e, // mActorType
fopAc_CULLBOX_CUSTOM_e, // cullType
};
/* 8067C60C-8067C618 0000CC 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */
@ -1091,7 +896,8 @@ asm void e_ai_class::CreateHeap() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm J3DFrameCtrl::~J3DFrameCtrl() {
// asm J3DFrameCtrl::~J3DFrameCtrl() {
extern "C" asm void __dt__12J3DFrameCtrlFv() {
nofralloc
#include "asm/rel/d/a/e/d_a_e_ai/d_a_e_ai/__dt__12J3DFrameCtrlFv.s"
}
@ -1211,7 +1017,8 @@ extern "C" asm void __dt__10dCcD_GSttsFv() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dBgS_ObjAcch::~dBgS_ObjAcch() {
// asm dBgS_ObjAcch::~dBgS_ObjAcch() {
extern "C" asm void __dt__12dBgS_ObjAcchFv() {
nofralloc
#include "asm/rel/d/a/e/d_a_e_ai/d_a_e_ai/__dt__12dBgS_ObjAcchFv.s"
}
@ -1221,7 +1028,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dBgS_AcchCir::~dBgS_AcchCir() {
// asm dBgS_AcchCir::~dBgS_AcchCir() {
extern "C" asm void __dt__12dBgS_AcchCirFv() {
nofralloc
#include "asm/rel/d/a/e/d_a_e_ai/d_a_e_ai/__dt__12dBgS_AcchCirFv.s"
}

View File

@ -1,266 +1,13 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_e_bg
//
/**
* @file d_a_e_bg.cpp
*
*/
#include "rel/d/a/e/d_a_e_bg/d_a_e_bg.h"
#include "dol2asm.h"
//
// Types:
//
struct request_of_phase_process_class {};
struct mDoMtx_stack_c {
/* 8000CD9C */ void transM(f32, f32, f32);
static u8 now[48];
};
struct J3DMaterialTable {};
struct J3DAnmTevRegKey {};
struct mDoExt_brkAnm {
/* 8000D70C */ void init(J3DMaterialTable*, J3DAnmTevRegKey*, int, int, f32, s16, s16);
/* 8000D7A8 */ void entry(J3DMaterialTable*, f32);
};
struct mDoExt_baseAnm {
/* 8000D428 */ void play();
};
struct mDoExt_McaMorfCallBack2_c {};
struct mDoExt_McaMorfCallBack1_c {};
struct J3DAnmTransform {};
struct J3DModelData {};
struct Z2Creature {};
struct mDoExt_McaMorfSO {
/* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*,
mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int,
int, Z2Creature*, u32, u32);
/* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32);
/* 800110B0 */ void play(u32, s8);
/* 800111C0 */ void entryDL();
/* 800111EC */ void modelCalc();
};
struct fopAc_ac_c {
/* 80018B64 */ fopAc_ac_c();
};
struct J3DModel {};
struct J3DJoint {};
struct daE_BG_c {
/* 8068585C */ void ctrlJoint(J3DJoint*, J3DModel*);
/* 80685948 */ void JointCallBack(J3DJoint*, int);
/* 80685994 */ void draw();
/* 80685B70 */ void setBck(int, u8, f32, f32);
/* 80685C14 */ void setActionMode(int, int);
/* 80685C2C */ void damage_check();
/* 80685DBC */ void setSparkEffect();
/* 80685F04 */ void search_esa();
/* 80685F88 */ void executeBorn();
/* 80686210 */ void executeSwim();
/* 80686C90 */ void executeAttack();
/* 80687B38 */ void executeDamage();
/* 80687CD8 */ void setBombCarry(int);
/* 80687DEC */ void executeBomb();
/* 80687FC4 */ void executeBirth();
/* 8068838C */ void executeHook();
/* 806883D0 */ void executeEat();
/* 80689168 */ void action();
/* 80689544 */ void mtx_set();
/* 8068966C */ void cc_set();
/* 806897EC */ void execute();
/* 80689978 */ void _delete();
/* 80689A0C */ void CreateHeap();
/* 80689C38 */ void create();
};
struct daE_BG_HIO_c {
/* 8068580C */ daE_BG_HIO_c();
/* 8068A19C */ ~daE_BG_HIO_c();
};
struct dSv_info_c {
/* 80035200 */ void onSwitch(int, int);
/* 80035360 */ void isSwitch(int, int) const;
};
struct dKy_tevstr_c {};
struct cXyz {};
struct dScnKy_env_light_c {
/* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*);
/* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*);
};
struct dRes_info_c {};
struct dRes_control_c {
/* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int);
};
struct dPa_levelEcallBack {};
struct csXyz {};
struct _GXColor {};
struct dPa_control_c {
struct level_c {
/* 8004B918 */ void getEmitter(u32);
};
/* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*,
cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*,
_GXColor const*, cXyz const*, f32);
};
struct dDlst_shadowControl_c {
static u8 mSimpleTexObj[32];
};
struct dCcU_AtInfo {};
struct dCcD_Stts {
/* 80083860 */ void Init(int, int, fopAc_ac_c*);
};
struct dCcD_SrcSph {};
struct dCcD_Sph {
/* 80084A34 */ void Set(dCcD_SrcSph const&);
};
struct dCcD_GStts {
/* 80083760 */ dCcD_GStts();
/* 80083830 */ void Move();
};
struct dCcD_GObjInf {
/* 80083A28 */ dCcD_GObjInf();
/* 800842C0 */ void ChkAtHit();
/* 80084358 */ void GetAtHitObj();
/* 80084460 */ void ChkTgHit();
/* 800844F8 */ void GetTgHitObj();
};
struct dBgS_PolyPassChk {
/* 80078E68 */ void SetObj();
};
struct dBgS_ObjGndChk_Spl {
/* 800777B0 */ dBgS_ObjGndChk_Spl();
/* 80077848 */ ~dBgS_ObjGndChk_Spl();
};
struct dBgS_ObjAcch {
/* 8068A10C */ ~dBgS_ObjAcch();
};
struct dBgS_LinChk {
/* 80077C68 */ dBgS_LinChk();
/* 80077CDC */ ~dBgS_LinChk();
/* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*);
};
struct dBgS_GndChk {
/* 8007757C */ dBgS_GndChk();
/* 800775F0 */ ~dBgS_GndChk();
};
struct dBgS_AcchCir {
/* 80075EAC */ dBgS_AcchCir();
/* 80075F58 */ void SetWall(f32, f32);
};
struct dBgS {};
struct dBgS_Acch {
/* 80075F94 */ ~dBgS_Acch();
/* 800760A0 */ dBgS_Acch();
/* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*);
/* 80076AAC */ void CrrPos(dBgS&);
};
struct dAttention_c {
/* 8007353C */ void LockonTarget(s32);
/* 800737E4 */ void LockonTruth();
};
struct cM3dGSph {
/* 8026F648 */ void SetC(cXyz const&);
/* 8026F708 */ void SetR(f32);
/* 8068A07C */ ~cM3dGSph();
};
struct cM3dGAab {
/* 8068A0C4 */ ~cM3dGAab();
};
struct cCcD_Obj {
/* 80263A48 */ void GetAc();
};
struct cCcS {
/* 80264BA8 */ void Set(cCcD_Obj*);
};
struct cBgS_PolyInfo {};
struct cBgS_LinChk {};
struct Vec {};
struct cBgS_GndChk {
/* 80267D28 */ void SetPos(cXyz const*);
/* 80267D0C */ void SetPos(Vec const*);
};
struct cBgS {
/* 800743B4 */ void LineCross(cBgS_LinChk*);
/* 800744A0 */ void GroundCross(cBgS_GndChk*);
};
struct _GXTexObj {};
struct Z2CreatureEnemy {
/* 802C0F64 */ Z2CreatureEnemy();
/* 802C1094 */ void init(Vec*, Vec*, u8, u8);
/* 802C1B7C */ void setLinkSearch(bool);
/* 802C1B90 */ void setEnemyName(char const*);
};
struct JMath {
static u8 sincosTable_[65536];
};
struct JGeometry {
template <typename A1>
struct TVec3 {};
/* TVec3<f32> */
struct TVec3__template0 {};
};
struct J3DSys {
static u8 mCurrentMtx[48];
};
struct J3DFrameCtrl {
/* 803283FC */ void init(s16);
/* 80689BD0 */ ~J3DFrameCtrl();
};
//
// Forward References:
@ -403,11 +150,6 @@ extern "C" void setEnemyName__15Z2CreatureEnemyFPCc();
extern "C" void* __nw__FUl();
extern "C" void __dl__FPv();
extern "C" void init__12J3DFrameCtrlFs();
extern "C" void PSMTXCopy();
extern "C" void PSMTXTrans();
extern "C" void PSMTXMultVec();
extern "C" void PSVECSquareMag();
extern "C" void PSVECSquareDistance();
extern "C" void _savegpr_24();
extern "C" void _savegpr_25();
extern "C" void _savegpr_28();
@ -416,9 +158,6 @@ extern "C" void _restgpr_24();
extern "C" void _restgpr_25();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" void abs();
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
extern "C" extern void* __vt__8dCcD_Sph[36];
extern "C" extern void* __vt__9dCcD_Stts[11];
extern "C" extern void* __vt__12cCcD_SphAttr[25];
@ -427,11 +166,8 @@ extern "C" extern void* __vt__9cCcD_Stts[8];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32];
extern "C" extern u8 g_env_light[4880];
extern "C" extern u8 j3dSys[284];
extern "C" u8 mCurrentMtx__6J3DSys[48];
extern "C" u8 sincosTable___5JMath[65536];
extern "C" extern u32 __float_nan;
extern "C" extern u8 mStayNo__20dStage_roomControl_c[4];
extern "C" extern u8 pauseTimer__9dScnPly_c[4];
extern "C" void __register_global_object();
@ -537,25 +273,30 @@ SECTION_DATA static void* lit_5159[8] = {
};
/* 8068A40C-8068A42C -00001 0020+00 1/0 0/0 0/0 .data l_daE_BG_Method */
SECTION_DATA static void* l_daE_BG_Method[8] = {
(void*)daE_BG_Create__FP8daE_BG_c,
(void*)daE_BG_Delete__FP8daE_BG_c,
(void*)daE_BG_Execute__FP8daE_BG_c,
(void*)daE_BG_IsDelete__FP8daE_BG_c,
(void*)daE_BG_Draw__FP8daE_BG_c,
(void*)NULL,
(void*)NULL,
(void*)NULL,
static actor_method_class l_daE_BG_Method = {
(process_method_func)daE_BG_Create__FP8daE_BG_c,
(process_method_func)daE_BG_Delete__FP8daE_BG_c,
(process_method_func)daE_BG_Execute__FP8daE_BG_c,
(process_method_func)daE_BG_IsDelete__FP8daE_BG_c,
(process_method_func)daE_BG_Draw__FP8daE_BG_c,
};
/* 8068A42C-8068A45C -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_BG */
SECTION_DATA extern void* g_profile_E_BG[12] = {
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
(void*)0x02010000, (void*)&g_fpcLf_Method,
(void*)0x00000BBC, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x00CC0000, (void*)&l_daE_BG_Method,
(void*)0x000D0100, (void*)0x020E0000,
extern actor_process_profile_definition g_profile_E_BG = {
fpcLy_CURRENT_e, // mLayerID
7, // mListID
fpcPi_CURRENT_e, // mListPrio
PROC_E_BG, // mProcName
&g_fpcLf_Method.mBase, // sub_method
sizeof(daE_BG_c), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // sub_method
204, // mPriority
&l_daE_BG_Method, // sub_method
0x000D0100, // mStatus
fopAc_ENEMY_e, // mActorType
fopAc_CULLBOX_CUSTOM_e, // cullType
};
/* 8068A45C-8068A468 000148 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGSph */
@ -1175,7 +916,8 @@ asm void daE_BG_c::CreateHeap() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm J3DFrameCtrl::~J3DFrameCtrl() {
// asm J3DFrameCtrl::~J3DFrameCtrl() {
extern "C" asm void __dt__12J3DFrameCtrlFv() {
nofralloc
#include "asm/rel/d/a/e/d_a_e_bg/d_a_e_bg/__dt__12J3DFrameCtrlFv.s"
}
@ -1220,7 +962,8 @@ asm void daE_BG_c::create() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cM3dGSph::~cM3dGSph() {
// asm cM3dGSph::~cM3dGSph() {
extern "C" asm void __dt__8cM3dGSphFv() {
nofralloc
#include "asm/rel/d/a/e/d_a_e_bg/d_a_e_bg/__dt__8cM3dGSphFv.s"
}
@ -1230,7 +973,8 @@ asm cM3dGSph::~cM3dGSph() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cM3dGAab::~cM3dGAab() {
// asm cM3dGAab::~cM3dGAab() {
extern "C" asm void __dt__8cM3dGAabFv() {
nofralloc
#include "asm/rel/d/a/e/d_a_e_bg/d_a_e_bg/__dt__8cM3dGAabFv.s"
}
@ -1240,7 +984,8 @@ asm cM3dGAab::~cM3dGAab() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dBgS_ObjAcch::~dBgS_ObjAcch() {
// asm dBgS_ObjAcch::~dBgS_ObjAcch() {
extern "C" asm void __dt__12dBgS_ObjAcchFv() {
nofralloc
#include "asm/rel/d/a/e/d_a_e_bg/d_a_e_bg/__dt__12dBgS_ObjAcchFv.s"
}

View File

@ -1,194 +1,13 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_e_bi
//
/**
* @file d_a_e_bi.cpp
*
*/
#include "rel/d/a/e/d_a_e_bi/d_a_e_bi.h"
#include "d/cc/d_cc_d.h"
#include "dol2asm.h"
//
// Types:
//
struct request_of_phase_process_class {};
struct mDoMtx_stack_c {
/* 8000CD9C */ void transM(f32, f32, f32);
/* 8000CE38 */ void scaleM(f32, f32, f32);
static u8 now[48];
};
struct mDoExt_McaMorfCallBack2_c {};
struct mDoExt_McaMorfCallBack1_c {};
struct J3DAnmTransform {};
struct J3DModelData {};
struct Z2Creature {};
struct mDoExt_McaMorfSO {
/* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*,
mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int,
int, Z2Creature*, u32, u32);
/* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32);
/* 800110B0 */ void play(u32, s8);
/* 800111C0 */ void entryDL();
/* 800111EC */ void modelCalc();
/* 80011310 */ void stopZelAnime();
};
struct fopEn_enemy_c {};
struct fopAc_ac_c {
/* 80018B64 */ fopAc_ac_c();
};
struct fopAcM_gc_c {
/* 8001DCBC */ void gndCheck(cXyz const*);
static f32 mGroundY;
};
struct e_bi_class {};
struct daPy_py_c {
static u8 m_midnaActor[4];
};
struct daE_BI_HIO_c {
/* 8068A5EC */ daE_BI_HIO_c();
/* 8068D2DC */ ~daE_BI_HIO_c();
};
struct dSv_memBit_c {
/* 80034934 */ void isDungeonItem(int) const;
};
struct dKy_tevstr_c {};
struct dScnKy_env_light_c {
/* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*);
/* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*);
};
struct dRes_info_c {};
struct dRes_control_c {
/* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int);
};
struct dPa_levelEcallBack {};
struct csXyz {};
struct _GXColor {};
struct dPa_control_c {
struct level_c {
/* 8004B918 */ void getEmitter(u32);
};
/* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*,
u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*,
cXyz const*, f32);
/* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*,
cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*,
_GXColor const*, cXyz const*, f32);
};
struct dDlst_shadowControl_c {
static u8 mSimpleTexObj[32];
};
struct dCcU_AtInfo {};
struct dBgS_PolyPassChk {
/* 80078E68 */ void SetObj();
};
struct dBgS_ObjGndChk_Spl {
/* 800777B0 */ dBgS_ObjGndChk_Spl();
/* 80077848 */ ~dBgS_ObjGndChk_Spl();
};
struct dBgS_ObjGndChk {
/* 8068C350 */ ~dBgS_ObjGndChk();
};
struct dBgS_ObjAcch {
/* 8068D080 */ ~dBgS_ObjAcch();
};
struct dBgS_LinChk {
/* 80077C68 */ dBgS_LinChk();
/* 80077CDC */ ~dBgS_LinChk();
/* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*);
};
struct dBgS_GndChk {
/* 8007757C */ dBgS_GndChk();
/* 800775F0 */ ~dBgS_GndChk();
};
struct dBgS_AcchCir {
/* 80075EAC */ dBgS_AcchCir();
/* 80075F58 */ void SetWall(f32, f32);
/* 8068D0F0 */ ~dBgS_AcchCir();
};
struct dBgS {};
struct dBgS_Acch {
/* 80075F94 */ ~dBgS_Acch();
/* 800760A0 */ dBgS_Acch();
/* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*);
/* 80076AAC */ void CrrPos(dBgS&);
};
struct cM3dGCir {
/* 8026EF18 */ ~cM3dGCir();
};
struct cCcS {
/* 80264BA8 */ void Set(cCcD_Obj*);
};
struct cBgS_PolyInfo {
/* 802680B0 */ ~cBgS_PolyInfo();
};
struct cBgS_LinChk {};
struct cBgS_GndChk {
/* 80267D0C */ void SetPos(Vec const*);
};
struct cBgS {
/* 800743B4 */ void LineCross(cBgS_LinChk*);
/* 800744A0 */ void GroundCross(cBgS_GndChk*);
};
struct _GXTexObj {};
struct Z2CreatureEnemy {
/* 802C0F64 */ Z2CreatureEnemy();
/* 802C1094 */ void init(Vec*, Vec*, u8, u8);
/* 802C1B90 */ void setEnemyName(char const*);
};
struct JMath {
static u8 sincosTable_[65536];
};
struct J3DModel {};
struct J3DFrameCtrl {
/* 8032842C */ void checkPass(f32);
};
//
// Forward References:
@ -330,9 +149,6 @@ extern "C" void setEnemyName__15Z2CreatureEnemyFPCc();
extern "C" void* __nw__FUl();
extern "C" void __dl__FPv();
extern "C" void checkPass__12J3DFrameCtrlFf();
extern "C" void PSMTXCopy();
extern "C" void PSMTXTrans();
extern "C" void PSMTXMultVec();
extern "C" void _savegpr_19();
extern "C" void _savegpr_23();
extern "C" void _savegpr_24();
@ -345,8 +161,6 @@ extern "C" void _restgpr_24();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
extern "C" extern void* __vt__8dCcD_Sph[36];
extern "C" extern void* __vt__8dCcD_Cyl[36];
extern "C" extern void* __vt__9dCcD_Stts[11];
@ -357,7 +171,6 @@ extern "C" extern void* __vt__9cCcD_Stts[8];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32];
extern "C" extern u8 g_env_light[4880];
extern "C" u8 sincosTable___5JMath[65536];
extern "C" extern void* calc_mtx[1 + 1 /* padding */];
extern "C" f32 mGroundY__11fopAcM_gc_c;
@ -558,25 +371,30 @@ static dCcD_SrcSph at_sph_src = {
};
/* 8068D9DC-8068D9FC -00001 0020+00 1/0 0/0 0/0 .data l_daE_BI_Method */
SECTION_DATA static void* l_daE_BI_Method[8] = {
(void*)daE_BI_Create__FP10fopAc_ac_c,
(void*)daE_BI_Delete__FP10e_bi_class,
(void*)daE_BI_Execute__FP10e_bi_class,
(void*)daE_BI_IsDelete__FP10e_bi_class,
(void*)daE_BI_Draw__FP10e_bi_class,
(void*)NULL,
(void*)NULL,
(void*)NULL,
static actor_method_class l_daE_BI_Method = {
(process_method_func)daE_BI_Create__FP10fopAc_ac_c,
(process_method_func)daE_BI_Delete__FP10e_bi_class,
(process_method_func)daE_BI_Execute__FP10e_bi_class,
(process_method_func)daE_BI_IsDelete__FP10e_bi_class,
(process_method_func)daE_BI_Draw__FP10e_bi_class,
};
/* 8068D9FC-8068DA2C -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_BI */
SECTION_DATA extern void* g_profile_E_BI[12] = {
(void*)0xFFFFFFFD, (void*)0x0009FFFD,
(void*)0x03040000, (void*)&g_fpcLf_Method,
(void*)0x00000C00, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x00930000, (void*)&l_daE_BI_Method,
(void*)0x100D0100, (void*)0x020E0000,
extern actor_process_profile_definition g_profile_E_BI = {
fpcLy_CURRENT_e, // mLayerID
9, // mListID
fpcPi_CURRENT_e, // mListPrio
PROC_E_BI, // mProcName
&g_fpcLf_Method.mBase, // sub_method
sizeof(e_bi_class), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // sub_method
147, // mPriority
&l_daE_BI_Method, // sub_method
0x100D0100, // mStatus
fopAc_ENEMY_e, // mActorType
fopAc_CULLBOX_CUSTOM_e, // cullType
};
/* 8068DA2C-8068DA38 000140 000C+00 2/2 0/0 0/0 .data __vt__10cCcD_GStts */
@ -1104,7 +922,8 @@ static asm void ride_movebg_init(e_bi_class* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dBgS_ObjGndChk::~dBgS_ObjGndChk() {
// asm dBgS_ObjGndChk::~dBgS_ObjGndChk() {
extern "C" asm void __dt__14dBgS_ObjGndChkFv() {
nofralloc
#include "asm/rel/d/a/e/d_a_e_bi/d_a_e_bi/__dt__14dBgS_ObjGndChkFv.s"
}
@ -1287,7 +1106,8 @@ static asm void daE_BI_Create(fopAc_ac_c* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dBgS_ObjAcch::~dBgS_ObjAcch() {
// asm dBgS_ObjAcch::~dBgS_ObjAcch() {
extern "C" asm void __dt__12dBgS_ObjAcchFv() {
nofralloc
#include "asm/rel/d/a/e/d_a_e_bi/d_a_e_bi/__dt__12dBgS_ObjAcchFv.s"
}
@ -1297,7 +1117,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dBgS_AcchCir::~dBgS_AcchCir() {
// asm dBgS_AcchCir::~dBgS_AcchCir() {
extern "C" asm void __dt__12dBgS_AcchCirFv() {
nofralloc
#include "asm/rel/d/a/e/d_a_e_bi/d_a_e_bi/__dt__12dBgS_AcchCirFv.s"
}

View File

@ -1,180 +1,13 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_e_bs
//
/**
* @file d_a_e_bs.cpp
*
*/
#include "rel/d/a/e/d_a_e_bs/d_a_e_bs.h"
#include "d/cc/d_cc_d.h"
#include "dol2asm.h"
//
// Types:
//
struct request_of_phase_process_class {};
struct mDoMtx_stack_c {
/* 8000CE38 */ void scaleM(f32, f32, f32);
static u8 now[48];
};
struct mDoExt_McaMorfCallBack2_c {};
struct mDoExt_McaMorfCallBack1_c {};
struct J3DAnmTransform {};
struct J3DModelData {};
struct Z2Creature {};
struct mDoExt_McaMorfSO {
/* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*,
mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int,
int, Z2Creature*, u32, u32);
/* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32);
/* 800110B0 */ void play(u32, s8);
/* 800111C0 */ void entryDL();
/* 800111EC */ void modelCalc();
/* 80011310 */ void stopZelAnime();
};
struct mDoExt_McaMorf {
/* 8000FC4C */ mDoExt_McaMorf(J3DModelData*, mDoExt_McaMorfCallBack1_c*,
mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, int,
int, void*, u32, u32);
/* 8001037C */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32, void*);
/* 800105C8 */ void play(Vec*, u32, s8);
/* 80010680 */ void entryDL();
/* 800106AC */ void modelCalc();
};
struct fopEn_enemy_c {};
struct fopAc_ac_c {
/* 80018B64 */ fopAc_ac_c();
};
struct e_bs_class {};
struct daPy_py_c {
static u8 m_midnaActor[4];
};
struct daE_BS_HIO_c {
/* 8068E12C */ daE_BS_HIO_c();
/* 8069091C */ ~daE_BS_HIO_c();
};
struct dSv_info_c {
/* 80035200 */ void onSwitch(int, int);
/* 80035360 */ void isSwitch(int, int) const;
};
struct dKy_tevstr_c {};
struct dScnKy_env_light_c {
/* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*);
/* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*);
};
struct dRes_info_c {};
struct dRes_control_c {
/* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int);
};
struct dPa_levelEcallBack {};
struct csXyz {};
struct _GXColor {};
struct dPa_control_c {
/* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*,
u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*,
cXyz const*, f32);
/* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*,
cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*,
_GXColor const*, cXyz const*, f32);
};
struct J3DModel {};
struct dDlst_shadowControl_c {
/* 80055F1C */ void addReal(u32, J3DModel*);
static u8 mSimpleTexObj[32];
};
struct dCcU_AtInfo {};
struct dBgS_PolyPassChk {
/* 80078E68 */ void SetObj();
};
struct dBgS_ObjAcch {
/* 806907F4 */ ~dBgS_ObjAcch();
};
struct dBgS_LinChk {
/* 80077C68 */ dBgS_LinChk();
/* 80077CDC */ ~dBgS_LinChk();
/* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*);
};
struct dBgS_AcchCir {
/* 80075EAC */ dBgS_AcchCir();
/* 80075F58 */ void SetWall(f32, f32);
/* 80690864 */ ~dBgS_AcchCir();
};
struct dBgS {};
struct dBgS_Acch {
/* 80075F94 */ ~dBgS_Acch();
/* 800760A0 */ dBgS_Acch();
/* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*);
/* 80076AAC */ void CrrPos(dBgS&);
};
struct cM3dGCir {
/* 8026EF18 */ ~cM3dGCir();
};
struct cCcS {
/* 80264BA8 */ void Set(cCcD_Obj*);
};
struct cBgS_PolyInfo {
/* 802680B0 */ ~cBgS_PolyInfo();
};
struct cBgS_LinChk {};
struct cBgS {
/* 800743B4 */ void LineCross(cBgS_LinChk*);
};
struct _GXTexObj {};
struct Z2CreatureEnemy {
/* 802C0F64 */ Z2CreatureEnemy();
/* 802C1094 */ void init(Vec*, Vec*, u8, u8);
/* 802C1B7C */ void setLinkSearch(bool);
/* 802C1B90 */ void setEnemyName(char const*);
};
struct J3DSys {
static u8 mCurrentMtx[48];
};
struct J3DJoint {};
struct J3DFrameCtrl {
/* 8032842C */ void checkPass(f32);
};
//
// Forward References:
@ -312,9 +145,6 @@ extern "C" void setEnemyName__15Z2CreatureEnemyFPCc();
extern "C" void* __nw__FUl();
extern "C" void __dl__FPv();
extern "C" void checkPass__12J3DFrameCtrlFf();
extern "C" void PSMTXCopy();
extern "C" void PSMTXTrans();
extern "C" void PSMTXMultVec();
extern "C" void __construct_array();
extern "C" void _savegpr_19();
extern "C" void _savegpr_24();
@ -328,8 +158,6 @@ extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
extern "C" extern void* __vt__8dCcD_Sph[36];
extern "C" extern void* __vt__9dCcD_Stts[11];
extern "C" extern void* __vt__12cCcD_SphAttr[25];
@ -338,8 +166,6 @@ extern "C" extern void* __vt__9cCcD_Stts[8];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32];
extern "C" extern u8 g_env_light[4880];
extern "C" extern u8 j3dSys[284];
extern "C" u8 mCurrentMtx__6J3DSys[48];
extern "C" extern void* calc_mtx[1 + 1 /* padding */];
extern "C" u8 m_midnaActor__9daPy_py_c[4];
@ -551,25 +377,30 @@ static dCcD_SrcSph at_sph_src = {
};
/* 80690FC8-80690FE8 -00001 0020+00 1/0 0/0 0/0 .data l_daE_BS_Method */
SECTION_DATA static void* l_daE_BS_Method[8] = {
(void*)daE_BS_Create__FP10fopAc_ac_c,
(void*)daE_BS_Delete__FP10e_bs_class,
(void*)daE_BS_Execute__FP10e_bs_class,
(void*)daE_BS_IsDelete__FP10e_bs_class,
(void*)daE_BS_Draw__FP10e_bs_class,
(void*)NULL,
(void*)NULL,
(void*)NULL,
static actor_method_class l_daE_BS_Method = {
(process_method_func)daE_BS_Create__FP10fopAc_ac_c,
(process_method_func)daE_BS_Delete__FP10e_bs_class,
(process_method_func)daE_BS_Execute__FP10e_bs_class,
(process_method_func)daE_BS_IsDelete__FP10e_bs_class,
(process_method_func)daE_BS_Draw__FP10e_bs_class,
};
/* 80690FE8-80691018 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_BS */
SECTION_DATA extern void* g_profile_E_BS[12] = {
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
(void*)0x01B70000, (void*)&g_fpcLf_Method,
(void*)0x00000CFC, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x007C0000, (void*)&l_daE_BS_Method,
(void*)0x10040100, (void*)0x02000000,
extern actor_process_profile_definition g_profile_E_BS = {
fpcLy_CURRENT_e, // mLayerID
7, // mListID
fpcPi_CURRENT_e, // mListPrio
PROC_E_BS, // mProcName
&g_fpcLf_Method.mBase, // sub_method
sizeof(e_bs_class), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // sub_method
124, // mPriority
&l_daE_BS_Method, // sub_method
0x10040100, // mStatus
fopAc_ENEMY_e, // mActorType
fopAc_CULLBOX_0_e, // cullType
};
/* 80691018-80691024 000154 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */
@ -1211,7 +1042,8 @@ extern "C" asm void __dt__10dCcD_GSttsFv() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dBgS_ObjAcch::~dBgS_ObjAcch() {
// asm dBgS_ObjAcch::~dBgS_ObjAcch() {
extern "C" asm void __dt__12dBgS_ObjAcchFv() {
nofralloc
#include "asm/rel/d/a/e/d_a_e_bs/d_a_e_bs/__dt__12dBgS_ObjAcchFv.s"
}
@ -1221,7 +1053,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dBgS_AcchCir::~dBgS_AcchCir() {
// asm dBgS_AcchCir::~dBgS_AcchCir() {
extern "C" asm void __dt__12dBgS_AcchCirFv() {
nofralloc
#include "asm/rel/d/a/e/d_a_e_bs/d_a_e_bs/__dt__12dBgS_AcchCirFv.s"
}

Some files were not shown because too many files have changed in this diff Show More