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 01:49:10 -06:00 committed by GitHub
parent 7c7bc7fbd0
commit 2e7510db5f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
634 changed files with 17956 additions and 37461 deletions

View File

@ -21,8 +21,8 @@ Total | 54.954197% | 2209528 | 4020672
Section | Percentage | Decompiled (bytes) | Total (bytes)
---|---|---|---
main.dol | 54.954197% | 2209528 | 4020672
RELs | 38.787290% | 4460664 | 11500324
Total | 42.975283% | 6670192 | 15520996
RELs | 38.789690% | 4460940 | 11500324
Total | 42.977062% | 6670468 | 15520996
## RELs
@ -378,7 +378,7 @@ d_a_obj_chandelier | 100.000000% | 5504 | 5504
d_a_obj_chest | 100.000000% | 7220 | 7220
d_a_obj_cho | 100.000000% | 13220 | 13220
d_a_obj_cowdoor | 100.000000% | 2188 | 2188
d_a_obj_crope | 26.014689% | 2692 | 10348
d_a_obj_crope | 28.681871% | 2968 | 10348
d_a_obj_crvfence | 37.146893% | 3156 | 8496
d_a_obj_crvgate | 27.603513% | 4400 | 15940
d_a_obj_crvhahen | 37.120623% | 1908 | 5140
@ -785,4 +785,4 @@ d_a_vrbox2 | 44.907111% | 2804 | 6244
d_a_warp_bug | 100.000000% | 2024 | 2024
d_a_ykgr | 44.400631% | 2252 | 5072
f_pc_profile_lst | 100.000000% | 28156 | 28156
Total | 38.787290% | 4460664 | 11500324
Total | 38.789690% | 4460940 | 11500324

View File

@ -1,7 +1,6 @@
#ifndef D_A_B_YO_H
#define D_A_B_YO_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**

View File

@ -1,7 +1,6 @@
#ifndef D_A_E_BG_H
#define D_A_E_BG_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**

View File

@ -1,7 +1,6 @@
#ifndef D_A_E_BUG_H
#define D_A_E_BUG_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**

View File

@ -1,7 +1,6 @@
#ifndef D_A_E_DK_H
#define D_A_E_DK_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**

View File

@ -1,7 +1,6 @@
#ifndef D_A_E_DT_H
#define D_A_E_DT_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**

View File

@ -1,7 +1,6 @@
#ifndef D_A_E_FB_H
#define D_A_E_FB_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**

View File

@ -1,7 +1,6 @@
#ifndef D_A_E_GA_H
#define D_A_E_GA_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
struct ga_s {

View File

@ -1,7 +1,6 @@
#ifndef D_A_E_GI_H
#define D_A_E_GI_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**

View File

@ -1,7 +1,6 @@
#ifndef D_A_E_GM_H
#define D_A_E_GM_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**

View File

@ -1,7 +1,6 @@
#ifndef D_A_E_GS_H
#define D_A_E_GS_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**

View File

@ -1,7 +1,6 @@
#ifndef D_A_E_HM_H
#define D_A_E_HM_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**

View File

@ -1,7 +1,6 @@
#ifndef D_A_E_HP_H
#define D_A_E_HP_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**

View File

@ -1,7 +1,6 @@
#ifndef D_A_E_KK_H
#define D_A_E_KK_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**

View File

@ -1,7 +1,6 @@
#ifndef D_A_E_OC_H
#define D_A_E_OC_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**

View File

@ -1,7 +1,6 @@
#ifndef D_A_E_OT_H
#define D_A_E_OT_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**

View File

@ -1,7 +1,6 @@
#ifndef D_A_E_PZ_H
#define D_A_E_PZ_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**

View File

@ -1,7 +1,6 @@
#ifndef D_A_E_SW_H
#define D_A_E_SW_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**

View File

@ -1,7 +1,6 @@
#ifndef D_A_E_TT_H
#define D_A_E_TT_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**

View File

@ -146,6 +146,7 @@ public:
/* 807CD668 */ int create();
/* 807CDAD8 */ daE_VA_c();
private:
/* 0x005AC */ request_of_phase_process_class mPhase;
/* 0x005B4 */ mDoExt_McaMorfSO* mpMorf;
/* 0x005B8 */ mDoExt_McaMorfSO* mpEndEfMorf;
@ -286,6 +287,7 @@ public:
/* 807C25EC */ daE_VA_HIO_c();
/* 807CE2AC */ virtual ~daE_VA_HIO_c();
private:
/* 0x04 */ s8 field_0x04;
/* 0x08 */ f32 mModelSize;
/* 0x0C */ f32 mAttackRange;

View File

@ -1,7 +1,6 @@
#ifndef D_A_E_WARPAPPEAR_H
#define D_A_E_WARPAPPEAR_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**

View File

@ -1,7 +1,6 @@
#ifndef D_A_E_WS_H
#define D_A_E_WS_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**

View File

@ -1,7 +1,6 @@
#ifndef D_A_E_WW_H
#define D_A_E_WW_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**

View File

@ -1,7 +1,6 @@
#ifndef D_A_E_YMB_H
#define D_A_E_YMB_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**

View File

@ -1,7 +1,6 @@
#ifndef D_A_E_ZH_H
#define D_A_E_ZH_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**

View File

@ -1,7 +1,6 @@
#ifndef D_A_E_ZM_H
#define D_A_E_ZM_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**

View File

@ -1,7 +1,6 @@
#ifndef D_A_E_ZS_H
#define D_A_E_ZS_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**

View File

@ -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 */

View File

@ -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 */

View File

@ -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 */

View File

@ -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 */

View File

@ -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 */

View File

@ -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;

View File

@ -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 */

View File

@ -7,6 +7,14 @@
class dBgW;
/**
* @ingroup actors-objects
* @class daObjAvalanche_c
* @brief Avalanche
*
* @details
*
*/
class daObjAvalanche_c : public dBgS_MoveBgActor {
public:
enum Action {

View File

@ -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();

View File

@ -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();

View File

@ -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 */

View File

@ -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 */

View File

@ -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];

View File

@ -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 */

View File

@ -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 */

View File

@ -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 */

View File

@ -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();

View File

@ -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();

View File

@ -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 */

View File

@ -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:

View File

@ -1,6 +1,43 @@
#ifndef D_A_OBJ_BMSHUTTER_H
#define D_A_OBJ_BMSHUTTER_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-objects
* @class daObjBmSh_c
* @brief Boomerang Shutter
*
* @details
*
*/
class daObjBmSh_c : public fopAc_ac_c {
public:
/* 80BB9A58 */ void initBaseMtx();
/* 80BB9AE4 */ void setBaseMtx();
/* 80BB9B84 */ void Create();
/* 80BB9C50 */ void CreateHeap();
/* 80BB9CC0 */ void create();
/* 80BB9DB4 */ void Execute(f32 (**)[3][4]);
/* 80BB9F34 */ void checkSw();
/* 80BB9FBC */ void checkAnySw();
/* 80BBA044 */ void checkMySw();
/* 80BBA080 */ void event_proc_call();
/* 80BBA13C */ void actionWait();
/* 80BBA1A4 */ void actionOrderEvent();
/* 80BBA20C */ void actionEvent();
/* 80BBA268 */ void actionDead();
/* 80BBA26C */ void mode_proc_call();
/* 80BBA394 */ void modeWait();
/* 80BBA5B4 */ void modeMove();
/* 80BBA640 */ void modeEnd();
/* 80BBA644 */ void Draw();
/* 80BBA6E8 */ void Delete();
private:
/* 0x568 */ u8 field_0x568[0x5dc - 0x568];
};
STATIC_ASSERT(sizeof(daObjBmSh_c) == 0x5dc);
#endif /* D_A_OBJ_BMSHUTTER_H */

View File

@ -4,6 +4,14 @@
#include "d/com/d_com_inf_game.h"
#include "d/d_bomb.h"
/**
* @ingroup actors-objects
* @class daObjBombf_c
* @brief Bomb Flower
*
* @details
*
*/
class daObjBombf_c : public fopAc_ac_c {
public:
/* 80BBA9F8 */ bool createHeap();
@ -13,6 +21,7 @@ public:
/* 80BBACC0 */ int execute();
/* 80BBADF8 */ int draw();
private:
/* 0x568 */ request_of_phase_process_class field_0x568;
/* 0x570 */ J3DModel* field_0x570;
/* 0x574 */ u32 field_0x574;
@ -21,6 +30,7 @@ public:
/* 0x580 */ u16 field_0x580;
/* 0x582 */ u8 field_0x582;
/* 0x584 */ f32 field_0x584;
}; // Size: 0x588
};
STATIC_ASSERT(sizeof(daObjBombf_c) == 0x588);
#endif /* D_A_OBJ_BOMBF_H */

View File

@ -4,6 +4,14 @@
#include "f_op/f_op_actor_mng.h"
#include "d/msg/d_msg_flow.h"
/**
* @ingroup actors-objects
* @class daObjBossWarp_c
* @brief Boss Warp
*
* @details
*
*/
class daObjBossWarp_c : public fopAc_ac_c {
public:
enum Action {
@ -52,6 +60,7 @@ public:
bool isFirst() { return fopAcM_GetParamBit(this, 0x1b, 1); }
void setAction(u8 action) { mAction = action; }
private:
/* 0x568 */ request_of_phase_process_class mPhaseReq;
/* 0x570 */ J3DModel* mpModel;
/* 0x574 */ mDoExt_btkAnm* mpBtkAnm[2];
@ -79,7 +88,6 @@ public:
/* 0x620 */ cXyz field_0x620;
/* 0x62C */ bool mScalingUp;
};
STATIC_ASSERT(sizeof(daObjBossWarp_c) == 0x630);
#endif /* D_A_OBJ_BOSSWARP_H */

View File

@ -1,5 +1,46 @@
#ifndef D_A_OBJ_BOUMATO_H
#define D_A_OBJ_BOUMATO_H
#include "f_op/f_op_actor_mng.h"
#include "d/cc/d_cc_d.h"
/**
* @ingroup actors-objects
* @class daObj_BouMato_c
* @brief Stick Target
*
* @details
*
*/
class daObj_BouMato_c : public fopAc_ac_c {
public:
/* 80BBAFEC */ ~daObj_BouMato_c();
/* 80BBB230 */ void create();
/* 80BBB770 */ void CreateHeap();
/* 80BBB800 */ void Delete();
/* 80BBB834 */ void Execute();
/* 80BBBD80 */ void Draw();
/* 80BBBE50 */ void createHeapCallBack(fopAc_ac_c*);
/* 80BBBE70 */ void tgHitCallBack(fopAc_ac_c*, dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*);
/* 80BBBEA0 */ void srchArrow(void*, void*);
/* 80BBBF4C */ void deleteStuckArrow();
/* 80BBBFF8 */ void getResName();
/* 80BBC008 */ void setSwayParam(fopAc_ac_c*);
/* 80BBC19C */ void setEnvTevColor();
/* 80BBC1F8 */ void setRoomNo();
/* 80BBC23C */ void setMtx();
private:
/* 0x568 */ u8 field_0x568[0xa40 - 0x568];
};
STATIC_ASSERT(sizeof(daObj_BouMato_c) == 0xa40);
class daObj_BouMato_Param_c {
public:
/* 80BBC404 */ ~daObj_BouMato_Param_c();
static u8 const m[28];
};
#endif /* D_A_OBJ_BOUMATO_H */

View File

@ -1,5 +1,21 @@
#ifndef D_A_OBJ_BRAKEEFF_H
#define D_A_OBJ_BRAKEEFF_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-objects
* @class obj_brakeeff_class
* @brief ???
*
* @details
*
*/
class obj_brakeeff_class : public fopAc_ac_c {
private:
/* 0x568 */ u8 field_0x568[0x73c - 0x568];
};
STATIC_ASSERT(sizeof(obj_brakeeff_class) == 0x73c);
#endif /* D_A_OBJ_BRAKEEFF_H */

View File

@ -1,5 +1,27 @@
#ifndef D_A_OBJ_BRG_H
#define D_A_OBJ_BRG_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-objects
* @class obj_brg_class
* @brief Bridge
*
* @details
*
*/
class obj_brg_class : public fopAc_ac_c {
private:
/* 0x568 */ u8 field_0x568[0xb1f8 - 0x568];
};
STATIC_ASSERT(sizeof(obj_brg_class) == 0xb1f8);
struct br_s {
public:
/* 80BC1F54 */ ~br_s();
/* 80BC2000 */ br_s();
};
#endif /* D_A_OBJ_BRG_H */

View File

@ -5,6 +5,14 @@
#include "m_Do/m_Do_hostIO.h"
#include "d/bg/d_bg_s_movebg_actor.h"
/**
* @ingroup actors-objects
* @class daBsGate_c
* @brief Boss Gate
*
* @details
*
*/
class daBsGate_c : public dBgS_MoveBgActor {
public:
enum Mode {
@ -27,6 +35,7 @@ public:
/* 80BC2F94 */ int Draw();
/* 80BC3038 */ int Delete();
private:
/* 0x5A0 */ request_of_phase_process_class mPhaseReq;
/* 0x5A8 */ J3DModel* mpModel;
/* 0x5AC */ u8 mMode;
@ -36,7 +45,6 @@ public:
/* 0x5B0 */ f32 mTargetDist;
/* 0x5B4 */ f32 mOpenDist;
};
STATIC_ASSERT(sizeof(daBsGate_c) == 0x5B8);
class daBsGate_HIO_c : public mDoHIO_entry_c {

View File

@ -1,6 +1,42 @@
#ifndef D_A_OBJ_BUBBLEPILAR_H
#define D_A_OBJ_BUBBLEPILAR_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-objects
* @class daBubbPilar_c
* @brief Bubble Pillar
*
* @details
*
*/
class daBubbPilar_c : public fopAc_ac_c {
public:
/* 80BC3460 */ void setBaseMtx();
/* 80BC3518 */ void CreateHeap();
/* 80BC35D0 */ void create();
/* 80BC3934 */ void Execute(f32 (**)[3][4]);
/* 80BC3AB8 */ void initModeWait();
/* 80BC3AC4 */ void modeWait();
/* 80BC3C74 */ void initModeEffOn();
/* 80BC3C98 */ void modeEffOn();
/* 80BC3DB0 */ void Draw();
/* 80BC3E8C */ void Delete();
static u8 const mCcDObjInfo[48];
static u8 mCcDCyl[68];
private:
/* 0x568 */ u8 field_0x568[0x750 - 0x568];
};
STATIC_ASSERT(sizeof(daBubbPilar_c) == 0x750);
class daBubbPilar_HIO_c {
public:
/* 80BC33EC */ daBubbPilar_HIO_c();
/* 80BC3F90 */ ~daBubbPilar_HIO_c();
};
#endif /* D_A_OBJ_BUBBLEPILAR_H */

View File

@ -1,5 +1,31 @@
#ifndef D_A_OBJ_BURNBOX_H
#define D_A_OBJ_BURNBOX_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-objects
* @class daObjBurnBox_c
* @brief Burn Box
*
* @details
*
*/
class daObjBurnBox_c : public fopAc_ac_c {
public:
/* 8046E698 */ void initBaseMtx();
/* 8046E6D4 */ void setBaseMtx();
/* 8046E738 */ void Create();
/* 8046E8BC */ void CreateHeap();
/* 8046E93C */ void create1st();
/* 8046E9EC */ void Execute(f32 (**)[3][4]);
/* 8046EABC */ void Draw();
/* 8046EC10 */ void Delete();
private:
/* 0x568 */ u8 field_0x568[0x740 - 0x568];
};
STATIC_ASSERT(sizeof(daObjBurnBox_c) == 0x740);
#endif /* D_A_OBJ_BURNBOX_H */

View File

@ -5,22 +5,12 @@
#include "f_op/f_op_actor_mng.h"
#include "d/com/d_com_inf_game.h"
struct daObjCarry_Data {
/* 0x0000 */ u8 field_0x0000[0x0030 - 0x0000];
/* 0x0030 */ float field_0x0030;
/* 0x0034 */ u8 field_0x0034;
/* 0x0035 */ u8 field_0x0035[0x0038 - 0x0035];
/* 0x0038 */ float field_0x0038;
/* 0x003C */ float field_0x003c;
/* 0x0040 */ float field_0x0040;
/* 0x0044 */ u8 field_0x0044[0x94-0x44];
};
/**
* @ingroup actors-objects
* @class daObjCarry_c
* @brief Carryable Object
*
* This is a multi-use class for carryable objects.
* @details This is a multi-use class for carryable objects.
* It's used by: small and large blue pot, small and large red pot, box, cannon ball, barrel, skull, deku nut, Sols, small and large Twilight pots.
*
*/
@ -317,4 +307,15 @@ private:
};
STATIC_ASSERT(sizeof(daObjCarry_c) == 0xE28);
struct daObjCarry_Data {
/* 0x0000 */ u8 field_0x0000[0x0030 - 0x0000];
/* 0x0030 */ float field_0x0030;
/* 0x0034 */ u8 field_0x0034;
/* 0x0035 */ u8 field_0x0035[0x0038 - 0x0035];
/* 0x0038 */ float field_0x0038;
/* 0x003C */ float field_0x003c;
/* 0x0040 */ float field_0x0040;
/* 0x0044 */ u8 field_0x0044[0x94-0x44];
};
#endif /* D_A_OBJ_CARRY_H */

View File

@ -4,13 +4,22 @@
#include "f_op/f_op_actor_mng.h"
#include "d/bg/d_bg_w.h"
struct daObjCatDoor_Door_c {
class daObjCatDoor_Door_c {
public:
/* 0x00 */ J3DModel* pmodel;
/* 0x04 */ dBgW bgw;
/* 0xe0 */ Mtx mtx;
/* 0xf4 */ s16 angle;
};
/**
* @ingroup actors-objects
* @class daObjCatDoor_c
* @brief Cat Door
*
* @details
*
*/
class daObjCatDoor_c : public fopAc_ac_c {
public:
inline ~daObjCatDoor_c();

View File

@ -1,6 +1,27 @@
#ifndef D_A_OBJ_CB_H
#define D_A_OBJ_CB_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-objects
* @class obj_cb_class
* @brief Castle Block?
*
* @details
*
*/
class obj_cb_class : public fopAc_ac_c {
private:
/* 0x568 */ u8 field_0x568[0x97c - 0x568];
};
STATIC_ASSERT(sizeof(obj_cb_class) == 0x97c);
class daObj_Cb_HIO_c {
public:
/* 80BC4B2C */ daObj_Cb_HIO_c();
/* 80BC573C */ ~daObj_Cb_HIO_c();
};
#endif /* D_A_OBJ_CB_H */

View File

@ -1,5 +1,44 @@
#ifndef D_A_OBJ_CBLOCK_H
#define D_A_OBJ_CBLOCK_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-objects
* @class daObjCBlk_c
* @brief Castle Block?
*
* @details
*
*/
class daObjCBlk_c : public fopAc_ac_c {
public:
struct chain_s {
public:
/* 80BC5E58 */ ~chain_s();
/* 80BC5E94 */ chain_s();
};
/* 80BC5A0C */ void initBaseMtx();
/* 80BC5A48 */ void setBaseMtx();
/* 80BC5ABC */ void Create();
/* 80BC5CF8 */ void CreateHeap();
/* 80BC5E98 */ void create();
/* 80BC6260 */ void Execute(f32 (**)[3][4]);
/* 80BC6270 */ void initWait();
/* 80BC627C */ void modeWait();
/* 80BC6414 */ void initWalk();
/* 80BC6430 */ void modeWalk();
/* 80BC65CC */ void getChainBasePos(cXyz*);
/* 80BC6648 */ void setPower(f32);
/* 80BC66DC */ void checkWall();
/* 80BC6868 */ bool Draw();
/* 80BC6870 */ void Delete();
private:
/* 0x568 */ u8 field_0x568[0xca8 - 0x568];
};
STATIC_ASSERT(sizeof(daObjCBlk_c) == 0xca8);
#endif /* D_A_OBJ_CBLOCK_H */

View File

@ -4,6 +4,14 @@
#include "d/bg/d_bg_s_movebg_actor.h"
#include "d/com/d_com_inf_game.h"
/**
* @ingroup actors-objects
* @class daObjBoard_c
* @brief Clear Board
*
* @details Actor used to function as an invisible wall.
*
*/
class daObjBoard_c : public dBgS_MoveBgActor {
public:
/* 8057B958 */ void initBaseMtx();
@ -23,6 +31,7 @@ public:
private:
/* 0x5A0 */ request_of_phase_process_class mPhase;
/* 0x5A8 */ Mtx field_0x5a8;
}; // Size: 0x5D8
};
STATIC_ASSERT(sizeof(daObjBoard_c) == 0x5D8);
#endif /* D_A_OBJ_CBOARD_H */

View File

@ -4,6 +4,14 @@
#include "SSystem/SComponent/c_phase.h"
#include "d/bg/d_bg_s_movebg_actor.h"
/**
* @ingroup actors-objects
* @class daObjCdoor_c
* @brief Chain Door
*
* @details
*
*/
class daObjCdoor_c : public dBgS_MoveBgActor {
public:
enum Mode {
@ -43,6 +51,7 @@ public:
int getSwitchNum() { return mSw; }
void setChainID(u32 i_id) { mChainID = i_id; }
private:
/* 0x5A0 */ request_of_phase_process_class mPhaseReq;
/* 0x5A8 */ J3DModel* mpModel;
/* 0x5AC */ bool mEnd;

View File

@ -7,6 +7,14 @@
class daObjChandelier_c;
typedef void (daObjChandelier_c::*daObjChandelier_proc)();
/**
* @ingroup actors-objects
* @class daObjChandelier_c
* @brief Hyrule Castle Chandelier
*
* @details
*
*/
class daObjChandelier_c : public dBgS_MoveBgActor, public request_of_phase_process_class {
public:
enum Mode {
@ -39,6 +47,7 @@ public:
u8 getSW_0() { return fopAcM_GetParamBit(this, 4, 8); }
s32 getArg_0() { return fopAcM_GetParamBit(this, 0, 4); }
private:
/* 0x5A8 */ cXyz field_0x5a8;
/* 0x5B4 */ Mtx mMtx;
/* 0x5E4 */ u8 field_0x5e4[4];

View File

@ -6,6 +6,14 @@
#include "d/com/d_com_inf_game.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-objects
* @class daObjChest_c
* @brief Cabinet
*
* @details
*
*/
class daObjChest_c : public dBgS_MoveBgActor {
public:
enum daObjChest_Action {
@ -31,6 +39,7 @@ public:
u8 getSwNo() { return fopAcM_GetParamBit(this, 0, 8); }
u32 getArg0() { return fopAcM_GetParamBit(this, 8, 4); }
private:
/* 0x5A0 */ request_of_phase_process_class mPhaseReq;
/* 0x5A8 */ J3DModel* mpModel;
/* 0x5AC */ dBgS_ObjAcch mObjAcch;
@ -48,6 +57,7 @@ public:
/* 0xA9A */ s16 mRandomRotX;
/* 0xA9C */ f32 field_0xa9c;
/* 0xAA0 */ f32 mScaleY;
}; // Size: 0xAA4
};
STATIC_ASSERT(sizeof(daObjChest_c) == 0xAA4);
#endif /* D_A_OBJ_CHEST_H */

View File

@ -8,6 +8,14 @@
#include "d/a/d_a_player.h"
#include "d/d_insect.h"
/**
* @ingroup actors-objects
* @class daObjCHO_c
* @brief Insect - Butterfly
*
* @details
*
*/
class daObjCHO_c : public dInsect_c {
public:
enum Action {
@ -38,6 +46,7 @@ public:
/* 80BCC01C */ cPhs__Step create();
inline int Draw();
private:
/* 0x590 */ dBgS_AcchCir mAcchCir;
/* 0x5D0 */ dBgS_ObjAcch mAcch;
/* 0x7A8 */ dCcD_Stts mCcStts;

View File

@ -4,6 +4,14 @@
#include "d/bg/d_bg_s_movebg_actor.h"
#include "d/com/d_com_inf_game.h"
/**
* @ingroup actors-objects
* @class daCowdoor_c
* @brief Ordon Ranch Stable Door
*
* @details
*
*/
class daCowdoor_c : public dBgS_MoveBgActor {
public:
/* 80BCC7F8 */ void setBaseMtx();
@ -14,8 +22,10 @@ public:
/* 80BCCA48 */ int Draw();
/* 80BCCAEC */ int Delete();
private:
/* 0x5A0 */ request_of_phase_process_class field_0x5a0;
/* 0x5A8 */ J3DModel* field_0x5a8;
}; // Size: 0x5AC
};
STATIC_ASSERT(sizeof(daCowdoor_c) == 0x5AC);
#endif /* D_A_OBJ_COWDOOR_H */

View File

@ -4,6 +4,14 @@
#include "f_op/f_op_actor_mng.h"
#include "d/cc/d_cc_d.h"
/**
* @ingroup actors-objects
* @class daObjCrope_c
* @brief Wolf Tightrope
*
* @details
*
*/
class daObjCrope_c : public fopAc_ac_c {
public:
/* 80BCCCD8 */ int createHeap();
@ -37,6 +45,7 @@ public:
setBackJoint(-1);
}
private:
/* 0x0568 */ request_of_phase_process_class mPhase;
/* 0x0570 */ dCcD_Stts mCcStts;
/* 0x05AC */ dCcD_Sph mCollider;
@ -54,5 +63,7 @@ public:
/* 0x0BD8 */ cXyz field_0xbd8[98];
/* 0x1070 */ mDoExt_3DlineMat1_c mLineMat;
};
STATIC_ASSERT(sizeof(daObjCrope_c) == 0x10ac);
#endif /* D_A_OBJ_CROPE_H */

View File

@ -1,6 +1,39 @@
#ifndef D_A_OBJ_CRVFENCE_H
#define D_A_OBJ_CRVFENCE_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-objects
* @class daObjCRVFENCE_c
* @brief Caravan Fence
*
* @details
*
*/
class daObjCRVFENCE_c : public fopAc_ac_c {
public:
/* 80BCEC98 */ void CheckVec();
/* 80BCED60 */ void Wall_Check(cXyz, cXyz);
/* 80BCEE60 */ void BgRelease();
/* 80BCEED0 */ void PosSet(cXyz*);
/* 80BCEF30 */ void FenceMove(u8&, cXyz*, csXyz*, cXyz*, s16&);
/* 80BCF0B0 */ void BrokenAction();
/* 80BCF404 */ void NormalAction();
/* 80BCF7DC */ void checkViewArea(cXyz*);
/* 80BCF860 */ void Action();
/* 80BCF8A4 */ void setBaseMtx();
/* 80BCF9E4 */ void CreateHeap();
/* 80BCFAE4 */ void create();
/* 80BCFFC8 */ void Create();
/* 80BD000C */ void Execute(f32 (**)[3][4]);
/* 80BD0058 */ void Draw();
/* 80BD013C */ void Delete();
private:
/* 0x568 */ u8 field_0x568[0x103c - 0x568];
};
STATIC_ASSERT(sizeof(daObjCRVFENCE_c) == 0x103c);
#endif /* D_A_OBJ_CRVFENCE_H */

View File

@ -1,6 +1,51 @@
#ifndef D_A_OBJ_CRVGATE_H
#define D_A_OBJ_CRVGATE_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-objects
* @class daObjCRVGATE_c
* @brief Caravan Gate
*
* @details
*
*/
class daObjCRVGATE_c : public fopAc_ac_c {
public:
/* 80BD0398 */ void initCcCylinder();
/* 80BD0500 */ void setCcCylinder();
/* 80BD069C */ void checkOpen();
/* 80BD0880 */ void actionStartEvent();
/* 80BD0978 */ void actionWaitEvent();
/* 80BD0A64 */ void Demo_Set();
/* 80BD0B7C */ void SetOpen();
/* 80BD0B88 */ void actionDemoEvent();
/* 80BD0D28 */ void event_proc_call();
/* 80BD0D90 */ void CheckVec();
/* 80BD0E1C */ void KeyVib();
/* 80BD0F9C */ void DoorVib();
/* 80BD10C0 */ void VibStop();
/* 80BD10D0 */ void CloseVibration();
/* 80BD1110 */ void CloseAction();
/* 80BD18E0 */ void OpenAction();
/* 80BD21E4 */ void HakaiMotion();
/* 80BD22C8 */ void DoorAction();
/* 80BD2338 */ void B_CloseAction();
/* 80BD245C */ void SetB_Close();
/* 80BD2528 */ void setBaseMtx();
/* 80BD2670 */ void CreateHeap();
/* 80BD2758 */ void SetDoor();
/* 80BD28C0 */ void create();
/* 80BD2E88 */ void Create();
/* 80BD2ECC */ void Execute(f32 (**)[3][4]);
/* 80BD2FB8 */ void Draw();
/* 80BD3074 */ void Delete();
private:
/* 0x568 */ u8 field_0x568[0xde4 - 0x568];
};
STATIC_ASSERT(sizeof(daObjCRVGATE_c) == 0xde4);
#endif /* D_A_OBJ_CRVGATE_H */

View File

@ -1,6 +1,32 @@
#ifndef D_A_OBJ_CRVHAHEN_H
#define D_A_OBJ_CRVHAHEN_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-objects
* @class daObjCRVHAHEN_c
* @brief Caravan Wood
*
* @details
*
*/
class daObjCRVHAHEN_c : public fopAc_ac_c {
public:
/* 80BD342C */ void HahenSet(cXyz, cXyz, cXyz, cXyz, f32);
/* 80BD3628 */ void Wall_Check(cXyz, cXyz);
/* 80BD3720 */ void Hahen_Hakai(int, int);
/* 80BD38DC */ void CheckCull();
/* 80BD3A9C */ void checkViewArea(cXyz*);
/* 80BD3B20 */ void Execute();
/* 80BD3B74 */ void Delete();
/* 80BD3C0C */ void setBaseMtx();
/* 80BD3DBC */ void create();
private:
/* 0x568 */ u8 field_0x568[0x794 - 0x568];
};
STATIC_ASSERT(sizeof(daObjCRVHAHEN_c) == 0x794);
#endif /* D_A_OBJ_CRVHAHEN_H */

View File

@ -1,5 +1,35 @@
#ifndef D_A_OBJ_CRVLH_DOWN_H
#define D_A_OBJ_CRVLH_DOWN_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-objects
* @class daObjCRVLH_DW_c
* @brief Bulblin Tower (Lower Half)
*
* @details
*
*/
class daObjCRVLH_DW_c : public fopAc_ac_c {
public:
/* 80BD4138 */ void initCcCylinder();
/* 80BD41A4 */ void SetCcSyl();
/* 80BD4268 */ void BgRelease();
/* 80BD42D8 */ void Break();
/* 80BD45A4 */ void Obj_Hit();
/* 80BD4644 */ void setBaseMtx();
/* 80BD46EC */ void CreateHeap();
/* 80BD4764 */ void create();
/* 80BD4A84 */ void Create();
/* 80BD4AC8 */ void Execute(f32 (**)[3][4]);
/* 80BD4C44 */ void Draw();
/* 80BD4CC8 */ void Delete();
private:
/* 0x568 */ u8 field_0x568[0x74c - 0x568];
};
STATIC_ASSERT(sizeof(daObjCRVLH_DW_c) == 0x74c);
#endif /* D_A_OBJ_CRVLH_DOWN_H */

View File

@ -1,6 +1,33 @@
#ifndef D_A_OBJ_CRVLH_UP_H
#define D_A_OBJ_CRVLH_UP_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-objects
* @class daObjCRVLH_UP_c
* @brief Bulblin Tower (Upper Half)
*
* @details
*
*/
class daObjCRVLH_UP_c : public fopAc_ac_c {
public:
/* 80BD4F1C */ void HakaiSet();
/* 80BD4FB0 */ void UpMotion();
/* 80BD4FD8 */ void Hakai();
/* 80BD5254 */ void setBaseMtx();
/* 80BD5378 */ void CreateHeap();
/* 80BD53F0 */ void create();
/* 80BD56EC */ void Create();
/* 80BD5730 */ void Execute(f32 (**)[3][4]);
/* 80BD593C */ void Draw();
/* 80BD59C0 */ void Delete();
private:
/* 0x568 */ u8 field_0x568[0x770 - 0x568];
};
STATIC_ASSERT(sizeof(daObjCRVLH_UP_c) == 0x770);
#endif /* D_A_OBJ_CRVLH_UP_H */

View File

@ -1,6 +1,35 @@
#ifndef D_A_OBJ_CRVSTEEL_H
#define D_A_OBJ_CRVSTEEL_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-objects
* @class daObjCRVSTEEL_c
* @brief Caravan Steel
*
* @details
*
*/
class daObjCRVSTEEL_c : public fopAc_ac_c {
public:
/* 80BD5BFC */ void OpenSet(f32, f32);
/* 80BD5C18 */ void CloseSet(f32);
/* 80BD5C28 */ void CloseExecute();
/* 80BD5CA0 */ void OpenExecute();
/* 80BD5CC8 */ void Action();
/* 80BD5D10 */ void setBaseMtx();
/* 80BD5DB8 */ void CreateHeap();
/* 80BD5E30 */ void create();
/* 80BD60A8 */ void Create();
/* 80BD60EC */ void Execute(f32 (**)[3][4]);
/* 80BD6138 */ void Draw();
/* 80BD61BC */ void Delete();
private:
/* 0x568 */ u8 field_0x568[0x848 - 0x568];
};
STATIC_ASSERT(sizeof(daObjCRVSTEEL_c) == 0x848);
#endif /* D_A_OBJ_CRVSTEEL_H */

View File

@ -3,6 +3,14 @@
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-objects
* @class daObjCrystal_c
* @brief Crystal Switch
*
* @details
*
*/
class daObjCrystal_c : public fopAc_ac_c {
public:
/* 80BD63B8 */ void initBaseMtx();
@ -14,10 +22,12 @@ public:
/* 80BD673C */ int draw();
/* 80BD67C8 */ int _delete();
private:
/* 0x568 */ request_of_phase_process_class mPhase;
/* 0x570 */ J3DModel* mpModel[2];
/* 0x578 */ JPABaseEmitter* mpEmitter;
/* 0x57C */ u16 mJointID;
};
STATIC_ASSERT(sizeof(daObjCrystal_c) == 0x580);
#endif /* D_A_OBJ_CRYSTAL_H */

View File

@ -1,5 +1,55 @@
#ifndef D_A_OBJ_CWALL_H
#define D_A_OBJ_CWALL_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-objects
* @class daObjCwall_c
* @brief Chain Wall
*
* @details
*
*/
class daObjCwall_c : public fopAc_ac_c {
public:
struct chain_s {
public:
/* 80BD6E94 */ ~chain_s();
/* 80BD6ED0 */ chain_s();
};
/* 80BD6A4C */ void initBaseMtx();
/* 80BD6A88 */ void setBaseMtx();
/* 80BD6AEC */ void Create();
/* 80BD6D08 */ void CreateHeap();
/* 80BD6ED4 */ void create1st();
/* 80BD6F80 */ void Execute(f32 (**)[3][4]);
/* 80BD7288 */ void setTension();
/* 80BD7718 */ void calcSePos();
/* 80BD7788 */ void getChainBasePos(cXyz*);
/* 80BD7804 */ void setChainMtx();
/* 80BD7AD4 */ void chain_control();
/* 80BD7ED8 */ void chain_control2();
/* 80BD84C0 */ void block_mode_proc_call();
/* 80BD8594 */ void initWait();
/* 80BD85C0 */ void modeWait();
/* 80BD8748 */ void initWalk();
/* 80BD8778 */ void modeWalk();
/* 80BD8BC8 */ void initClose();
/* 80BD8BF0 */ void modeClose();
/* 80BD935C */ void setPower(f32, s16*);
/* 80BD9414 */ void checkWall();
/* 80BD95A0 */ void checkPullNow();
/* 80BD977C */ void checkPull();
/* 80BD9848 */ void Draw();
/* 80BD9948 */ void Delete();
private:
/* 0x568 */ u8 field_0x568[0xf5c - 0x568];
};
STATIC_ASSERT(sizeof(daObjCwall_c) == 0xf5c);
#endif /* D_A_OBJ_CWALL_H */

View File

@ -1,6 +1,6 @@
#ifndef D_A_OBJ_DAMCPS_H
#define D_A_OBJ_DAMCPS_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
#endif /* D_A_OBJ_DAMCPS_H */

View File

@ -1,5 +1,49 @@
#ifndef D_A_OBJ_DAN_H
#define D_A_OBJ_DAN_H
#include "f_op/f_op_actor_mng.h"
#include "d/d_insect.h"
/**
* @ingroup actors-objects
* @class daObjDAN_c
* @brief Insect - Pillbug
*
* @details
*
*/
class daObjDAN_c : public fopAc_ac_c {
public:
/* 80BDA5B4 */ void InitCcSph();
/* 80BDA620 */ void SetCcSph();
/* 80BDA698 */ void CreateHeap();
/* 80BDAA3C */ void SpeedSet();
/* 80BDAA9C */ void LinkChk();
/* 80BDAB14 */ void MoveAction();
/* 80BDAC10 */ void DamageAction();
/* 80BDAFDC */ void Action();
/* 80BDB074 */ void checkGroundPos();
/* 80BDB0D8 */ void Insect_Release();
/* 80BDB0E8 */ void Z_BufferChk();
/* 80BDB264 */ void ParticleSet();
/* 80BDB388 */ void ObjHit();
/* 80BDB4E0 */ void BoomChk();
/* 80BDB62C */ void Execute();
/* 80BDB928 */ void Delete();
/* 80BDB990 */ void setBaseMtx();
/* 80BDBB0C */ void CreateChk();
/* 80BDBCB8 */ void create();
private:
/* 0x568 */ u8 field_0x568[0xa6c - 0x568];
};
STATIC_ASSERT(sizeof(daObjDAN_c) == 0xa6c);
class daObj_DanHIO_c {
public:
/* 80BDA58C */ daObj_DanHIO_c();
/* 80BDC2F0 */ ~daObj_DanHIO_c();
};
#endif /* D_A_OBJ_DAN_H */

View File

@ -3,6 +3,14 @@
#include "d/com/d_com_inf_game.h"
/**
* @ingroup actors-objects
* @class daObjDigholl_c
* @brief Wolf Dig Place (Passage)
*
* @details
*
*/
class daObjDigholl_c : public fopAc_ac_c {
public:
/* 80BDC618 */ int create();
@ -10,6 +18,7 @@ public:
/* 80BDC7D8 */ int execute();
/* 80BDCB0C */ int draw();
private:
/* 0x568 */ u8 field_0x568;
/* 0x569 */ u8 field_0x569;
/* 0x56A */ u8 field_0x56a;

View File

@ -4,11 +4,20 @@
#include "d/d_path.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-objects
* @class daObjDigpl_c
* @brief Wolf Dig Place (Treasure)
*
* @details
*
*/
class daObjDigpl_c : public fopAc_ac_c {
public:
/* 8057BF98 */ int create();
/* 8057C1EC */ int execute();
private:
/* 0x568 */ u8 mType;
/* 0x569 */ u8 mSwitch;
/* 0x56A */ u8 mDigFlg;
@ -18,10 +27,12 @@ public:
/* 0x5A0 */ int mUsedDigFlags[6];
/* 0x5B8 */ dPath* mpDigPoints;
public:
/* 8057C158 */ virtual ~daObjDigpl_c();
u8 getSceneNum() { return (fopAcM_GetParam(this) >> 0xC) & 0xFF; }
int getItemNum() { return getSceneNum(); }
};
STATIC_ASSERT(sizeof(daObjDigpl_c) == 0x5C0);
#endif /* D_A_OBJ_DIGPLACE_H */

View File

@ -8,6 +8,14 @@
class J3DModel;
/**
* @ingroup actors-objects
* @class daObjDigSnow_c
* @brief Wolf Dig Place (Snow)
*
* @details
*
*/
class daObjDigSnow_c : public dBgS_MoveBgActor {
public:
enum Mode_e {

View File

@ -3,5 +3,96 @@
#include "d/bg/d_bg_s_movebg_actor.h"
#include "d/com/d_com_inf_game.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-objects
* @class daObjDmElevator_c
* @brief Death Mountain Elevator
*
* @details
*
*/
class daObjDmElevator_c : public dBgS_MoveBgActor {
public:
/* 80BDDD38 */ void initBaseMtx();
/* 80BDDD90 */ void setBaseMtx();
/* 80BDDEFC */ int Create();
/* 80BDE0A4 */ int init();
/* 80BDE2F8 */ int CreateHeap();
/* 80BDE448 */ int create1st();
/* 80BDE500 */ int Execute(Mtx**);
/* 80BDE5F8 */ void setting_ride_flag();
/* 80BDE6FC */ void event_sw_proc_call();
/* 80BDE7A0 */ void actionSwPauseNoneInit();
/* 80BDE7AC */ void actionSwPauseNone();
/* 80BDE7B0 */ void actionSwPauseOrderInit();
/* 80BDE808 */ void actionSwPauseOrder();
/* 80BDE83C */ void actionSwPauseInit();
/* 80BDE868 */ void actionSwPause();
/* 80BDE8D0 */ void calc_top_pos();
/* 80BDE960 */ void mode_sw_proc_call();
/* 80BDEA1C */ void modeSwWaitLowerInit();
/* 80BDEA44 */ void modeSwWaitLower();
/* 80BDEB88 */ void modeSwLowerInit();
/* 80BDEC10 */ void modeSwLower();
/* 80BDEC94 */ void modeSwWaitUpperInit();
/* 80BDECB4 */ void modeSwWaitUpper();
/* 80BDECE0 */ void modeSwUpperInit();
/* 80BDED64 */ void modeSwUpper();
/* 80BDEDE0 */ void event_proc_call();
/* 80BDEECC */ void actionWait();
/* 80BDEF60 */ void actionOrderEvent();
/* 80BDF000 */ void actionEvent();
/* 80BDF068 */ void actionStartEvent();
/* 80BDF0A0 */ void actionMoveStart();
/* 80BDF168 */ void actionDead();
/* 80BDF16C */ int demoProc();
/* 80BDF320 */ void moveInit();
/* 80BDF3B8 */ int moveProc();
/* 80BDF618 */ int Draw();
/* 80BDF6DC */ int Delete();
u32 getPathID() { return fopAcM_GetParamBit(this, 8, 8); }
private:
/* 0x5A0 */ request_of_phase_process_class mPhaseReq;
/* 0x5A8 */ request_of_phase_process_class mPhaseReq2;
/* 0x5B0 */ J3DModel* mpElevatorModel;
/* 0x5B4 */ J3DModel* mpSwitchModel;
/* 0x5B8 */ Z2SoundObjSimple mSoundObj;
/* 0x5D8 */ u8 field_0x5D8[0x5DC - 0x5D8];
/* 0x5DC */ s32 field_0x5dc;
/* 0x5E0 */ u8 field_0x5e0;
/* 0x5E1 */ u8 field_0x5e1;
/* 0x5E2 */ u8 field_0x5e2;
/* 0x5E3 */ u8 field_0x5e3;
/* 0x5E4 */ s16 field_0x5e4;
/* 0x5E6 */ s16 field_0x5e6;
/* 0x5E8 */ dBgW* mpBgW;
/* 0x5EC */ Mtx mMtx;
/* 0x61C */ cXyz mXyz;
/* 0x628 */ u8 field_0x628;
/* 0x629 */ u8 field_0x629;
/* 0x62A */ u8 field_0x62a;
/* 0x62B */ u8 field_0x62b;
/* 0x62C */ u8 field_0x62C[0x62D - 0x62C];
/* 0x62D */ u8 field_0x62d;
/* 0x62E */ u8 field_0x62e;
/* 0x62F */ u8 field_0x62f;
/* 0x630 */ u8 field_0x630;
/* 0x631 */ u8 field_0x631;
/* 0x632 */ u8 field_0x632;
/* 0x633 */ u8 field_0x633;
/* 0x634 */ u8 field_0x634;
/* 0x635 */ u8 field_0x635;
/* 0x636 */ u8 field_0x636;
/* 0x637 */ u8 field_0x637;
/* 0x638 */ f32 field_0x638;
/* 0x63C */ f32 field_0x63c;
/* 0x640 */ f32 field_0x640;
};
STATIC_ASSERT(sizeof(daObjDmElevator_c) == 0x644);
#endif /* D_A_OBJ_DMELEVATOR_H */

View File

@ -1,5 +1,43 @@
#ifndef D_A_OBJ_DROP_H
#define D_A_OBJ_DROP_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-objects
* @class daObjDrop_c
* @brief Tear of Light
*
* @details
*
*/
class daObjDrop_c : public fopAc_ac_c {
public:
/* 80BDFD8C */ void Create();
/* 80BDFE58 */ void create();
/* 80BE0358 */ void dropGet();
/* 80BE0430 */ void checkGetArea();
/* 80BE05DC */ void checkCompleteDemo();
/* 80BE0658 */ void createLineEffect();
/* 80BE071C */ void removeLineEffect();
/* 80BE077C */ void createBodyEffect();
/* 80BE0840 */ void removeBodyEffect();
/* 80BE08A0 */ void modeInit();
/* 80BE0994 */ void modeNoParent();
/* 80BE09F4 */ void modeParentWait();
/* 80BE0C08 */ void modeWait();
/* 80BE1928 */ bool actionCompleteWait();
/* 80BE1930 */ void actionOrderCompleteDemo();
/* 80BE19D0 */ void actionCompleateDemo();
/* 80BE1ACC */ void actionWaitCompleteGetDemo();
/* 80BE1B5C */ void actionCompleteGetDemo();
/* 80BE1BC4 */ void execute();
/* 80BE1DCC */ void _delete();
private:
/* 0x568 */ u8 field_0x568[0xa7c - 0x568];
};
STATIC_ASSERT(sizeof(daObjDrop_c) == 0xa7c);
#endif /* D_A_OBJ_DROP_H */

View File

@ -1,6 +1,33 @@
#ifndef D_A_OBJ_DUST_H
#define D_A_OBJ_DUST_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-objects
* @class daObjDust_c
* @brief Dust
*
* @details
*
*/
class daObjDust_c : public fopAc_ac_c {
public:
/* 80BE22B8 */ void Search_Ymb();
/* 80BE2490 */ void RideOn_Angle(s16&, f32, s16, f32);
/* 80BE24F8 */ void Check_RideOn();
/* 80BE2708 */ void initBaseMtx();
/* 80BE2734 */ void setBaseMtx();
/* 80BE2A70 */ void CreateHeap();
/* 80BE2AE8 */ void Create();
/* 80BE2B30 */ void Execute(f32 (**)[3][4]);
/* 80BE2E9C */ void Draw();
/* 80BE2F40 */ void Delete();
private:
/* 0x568 */ u8 field_0x568[0x84c - 0x568];
};
STATIC_ASSERT(sizeof(daObjDust_c) == 0x84c);
#endif /* D_A_OBJ_DUST_H */

View File

@ -3,7 +3,22 @@
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-objects
* @namespace daObjEff
* @brief Object Effect?
*
* @details
*
*/
namespace daObjEff {
/**
* @class Act_c
* @brief Actor Object Effect?
*
* @details
*
*/
class Act_c : public fopAc_ac_c {
public:
enum Prm_e {
@ -21,4 +36,11 @@ public:
};
}; // namespace daObjEff
struct daObj {
public:
template <typename T>
static int PrmAbstract(const fopAc_ac_c* param_0, T param_1, T param_2);
};
#endif /* D_A_OBJ_EFF_H */

View File

@ -3,6 +3,14 @@
#include "d/com/d_com_inf_game.h"
/**
* @ingroup actors-objects
* @class daObjE_CREATE_c
* @brief Enemy Spawner
*
* @details
*
*/
class daObjE_CREATE_c : public fopAc_ac_c {
public:
/* 80BE31BC */ void NormalAction();
@ -28,7 +36,8 @@ private:
/* 0x582 */ s16 mKillCheckDelayTimer;
/* 0x584 */ u8 mAction;
/* 0x588 */ u8 unused[12];
}; // Size: 0x594
};
STATIC_ASSERT(sizeof(daObjE_CREATE_c) == 0x594);
enum daObjE_EnemyType {
ENEMY_NONE,

View File

@ -3,5 +3,61 @@
#include "d/bg/d_bg_s_movebg_actor.h"
#include "d/com/d_com_inf_game.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-objects
* @class daObjFallObj_c
* @brief Fall Object?
*
* @details
*
*/
class daObjFallObj_c : public dBgS_MoveBgActor {
public:
public:
/* 80BE39B8 */ void initBaseMtx();
/* 80BE3A24 */ void setBaseMtx();
/* 80BE3A88 */ int Create();
/* 80BE3BA8 */ void getFallTime();
/* 80BE3BD4 */ void getFallHeight();
/* 80BE3C28 */ int CreateHeap();
/* 80BE3C98 */ int create1st();
/* 80BE3D24 */ int Execute(Mtx**);
/* 80BE4138 */ void action();
/* 80BE4228 */ void action_wait(bool);
/* 80BE42C0 */ void action_fallStart();
/* 80BE43E4 */ void action_countdown();
/* 80BE45F4 */ void action_fall();
/* 80BE466C */ void action_end();
/* 80BE4670 */ void action_follow_fall();
/* 80BE4700 */ void checkHang();
/* 80BE47A0 */ void checkHang2();
/* 80BE48A4 */ int Draw();
/* 80BE4948 */ int Delete();
u32 getTime() { return fopAcM_GetParamBit(this, 8, 8); }
u32 getPos() { return fopAcM_GetParamBit(this, 0x14, 8); }
BOOL checkFallStart() { return fopAcM_SearchByID(parentActorID)->speed.y != 0.0f; }
private:
/* 0x5A0 */ request_of_phase_process_class mPhaseReq;
/* 0x5A8 */ Mtx mMtx;
/* 0x5D8 */ u8 field_0x5d8;
/* 0x5D9 */ u8 field_0x5d9;
/* 0x5DA */ s16 field_0x5da;
/* 0x5DC */ s16 field_0x5dc;
/* 0x5DE */ s16 field_0x5de;
/* 0x5E0 */ s32 field_0x5e0;
/* 0x5E4 */ u8 field_0x5e4;
/* 0x5E5 */ u8 field_0x5e5;
/* 0x5E8 */ J3DModel* mpModel;
/* 0x5EC */ s32 field_0x5ec;
/* 0x5F0 */ u8 field_0x5f0;
/* 0x5F1 */ u8 field_0x5f1;
/* 0x5F4 */ Z2SoundObjSimple mSoundObj;
};
STATIC_ASSERT(sizeof(daObjFallObj_c) == 0x614);
#endif /* D_A_OBJ_FALLOBJ_H */

View File

@ -5,7 +5,16 @@
#include "d/cc/d_cc_d.h"
#include "f_op/f_op_actor_mng.h"
struct daObjFan_c : public dBgS_MoveBgActor {
/**
* @ingroup actors-objects
* @class daObjFan_c
* @brief (City in the Sky?) Fan)
*
* @details
*
*/
class daObjFan_c : public dBgS_MoveBgActor {
public:
/* 80BE4D98 */ fopAc_ac_c* search_tornado();
/* 80BE4E08 */ void initBaseMtx();
/* 80BE4E44 */ void setBaseMtx();
@ -20,6 +29,7 @@ struct daObjFan_c : public dBgS_MoveBgActor {
u8 getType() { return fopAcM_GetParamBit(this,0,4); }
private:
/* 0x5A0 */ request_of_phase_process_class mPhase;
/* 0x5A8 */ J3DModel* mModel;
/* 0x5AC */ dBgW* field_0x5ac;
@ -31,5 +41,6 @@ struct daObjFan_c : public dBgS_MoveBgActor {
/* 0xAD4 */ u8 field_0xad4;
/* 0xAD8 */ cXyz field_0xad8;
};
STATIC_ASSERT(sizeof(daObjFan_c) == 0xAE4);
#endif /* D_A_OBJ_FAN_H */

View File

@ -1,6 +1,36 @@
#ifndef D_A_OBJ_FCHAIN_H
#define D_A_OBJ_FCHAIN_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
class daObjFchain_shape_c {
public:
/* 80BE7194 */ void draw();
/* 80BE73D4 */ ~daObjFchain_shape_c();
};
/**
* @ingroup actors-objects
* @class daObjFchain_c
* @brief Wolf Chain Shackle
*
* @details
*
*/
class daObjFchain_c : public fopAc_ac_c {
public:
/* 80BE5FF8 */ void createHeap();
/* 80BE6074 */ void create();
/* 80BE63C8 */ ~daObjFchain_c();
/* 80BE64E0 */ void checkPlayerFoot(cXyz const*, cXyz const*, cXyz*);
/* 80BE66B4 */ void setGroundVec(cXyz*, f32);
/* 80BE6868 */ void execute();
/* 80BE7324 */ void draw();
private:
/* 0x568 */ u8 field_0x568[0x928 - 0x568];
};
STATIC_ASSERT(sizeof(daObjFchain_c) == 0x928);
#endif /* D_A_OBJ_FCHAIN_H */

View File

@ -3,5 +3,61 @@
#include "d/com/d_com_inf_game.h"
#include "m_Do/m_Do_hostIO.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-objects
* @class daFireWood_c
* @brief Kakariko Stove Flame?
*
* @details
*
*/
class daFireWood_c : public fopAc_ac_c {
public:
/* 80BE76B0 */ void setBaseMtx();
/* 80BE7708 */ void create();
/* 80BE79A0 */ void lightInit();
/* 80BE7A14 */ void setLight();
/* 80BE7A38 */ void Execute();
/* 80BE7E74 */ bool Draw();
/* 80BE7E7C */ void Delete();
static u8 const mCcDObjInfo[48];
static u8 mCcDCyl[68];
private:
/* 0x568 */ u8 field_0x568[0x574 - 0x568];
/* 0x574 */ dCcD_Stts mStts;
/* 0x5B0 */ dCcD_Cyl mCyl;
/* 0x6EC */ cXyz field_0x6ec;
/* 0x6F8 */ u8 field_0x6f8;
/* 0x6F9 */ u8 field_0x6f9;
/* 0x6FC */ u32 field_0x6fc[4];
/* 0x70C */ u8 field_0x70c;
/* 0x710 */ cXyz field_0x710;
/* 0x71C */ LIGHT_INFLUENCE mLightInfluence;
/* 0x73C */ u8 field_0x73c;
};
STATIC_ASSERT(sizeof(daFireWood_c) == 0x740);
#ifdef NONMATCHING
class daFireWood_HIO_c : public mDoHIO_entry_c {
public:
/* 80BE762C */ daFireWood_HIO_c();
/* 80BE7F24 */ virtual ~daFireWood_HIO_c();
/* 0x4 */ f32 field_0x4;
/* 0x8 */ f32 field_0x8;
/* 0xC */ u8 field_0xc;
};
#else
struct daFireWood_HIO_c {
/* 80BE762C */ daFireWood_HIO_c();
/* 80BE7F24 */ ~daFireWood_HIO_c();
};
#endif
#endif /* D_A_OBJ_FIREWOOD_H */

View File

@ -2,5 +2,56 @@
#define D_A_OBJ_FIREWOOD2_H
#include "d/com/d_com_inf_game.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-objects
* @class daFireWood2_c
* @brief Torch Stand
*
* @details
*
*/
class daFireWood2_c : public fopAc_ac_c {
public:
/* 80BE82D0 */ void setBaseMtx();
/* 80BE8328 */ void create();
/* 80BE8640 */ void lightInit();
/* 80BE86CC */ void setLight();
/* 80BE86FC */ void cutLight();
/* 80BE872C */ void pointLightProc();
/* 80BE87DC */ void Execute();
/* 80BE8D98 */ int Draw();
/* 80BE8DA0 */ void Delete();
static u8 const mCcDObjInfo[48];
static u8 mCcDCyl[68];
private:
/* 0x568 */ u8 field_0x568[0x574 - 0x568];
/* 0x574 */ dCcD_Stts mStts;
/* 0x5B0 */ dCcD_Cyl mCyl;
/* 0x6EC */ cXyz field_0x6ec;
/* 0x6F8 */ u8 field_0x6f8;
/* 0x6F9 */ u8 field_0x6f9;
/* 0x6FA */ u8 field_0x6fa;
/* 0x6FB */ u8 field_0x6fb;
/* 0x6FC */ u32 field_0x6fc;
/* 0x700 */ u32 field_0x700;
/* 0x704 */ u32 field_0x704;
/* 0x708 */ u32 field_0x708;
/* 0x70C */ cXyz field_0x70c;
/* 0x718 */ u8 field_0x718;
/* 0x71C */ f32 field_0x71c;
/* 0x720 */ LIGHT_INFLUENCE mLightInfluence;
};
STATIC_ASSERT(sizeof(daFireWood2_c) == 0x740);
class daFireWood2_HIO_c {
public:
/* 80BE824C */ daFireWood2_HIO_c();
/* 80BE8E54 */ ~daFireWood2_HIO_c();
};
#endif /* D_A_OBJ_FIREWOOD2_H */

View File

@ -1,5 +1,37 @@
#ifndef D_A_OBJ_FIREPILLAR_H
#define D_A_OBJ_FIREPILLAR_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-objects
* @class daObjFPillar_c
* @brief Fire Pillar
*
* @details
*
*/
class daObjFPillar_c : public fopAc_ac_c {
public:
/* 80BE9118 */ void initBaseMtx();
/* 80BE9138 */ void setBaseMtx();
/* 80BE9190 */ void Create();
/* 80BE9230 */ void create();
/* 80BE94E4 */ void execute();
/* 80BE9610 */ void action();
/* 80BE96B4 */ void actionOffInit();
/* 80BE96E0 */ void actionOff();
/* 80BE9784 */ void actionOnWaitInit();
/* 80BE97B8 */ void actionOnWait();
/* 80BE986C */ void actionOnInit();
/* 80BE98A0 */ void actionOn();
/* 80BE9984 */ void draw();
/* 80BE99B8 */ bool _delete();
private:
/* 0x568 */ u8 field_0x568[0x974 - 0x568];
};
STATIC_ASSERT(sizeof(daObjFPillar_c) == 0x974);
#endif /* D_A_OBJ_FIREPILLAR_H */

View File

@ -1,5 +1,38 @@
#ifndef D_A_OBJ_FIREPILLAR2_H
#define D_A_OBJ_FIREPILLAR2_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-objects
* @class daObjFPillar2_c
* @brief Lava Fire Pillar
*
* @details
*
*/
class daObjFPillar2_c : public fopAc_ac_c {
public:
/* 80BE9CD8 */ void initBaseMtx();
/* 80BE9D5C */ void setBaseMtx();
/* 80BE9DDC */ void Create();
/* 80BEA034 */ void CreateHeap();
/* 80BEA228 */ void create();
/* 80BEA584 */ void execute();
/* 80BEA734 */ void action();
/* 80BEA808 */ void actionOffInit();
/* 80BEA854 */ void actionOff();
/* 80BEA98C */ void actionOnWaitInit();
/* 80BEAAE4 */ void actionOnWait();
/* 80BEAC68 */ void actionOnInit();
/* 80BEADD0 */ void actionOn();
/* 80BEB1B4 */ void draw();
/* 80BEB278 */ void _delete();
private:
/* 0x568 */ u8 field_0x568[0x9ec - 0x568];
};
STATIC_ASSERT(sizeof(daObjFPillar2_c) == 0x9ec);
#endif /* D_A_OBJ_FIREPILLAR2_H */

View File

@ -1,6 +1,38 @@
#ifndef D_A_OBJ_FLAG_H
#define D_A_OBJ_FLAG_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
class FlagJoint_c {
public:
/* 80BEC3BC */ ~FlagJoint_c();
/* 80BEC4E0 */ FlagJoint_c();
};
/**
* @ingroup actors-objects
* @class daObjFlag_c
* @brief Flag 1
*
* @details
*
*/
class daObjFlag_c : public fopAc_ac_c {
public:
/* 80BEB778 */ void create_init();
/* 80BEB8F0 */ void initBaseMtx();
/* 80BEB984 */ void getJointAngle(csXyz*, int);
/* 80BEB9AC */ void calcJointAngle();
/* 80BEBC58 */ void calcAngleSwingZ(FlagJoint_c*, f32);
/* 80BEBDAC */ void calcAngleSwingX(FlagJoint_c*, f32);
/* 80BEBE64 */ void getSwingY(f32);
static u8 const M_attr[52];
private:
/* 0x568 */ u8 field_0x568[0x5ec - 0x568];
};
STATIC_ASSERT(sizeof(daObjFlag_c) == 0x5ec);
#endif /* D_A_OBJ_FLAG_H */

View File

@ -1,5 +1,49 @@
#ifndef D_A_OBJ_FLAG2_H
#define D_A_OBJ_FLAG2_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-objects
* @class daObjFlag2_c
* @brief Flag 2
*
* @details
*
*/
class daObjFlag2_c : public fopAc_ac_c {
public:
/* 80BED22C */ void create_init();
/* 80BED368 */ void initBaseMtx();
/* 80BED3B8 */ void initCollision();
/* 80BED44C */ void setCollision();
/* 80BED480 */ void createHeap();
/* 80BED6A0 */ void create();
/* 80BED7A4 */ daObjFlag2_c();
/* 80BEDCE0 */ void draw();
/* 80BEDEE0 */ ~daObjFlag2_c();
static u8 const M_attr[20];
private:
/* 0x568 */ u8 field_0x568[0x10c0 - 0x568];
};
STATIC_ASSERT(sizeof(daObjFlag2_c) == 0x10c0);
class FlagCloth_c {
public:
/* 80BEC658 */ void initFlagPos(cXyz*, fopAc_ac_c*);
/* 80BEC7CC */ void calcFlagFactor(cXyz*, cXyz*, cXyz*, int);
/* 80BEC928 */ void calcFlagFactorSub(cXyz*, cXyz*, cXyz*, f32);
/* 80BECAE0 */ void calcFlagNormal(cXyz*, int);
/* 80BECC34 */ void calcFlagNormalBack();
/* 80BECC78 */ void initCcSphere(fopAc_ac_c*);
/* 80BECCE4 */ void setCcSphere();
/* 80BECD98 */ void execute();
/* 80BECF30 */ void draw();
/* 80BED9C4 */ ~FlagCloth_c();
/* 80BEE0B8 */ void getTargetPos();
};
#endif /* D_A_OBJ_FLAG2_H */

View File

@ -1,6 +1,41 @@
#ifndef D_A_OBJ_FLAG3_H
#define D_A_OBJ_FLAG3_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-objects
* @class daObjFlag3_c
* @brief Flag 3
*
* @details
*
*/
class daObjFlag3_c : public fopAc_ac_c {
public:
/* 80BEEA78 */ void createHeap();
/* 80BEED3C */ void execute();
/* 80BEF700 */ ~daObjFlag3_c();
/* 80BEF95C */ void create();
/* 80BEFBC4 */ void create_init();
static u8 const M_attr[20];
private:
/* 0x568 */ u8 field_0x568[0x1340 - 0x568];
};
STATIC_ASSERT(sizeof(daObjFlag3_c) == 0x1340);
class FlagCloth2_c {
public:
/* 80BEEDE4 */ void execute();
/* 80BEEF74 */ void calcFlagNormal(cXyz*, int);
/* 80BEF278 */ void calcFlagFactor(cXyz*, cXyz*, cXyz*, int);
/* 80BEF790 */ ~FlagCloth2_c();
/* 80BEFD08 */ void initFlagPos(cXyz*, fopAc_ac_c*);
/* 80BF00A0 */ void draw();
/* 80BF0434 */ void getTargetPos();
};
#endif /* D_A_OBJ_FLAG3_H */

View File

@ -5,6 +5,14 @@
class dBgW;
/**
* @ingroup actors-objects
* @class obj_fmobj_class
* @brief Fyrus Object?
*
* @details
*
*/
class obj_fmobj_class : public fopAc_ac_c {
public:
/* 0x568 */ request_of_phase_process_class mPhase;

View File

@ -6,6 +6,14 @@
#include "d/cc/d_cc_d.h"
#include "f_op/f_op_actor.h"
/**
* @ingroup actors-objects
* @class obj_food_class
* @brief Dog Bone
*
* @details
*
*/
class obj_food_class : public fopAc_ac_c {
public:
enum Type {

View File

@ -1,6 +1,27 @@
#ifndef D_A_OBJ_FW_H
#define D_A_OBJ_FW_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-objects
* @class obj_fw_class
* @brief Firewood
*
* @details
*
*/
class obj_fw_class : public fopAc_ac_c {
private:
/* 0x568 */ u8 field_0x568[0x628 - 0x568];
};
STATIC_ASSERT(sizeof(obj_fw_class) == 0x628);
class daObj_Fw_HIO_c {
public:
/* 80BF204C */ daObj_Fw_HIO_c();
/* 80BF2AB0 */ ~daObj_Fw_HIO_c();
};
#endif /* D_A_OBJ_FW_H */

View File

@ -1,5 +1,46 @@
#ifndef D_A_OBJ_GADGET_H
#define D_A_OBJ_GADGET_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-objects
* @class daObj_Gadget_c
* @brief Gadget
*
* @details
*
*/
class daObj_Gadget_c : public fopAc_ac_c {
public:
/* 80BF2D2C */ ~daObj_Gadget_c();
/* 80BF2F28 */ void create();
/* 80BF3478 */ void CreateHeap();
/* 80BF3504 */ void Delete();
/* 80BF3538 */ void Execute();
/* 80BF3FAC */ void Draw();
/* 80BF4130 */ void createHeapCallBack(fopAc_ac_c*);
/* 80BF4150 */ void setEnvTevColor();
/* 80BF41AC */ void setRoomNo();
/* 80BF41F0 */ void reset();
/* 80BF424C */ void setMtx();
/* 80BF4354 */ void calcRollAngle(s16, int);
/* 80BF43F4 */ void getWallAngle(s16, s16*);
/* 80BF4584 */ void setSmokePrtcl();
/* 80BF4600 */ void setWaterPrtcl();
/* 80BF4728 */ void setHamonPrtcl();
private:
/* 0x568 */ u8 field_0x568[0xa4c - 0x568];
};
STATIC_ASSERT(sizeof(daObj_Gadget_c) == 0xa4c);
class daObj_Gadget_Param_c {
public:
/* 80BF48D8 */ ~daObj_Gadget_Param_c();
static u8 const m[44];
};
#endif /* D_A_OBJ_GADGET_H */

View File

@ -2,5 +2,40 @@
#define D_A_OBJ_GANONWALL_H
#include "d/com/d_com_inf_game.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-objects
* @class daObjGWall_c
* @brief Gannon Wall
*
* @details
*
*/
class daObjGWall_c : public fopAc_ac_c {
public:
/* 80BF4D18 */ void initBaseMtx();
/* 80BF4D54 */ void setBaseMtx();
/* 80BF4DA8 */ int Create();
/* 80BF4E8C */ int CreateHeap();
/* 80BF4FF0 */ int create();
/* 80BF50A4 */ int execute();
/* 80BF50CC */ int checkDraw();
/* 80BF5168 */ int draw();
/* 80BF5530 */ int _delete();
u32 getEventBit1() { return fopAcM_GetParamBit(this, 0, 10); }
u32 getEventBit2() { return fopAcM_GetParamBit(this, 10, 10); }
private:
/* 0x568 */ request_of_phase_process_class mPhaseReq;
/* 0x570 */ J3DModel* mpModel;
/* 0x574 */ mDoExt_btkAnm* mpBtkAnm;
/* 0x578 */ u16 field_0x578;
/* 0x57A */ u16 field_0x57a;
/* 0x57C */ s16 field_0x57c;
};
STATIC_ASSERT(sizeof(daObjGWall_c) == 0x580);
#endif /* D_A_OBJ_GANONWALL_H */

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