Setup d_a_obj Actors (#2161)

* checkpoint

* checkpoint

* checkpoint

* checkpoint

* checkpoint

* checkpoint

* checkpoint

* finish

* add class comments

* checkpoint

* checkpoint

* checkpoint

* checkpoint

* checkpoint

* checkpoint

* checkpoint

* checkpoint

* checkpoint

* checkpoint

* checkpoint

* checkpoint

* finish

* add class comments

* rm duplicate comments

* fix build
This commit is contained in:
Pheenoh
2024-05-29 00:49:10 -07:00
committed by GitHub
parent 7c7bc7fbd0
commit 2e7510db5f
634 changed files with 17956 additions and 37461 deletions
@@ -1,10 +1,21 @@
#ifndef D_A_OBJ_LV5KEY_H
#define D_A_OBJ_LV5KEY_H
#include "dolphin/types.h"
#include "f_op/f_op_actor.h"
#include "f_op/f_op_actor_mng.h"
struct daObjLv5Key_c : public fopAc_ac_c {
/**
* @ingroup actors-objects
* @class daObjLv5Key_c
* @brief Snowpeak Ruins Key
*
* @details
*
*/
class daObjLv5Key_c : public fopAc_ac_c {
public:
/* 80B9B9B8 */ void CreateHeap();
/* 80B9BA94 */ void Init();
/* 80B9BB5C */ void setBgc();
@@ -29,8 +40,12 @@ struct daObjLv5Key_c : public fopAc_ac_c {
void keylock_shake_start() { setStatus(1); }
bool is_open() { return mStatus == 3; }
private:
/* 0x568 */ u8 field_0x568[0x945 - 0x568];
/* 0x945 */ s8 mStatus;
/* 0x946 */ u8 field_0x946[0x97c - 0x946];
};
STATIC_ASSERT(sizeof(daObjLv5Key_c) == 0x97c);
#endif /* D_A_OBJ_LV5KEY_H */
@@ -1,6 +1,52 @@
#ifndef D_A_OBJ_TURARA_H
#define D_A_OBJ_TURARA_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-objects
* @class daTurara_c
* @brief Icicle
*
* @details
*
*/
class daTurara_c : public fopAc_ac_c {
public:
/* 80B9CC9C */ void setBaseMtx();
/* 80B9CD74 */ void CreateHeap();
/* 80B9CED8 */ void create();
/* 80B9D468 */ void setFallStat();
/* 80B9D4CC */ void Execute(f32 (**)[3][4]);
/* 80B9D548 */ void move();
/* 80B9D72C */ void init_modeWait();
/* 80B9D738 */ void modeWait();
/* 80B9D998 */ void eventStart();
/* 80B9D9BC */ void init_modeDropInit();
/* 80B9DA00 */ void modeDropInit();
/* 80B9DA44 */ void init_modeDrop();
/* 80B9DB44 */ void modeDrop();
/* 80B9DB90 */ void bgCheck();
/* 80B9DBD0 */ void init_modeDropEnd();
/* 80B9DE48 */ void modeDropEnd();
/* 80B9E078 */ void init_modeDropEnd2();
/* 80B9E338 */ void modeDropEnd2();
/* 80B9E388 */ void Draw();
/* 80B9E478 */ void Delete();
/* 80B9E710 */ ~daTurara_c();
static u8 const mCcDObjInfo[48];
static u8 mCcDCyl[68];
private:
/* 0x568 */ u8 field_0x568[0x998 - 0x568];
};
STATIC_ASSERT(sizeof(daTurara_c) == 0x998);
class daTurara_HIO_c {
public:
/* 80B9CB8C */ daTurara_HIO_c();
/* 80B9E5B4 */ ~daTurara_HIO_c();
};
#endif /* D_A_OBJ_TURARA_H */
@@ -1,6 +1,43 @@
#ifndef D_A_OBJ_TVCDLST_H
#define D_A_OBJ_TVCDLST_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-objects
* @class daTvCdlst_c
* @brief Ordon Torch Stand
*
* @details
*
*/
class daTvCdlst_c : public fopAc_ac_c {
public:
/* 80B9ED40 */ void setBaseMtx();
/* 80B9EDC8 */ void CreateHeap();
/* 80B9EE34 */ void create();
/* 80B9F144 */ void createHeapCallBack(fopAc_ac_c*);
/* 80B9F164 */ void lightInit();
/* 80B9F1F0 */ void setLight();
/* 80B9F220 */ void cutLight();
/* 80B9F250 */ void pointLightProc();
/* 80B9F300 */ void Execute();
/* 80B9F634 */ void Draw();
/* 80B9F6D8 */ void Delete();
static u8 const mCcDObjInfo[48];
static u8 mCcDCyl[68];
private:
/* 0x568 */ u8 field_0x568[0x754 - 0x568];
};
STATIC_ASSERT(sizeof(daTvCdlst_c) == 0x754);
class daTvCdlst_HIO_c {
public:
/* 80B9ECCC */ daTvCdlst_HIO_c();
/* 80B9F7B0 */ ~daTvCdlst_HIO_c();
};
#endif /* D_A_OBJ_TVCDLST_H */
@@ -1,5 +1,40 @@
#ifndef D_A_OBJ_Y_TAIHOU_H
#define D_A_OBJ_Y_TAIHOU_H
#include "f_op/f_op_actor_mng.h"
#include "rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.h"
/**
* @ingroup actors-objects
* @class daObjYtaihou_c
* @brief Snowpeak Ruins Cannon
*
* @details
*
*/
class daObjYtaihou_c : public fopAc_ac_c {
public:
/* 80B9FDE8 */ void create1st();
/* 80B9FEB0 */ void setIronBall(daObjCarry_c*);
/* 80B9FF08 */ void getEvent(u8);
/* 80B9FF1C */ void loadAngle();
/* 80B9FFAC */ void saveAngle();
/* 80BA0060 */ void setNextAngle();
/* 80BA0084 */ void setMtx();
/* 80BA0208 */ void rotateCheck();
/* 80BA045C */ void shotCheck();
/* 80BA0964 */ void eventStart();
/* 80BA0974 */ void CreateHeap();
/* 80BA09E4 */ void Create();
/* 80BA0A94 */ void Execute(f32 (**)[3][4]);
/* 80BA0B4C */ void Draw();
/* 80BA0C1C */ void Delete();
/* 80BA0FA4 */ ~daObjYtaihou_c();
private:
/* 0x568 */ u8 field_0x568[0x778 - 0x568];
};
STATIC_ASSERT(sizeof(daObjYtaihou_c) == 0x778);
#endif /* D_A_OBJ_Y_TAIHOU_H */
@@ -1,6 +1,48 @@
#ifndef D_A_OBJ_AMISHUTTER_H
#define D_A_OBJ_AMISHUTTER_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-objects
* @class daAmiShutter_c
* @brief Drain Gate
*
* @details
*
*/
class daAmiShutter_c : public fopAc_ac_c {
/* 80BA155C */ void setBaseMtx();
/* 80BA15E4 */ void CreateHeap();
/* 80BA1650 */ void create();
/* 80BA182C */ void Execute(f32 (**)[3][4]);
/* 80BA1888 */ void moveShutter();
/* 80BA1974 */ void playerAreaCheck();
/* 80BA1B4C */ void init_modeWait();
/* 80BA1B58 */ void modeWait();
/* 80BA1BCC */ void init_modeWaitEvent();
/* 80BA1BD8 */ void modeWaitEvent();
/* 80BA1C90 */ void eventStart();
/* 80BA1CB4 */ void init_modeClose();
/* 80BA1D48 */ void modeClose();
/* 80BA1DCC */ void init_modeCloseEvent();
/* 80BA1E60 */ void modeCloseEvent();
/* 80BA1EEC */ void init_modeCloseEnd();
/* 80BA1F7C */ void modeCloseEnd();
/* 80BA1F80 */ void init_modeOpen();
/* 80BA2004 */ void modeOpen();
/* 80BA2080 */ void Draw();
/* 80BA2124 */ void Delete();
/* 80BA22E8 */ ~daAmiShutter_c();
private:
/* 0x568 */ u8 field_0x568[0x5dc - 0x568];
};
STATIC_ASSERT(sizeof(daAmiShutter_c) == 0x5dc);
class daAmiShutter_HIO_c {
/* 80BA14CC */ daAmiShutter_HIO_c();
/* 80BA21E0 */ ~daAmiShutter_HIO_c();
};
#endif /* D_A_OBJ_AMISHUTTER_H */
@@ -8,6 +8,14 @@
#include "d/a/d_a_player.h"
#include "d/d_insect.h"
/**
* @ingroup actors-objects
* @class daObjARI_c
* @brief Insect - Ant
*
* @details
*
*/
class daObjARI_c : public dInsect_c {
public:
/* 80BA26BC */ void InitCcSph();
@@ -32,6 +40,7 @@ public:
/* 80BA483C */ bool CreateChk();
/* 80BA49E8 */ cPhs__Step create();
private:
/* 0x590 */ dBgS_GndChk mGndChk;
/* 0x5E4 */ u8 field_0x5e4[4];
/* 0x5E8 */ u8 mAction;
@@ -1,5 +1,43 @@
#ifndef D_A_OBJ_AUTOMATA_H
#define D_A_OBJ_AUTOMATA_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-objects
* @class daObj_AutoMata_c
* @brief Falbi's Music Box
*
* @details
*
*/
class daObj_AutoMata_c : public fopAc_ac_c {
public:
/* 80BA56EC */ ~daObj_AutoMata_c();
/* 80BA5990 */ void create();
/* 80BA5F88 */ void CreateHeap();
/* 80BA60A0 */ void Delete();
/* 80BA60D4 */ void Execute();
/* 80BA639C */ void Draw();
/* 80BA6480 */ void createHeapCallBack(fopAc_ac_c*);
/* 80BA64A0 */ void srchTHouse(fopAc_ac_c*, void*);
/* 80BA6500 */ void setAnm(int, bool);
/* 80BA6634 */ void setEnvTevColor();
/* 80BA6690 */ void setRoomNo();
/* 80BA66D4 */ void setMtx();
/* 80BA674C */ void setSe();
private:
/* 0x568 */ u8 field_0x568[0xb38 - 0x568];
};
STATIC_ASSERT(sizeof(daObj_AutoMata_c) == 0xb38);
class daObj_AutoMata_Param_c {
public:
/* 80BA6BA4 */ ~daObj_AutoMata_Param_c();
static u8 const m[12];
};
#endif /* D_A_OBJ_AUTOMATA_H */
@@ -7,6 +7,14 @@
class dBgW;
/**
* @ingroup actors-objects
* @class daObjAvalanche_c
* @brief Avalanche
*
* @details
*
*/
class daObjAvalanche_c : public dBgS_MoveBgActor {
public:
enum Action {
@@ -7,6 +7,14 @@
#include "d/cc/d_cc_d.h"
#include "SSystem/SComponent/c_phase.h"
/**
* @ingroup actors-objects
* @class daObj_Balloon_c
* @brief Balloon
*
* @details
*
*/
class daObj_Balloon_c : public fopAc_ac_c {
public:
/* 80BA7FF4 */ int draw();
@@ -6,6 +6,14 @@
#include "d/bg/d_bg_s_movebg_actor.h"
#include "d/cc/d_cc_d.h"
/**
* @ingroup actors-objects
* @class daBarDesk_c
* @brief Kakariko House Desk
*
* @details
*
*/
class daBarDesk_c : public dBgS_MoveBgActor {
public:
/* 80BA9200 */ void setBaseMtx();
@@ -1,6 +1,46 @@
#ifndef D_A_OBJ_BATTA_H
#define D_A_OBJ_BATTA_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
#include "d/d_insect.h"
/**
* @ingroup actors-objects
* @class daObjBATTA_c
* @brief Insect - Grasshopper
*
* @details
*
*/
class daObjBATTA_c : public dInsect_c {
public:
/* 80BA9E5C */ void setAction(void (daObjBATTA_c::*)());
/* 80BAA1C8 */ void wait();
/* 80BAA47C */ void turn();
/* 80BAAA18 */ void jump();
/* 80BAAD30 */ void fly_up();
/* 80BAB234 */ void fly_down();
/* 80BAB500 */ void bin_wait();
/* 80BAB6C8 */ void bin_action();
/* 80BAB820 */ void hook();
/* 80BAB934 */ void boomerang();
/* 80BABA98 */ void batta_setParticle();
/* 80BABCA4 */ void action();
/* 80BABD6C */ void hit_check();
/* 80BABE20 */ void execute();
/* 80BABFA4 */ void _delete();
/* 80BAC00C */ void mtx_set();
/* 80BAC194 */ void create();
private:
/* 0x590 */ u8 field_0x568[0x9f8 - 0x590];
};
STATIC_ASSERT(sizeof(daObjBATTA_c) == 0x9f8);
class daObj_BattaHIO_c {
public:
/* 80BA9E2C */ daObj_BattaHIO_c();
/* 80BAC874 */ ~daObj_BattaHIO_c();
};
#endif /* D_A_OBJ_BATTA_H */
@@ -5,6 +5,14 @@
#include "d/cc/d_cc_d.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-objects
* @class daObjBBox_c
* @brief B Box
*
* @details
*
*/
class daObjBBox_c : public dBgS_MoveBgActor {
public:
/* 80BACD38 */ void initBaseMtx();
@@ -23,6 +31,7 @@ private:
/* 0x5A8 */ J3DModel* mpModel;
/* 0x5AC */ dCcD_Stts mStts;
/* 0x5E8 */ dCcD_Cyl mCyl;
}; // Size: 0x724
};
STATIC_ASSERT(sizeof(daObjBBox_c) == 0x724);
#endif /* D_A_OBJ_BBOX_H */
@@ -8,6 +8,14 @@
class dBgW;
/**
* @ingroup actors-objects
* @class daObj_Bed_c
* @brief Bed
*
* @details
*
*/
class daObj_Bed_c : public fopAc_ac_c {
public:
/* 0x568 */ u8 field_0x568[4];
@@ -1,5 +1,85 @@
#ifndef D_A_OBJ_BEMOS_H
#define D_A_OBJ_BEMOS_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-objects
* @class daObjBm_c
* @brief Beamos (Movable Object)
*
* @details
*
*/
class daObjBm_c : public fopAc_ac_c {
public:
class BgcSrc_c {};
class Bgc_c {
public:
/* 80BB0E0C */ Bgc_c();
/* 80BB0ED4 */ void wall_pos(fopAc_ac_c const*, daObjBm_c::BgcSrc_c const*, int, s16, f32);
/* 80BB1154 */ void chk_wall_pre(fopAc_ac_c const*, daObjBm_c::BgcSrc_c const*, int, s16);
static u8 const M_lin20[368];
static u8 M_lin5[80];
static u8 M_gnd_work[1932];
static u8 M_wrt_work[84];
static u8 M_wall_work[2576];
};
/* 80BAE36C */ void PPCallBack(fopAc_ac_c*, fopAc_ac_c*, s16, dBgW_Base::PushPullLabel);
/* 80BAE5FC */ void initBaseMtx();
/* 80BAE68C */ void setBaseMtx();
/* 80BAE778 */ int Create();
/* 80BAEADC */ int CreateHeap();
/* 80BAEFD8 */ void create1st();
/* 80BAF09C */ int Execute(f32 (**)[3][4]);
/* 80BAF29C */ void main_proc_call();
/* 80BAF328 */ void initActionEnBemos();
/* 80BAF37C */ void initActionObjBemos();
/* 80BAF46C */ void actionEnBemos();
/* 80BAF750 */ void actionObjBemos();
/* 80BAF80C */ void setCrawCO();
/* 80BAF8F8 */ void calcBeamPos();
/* 80BAFC08 */ void calcBeamLenAndAt();
/* 80BAFFA8 */ void checkFindPlayer();
/* 80BB0104 */ void checkSearchPlayer();
/* 80BB0260 */ void getSearchDistance();
/* 80BB02B8 */ void getBeamSearchDistance();
/* 80BB0310 */ void effect_proc();
/* 80BB0580 */ void effectWait();
/* 80BB0584 */ void initEffectSet0();
/* 80BB0718 */ void effectSet0();
/* 80BB071C */ void effectSet1();
/* 80BB0720 */ void effectEnd();
/* 80BB0724 */ void check_to_walk();
/* 80BB0824 */ void mode_wait_init();
/* 80BB0888 */ void mode_wait();
/* 80BB09C8 */ void mode_walk_init();
/* 80BB09E0 */ void mode_walk();
/* 80BB0DA8 */ void mode_afl();
/* 80BB0DC0 */ void mode_dead_init();
/* 80BB0DE4 */ void mode_dead();
/* 80BB0DE8 */ void clr_moment_cnt();
/* 80BB1194 */ void initActionSwWait();
/* 80BB11D4 */ void actionSwWait();
/* 80BB14C8 */ void initActionWarning();
/* 80BB154C */ void actionWarning();
/* 80BB1654 */ void initActionFindPlayer();
/* 80BB1814 */ void actionFindPlayer();
/* 80BB1960 */ void initActionAttack();
/* 80BB1BD0 */ void actionAttack();
/* 80BB248C */ void initActionDead();
/* 80BB2700 */ void actionDead();
/* 80BB2AB0 */ int Draw();
/* 80BB2C8C */ int Delete();
static u8 const M_dir_base[8];
private:
/* 0x568 */ u8 field_0x568[0x1258 - 0x568];
};
STATIC_ASSERT(sizeof(daObjBm_c) == 0x1258);
#endif /* D_A_OBJ_BEMOS_H */
@@ -1,5 +1,48 @@
#ifndef D_A_OBJ_BHASHI_H
#define D_A_OBJ_BHASHI_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-objects
* @class daObjBHASHI_c
* @brief Morpheel Room Pillar?
*
* @details
*
*/
class daObjBHASHI_c : public fopAc_ac_c {
public:
/* 80576A58 */ void initCcCylinder();
/* 80576AC4 */ void setCcCylinder();
/* 80576B78 */ void Set_Hahen();
/* 80576C50 */ void Set_Speed(s16, s16, f32, f32);
/* 80577500 */ void Obj_Damage(cXyz);
/* 805771EC */ void Obj_Damage();
/* 80577E24 */ void Rolling(cXyz*, f32, f32);
/* 805781FC */ void setBaseMtx();
/* 80578330 */ void CreateHeap();
/* 8057842C */ void create();
/* 80578788 */ void Create();
/* 805787CC */ void Execute(f32 (**)[3][4]);
/* 805788EC */ void Draw();
/* 805789E8 */ void Delete();
private:
/* 0x568 */ u8 field_0x568[0x1464 - 0x568];
};
STATIC_ASSERT(sizeof(daObjBHASHI_c) == 0x1464);
class Hahen_c {
public:
/* 80577794 */ Hahen_c();
/* 805777A4 */ void Wall_Check();
/* 80577868 */ void HahenMotion();
/* 80577C1C */ void CheckCull();
/* 80577DA4 */ void checkViewArea();
/* 80577FE0 */ void Roll_Set(cXyz*, f32, s16);
/* 80578744 */ ~Hahen_c();
};
#endif /* D_A_OBJ_BHASHI_H */
@@ -1,6 +1,32 @@
#ifndef D_A_OBJ_BHBRIDGE_H
#define D_A_OBJ_BHBRIDGE_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-objects
* @class daObjBhbridge_c
* @brief BH Bridge?
*
* @details
*
*/
class daObjBhbridge_c : public fopAc_ac_c {
public:
/* 80BB5318 */ void RideOn_Angle(s16&, f32, s16, f32);
/* 80BB5380 */ void Check_RideOn();
/* 80BB558C */ void initBaseMtx();
/* 80BB55B8 */ void setBaseMtx();
/* 80BB5934 */ void CreateHeap();
/* 80BB59AC */ void Create();
/* 80BB5A14 */ void Execute(f32 (**)[3][4]);
/* 80BB5E10 */ void Draw();
/* 80BB5EB4 */ void Delete();
private:
/* 0x568 */ u8 field_0x568[0x810 - 0x568];
};
STATIC_ASSERT(sizeof(daObjBhbridge_c) == 0x810);
#endif /* D_A_OBJ_BHBRIDGE_H */
@@ -3,6 +3,14 @@
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-objects
* @class daBkLeaf_c
* @brief Baba Stem Leaf
*
* @details
*
*/
class daBkLeaf_c : public fopAc_ac_c {
public:
/* 80BB60F8 */ void setBokkuri();
@@ -6,6 +6,14 @@
class J3DModel;
/**
* @ingroup actors-objects
* @class daObjBkDoor_c
* @brief Ranch Door
*
* @details
*
*/
class daObjBkDoor_c : public dBgS_MoveBgActor {
public:
/* 80578D4C */ void initBaseMtx();
@@ -1,6 +1,50 @@
#ifndef D_A_OBJ_BKY_ROCK_H
#define D_A_OBJ_BKY_ROCK_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-objects
* @class daBkyRock_c
* @brief Bomb Shack Rock
*
* @details
*
*/
class daBkyRock_c : public fopAc_ac_c {
public:
struct _pieceData {
public:
/* 80BB6914 */ _pieceData();
};
/* 80BB6858 */ daBkyRock_c();
/* 80BB6B5C */ ~daBkyRock_c();
/* 80BB6C4C */ void create();
/* 80BB6D60 */ void execute();
/* 80BB6D84 */ void draw();
/* 80BB6EB8 */ void Delete();
/* 80BB6F64 */ void setModelMtx();
/* 80BB6FD4 */ void createHeap();
/* 80BB7144 */ void init();
/* 80BB72FC */ void middleExe();
/* 80BB7364 */ void exeModeNoDamage();
/* 80BB7458 */ void exeModeDamage();
/* 80BB75D8 */ void exeModePiece();
/* 80BB7690 */ void chkHitBombArrow();
/* 80BB776C */ void initChangeModeBefore();
/* 80BB77FC */ void initChangeModeAfter();
/* 80BB7818 */ void pieceMove();
/* 80BB7988 */ void pieceMoveInit();
/* 80BB7C18 */ void callBombEmt(int, u16 const*);
static u8 const s_CcDCyl[68];
static u8 s_exeProc[36];
private:
/* 0x568 */ u8 field_0x568[0xf50 - 0x568];
};
STATIC_ASSERT(sizeof(daBkyRock_c) == 0xf50);
#endif /* D_A_OBJ_BKY_ROCK_H */
@@ -6,6 +6,14 @@
#include "d/cc/d_cc_d.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-objects
* @class daBmWindow_c
* @brief Boomerang Window?
*
* @details
*
*/
class daBmWindow_c : public dBgS_MoveBgActor
{
public:
@@ -31,6 +39,7 @@ public:
/* 80BB9494 */ int Draw();
/* 80BB9548 */ int Delete();
private:
/* 0x5A0 */ request_of_phase_process_class mPhase;
/* 0x5A8 */ J3DModel* mModel;
/* 0x5AC */ u8 mMode;
@@ -60,6 +69,7 @@ public:
static dCcD_SrcGObjInf const mCcDObjInfo;
static dCcD_SrcCyl mCcDCyl;
};
STATIC_ASSERT(sizeof(daBmWindow_c) == 0xEE0);
class daBmWindow_HIO_c : public fOpAcm_HIO_entry_c {
public:

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