Setup d_a_b + misc actors (#2166)

* setup d_a_b actors

* misc actor checkpoint

* misc actor finish

* add d_a_b class comments

* add misc actor class comments wip

* add misc actor class comments
This commit is contained in:
Pheenoh 2024-06-10 01:34:52 -06:00 committed by GitHub
parent 946b2e81d9
commit 3a2e38dc5c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
651 changed files with 4656 additions and 9409 deletions

View File

@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes)
.init | 97.972973% | 9280 | 9472
.extab | 100.000000% | 96 | 96
.extabindex | 100.000000% | 96 | 96
.text | 49.647439% | 1785592 | 3596544
.text | 50.281826% | 1808408 | 3596544
.ctors | 100.000000% | 448 | 448
.dtors | 100.000000% | 32 | 32
.rodata | 100.000000% | 193856 | 193856
.data | 100.000000% | 197632 | 197632
.sdata | 100.000000% | 1408 | 1408
.sdata2 | 100.000000% | 20832 | 20832
Total | 54.954197% | 2209528 | 4020672
Total | 55.521664% | 2232344 | 4020672
## Total
Section | Percentage | Decompiled (bytes) | Total (bytes)
---|---|---|---
main.dol | 54.954197% | 2209528 | 4020672
main.dol | 55.521664% | 2232344 | 4020672
RELs | 38.860853% | 4469124 | 11500324
Total | 43.029790% | 6678652 | 15520996
Total | 43.176791% | 6701468 | 15520996
## RELs

View File

@ -13,6 +13,7 @@ This site contains documentation for the Twilight Princess code base. It is a wo
- @ref actors-objects "Objects"
- @ref actors-npcs "NPCs"
- @ref actors-tags "Tags"
- @ref actors-unsorted "Unsorted"
@subsection dolphin Dolphin

View File

@ -1,4 +1,27 @@
#ifndef D_A_B_BH_H
#define D_A_B_BH_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class b_bh_class
* @brief Big Baba
*
* @details Forest Temple enemy.
*
*/
class b_bh_class : public fopEn_enemy_c {
private:
/* 0x5AC */ u8 field_0x568[0xf4c - 0x5AC];
};
STATIC_ASSERT(sizeof(b_bh_class) == 0xf4c);
class daB_BH_HIO_c {
public:
/* 805AE26C */ daB_BH_HIO_c();
/* 805B3098 */ ~daB_BH_HIO_c();
};
#endif /* D_A_B_BH_H */

View File

@ -1,4 +1,135 @@
#ifndef D_A_B_BQ_H
#define D_A_B_BQ_H
#include "f_op/f_op_actor_mng.h"
#include "Z2AudioLib/Z2Creature.h"
#include "d/cc/d_cc_d.h"
#include "d/cc/d_cc_uty.h"
/**
* @ingroup actors-enemies
* @class b_bq_class
* @brief Diababa
*
* @details Forest Temple dungeon boss.
*
*/
class b_bq_class : public fopEn_enemy_c {
public:
/* 805B9B3C */ b_bq_class();
private:
/* 0x05AC */ request_of_phase_process_class mPhase;
/* 0x05B4 */ mDoExt_McaMorfSO* mpMorf;
/* 0x05B8 */ mDoExt_brkAnm* field_0x5b8;
/* 0x05BC */ mDoExt_btkAnm* field_0x5bc;
/* 0x05C0 */ s8 field_0x5c0;
/* 0x05C4 */ J3DModel* field_0x5c4;
/* 0x05C8 */ s8 field_0x5c8;
/* 0x05CC */ cXyz field_0x5cc;
/* 0x05D8 */ f32 field_0x5d8;
/* 0x05DC */ s16 field_0x5dc;
/* 0x05E0 */ Z2CreatureEnemy mSound;
/* 0x0684 */ Z2SoundObjSimple field_0x684;
/* 0x06A4 */ Z2SoundObjSimple field_0x6a4;
/* 0x06C4 */ int mAnmID;
/* 0x06C8 */ s16 field_0x6c8;
/* 0x06CA */ s16 mAction;
/* 0x06CC */ s16 mMode;
/* 0x06CE */ s16 mAngleToPlayer;
/* 0x06D0 */ f32 mDistToPlayer;
/* 0x06D4 */ s16 field_0x6d4[5];
/* 0x06DE */ s16 field_0x6de;
/* 0x06E0 */ int field_0x6e0;
/* 0x06E4 */ int field_0x6e4;
/* 0x06E8 */ fopAc_ac_c* mpMBactor;
/* 0x06EC */ u8 field_0x6ec;
/* 0x06ED */ u8 field_0x6ed;
/* 0x06F0 */ f32 field_0x6f0;
/* 0x06F4 */ s16 field_0x6f4;
/* 0x06F6 */ s16 field_0x6f6;
/* 0x06F8 */ s8 field_0x6f8;
/* 0x06F9 */ u8 field_0x6f9;
/* 0x06FA */ u8 field_0x6fa;
/* 0x06FB */ u8 field_0x6fb;
/* 0x06FC */ u8 field_0x6fc;
/* 0x06FE */ s16 field_0x6fe;
/* 0x0700 */ dCcD_Stts field_0x700;
/* 0x073C */ dCcD_Sph field_0x73c;
/* 0x0874 */ dCcD_Stts field_0x874;
/* 0x08B0 */ dCcD_Sph field_0x8b0;
/* 0x09E8 */ dCcD_Sph field_0x9e8;
/* 0x0B20 */ dCcD_Sph field_0xb20[4];
/* 0x1000 */ dCcD_Sph field_0x1000;
/* 0x1138 */ cXyz field_0x1138;
/* 0x1144 */ cXyz field_0x1144;
/* 0x1150 */ s8 field_0x1150;
/* 0x1151 */ u8 field_0x1151;
/* 0x1154 */ dCcU_AtInfo mAtInfo;
/* 0x1178 */ f32 field_0x1178;
/* 0x117C */ u8 field_0x117C[0x1180 - 0x117C];
/* 0x1180 */ u32 field_0x1180;
/* 0x1184 */ u32 field_0x1184;
/* 0x1188 */ u32 field_0x1188;
/* 0x118C */ u32 field_0x118c;
/* 0x1190 */ u32 field_0x1190;
/* 0x1194 */ u32 field_0x1194[5];
/* 0x11A8 */ u32 field_0x11a8[12];
/* 0x11D8 */ f32 field_0x11d8;
/* 0x11DC */ u8 field_0x11DC[0x11FC - 0x11DC];
/* 0x11FC */ s8 field_0x11fc;
/* 0x1200 */ u32 field_0x1200[4];
/* 0x1210 */ u32 field_0x1210[2];
/* 0x1218 */ u8 field_0x1218[0x1220 - 0x1218];
/* 0x1220 */ u32 field_0x1220;
/* 0x1224 */ u32 field_0x1224;
/* 0x1228 */ u32 field_0x1228[4];
/* 0x1238 */ s16 field_0x1238;
/* 0x123A */ s16 field_0x123a;
/* 0x123C */ u8 field_0x123C[0x1240 - 0x123C];
/* 0x1240 */ cXyz field_0x1240;
/* 0x124C */ cXyz field_0x124c;
/* 0x1258 */ cXyz field_0x1258;
/* 0x1264 */ cXyz field_0x1264;
/* 0x1270 */ cXyz field_0x1270;
/* 0x127C */ cXyz field_0x127c;
/* 0x1288 */ cXyz field_0x1288;
/* 0x1294 */ u8 field_0x1294[0x1298 - 0x1294];
/* 0x1298 */ f32 field_0x1298;
/* 0x129C */ f32 field_0x129c;
/* 0x12A0 */ f32 field_0x12a0;
/* 0x12A4 */ f32 field_0x12a4;
/* 0x12A8 */ f32 field_0x12a8;
/* 0x12AC */ s16 field_0x12ac;
/* 0x12AE */ s16 field_0x12ae;
/* 0x12B0 */ cXyz field_0x12b0;
/* 0x12BC */ cXyz field_0x12bc;
/* 0x12C8 */ cXyz field_0x12c8[16];
/* 0x1388 */ int field_0x1388;
/* 0x138C */ s16 field_0x138c;
/* 0x138E */ s16 field_0x138e;
/* 0x1390 */ s16 field_0x1390;
/* 0x1392 */ u8 field_0x1392;
/* 0x1393 */ s8 field_0x1393;
/* 0x1394 */ u8 field_0x1394;
/* 0x1395 */ u8 field_0x1395;
/* 0x1396 */ u8 field_0x1396;
/* 0x1397 */ s8 field_0x1397;
/* 0x1398 */ f32 field_0x1398;
/* 0x139C */ u8 field_0x139c;
};
STATIC_ASSERT(sizeof(b_bq_class) == 0x13A0);
class daB_BQ_HIO_c {
public:
/* 805B356C */ daB_BQ_HIO_c();
/* 805B9FFC */ virtual ~daB_BQ_HIO_c();
/* 0x04 */ s8 field_0x4;
/* 0x08 */ f32 mModelSize;
/* 0x0C */ s16 mChanceTime;
/* 0x0E */ s16 mWaterSprayTime;
};
#endif /* D_A_B_BQ_H */

View File

@ -1,12 +1,19 @@
#ifndef D_A_B_DR_H
#define D_A_B_DR_H
#include "f_op/f_op_actor_mng.h"
#include "Z2AudioLib/Z2Creature.h"
#include "d/cc/d_cc_d.h"
#include "d/msg/d_msg_flow.h"
#include "d/bg/d_bg_s_acch.h"
/**
* @ingroup actors-enemies
* @class daB_DR_c
* @brief Argorok
*
* City in the Sky dungeon boss.
*
*
* @details City in the Sky dungeon boss.
*
*/
class daB_DR_c : public fopEn_enemy_c {
public:
@ -72,6 +79,7 @@ public:
void onTarget() { mTarget = true; }
bool isBack() { return mPrm0; }
private:
/* 0x05AC */ request_of_phase_process_class mPhase;
/* 0x05B4 */ mDoExt_McaMorfSO* mpModelMorf;
/* 0x05B8 */ J3DModel* mpPartModel;
@ -163,4 +171,13 @@ public:
/* 0x2814 */ dMsgFlow_c mMsgFlow;
};
STATIC_ASSERT(sizeof(daB_DR_c) == 0x2860);
class daB_DR_HIO_c {
public:
/* 805BAE6C */ daB_DR_HIO_c();
/* 805C6B94 */ ~daB_DR_HIO_c();
};
#endif /* D_A_B_DR_H */

View File

@ -2,5 +2,46 @@
#define D_A_B_DRE_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class daB_DRE_c
* @brief Argorok (child actor?)
*
* @details Used in the City in the Sky dungeon boss fight.
*
*/
class daB_DRE_c : public fopEn_enemy_c {
public:
/* 805C7DD4 */ void SetAnm(mDoExt_McaMorfSO*, int, int, f32, f32);
/* 805C7EAC */ void CameraSet();
/* 805C8008 */ void SetStopingCam();
/* 805C808C */ void SetStopCam(cXyz, f32, f32, s16);
/* 805C8208 */ void SetCMoveCam(cXyz, f32, f32);
/* 805C81B8 */ void SetCMoveCam(cXyz, f32);
/* 805C8348 */ void SetEyeMoveCam(cXyz, f32, f32, s16, f32, f32);
/* 805C824C */ void SetEyeMoveCam(cXyz, f32, f32, s16, f32);
/* 805C8458 */ void SetMoveCam(f32, f32);
/* 805C8544 */ void SetReleaseCam();
/* 805C85E8 */ void CamAction2();
/* 805C8BF8 */ void DrAction2();
/* 805C8EDC */ void CamAction();
/* 805C9318 */ void Action();
/* 805C9378 */ void DrAction();
/* 805C9B40 */ void SoundChk();
/* 805CA158 */ void Execute();
/* 805CA49C */ void SpeedSet();
/* 805CA4FC */ void BreathSet();
/* 805CA670 */ void Delete();
/* 805CA6C0 */ void setBaseMtx();
/* 805CA944 */ void create();
private:
/* 0x5ac */ u8 field_0x5ac[0x930 - 0x5ac];
};
STATIC_ASSERT(sizeof(daB_DRE_c) == 0x930);
#endif /* D_A_B_DRE_H */

View File

@ -12,10 +12,11 @@
/**
* @ingroup actors-enemies
* @class daB_DS_c
* @brief Stallord
*
* Arbiter's Grounds dungeon boss.
*
*
* @details Arbiter's Grounds dungeon boss.
*
*/
class daB_DS_c : public fopEn_enemy_c {
public:
@ -177,6 +178,7 @@ public:
/* 805DB974 */ cPhs__Step create();
/* 805DC1E8 */ daB_DS_c();
private:
/* 0x05AC */ request_of_phase_process_class mPhase;
/* 0x05B4 */ mDoExt_McaMorfSO* mpMorf;
/* 0x05B8 */ mDoExt_McaMorfSO* mpSwordMorf;
@ -321,4 +323,47 @@ public:
STATIC_ASSERT(sizeof(daB_DS_c) == 0x2F28);
class daB_DS_HIO_c {
public:
/* 805CB22C */ daB_DS_HIO_c();
#ifdef NONMATCHING
/* 805DC89C */ virtual ~daB_DS_HIO_c() {}
#else
/* 805DC89C */ ~daB_DS_HIO_c();
#endif
#ifndef NONMATCHING
/* 0x00 */ void* _vtable;
#endif
/* 0x04 */ s8 field_0x04;
/* 0x08 */ f32 mModelSize;
/* 0x0C */ f32 mHandRange;
/* 0x10 */ f32 mBreathRange;
/* 0x14 */ f32 mGuardSpawnRange;
/* 0x18 */ f32 mNoSearchRange;
/* 0x1C */ f32 mP2MoveAxis;
/* 0x20 */ f32 mP2ModelSize;
/* 0x24 */ f32 mP2AttackHeight;
/* 0x28 */ s16 mP2FallTime;
/* 0x2A */ s16 mPedestalFallTime;
/* 0x2C */ s16 mSandFallWaitTime;
/* 0x2E */ s16 mP2BulletFireTime;
/* 0x30 */ s16 mP2OuterWallAttackTime;
/* 0x32 */ s16 mP2TrapCreateWaitTime1;
/* 0x34 */ s16 mP2TrapCreateWaitTime2;
/* 0x36 */ s16 mP2TrapCreateID1;
/* 0x38 */ s16 mP2TrapCreateID2;
/* 0x3A */ s16 mHintTime1;
/* 0x3C */ s16 mHintTime2;
/* 0x3E */ s16 mP2OuterWallTrapSpeed;
/* 0x40 */ s16 mTowerTrapSpeed;
/* 0x42 */ s16 mP2ApproachAccel;
/* 0x44 */ s16 mP2ApproachSpeedMax;
/* 0x46 */ s16 mP2ApproachAfterBullet;
/* 0x48 */ s16 mP2ApproachDist;
/* 0x4A */ s16 mP2Health;
/* 0x4C */ bool mP2HealthDebugOn;
};
#endif /* D_A_B_DS_H */

View File

@ -1,4 +1,104 @@
#ifndef D_A_B_GG_H
#define D_A_B_GG_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class daB_GG_c
* @brief Aeralfos
*
* @details City in the Sky dungeon mini-boss.
*
*/
class daB_GG_c : public fopEn_enemy_c {
public:
/* 805DE464 */ void CreateHeap();
/* 805DE650 */ void initCc();
/* 805DE7A4 */ void setCcCylinder();
/* 805DE9B8 */ void G_setCcCylinder();
/* 805DEAD0 */ void MoveCo();
/* 805DEB44 */ void ctrlJoint(J3DJoint*, J3DModel*);
/* 805DED58 */ void HeadctrlJoint(J3DJoint*, J3DModel*);
/* 805DEF64 */ void SetAnm(int, int, f32, f32);
/* 805DF9F4 */ void Yazirushi();
/* 805DFA48 */ void SpeedClear();
/* 805DFA64 */ void SetAction(u8, u8, u8);
/* 805DFA8C */ void GetAction(u8, u8, u8);
/* 805DFACC */ void DemoSkip(int);
/* 805DFC24 */ void DemoSkipCallBack(void*, int);
/* 805DFC58 */ void CameraSet();
/* 805DFD78 */ void SetStopingCam();
/* 805DFDFC */ void SetStopCam(cXyz, f32, f32, s16);
/* 805DFF4C */ void SetMoveCam(cXyz, f32, f32, s16, f32, f32);
/* 805E00D4 */ void SetMoveCam1(f32, f32);
/* 805E01F8 */ void SetReleaseCam();
/* 805E029C */ void St_CamAction();
/* 805E0F2C */ void St_DemoAction();
/* 805E18E8 */ void Md_CamAction();
/* 805E1C28 */ void Md_DemoAction();
/* 805E23E8 */ void Gn_CamAction();
/* 805E2974 */ void Gn_DemoAction();
/* 805E2F44 */ void DemoAction();
/* 805E3024 */ void F_WaitAction();
/* 805E31E4 */ void F_FookChk();
/* 805E3448 */ void F_MoveAction();
/* 805E3CAC */ void F_LV7_W_MoveAction();
/* 805E3F0C */ void F_AttackAction();
/* 805E4914 */ void F_DamageAction();
/* 805E5190 */ void AttentionChk();
/* 805E5220 */ void FlyAction();
/* 805E561C */ void F_A_TargetMove(cXyz);
/* 805E53DC */ void F_A_TargetMove(cXyz, u8);
/* 805E5808 */ void F_A_MoveAction();
/* 805E5D0C */ void F_A_WaitAction();
/* 805E5D2C */ void F_A_Action();
/* 805E5E78 */ void FookChk();
/* 805E608C */ void CutChk();
/* 805E6174 */ void G_MoveAction();
/* 805E6AB0 */ void FallChk();
/* 805E6E30 */ void G_AttackAction();
/* 805E73A8 */ void G_DamageAction();
/* 805E7D50 */ void G_DeathAction();
/* 805E7F50 */ void G_DeathAction1();
/* 805E82F0 */ void DeathCam();
/* 805E8D48 */ void GroundAction();
/* 805E8EE8 */ void StopAction();
/* 805E92A0 */ void HitChk();
/* 805E9310 */ void Action();
/* 805E9418 */ void HeadAction();
/* 805E9A28 */ void SetHeadAngle();
/* 805E9B48 */ void SoundChk();
/* 805EA344 */ void Execute();
/* 805EA72C */ void ObjHit();
/* 805EA74C */ void At_Check();
/* 805EA938 */ void MoveAt();
/* 805EA9AC */ void F_AtHit();
/* 805EAAFC */ void ChanceTime();
/* 805EB028 */ void ArmAngleSet();
/* 805EB090 */ void Guard();
/* 805EB5E0 */ void Draw();
/* 805EB8A8 */ void Delete();
/* 805EB910 */ void setBaseMtx();
/* 805EB980 */ void setShieldMtx();
/* 805EB9DC */ void setSwordMtx();
/* 805EBA4C */ void setSwordMtx1();
/* 805EBAB8 */ void setHeadMtx();
/* 805EBB30 */ void setHeadMtx1();
/* 805EBBE4 */ void Create();
/* 805EC424 */ daB_GG_c();
private:
/* 0x5ac */ u8 field_0x5ac[0x116c - 0x5ac];
};
STATIC_ASSERT(sizeof(daB_GG_c) == 0x116c);
class daB_GG_HIO_c {
public:
/* 805DE40C */ daB_GG_HIO_c();
/* 805EC9C4 */ ~daB_GG_HIO_c();
};
#endif /* D_A_B_GG_H */

View File

@ -1,4 +1,36 @@
#ifndef D_A_B_GM_H
#define D_A_B_GM_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class b_gm_class
* @brief Armogohma
*
* @details Temple of Time dungeon boss.
*
*/
class b_gm_class : public fopEn_enemy_c {
public:
/* 805F38E4 */ b_gm_class();
private:
/* 0x5ac */ u8 field_0x5ac[0x1d08 - 0x5ac];
};
STATIC_ASSERT(sizeof(b_gm_class) == 0x1d08);
class daB_GM_HIO_c {
public:
/* 805ED94C */ daB_GM_HIO_c();
/* 805F3E64 */ ~daB_GM_HIO_c();
};
struct b_gm_foot {
public:
/* 805F3AC0 */ ~b_gm_foot();
/* 805F3AFC */ b_gm_foot();
};
#endif /* D_A_B_GM_H */

View File

@ -3,6 +3,10 @@
#include "d/msg/d_msg_flow.h"
#include "f_op/f_op_actor_mng.h"
#include "Z2AudioLib/Z2Creature.h"
#include "d/cc/d_cc_d.h"
#include "d/cc/d_cc_uty.h"
#include "d/bg/d_bg_s_acch.h"
struct g_himo_s {
/* 80601D40 */ ~g_himo_s();
@ -25,6 +29,7 @@ public:
bool checkAttackChance() { return field_0x2740 != 0; }
private:
/* 0x05AC */ request_of_phase_process_class mPhaseReq;
/* 0x05B4 */ request_of_phase_process_class mHorsePhaseReq;
/* 0x05BC */ s16 field_0x05bc;
@ -186,4 +191,12 @@ public:
/* 0x2744 */ dMsgFlow_c mMsgFlow;
};
STATIC_ASSERT(sizeof(b_gnd_class) == 0x2790);
class daB_GND_HIO_c {
public:
/* 805F4A4C */ daB_GND_HIO_c();
/* 80602230 */ ~daB_GND_HIO_c();
};
#endif /* D_A_B_GND_H */

View File

@ -9,13 +9,37 @@
#include "d/cc/d_cc_uty.h"
#define GORON_CHILD_MAX 31
#define RES_IS_MODEL 0x13
enum daB_GO_ANM {
/* 0x04 */ ANM_ATTACK = 4,
/* 0x05 */ ANM_DAMAGE_01,
/* 0x06 */ ANM_DAMAGE_02,
/* 0x07 */ ANM_DEAD_01,
/* 0x08 */ ANM_DEAD_02,
/* 0x09 */ ANM_FALL,
/* 0x0A */ ANM_START_L,
/* 0x0B */ ANM_START_R,
/* 0x0C */ ANM_STEP,
/* 0x0D */ ANM_TRAP,
/* 0x0E */ ANM_WAIT_02,
/* 0x0F */ ANM_WAIT_03,
/* 0x10 */ ANM_WALK,
};
enum daB_GO_Action {
/* 0x0 */ ACT_WAIT,
/* 0x1 */ ACT_WALK,
/* 0x2 */ ACT_ATTACK,
};
/**
* @ingroup actors-enemies
* @class b_go_class
* @brief Goron Golem
*
* Unused golem boss made up of several small Gorons.
*
*
* @details Unused golem boss made up of several small Gorons.
*
*/
class b_go_class : public fopEn_enemy_c {
public:
@ -48,4 +72,19 @@ public:
/* 0xD34 */ u8 field_0xd34;
};
STATIC_ASSERT(sizeof(b_go_class) == 0xD38);
class daB_GO_HIO_c {
public:
/* 806031AC */ daB_GO_HIO_c();
/* 80603F9C */ virtual ~daB_GO_HIO_c() {}
/* 0x04 */ s8 field_0x4;
/* 0x08 */ f32 mSmallSize;
/* 0x0C */ f32 mNormalSpeed;
/* 0x10 */ f32 mAttackInitRange;
/* 0x14 */ bool mDisplayModelImage;
};
#endif /* D_A_B_GO_H */

View File

@ -8,12 +8,14 @@
#include "d/cc/d_cc_uty.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class b_gos_class
* @brief Goron Golem (small)
*
* Unused golem boss made up of several small Gorons.
*
*
* @details Unused golem boss made up of several small Gorons.
*
*/
class b_gos_class : public fopEn_enemy_c {
public:
@ -49,4 +51,24 @@ public:
/* 0xCC8 */ u8 field_0xcc8;
};
STATIC_ASSERT(sizeof(b_gos_class) == 0xCCC);
class daB_GOS_HIO_c {
public:
public:
/* 8060426C */ daB_GOS_HIO_c();
/* 80605320 */ virtual ~daB_GOS_HIO_c() {}
/* 0x4 */ s8 field_0x4;
/* 0x8 */ f32 mSize;
/* 0xC */ f32 mNormalSpeed;
};
struct b_gos_j_info {
public:
s16 joint_no;
f32 field_0x4;
};
#endif /* D_A_B_GOS_H */

View File

@ -2,5 +2,86 @@
#define D_A_B_MGN_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class daB_MGN_c
* @brief Beast Ganon?
*
* @details Hyrule Castle dungeon boss.
*
*/
class daB_MGN_c : public fopEn_enemy_c {
public:
/* 8060577C */ void ctrlJoint(J3DJoint*, J3DModel*);
/* 8060584C */ void JointCallBack(J3DJoint*, int);
/* 80605898 */ void draw();
/* 80605D78 */ void setDashSmokeEffect();
/* 8060601C */ void setBackJumpEffect();
/* 806062C0 */ void setSlideSmokeEffect();
/* 80606424 */ void setBodySlideEffect();
/* 806065D4 */ void setOpeningEffect();
/* 80606754 */ void setStepEffect();
/* 8060688C */ void setFallAttackEffect();
/* 80606A10 */ void setHeadLightEffect();
/* 80606AEC */ void setHeadHitEffect();
/* 80606C6C */ void setHideSmokeEffect(cXyz*, u8);
/* 80606D60 */ void calcHideSmokeEffect();
/* 806071C4 */ void drawHideSmokeEffect();
/* 8060729C */ void setBloodEffect();
/* 80607498 */ void calcBloodMove();
/* 8060778C */ void checkDownBeforeBG();
/* 80607924 */ void setBck(int, u8, f32, f32);
/* 806079CC */ void checkBck(int);
/* 80607A2C */ void setActionMode(int, int);
/* 80607A80 */ void setExitMode(int);
/* 80607B50 */ void onBodyShield();
/* 80607B80 */ void offBodyShield();
/* 80607BB0 */ void onBodySlideAt();
/* 80607BFC */ void offBodySlideAt();
/* 80607C20 */ void checkHitSlideAt();
/* 80607CB0 */ void onBodyFallAt();
/* 80607CE4 */ void offBodyFallAt();
/* 80607D08 */ void onBodyCo();
/* 80607D44 */ void offBodyCo();
/* 80607D7C */ void getNearHitPos(cXyz*);
/* 8060819C */ void damage_check();
/* 80608738 */ void calcJointAngle(s16);
/* 806087A8 */ void executeCircle();
/* 80608EF8 */ void executeDash();
/* 80609D70 */ void executeThrown();
/* 8060A670 */ void setDownEnd();
/* 8060A72C */ void executeDown();
/* 8060ACB8 */ void executeDownDamage();
/* 8060B028 */ void executeDownBiteDamage();
/* 8060B430 */ void executeWarp();
/* 8060B544 */ void executeFall();
/* 8060BE6C */ void demo_skip(int);
/* 8060C034 */ void DemoSkipCallBack(void*, int);
/* 8060C068 */ void executeOpening();
/* 8060D078 */ void executeDeath();
/* 8060D880 */ void executeJump();
/* 8060DAC0 */ void checkStartJump();
/* 8060DDA0 */ void action();
/* 8060E158 */ void mtx_set();
/* 8060E1D0 */ void cc_set();
/* 8060E820 */ void execute();
/* 8060EA38 */ void _delete();
/* 8060EAE0 */ void CreateHeap();
/* 8060F0D0 */ void create();
private:
/* 0x5ac */ u8 field_0x5ac[0x26cc - 0x5ac];
};
STATIC_ASSERT(sizeof(daB_MGN_c) == 0x26cc);
class daB_MGN_HIO_c {
public:
/* 8060572C */ daB_MGN_HIO_c();
/* 8060F8D0 */ ~daB_MGN_HIO_c();
};
#endif /* D_A_B_MGN_H */

View File

@ -65,10 +65,11 @@ struct ob_ke_s {
/**
* @ingroup actors-enemies
* @class b_ob_class
* @brief Morpheel (body)
*
* Lakebed Temple dungeon boss. This is the core/body part of the boss.
*
*
* @details Lakebed Temple dungeon boss. This is the core/body part of the boss.
*
*/
class b_ob_class : public fopEn_enemy_c {
public:
@ -188,4 +189,23 @@ public:
/* 0x5DE0 */ u8 mHIOInit;
};
STATIC_ASSERT(sizeof(b_ob_class) == 0x5DE4);
class daB_OB_HIO_c {
public:
public:
/* 8061056C */ daB_OB_HIO_c();
/* 8061A808 */ virtual ~daB_OB_HIO_c();
/* 0x04 */ s8 field_0x04;
/* 0x08 */ f32 mCoreSize;
/* 0x0C */ f32 mCoreMoveSpeed;
/* 0x10 */ f32 mBodySize;
/* 0x14 */ s16 mLightR;
/* 0x16 */ s16 mLightG;
/* 0x18 */ s16 mLightB;
/* 0x1C */ f32 mRange;
};
#endif /* D_A_B_OB_H */

View File

@ -27,10 +27,11 @@ enum b_oh_action {
/**
* @ingroup actors-enemies
* @class b_oh_class
* @brief Morpheel (head)
*
* Lakebed Temple dungeon boss. This is the head part of the boss.
*
*
* @details Lakebed Temple dungeon boss. This is the head part of the boss.
*
*/
class b_oh_class : public fopEn_enemy_c {
public:
@ -97,4 +98,6 @@ public:
/* 0x1F86 */ u8 field_0x1f86;
};
STATIC_ASSERT(sizeof(b_oh_class) == 0x1F88);
#endif /* D_A_B_OH_H */

View File

@ -6,10 +6,11 @@
/**
* @ingroup actors-enemies
* @class b_oh2_class
* @brief Morpheel (tentacle)
*
* Lakebed Temple dungeon boss. This is the tentacle part of the boss.
*
*
* @details Lakebed Temple dungeon boss. This is the tentacle part of the boss.
*
*/
class b_oh2_class : public fopEn_enemy_c {
public:
@ -35,4 +36,6 @@ public:
/* 0x93C */ u8 field_0x93c[0x948 - 0x93C];
};
STATIC_ASSERT(sizeof(b_oh2_class) == 0x948);
#endif /* D_A_B_OH2_H */

View File

@ -1,6 +1,93 @@
#ifndef D_A_B_TN_H
#define D_A_B_TN_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
#include "d/cc/d_cc_d.h"
/**
* @ingroup actors-enemies
* @class daB_TN_c
* @brief Darknut
*
* @details Temple of Time dungeon mini-boss.
*
*/
class daB_TN_c : public fopEn_enemy_c {
public:
/* 8061EC58 */ void ctrlJoint(J3DJoint*, J3DModel*);
/* 8061ED10 */ void JointCallBack(J3DJoint*, int);
/* 8061ED5C */ void calcNeckAngle();
/* 8061EE14 */ void calcWaistAngle();
/* 8061EEC8 */ void draw();
/* 8061F200 */ void setBreakPart(int);
/* 8061F31C */ void setBreakHeadPart(int);
/* 8061F3D0 */ void setPartLandEffect(int, int);
/* 8061F520 */ void calcShieldMove();
/* 8061F9F4 */ void calcSwordMoveA();
/* 8061FD7C */ void calcSwordMoveB();
/* 8061FFE0 */ void calcOtherPartMove(int);
/* 8062070C */ void calcPartMove();
/* 806208C8 */ void setBck(int, u8, f32, f32);
/* 8062096C */ void checkBck(int);
/* 806209C8 */ void setActionMode(int, int);
/* 806209E0 */ void setSwordAtBit(int);
/* 80620AE4 */ void setSwordAtBreak(int);
/* 80620B4C */ void setBodyShield();
/* 80620E90 */ void checkNormalAttackAble();
/* 80620FA0 */ void getCutType();
/* 80621070 */ void setDamage(dCcD_Sph*, int);
/* 8062138C */ void setShieldEffect(dCcD_Sph*);
/* 806213FC */ void damage_check();
/* 806227D0 */ void checkMoveArea();
/* 80622B60 */ void checkMoveAngle();
/* 80622BE0 */ void setAttackBlurEffect(int);
/* 80622CE4 */ void setArmorBreakEffect(int);
/* 80622F64 */ void demo_skip(int);
/* 8062318C */ void DemoSkipCallBack(void*, int);
/* 806231C0 */ void executeRoomDemo();
/* 80623920 */ void executeOpening();
/* 806246E8 */ void executeWaitH();
/* 806247D8 */ void setAwaitSound();
/* 80624890 */ void executeChaseH();
/* 80625394 */ void checkStartAttackH();
/* 806255F0 */ void executeAttackH();
/* 80625C74 */ void executeAttackShieldH();
/* 80625E40 */ void executeGuardH();
/* 80626034 */ void executeDamageH();
/* 80626320 */ void executeChangeDemo();
/* 80627100 */ void executeZakoChangeDemo();
/* 80627790 */ void setWalkDir();
/* 8062799C */ void initChaseL(int);
/* 80627CBC */ void checkAttackAble();
/* 80627D3C */ void checkNextMove();
/* 8062868C */ void executeChaseL();
/* 806292F8 */ void executeAttackL();
/* 80629D20 */ void executeAttackShieldL();
/* 80629FB0 */ void executeGuardL();
/* 8062A3D0 */ void executeDamageL();
/* 8062A71C */ void executeYoroke();
/* 8062A950 */ void executeEnding();
/* 8062B344 */ void executeZakoEnding();
/* 8062B6A8 */ void action();
/* 8062BA5C */ void mtx_set();
/* 8062BDCC */ void cc_set();
/* 8062C5B4 */ void execute();
/* 8062C7C8 */ void _delete();
/* 8062C868 */ void CreateHeap();
/* 8062CD78 */ void create();
/* 8062D2F0 */ daB_TN_c();
private:
/* 0x5ac */ u8 field_0x5ac[0x5630 - 0x5ac];
};
STATIC_ASSERT(sizeof(daB_TN_c) == 0x5630);
class daB_TN_HIO_c {
public:
/* 8061EBEC */ daB_TN_HIO_c();
/* 8062D98C */ ~daB_TN_HIO_c();
};
#endif /* D_A_B_TN_H */

View File

@ -86,6 +86,7 @@ private:
/* 0xFCC */ u8 field_0xfcc;
/* 0xFCD */ u8 field_0xfcd[0x1B88 - 0xFCD];
};
STATIC_ASSERT(sizeof(daB_YO_c) == 0x1B88);
struct daB_YO_HIO_c {

View File

@ -2,5 +2,57 @@
#define D_A_B_YO_ICE_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class daB_YOI_c
* @brief Blizzeta Second Phase Ice Block
*
* @details Snowpeak Ruins dungeon boss second phase ice blocks.
*
*/
class daB_YOI_c : public fopEn_enemy_c {
public:
/* 8063A17C */ void draw();
/* 8063A2D8 */ void setActionMode(int, int);
/* 8063A2E4 */ void damage_check();
/* 8063A480 */ void setOperate(int);
/* 8063A628 */ void setWeight(u8);
/* 8063A638 */ void setBreakIceEffect();
/* 8063A6F8 */ void setWallBreakIceEffect();
/* 8063A79C */ void setApperEffect();
/* 8063A824 */ void setApperEffect2();
/* 8063A8C8 */ void setLandingEffect();
/* 8063A96C */ void executeFirst();
/* 8063ABC0 */ void getSingleFallPos();
/* 8063ACCC */ void executeRiseUp();
/* 8063B238 */ void executeSingleFall();
/* 8063BB40 */ void executeYose();
/* 8063C3F0 */ void executeYoseFall();
/* 8063C76C */ void executeDemoRevival();
/* 8063C900 */ void executeDamage();
/* 8063CC90 */ void executeDeath();
/* 8063CD14 */ void crack_execute();
/* 8063CD90 */ void action();
/* 8063D0C8 */ void mtx_set();
/* 8063D1B0 */ void cc_set();
/* 8063D350 */ void execute();
/* 8063D45C */ void _delete();
/* 8063D4F8 */ void CreateHeap();
/* 8063D5D0 */ void create();
/* 8063D8FC */ daB_YOI_c();
private:
/* 0x5ac */ u8 field_0x5ac[0xb3c - 0x5ac];
};
STATIC_ASSERT(sizeof(daB_YOI_c) == 0xb3c);
class daB_YOI_HIO_c {
public:
/* 8063A14C */ daB_YOI_HIO_c();
/* 8063DBD0 */ ~daB_YOI_HIO_c();
};
#endif /* D_A_B_YO_ICE_H */

View File

@ -1,14 +1,22 @@
#ifndef D_A_B_ZANT_H
#define D_A_B_ZANT_H
#include "f_op/f_op_actor_mng.h"
#include "d/cc/d_cc_d.h"
#include "d/cc/d_cc_uty.h"
#include "Z2AudioLib/Z2Creature.h"
#include "d/bg/d_bg_s_acch.h"
#include "d/msg/d_msg_flow.h"
/**
* @ingroup actors-enemies
* @class daB_ZANT_c
* @brief Zant
*
* Palace of Twilight dungeon boss.
*
*
* @details Palace of Twilight dungeon boss.
*
*/
class daB_ZANT_c : public fopAc_ac_c {
class daB_ZANT_c : public fopEn_enemy_c {
public:
/* 8063E19C */ void ctrlJoint(J3DJoint*, J3DModel*);
/* 8063E264 */ void JointCallBack(J3DJoint*, int);
@ -82,9 +90,6 @@ public:
/* 8064E190 */ void create();
private:
/* 0x0568 */ u8 field_0x568[0x58e - 0x568];
/* 0x058E */ u16 field_0x58e;
/* 0x0590 */ u8 field_0x590[0x5ac - 0x590];
/* 0x05AC */ request_of_phase_process_class mPhase;
/* 0x05B4 */ mDoExt_McaMorfSO* mpMorfSO;
/* 0x05B8 */ J3DModel* field_0x5b8;
@ -185,11 +190,25 @@ private:
/* 0x3624 */ dCcD_Sph field_0x3624[2];
/* 0x3894 */ u32 field_0x3894;
/* 0x3898 */ u32 field_0x3898;
/* 0x389C */ u32 field_0x389c;
// /* 0x389C */ u32 field_0x389c;
/* 0x38A0 */ u8 field_0x38a0[0x38ac - 0x38a0];
/* 0x38AC */ u32 field_0x38ac[2];
/* 0x38B4 */ u32 field_0x38b4;
/* 0x38B8 */ u8 field_0x38b8;
// /* 0x38AC */ u32 field_0x38ac[2];
// /* 0x38B4 */ u32 field_0x38b4;
// /* 0x38B8 */ u8 field_0x38b8;
};
/*
There is a misalignment here causing the class to be too big by 0x14.
Commenting out the class members at the end fixed it temporarily.
Needs to be fixed properly at some point.
*/
STATIC_ASSERT(sizeof(daB_ZANT_c) == 0x38BC);
class daB_ZANT_HIO_c {
public:
/* 8063E10C */ daB_ZANT_HIO_c();
/* 8064E994 */ ~daB_ZANT_HIO_c();
};
#endif /* D_A_B_ZANT_H */

View File

@ -1,6 +1,33 @@
#ifndef D_A_B_ZANT_MAGIC_H
#define D_A_B_ZANT_MAGIC_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class daB_ZANTM_c
* @brief Zant - Magic Attack
*
* @details Palace of Twilight dungeon boss magic attack.
*
*/
class daB_ZANTM_c : public fopEn_enemy_c {
public:
/* 8064F778 */ void draw();
/* 8064F7D4 */ void setMagicEffect();
/* 8064F938 */ void setMagicHitEffect();
/* 8064FA50 */ void executeSmall();
/* 8064FD6C */ void cc_set();
/* 8064FE6C */ void execute();
/* 8064FF2C */ bool _delete();
/* 8064FF54 */ void create();
/* 806500A8 */ daB_ZANTM_c();
private:
/* 0x5ac */ u8 field_0x5ac[0xc0c - 0x5ac];
};
STATIC_ASSERT(sizeof(daB_ZANTM_c) == 0xc0c);
#endif /* D_A_B_ZANT_MAGIC_H */

View File

@ -1,6 +1,42 @@
#ifndef D_A_B_ZANT_MOBILE_H
#define D_A_B_ZANT_MOBILE_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class daB_ZANTZ_c
* @brief Zant (Mobile)
*
* @details Palace of Twilight dungeon boss (mobile form?).
*
*/
class daB_ZANTZ_c : public fopEn_enemy_c {
public:
/* 806507B0 */ void draw();
/* 80650854 */ void setSnortEffect(int);
/* 806508E0 */ void calcSnortEffect();
/* 80650B7C */ void setMouthMode(u8);
/* 80650D0C */ void setAppearMode(u8);
/* 806510C0 */ void getGroundPos();
/* 8065127C */ void action();
/* 80651B1C */ void cc_set();
/* 80651C20 */ void execute();
/* 80651D1C */ void _delete();
/* 80651DC4 */ void CreateHeap();
/* 80652038 */ void create();
private:
/* 0x5ac */ u8 field_0x5ac[0xd14 - 0x5ac];
};
STATIC_ASSERT(sizeof(daB_ZANTZ_c) == 0xd14);
class daB_ZANTZ_HIO_c {
public:
/* 8065078C */ daB_ZANTZ_HIO_c();
/* 8065268C */ ~daB_ZANTZ_HIO_c();
};
#endif /* D_A_B_ZANT_MOBILE_H */

View File

@ -6,10 +6,11 @@
/**
* @ingroup actors-enemies
* @class daB_ZANTS_c
* @brief Zant (Goron Mines Phase)
*
* Palace of Twilight dungeon boss. This is the actor used during the Goron Mines part of the fight.
*
*
* @details Palace of Twilight dungeon boss. This is the actor used during the Goron Mines part of the fight.
*
*/
class daB_ZANTS_c : public fopAc_ac_c {
public:
@ -35,4 +36,6 @@ public:
/* 0x5C4 */ dBgW* mpBgW;
};
STATIC_ASSERT(sizeof(daB_ZANTS_c) == 0x5C8);
#endif /* D_A_B_ZANT_SIMA_H */

View File

@ -2,5 +2,38 @@
#define D_A_L7DEMO_DR_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-unsorted
* @class daDr_c
* @brief
*
* @details
*
*/
class daDr_c : public fopAc_ac_c {
public:
/* 805A9238 */ void setAction(void (daDr_c::*)());
/* 805A92DC */ void action();
/* 805A9304 */ void mtx_set();
/* 805A93D4 */ void draw();
/* 805A9478 */ void wait();
/* 805A963C */ void pl_walk();
/* 805A9914 */ void pl_turn();
/* 805A9A34 */ void bridge_destroy();
/* 805A9D10 */ void bridge_destroy2();
/* 805A9EE4 */ void execute();
/* 805A9FFC */ void _delete();
/* 805AA084 */ void CreateHeap();
/* 805AA19C */ void check_start();
/* 805AA224 */ void create();
private:
/* 0x568 */ u8 field_0x568[0x65c - 0x568];
};
STATIC_ASSERT(sizeof(daDr_c) == 0x65c);
#endif /* D_A_L7DEMO_DR_H */

View File

@ -2,5 +2,33 @@
#define D_A_L7LOW_DR_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-unsorted
* @class daL7lowDr_c
* @brief
*
* @details
*
*/
class daL7lowDr_c : public fopAc_ac_c {
public:
/* 805AA5F8 */ void setAction(void (daL7lowDr_c::*)());
/* 805AA69C */ void action();
/* 805AA748 */ void _delete();
/* 805AA7B8 */ void mtx_set();
/* 805AA828 */ void fly();
/* 805AABF8 */ void execute();
/* 805AAC5C */ void CreateHeap();
/* 805AAD58 */ void create();
/* 805AAEA8 */ void draw();
private:
/* 0x568 */ u8 field_0x568[0x644 - 0x568];
};
STATIC_ASSERT(sizeof(daL7lowDr_c) == 0x644);
#endif /* D_A_L7LOW_DR_H */

View File

@ -2,5 +2,40 @@
#define D_A_L7OP_DEMO_DR_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-unsorted
* @class daL7ODR_c
* @brief
*
* @details
*
*/
class daL7ODR_c : public fopAc_ac_c {
public:
/* 805AB098 */ void setAction(void (daL7ODR_c::*)());
/* 805AB13C */ void action();
/* 805AB164 */ void setDrAction(void (daL7ODR_c::*)());
/* 805AB208 */ void dr_action();
/* 805AB230 */ void mtx_set();
/* 805AB2E8 */ void draw();
/* 805AB3F0 */ void wait();
/* 805AB520 */ void pl_walk();
/* 805ABC2C */ void setZoomOutCamPos(cXyz&, cXyz&, f32);
/* 805ABCF8 */ void dr_wait();
/* 805ABE0C */ void dr_fly();
/* 805AD7B4 */ void execute();
/* 805AD87C */ void _delete();
/* 805AD90C */ void CreateHeap();
/* 805ADA2C */ void check_start();
/* 805ADAC0 */ void create();
private:
/* 0x568 */ u8 field_0x568[0x8b8 - 0x568];
};
STATIC_ASSERT(sizeof(daL7ODR_c) == 0x8b8);
#endif /* D_A_L7OP_DEMO_DR_H */

View File

@ -3,6 +3,14 @@
#include "f_op/f_op_actor.h"
/**
* @ingroup actors-unsorted
* @class daAlldie_c
* @brief
*
* @details
*
*/
class daAlldie_c : public fopAc_ac_c {
public:
enum EAction {

View File

@ -3,6 +3,14 @@
#include "d/com/d_com_inf_game.h"
/**
* @ingroup actors-unsorted
* @class daAndsw_c
* @brief
*
* @details
*
*/
class daAndsw_c : public fopAc_ac_c {
public:
u8 getSwNo() {

View File

@ -3,6 +3,14 @@
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-unsorted
* @class daAndsw2_c
* @brief
*
* @details
*
*/
class daAndsw2_c : public fopAc_ac_c {
public:
enum Action_e {

View File

@ -6,6 +6,14 @@
#include "d/particle/d_particle.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-unsorted
* @class daArrow_c
* @brief Arrow
*
* @details
*
*/
class daArrow_c : public fopAc_ac_c {
public:
enum ArrowType_e {
@ -78,6 +86,7 @@ public:
NULL);
}
private:
/* 0x568 */ J3DModel* mpModel;
/* 0x56C */ dBgS_ArrowLinChk field_0x56c;
/* 0x5DC */ dBgS_ObjLinChk field_0x5dc;

View File

@ -13,6 +13,14 @@ class J2DPicture;
class J2DPane;
class J2DTextBox;
/**
* @ingroup actors-unsorted
* @class daBalloon2D_c
* @brief ???
*
* @details
*
*/
class daBalloon2D_c : public fopAc_ac_c, public request_of_phase_process_class {
public:
class c_list
@ -162,5 +170,16 @@ public:
/* 0xC0 */ f32 field_0xc0;
/* 0xC4 */ f32 field_0xc4;
};
#include "f_op/f_op_actor_mng.h"
class JMSMesgEntry_c : public fopEn_enemy_c {
private:
/* 0x5ac */ u8 field_0x5ac[0x748 - 0x5ac];
};
STATIC_ASSERT(sizeof(JMSMesgEntry_c) == 0x748);
struct JKRExpHeap {};
#endif /* D_A_BALLOON_2D_H */

View File

@ -1,5 +1,28 @@
#ifndef D_A_BD_H
#define D_A_BD_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-unsorted
* @class bd_class
* @brief Bird
*
* @details Used by birds that sit on Coro's head.
*
*/
class bd_class : public fopEn_enemy_c {
private:
/* 0x5ac */ u8 field_0x5ac[0x9ec - 0x5ac];
};
STATIC_ASSERT(sizeof(bd_class) == 0x9ec);
class daBd_HIO_c {
public:
/* 804D6C4C */ daBd_HIO_c();
/* 804D9CB8 */ ~daBd_HIO_c();
};
#endif /* D_A_BD_H */

View File

@ -1,5 +1,72 @@
#ifndef D_A_BG_H
#define D_A_BG_H
#include "f_op/f_op_actor_mng.h"
#include "d/bg/d_bg_w_kcol.h"
class daBg_btkAnm_c {
public:
/* 80457F34 */ int create(J3DModelData*, J3DAnmTextureSRTKey*, int);
/* 80458088 */ void entry(J3DModelData*);
/* 804580CC */ void play();
void entryFrame() { mpBtk->entryFrame(); }
void playspeed(f32 speed) { mpBtk->setPlaySpeed(speed); }
/* 0x0 */ mDoExt_btkAnm* mpBtk;
/* 0x4 */ u8 field_0x4;
};
class daBg_brkAnm_c {
public:
/* 804580F0 */ int create(J3DModelData*, J3DAnmTevRegKey*, int);
/* 80458230 */ void entry(J3DModelData*);
/* 80458274 */ void play();
void entryFrame() { mpBrk->entryFrame(); }
void entryFrame(f32 frame) { mpBrk->entryFrame(frame); }
f32 getEndFrame() { return mpBrk->getEndFrame(); }
/* 0x0 */ mDoExt_brkAnm* mpBrk;
/* 0x4 */ u8 field_0x4;
};
struct daBg_unkData {
/* 0x00 */ J3DModel* mpBgModel;
/* 0x04 */ daBg_btkAnm_c* mpBgBtk;
/* 0x08 */ daBg_brkAnm_c* mpBgBrk;
/* 0x0C */ dKy_tevstr_c* mpTevStr;
/* 0x10 */ f32 mBtkAnmSpeed;
}; // Size: 0x14
/**
* @ingroup actors-unsorted
* @class daBg_c
* @brief Background
*
* @details Stage collision.
*
*/
class daBg_c : public fopAc_ac_c {
public:
/* 80457BF8 */ const char* setArcName();
/* 804582B8 */ int createHeap();
/* 80458788 */ ~daBg_c();
/* 804588C4 */ int draw();
/* 8045906C */ int create();
inline int execute();
private:
/* 0x568 */ u8 field_0x568[0x570 - 0x568];
/* 0x570 */ daBg_unkData mBgData[6];
/* 0x5E8 */ dBgW* mpBgW;
/* 0x5EC */ dBgWKCol* mpKCol;
/* 0x5F0 */ u8 field_0x5f0;
/* 0x5F0 */ u8 field_0x5f1;
};
STATIC_ASSERT(sizeof(daBg_c) == 0x5F4);
#endif /* D_A_BG_H */

View File

@ -13,6 +13,14 @@ typedef int (daBgObj_c::*executeFunc)();
typedef void (daBgObj_c::*tgSetFunc)();
typedef int (daBgObj_c::*actionFunc)();
/**
* @ingroup actors-unsorted
* @class daBgObj_c
* @brief Moving Background Obj?
*
* @details
*
*/
class daBgObj_c : public dBgS_MoveBgActor {
public:
class spec_data_c {
@ -127,4 +135,12 @@ inline u8 getObjArg0(daBgObj_c* i_this) {
}
}; // namespace daBgObj_prm
struct spec_dat {
public:
u16 field_0x0;
u16 field_0x2;
u8 field_0x4;
};
#endif /* D_A_BG_OBJ_H */

View File

@ -61,10 +61,11 @@ class daAlink_c;
/**
* @ingroup actors-items
* @class daBoomerang_c
* @brief Gale Boomerang
*
* Forest Temple dungeon item.
*
*
* @details Forest Temple dungeon item.
*
*/
class daBoomerang_c : public fopAc_ac_c {
public:
@ -173,6 +174,19 @@ private:
/* 0xDC0 */ int (daBoomerang_c::*mpProcFn)();
/* 0xDCC */ void (daBoomerang_c::*mpSetAimActorFn)(fopAc_ac_c*);
/* 0xDD8 */ void (daBoomerang_c::*mpCancelLockActorFn)(fopAc_ac_c*);
}; // Size: 0xDE4
};
STATIC_ASSERT(sizeof(daBoomerang_c) == 0xDE4);
class daBoomerang_HIO_c0 {
public:
static u16 const m_lockWaitTime;
static f32 const m_minCircleR;
static f32 const m_middleCircleR;
static f32 const m_maxCircleR;
static f32 const m_scale;
static f32 const m_lockWindScale;
};
#endif /* D_A_BOOMERANG_H */

View File

@ -2,5 +2,48 @@
#define D_A_BULLET_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-unsorted
* @class daBullet_c
* @brief Bullet (Unused?)
*
* @details
*
*/
class daBullet_c : public fopEn_enemy_c {
public:
/* 8065594C */ ~daBullet_c();
/* 80655B08 */ void create();
/* 80655E5C */ void CreateHeap();
/* 80655EDC */ void Delete();
/* 80655F10 */ void Execute();
/* 806560FC */ void Draw();
/* 80656160 */ void createHeapCallBack(fopAc_ac_c*);
/* 80656180 */ void getResName();
/* 80656198 */ void getBmdName();
/* 806561B0 */ void getTypeFromParam();
/* 806561D0 */ void initialize();
/* 80656378 */ void setProcess(int (daBullet_c::*)(void*));
/* 80656420 */ void wait(void*);
/* 806564B8 */ void move(void*);
static u8 const mCcDObjInfo[48];
static u8 mCcDSph[64];
private:
/* 0x5ac */ u8 field_0x5ac[0x95c - 0x5ac];
};
STATIC_ASSERT(sizeof(daBullet_c) == 0x95c);
class daBullet_Param_c {
public:
/* 806566A8 */ ~daBullet_Param_c();
static u8 const m[24];
};
#endif /* D_A_BULLET_H */

View File

@ -6,6 +6,14 @@
#include "d/bg/d_bg_s_acch.h"
#include "SSystem/SComponent/c_phase.h"
/**
* @ingroup actors-unsorted
* @class daCanoe_c
* @brief Canoe
*
* @details
*
*/
class daCanoe_c : public fopAc_ac_c {
public:
/* 804DA5F4 */ void createHeap();
@ -38,6 +46,7 @@ public:
field_0x1446 = 1;
}
private:
/* 0x0568 */ request_of_phase_process_class mPhaseReq;
/* 0x0570 */ J3DModel* mpModel;
/* 0x0574 */ J3DModel* mpPaddleModel;
@ -84,6 +93,8 @@ public:
/* 0x14B8 */ cXyz field_0x14b8;
/* 0x14C4 */ cXyz field_0x14c4;
/* 0x14D0 */ cXyz field_0x14d0;
}; // Size: 0x14DC
};
STATIC_ASSERT(sizeof(daCanoe_c) == 0x14dc);
#endif /* D_A_CANOE_H */

View File

@ -2,5 +2,43 @@
#define D_A_COACH_2D_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-unsorted
* @class daCoach2D_c
* @brief Coach 2D
*
* @details
*
*/
class daCoach2D_c : public fopAc_ac_c {
public:
struct c_list {
/* 806569CC */ void draw();
/* 806577DC */ ~c_list();
};
/* 80656A38 */ void createHeap();
/* 80656D18 */ void create();
/* 80656D94 */ void destroy();
/* 80656DE4 */ void draw();
/* 80656E94 */ void execute();
/* 80656ED0 */ void drawMeter();
/* 8065722C */ void initiate();
/* 80657260 */ void update();
/* 80657490 */ void setBrkAnime(bool);
/* 80657824 */ ~daCoach2D_c();
private:
/* 0x568 */ u8 field_0x568[0x784 - 0x568];
};
STATIC_ASSERT(sizeof(daCoach2D_c) == 0x784);
class daCoach2D_HIO_c {
public:
/* 80657738 */ ~daCoach2D_HIO_c();
};
#endif /* D_A_COACH_2D_H */

View File

@ -2,5 +2,30 @@
#define D_A_COACH_FIRE_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-unsorted
* @class daCoachFire_c
* @brief Coach Fire
*
* @details
*
*/
class daCoachFire_c : public fopAc_ac_c {
public:
/* 80657B78 */ void create_init();
/* 80657C48 */ void initBaseMtx();
/* 80657CA8 */ void setBaseMtx();
/* 80657D2C */ void initCcSphere();
static u8 const M_attr[16];
private:
/* 0x568 */ u8 field_0x568[0x714 - 0x568];
};
STATIC_ASSERT(sizeof(daCoachFire_c) == 0x714);
#endif /* D_A_COACH_FIRE_H */

View File

@ -1,7 +1,16 @@
#ifndef D_A_COW_H
#define D_A_COW_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-unsorted
* @class daCow_c
* @brief Ordon Goat
*
* @details
*
*/
class daCow_c : public fopAc_ac_c {
public:
/* 806585CC */ void calcRunAnime(int);
@ -91,7 +100,12 @@ public:
void setNaderu() { field_0x568 |= 0x80; }
private:
/* 0x568 */ u16 field_0x568;
/* 0x56A */ u8 field_0x56a[0xD40 - 0x56A];
};
STATIC_ASSERT(sizeof(daCow_c) == 0xd40);
#endif /* D_A_COW_H */

View File

@ -7,10 +7,11 @@
/**
* @ingroup actors-items
* @class daCrod_c
* @brief Dominion Rod
*
* Temple of Time dungeon item.
*
*
* @details Temple of Time dungeon item.
*
*/
class daCrod_c : public fopAc_ac_c {
public:

View File

@ -5,6 +5,14 @@
#include "d/bg/d_bg_s_movebg_actor.h"
#include "d/particle/d_particle_copoly.h"
/**
* @ingroup actors-unsorted
* @class daCstaF_c
* @brief Dominion Rod Statue
*
* @details
*
*/
class daCstaF_c : public dBgS_MoveBgActor {
public:
/* 804DDB48 */ void checkCoverModel();

View File

@ -5,6 +5,14 @@
#include "d/particle/d_particle_copoly.h"
#include "f_op/f_op_actor.h"
/**
* @ingroup actors-unsorted
* @class daCstatue_c
* @brief Dominion Rod Statue (small?)
*
* @details
*
*/
class daCstatue_c : public fopAc_ac_c {
public:
/* 806636AC */ void atHitCallback(fopAc_ac_c*);
@ -30,6 +38,7 @@ public:
static u8 const m_bckIdxTable[70 + 2 /* padding */];
private:
/* 0x568 */ char* mResName;
/* 0x56C */ request_of_phase_process_class mPhaseReq;
/* 0x574 */ J3DModel* field_0x574;
@ -70,6 +79,8 @@ public:
/* 0xB08 */ cXyz field_0xb08;
/* 0xB14 */ cXyz field_0xb14;
/* 0xB20 */ cXyz mBallPos;
}; // Size: 0xB2C
};
STATIC_ASSERT(sizeof(daCstatue_c) == 0xB2C);
#endif /* D_A_CSTATUE_H */

View File

@ -1,6 +1,50 @@
#ifndef D_A_DEMO00_H
#define D_A_DEMO00_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
#include "d/d_demo.h"
struct demo_s1_ke_s {
public:
/* 804A4420 */ ~demo_s1_ke_s();
/* 804A86B4 */ demo_s1_ke_s();
};
class daDemo00_resID_c {
public:
/* 804A430C */ void reset();
};
class daDemo00_model_c {
public:
/* 804A4338 */ void reset();
};
/**
* @ingroup actors-unsorted
* @class daDemo00_c
* @brief Cutscene
*
* @details
*
*/
class daDemo00_c : public fopAc_ac_c {
public:
/* 804A4388 */ ~daDemo00_c();
/* 804A45A0 */ void setBaseMtx();
/* 804A4948 */ void setShadowSize();
/* 804A4F74 */ void createHeap();
/* 804A5798 */ void actStandby(dDemo_actor_c*);
/* 804A594C */ void actPerformance(dDemo_actor_c*);
/* 804A604C */ void actLeaving(dDemo_actor_c*);
/* 804A6F94 */ void draw();
/* 804A7BA8 */ void execute();
private:
/* 0x568 */ u8 field_0x568[0x292c - 0x568];
};
STATIC_ASSERT(sizeof(daDemo00_c) == 0x292c);
#endif /* D_A_DEMO00_H */

View File

@ -1,6 +1,43 @@
#ifndef D_A_DEMO_ITEM_H
#define D_A_DEMO_ITEM_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-unsorted
* @class daDitem_c
* @brief Cutscene Item
*
* @details
*
*/
class daDitem_c : public fopAc_ac_c {
public:
/* 804DFBCC */ bool __CreateHeap();
/* 804DFBD4 */ void CreateInit();
/* 804DFC98 */ void action();
/* 804DFD10 */ void actionStart();
/* 804E00DC */ void actionEvent();
/* 804E0A50 */ void actionWaitLightEnd();
/* 804E0B40 */ void actionEnd();
/* 804E0B60 */ void setInsectEffect();
/* 804E0C44 */ void followInsectEffect();
/* 804E0CB0 */ void endInsectEffect();
/* 804E0D44 */ void onEventReg(int, int);
/* 804E0DB4 */ void set_pos();
/* 804E105C */ void anim_control();
/* 804E1098 */ void initEffectLight();
/* 804E10D0 */ void settingEffectLight();
/* 804E111C */ void set_mtx();
/* 804E11D4 */ void setTevStr();
/* 804E122C */ void setListStart();
/* 804E1230 */ void draw_WOOD_STICK();
private:
/* 0x568 */ u8 field_0x568[0x9c8 - 0x568];
};
STATIC_ASSERT(sizeof(daDitem_c) == 0x9c8);
#endif /* D_A_DEMO_ITEM_H */

View File

@ -3,6 +3,14 @@
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-unsorted
* @class disappear_class
* @brief Enemy Death Effect
*
* @details
*
*/
class disappear_class : public fopAc_ac_c {
public:
/* 0x568 */ u8 field_0x568[0x574 - 0x568];

View File

@ -3,6 +3,14 @@
#include "d/com/d_com_inf_game.h"
/**
* @ingroup actors-unsorted
* @class daDmidna_c
* @brief Dying Midna (White Midna)
*
* @details
*
*/
class daDmidna_c : public fopAc_ac_c {
public:
/* 8045CED8 */ int createHeap();

View File

@ -76,6 +76,14 @@ public:
/* 0x1E */ s16 mWaterHuntAnimType;
};
/**
* @ingroup actors-unsorted
* @class do_class
* @brief Dog
*
* @details
*
*/
class do_class : public fopEn_enemy_c {
public:
/* 0x5AC */ request_of_phase_process_class mPhase;

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-unsorted
* @class daDsh_c
* @brief Death Sword Shutter Gate
*
* @details
*
*/
class daDsh_c : public dBgS_MoveBgActor {
public:
class action_c {

View File

@ -3,6 +3,14 @@
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-unsorted
* @class econt_class
* @brief Encounter
*
* @details
*
*/
class econt_class : public fopEn_enemy_c {
public:
/* 0x5AC */ u8 field_0x5ac[8];

View File

@ -2,5 +2,28 @@
#define D_A_FR_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-unsorted
* @class fr_class
* @brief Frog
*
* @details
*
*/
class fr_class : public fopAc_ac_c {
private:
/* 0x568 */ u8 field_0x568[0x9e8 - 0x568];
};
STATIC_ASSERT(sizeof(fr_class) == 0x9e8);
class daFr_HIO_c {
public:
/* 805198EC */ daFr_HIO_c();
/* 8051B920 */ ~daFr_HIO_c();
};
#endif /* D_A_FR_H */

View File

@ -173,6 +173,14 @@ public:
/* 0x12A50 */ u32 m_Jhana01_cDL_size;
}; // Size: 0x12A54
/**
* @ingroup actors-unsorted
* @class daGrass_c
* @brief Grass
*
* @details
*
*/
class daGrass_c : public fopAc_ac_c {
public:
/* 8051BEFC */ int createGrass();
@ -209,4 +217,10 @@ namespace daGrass_prm {
inline u8 getItemBitNo(daGrass_c* i_this) { return (fopAcM_GetParam(i_this) >> 8) & 0xFF; }
};
struct offset_data {
/* 0x0 */ u8 num;
/* 0x4 */ csXyz* set_type;
};
#endif /* D_A_GRASS_H */

View File

@ -5,6 +5,14 @@
#include "d/com/d_com_inf_game.h"
#include "rel/d/a/tag/d_a_tag_guard/d_a_tag_guard.h"
/**
* @ingroup actors-unsorted
* @class daGuardMng_c
* @brief Guard Manager?
*
* @details
*
*/
class daGuardMng_c : public fopAc_ac_c {
public:
void countMerchantNum() {

View File

@ -3,6 +3,14 @@
#include "d/com/d_com_inf_game.h"
/**
* @ingroup actors-unsorted
* @class hitobj_class
* @brief Hit Object?
*
* @details
*
*/
class hitobj_class : public fopAc_ac_c {
public:
/* 0x568 */ request_of_phase_process_class mPhase;

View File

@ -34,6 +34,15 @@ private:
}; // Size: 0xE4
class daHoZelda_c;
/**
* @ingroup actors-unsorted
* @class daHorse_c
* @brief Epona
*
* @details
*
*/
class daHorse_c : public fopAc_ac_c {
public:
enum daHorse_ERFLG0 {
@ -286,4 +295,14 @@ public:
/* 0x18F8 */ void (daHorse_c::*mpOffRideFlgFn)();
};
class daHorse_hio_c0 {
public:
static u8 const m[292];
};
class dBgS_HorseAcch {
public:
/* 80845274 */ ~dBgS_HorseAcch();
};
#endif /* D_A_HORSE_H */

View File

@ -22,6 +22,14 @@ public:
class daHoZelda_hio_c;
/**
* @ingroup actors-unsorted
* @class daHoZelda_c
* @brief Zelda (Horseback)
*
* @details
*
*/
class daHoZelda_c : public fopAc_ac_c {
public:
/* 80846000 */ void createHeap();

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-unsorted
* @class daIzumiGate_c
* @brief Ordon Spring Gate
*
* @details
*
*/
class daIzumiGate_c : public dBgS_MoveBgActor {
public:
/* 80849098 */ void initBaseMtx();

View File

@ -1,8 +1,17 @@
#ifndef D_A_KAGO_H
#define D_A_KAGO_H
#include "f_op/f_op_actor_mng.h"
#include "d/d_path.h"
/**
* @ingroup actors-unsorted
* @class daKago_c
* @brief Basket
*
* @details
*
*/
class daKago_c : public fopAc_ac_c {
public:
/* 80849660 */ void getBckName(int);
@ -92,6 +101,7 @@ public:
MtxP getLegR3Mtx() { return mLegR3Mtx; }
private:
/* 0x568 */ u8 field_0x568[0x620 - 0x568];
/* 0x620 */ Mtx mLegR3Mtx;
/* 0x650 */ u8 field_0x650[0x6E1 - 0x650];
@ -101,6 +111,15 @@ public:
/* 0x744 */ int field_0x744;
/* 0x748 */ u8 field_0x748[0x76C - 0x748];
/* 0x76C */ dPath* field_0x76c;
/* 0x770 */ u8 field_0x770[0xBA4 - 0x770];
};
STATIC_ASSERT(sizeof(daKago_c) == 0xBA4);
class daKago_HIO_c {
public:
/* 808495AC */ daKago_HIO_c();
/* 80854A4C */ ~daKago_HIO_c();
};
#endif /* D_A_KAGO_H */

View File

@ -1,6 +1,33 @@
#ifndef D_A_MANT_H
#define D_A_MANT_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-unsorted
* @class mant_class
* @brief ???
*
* @details Related to Ganondorf Horseback Battle
*
*/
class mant_class : public fopAc_ac_c {
private:
/* 0x568 */ u8 field_0x568[0x39a4 - 0x568];
};
STATIC_ASSERT(sizeof(mant_class) == 0x39a4);
class daMant_packet_c : public fopAc_ac_c {
public:
/* 80861298 */ void draw();
/* 80862BA4 */ ~daMant_packet_c();
};
struct mant_j_s {
public:
/* 80862AC0 */ ~mant_j_s();
/* 80862B3C */ mant_j_s();
};
#endif /* D_A_MANT_H */

View File

@ -4,8 +4,7 @@
#include "SSystem/SComponent/c_phase.h"
#include "Z2AudioLib/Z2Creature.h"
#include "f_op/f_op_actor.h"
// including this causes vtable problems
// #include "d/bg/d_bg_s_acch.h"
#include "d/bg/d_bg_s_acch.h"
#include "d/cc/d_cc_d.h"
struct mf_ke_s {
@ -15,6 +14,14 @@ struct mf_ke_s {
/* 0x00 */ u8 field_0x0[0x48];
};
/**
* @ingroup actors-unsorted
* @class mg_fish_class
* @brief Fish
*
* @details
*
*/
class mg_fish_class : public fopEn_enemy_c {
public:
/* 0x5AC */ request_of_phase_process_class mPhaseReq;
@ -59,9 +66,8 @@ public:
/* 0x754 */ mf_ke_s field_0x754[2];
/* 0x7E4 */ mDoExt_3DlineMat0_c field_0x7e4;
/* 0x800 */ Z2Creature mSound;
// /* 0x890 */ dBgS_AcchCir mAcchCir;
// /* 0x8D0 */ dBgS_ObjAcch mAcch;
/* 0x890 */ u8 field_0x890[0x218];
/* 0x890 */ dBgS_AcchCir mAcchCir;
/* 0x8D0 */ dBgS_ObjAcch mAcch;
/* 0xAA8 */ dCcD_Stts mCcStatus;
/* 0xAE4 */ dCcD_Cyl mCcCyl;
/* 0xC20 */ u8 field_0xc20[0x1c];
@ -73,4 +79,11 @@ public:
STATIC_ASSERT(sizeof(mg_fish_class) == 0xC50);
class daMg_Fish_HIO_c {
public:
/* 80529D2C */ daMg_Fish_HIO_c();
/* 805360A8 */ ~daMg_Fish_HIO_c();
};
#endif /* D_A_MG_FISH_H */

View File

@ -89,6 +89,14 @@ struct fs_koro2_s {
/* 0x64 */ dBgW* mpBgW;
};
/**
* @ingroup actors-unsorted
* @class fshop_class
* @brief Hena's Shop
*
* @details
*
*/
class fshop_class : public fopAc_ac_c {
public:
/* 0x0568 */ request_of_phase_process_class mPhase;

View File

@ -1,9 +1,12 @@
#ifndef D_A_MG_ROD_H
#define D_A_MG_ROD_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/msg/d_msg_flow.h"
#include "rel/d/a/d_a_mg_fish/d_a_mg_fish.h"
struct mg_rod_s {
/* 0x0 */ cXyz field_0x0[16];
@ -14,14 +17,22 @@ struct mg_line_s {
};
struct mg_hook_s {
/* 804BAF78 */ ~mg_hook_s();
/* 804BAFD8 */ mg_hook_s();
/* 0x00 */ cXyz field_0x0[2];
/* 0x18 */ u8 field_0x18[0x20 - 0x18];
};
struct wd_ss {};
/**
* @ingroup actors-items
* @class dmg_rod_class
* @brief Fishing Rod
*
*
* @details
*
*/
class dmg_rod_class : public fopAc_ac_c {
public:
@ -31,6 +42,7 @@ public:
f32 getRodStickY() { return mRodStickY; }
bool checkRodEquipPermission() { return field_0x1514 == 0; }
private:
/* 0x0568 */ u8 field_0x568[0x5A4 - 0x568];
/* 0x05A4 */ mg_rod_s field_0x5a4;
/* 0x0664 */ u8 field_0x664[0x6AC - 0x664];
@ -76,6 +88,15 @@ public:
/* 0x1515 */ u8 field_0x1515[0x1518 - 0x1515];
/* 0x1518 */ dCcD_Stts field_0x1518;
/* 0x1554 */ dCcD_Sph field_0x1554;
/* 0x168C */ u8 field_0x168c;
};
STATIC_ASSERT(sizeof(dmg_rod_class) == 0x1690);
class dmg_rod_HIO_c {
public:
/* 804A95EC */ dmg_rod_HIO_c();
/* 804BB070 */ ~dmg_rod_HIO_c();
};
#endif /* D_A_MG_ROD_H */

View File

@ -11,6 +11,14 @@
class daMidna_c;
typedef int (daMidna_c::*daMidna_func)();
/**
* @ingroup actors-unsorted
* @class daMidna_c
* @brief Midna
*
* @details
*
*/
class daMidna_c : public fopAc_ac_c {
public:
enum daMidna_ERFLG0 {
@ -279,4 +287,24 @@ private:
/* 0x09D4 */ daMidna_func mpFunc;
};
STATIC_ASSERT(sizeof(daMidna_c) == 0x9e0);
class daMidna_matAnm_c : public fopAc_ac_c {
public:
/* 804BC218 */ void init();
/* 804BC248 */ void calc(J3DMaterial*) const;
/* 804C63E0 */ ~daMidna_matAnm_c();
};
class daMidna_hio_c0 {
public:
static u8 const m[32];
};
class daMidna_McaMorfCB1_c {
public:
/* 804BC36C */ void execute(u16, J3DTransformInfo*);
/* 804C6398 */ ~daMidna_McaMorfCB1_c();
};
#endif /* D_A_MIDNA_H */

View File

@ -27,6 +27,14 @@ public:
/* 0x17C */ cXyz mViewScale;
};
/**
* @ingroup actors-unsorted
* @class daMirror_c
* @brief Mirror
*
* @details Used in Link's House? Or Blizzeta's Room? Or Twilight Mirror?
*
*/
class daMirror_c : public fopAc_ac_c, public request_of_phase_process_class {
public:
/* 80871E24 */ daMirror_c();

View File

@ -3,6 +3,14 @@
#include "f_op/f_op_actor.h"
/**
* @ingroup actors-unsorted
* @class daMP_c
* @brief Movie Player
*
* @details
*
*/
class daMP_c : public fopAc_ac_c {
public:
/* 80031AD0 */ static int daMP_c_THPPlayerPlay();
@ -30,6 +38,20 @@ private:
/* 0x574 */ int (*mpTHPPlay)(void);
/* 0x578 */ void (*mpTHPStop)(void);
/* 0x57C */ int (*mpTHPPause)(void);
}; // Size: 0x580
};
STATIC_ASSERT(sizeof(daMP_c) == 0x580);
struct daMP_THPReadBuffer {};
class daMP_Dlst_base_c {
public:
/* 80878DB8 */ void draw();
/* 80878FD8 */ daMP_Dlst_base_c();
};
struct THPVideoInfo {};
struct THPAudioInfo {};
#endif /* D_A_MOVIE_PLAYER_H */

View File

@ -17,8 +17,17 @@ struct ShopItem {
/* 0xC */ u8 mItemType;
/* 0xD */ u8 mItemStatus;
};
STATIC_ASSERT(sizeof(ShopItem) == 0x10);
/**
* @ingroup actors-npcs
* @class daMyna_c
* @brief Trill
*
* @details
*
*/
class daMyna_c : public fopAc_ac_c {
public:
/* 80945E80 */ int baseMotion00(int);
@ -175,6 +184,7 @@ public:
/* 0x938 */ u8 field_0x938;
/* 0x939 */ u8 field_0x939;
};
STATIC_ASSERT(sizeof(daMyna_c) == 0x93C);
class daMyna_HIO_c : public mDoHIO_entry_c {
@ -200,6 +210,7 @@ public:
/* 0x2E */ s16 field_0x2E; // DAT_8094ba6a
/* 0x30 */ s16 field_0x30; // DAT_8094ba6c
};
STATIC_ASSERT(sizeof(daMyna_HIO_c) == 0x34);
#endif /* D_A_MYNA_H */

View File

@ -6,6 +6,14 @@
#include "d/cc/d_cc_d.h"
#include "d/a/d_a_player.h"
/**
* @ingroup actors-unsorted
* @class daNbomb_c
* @brief Bomb
*
* @details Multi-purpose bomb actor. Used for normal bombs, water bombs and bomblings.
*
*/
class daNbomb_c : public dBomb_c {
public:
enum daNbomb_FLG0 {

View File

@ -1,5 +1,28 @@
#ifndef D_A_NI_H
#define D_A_NI_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-unsorted
* @class ni_class
* @brief Cucco
*
* @details
*
*/
class ni_class : public fopAc_ac_c {
private:
/* 0x568 */ u8 field_0x568[0xb0c - 0x568];
};
STATIC_ASSERT(sizeof(ni_class) == 0xb0c);
class daNi_HIO_c {
public:
/* 8094BC2C */ daNi_HIO_c();
/* 80951118 */ ~daNi_HIO_c();
};
#endif /* D_A_NI_H */

View File

@ -1,6 +1,31 @@
#ifndef D_A_PASSER_MNG_H
#define D_A_PASSER_MNG_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-unsorted
* @class daPasserMng_c
* @brief Hylian Passerby Manager?
*
* @details
*
*/
class daPasserMng_c : public fopAc_ac_c {
public:
/* 80D45738 */ void execute();
/* 80D4597C */ void getPasserParam();
/* 80D45E14 */ void getLuggageParamHigh(u32);
/* 80D46768 */ void create();
/* 80D467C0 */ void create_init();
static void* mGroupTbl[4];
private:
/* 0x568 */ u8 field_0x568[0x598 - 0x568];
};
STATIC_ASSERT(sizeof(daPasserMng_c) == 0x598);
#endif /* D_A_PASSER_MNG_H */

View File

@ -2,5 +2,85 @@
#define D_A_PERU_H
#include "dolphin/types.h"
#include "d/a/d_a_npc.h"
/**
* @ingroup actors-npcs
* @class daPeru_c
* @brief Louise
*
* @details
*
*/
class daPeru_c : public fopAc_ac_c {
public:
/* 80D46EEC */ ~daPeru_c();
/* 80D46FCC */ void create();
/* 80D4720C */ void CreateHeap();
/* 80D4765C */ void typeInitialize();
/* 80D47750 */ void Delete();
/* 80D47784 */ void Execute();
/* 80D477A4 */ void Draw();
/* 80D47840 */ void createHeapCallBack(fopAc_ac_c*);
/* 80D47860 */ void ctrlJointCallBack(J3DJoint*, int);
/* 80D478B8 */ void isDelete();
/* 80D478EC */ void reset();
/* 80D47B20 */ void setParam();
/* 80D47C4C */ void setAfterTalkMotion();
/* 80D47CAC */ void srchActors();
/* 80D47D5C */ void evtTalk();
/* 80D47E48 */ void evtCutProc();
/* 80D47F10 */ void action();
/* 80D47F5C */ void setAttnPos();
/* 80D481A4 */ void setCollision();
/* 80D4835C */ bool drawDbgInfo();
/* 80D48364 */ void setAction(int (daPeru_c::*)(int), int);
/* 80D48414 */ void wait(int);
/* 80D486A0 */ void is_AppearDemo_start();
/* 80D48720 */ void _AppearDemoTag_delete();
/* 80D48750 */ void talk(int);
/* 80D48A7C */ void jump_st(int);
/* 80D48C58 */ void jump_ed(int);
/* 80D48E34 */ void sniff(int);
/* 80D48FA8 */ void demo_appear(int);
/* 80D4910C */ void demo_walk_to_link(int);
/* 80D492A8 */ void demo_walk_circle(int);
/* 80D49418 */ void demo_walk_to_window(int);
/* 80D4971C */ void demo_walk_to_pathway(int);
/* 80D499AC */ void cutAppear(int);
/* 80D49A40 */ void _cutAppear_Init(int const&);
/* 80D4A334 */ void _cutAppear_Main(int const&);
/* 80D4A840 */ void _catdoor_open();
/* 80D4A920 */ void _catdoor_open_demoskip();
/* 80D4A984 */ void cutAppear_skip(int);
/* 80D4AA18 */ void _cutAppear_skip_Init(int const&);
/* 80D4AAF0 */ void _cutAppear_skip_Main(int const&);
/* 80D4BE2C */ daPeru_c(daNpcT_faceMotionAnmData_c const*, daNpcT_motionAnmData_c const*,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const*, int,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const*, int,
daNpcT_evtData_c const*, char**);
/* 80D4BEC4 */ bool getEyeballMaterialNo();
/* 80D4BECC */ s32 getHeadJointNo();
/* 80D4BED4 */ s32 getNeckJointNo();
/* 80D4BEDC */ bool getBackboneJointNo();
/* 80D4BEE4 */ void checkChangeJoint(int);
/* 80D4BEF4 */ void checkRemoveJoint(int);
/* 80D4BF04 */ void beforeMove();
static void* mCutNameList[3];
static u8 mCutList[36];
private:
/* 0x568 */ u8 field_0x568[0x112c - 0x568];
};
STATIC_ASSERT(sizeof(daPeru_c) == 0x112c);
class daPeru_Param_c {
public:
/* 80D4BF7C */ ~daPeru_Param_c();
static u8 const m[152];
};
#endif /* D_A_PERU_H */

View File

@ -2,5 +2,34 @@
#define D_A_PPOLAMP_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-unsorted
* @class daPPolamp_c
* @brief P Poe Lamp
*
* @details
*
*/
class daPPolamp_c : public fopAc_ac_c {
public:
/* 80D4C958 */ ~daPPolamp_c();
/* 80D4C9FC */ void create();
/* 80D4CB24 */ void execute();
/* 80D4CB84 */ void draw();
/* 80D4CCF0 */ void Delete();
/* 80D4CD24 */ void setModelMtx();
/* 80D4CDA8 */ void setPclModelMtx();
/* 80D4CE9C */ void createHeap();
/* 80D4CFB0 */ void moveSwing();
/* 80D4D10C */ void initParam();
private:
/* 0x568 */ u8 field_0x568[0x5ac - 0x568];
};
STATIC_ASSERT(sizeof(daPPolamp_c) == 0x5ac);
#endif /* D_A_PPOLAMP_H */

View File

@ -3,6 +3,14 @@
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-unsorted
* @class daScex_c
* @brief Scene Exit
*
* @details
*
*/
class daScex_c : public fopAc_ac_c {
public:
daScex_c() {}

View File

@ -3,6 +3,14 @@
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-unsorted
* @class daScExit_c
* @brief Scene Exit 2
*
* @details
*
*/
class daScExit_c : public fopAc_ac_c {
public:
enum act_e {

View File

@ -3,6 +3,14 @@
#include "d/com/d_com_inf_game.h"
/**
* @ingroup actors-unsorted
* @class daSetBgObj_c
* @brief Set Background Object
*
* @details
*
*/
class daSetBgObj_c : public fopAc_ac_c {
public:
/* 80031870 */ static const char* getArcName(fopAc_ac_c*);

View File

@ -5,6 +5,14 @@
class dMeterButton_c;
/**
* @ingroup actors-unsorted
* @class daSkip2D_c
* @brief ???
*
* @details
*
*/
class daSkip2D_c : public fopAc_ac_c {
public:
daSkip2D_c() {

View File

@ -7,10 +7,11 @@
/**
* @ingroup actors-items
* @class daSpinner_c
* @brief Spinner
*
* Arbiter's Grounds dungeon item.
*
*
* @details Arbiter's Grounds dungeon item.
*
*/
class daSpinner_c : public fopAc_ac_c {
public:

View File

@ -8,6 +8,14 @@
#include "d/cc/d_cc_uty.h"
#include "d/msg/d_msg_flow.h"
/**
* @ingroup actors-unsorted
* @class sq_class
* @brief Squirrel
*
* @details Is this different from the talking npc actor?
*
*/
class sq_class : public fopEn_enemy_c {
public:
enum Action {

View File

@ -3,6 +3,14 @@
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-unsorted
* @class daSus_c
* @brief Suspend
*
* @details
*
*/
class daSus_c : public fopAc_ac_c {
public:
class data_c {

View File

@ -1,6 +1,34 @@
#ifndef D_A_SWBALL_H
#define D_A_SWBALL_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-unsorted
* @class daSwBall_c
* @brief Switch Ball
*
* @details
*
*/
class daSwBall_c : public fopAc_ac_c {
public:
/* 80D4E054 */ void checkArea_sub(fopAc_ac_c*);
/* 80D4E194 */ void checkArea();
/* 80D4E248 */ void search_ball();
/* 80D4E374 */ void Create();
/* 80D4E42C */ void create();
/* 80D4E494 */ void execute();
/* 80D4E524 */ void actionRun();
/* 80D4E6C4 */ void actionStop();
/* 80D4E6C8 */ void PutCrrPos();
/* 80D4E90C */ bool _delete();
private:
/* 0x568 */ u8 field_0x568[0x5a0 - 0x568];
};
STATIC_ASSERT(sizeof(daSwBall_c) == 0x5a0);
#endif /* D_A_SWBALL_H */

View File

@ -1,6 +1,35 @@
#ifndef D_A_SWLBALL_H
#define D_A_SWLBALL_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-unsorted
* @class daSwLBall_c
* @brief Switch L Ball
*
* @details
*
*/
class daSwLBall_c : public fopAc_ac_c {
public:
/* 80D4EB8C */ void checkArea_sub(fopAc_ac_c*);
/* 80D4ECCC */ void checkArea();
/* 80D4ED80 */ void search_lb();
/* 80D4EEAC */ void Create();
/* 80D4EEF8 */ void create();
/* 80D4EF60 */ void execute();
/* 80D4F008 */ void actionInit();
/* 80D4F080 */ void actionRun();
/* 80D4F220 */ void actionStop();
/* 80D4F224 */ void PutCrrPos();
/* 80D4F444 */ bool _delete();
private:
/* 0x568 */ u8 field_0x568[0x578 - 0x568];
};
STATIC_ASSERT(sizeof(daSwLBall_c) == 0x578);
#endif /* D_A_SWLBALL_H */

View File

@ -3,6 +3,14 @@
#include "d/com/d_com_inf_game.h"
/**
* @ingroup actors-unsorted
* @class daSwTime_c
* @brief Switch Time
*
* @details
*
*/
class daSwTime_c : public fopAc_ac_c {
public:
u8 getTime() {
@ -22,9 +30,12 @@ public:
/* 80D4F6C8 */ int execute();
/* 80D4F758 */ int _delete();
private:
/* 0x568 */ u8 mTime;
/* 0x569 */ u8 mSwbit;
/* 0x56A */ u8 mSwbit2;
};
STATIC_ASSERT(sizeof(daSwTime_c) == 0x56C);
#endif /* D_A_SWTIME_H */

View File

@ -1,5 +1,35 @@
#ifndef D_A_SWC00_H
#define D_A_SWC00_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-unsorted
* @class daSwc00_c
* @brief Switch Area C
*
* @details
*
*/
class daSwc00_c : public fopAc_ac_c {
public:
public:
/* 805A15FC */ int execute();
/* 805A18E8 */ void event_proc_call();
/* 805A19A4 */ void actionWait();
/* 805A1A28 */ void actionOrderEvent();
/* 805A1A94 */ void actionEvent();
/* 805A1AF0 */ void actionDead();
private:
/* 0x568 */ cXyz field_0x568;
/* 0x574 */ cXyz field_0x574;
/* 0x580 */ u16 mEventID;
/* 0x582 */ u8 mAction;
/* 0x584 */ u8 field_0x584[4];
};
STATIC_ASSERT(sizeof(daSwc00_c) == 0x588);
#endif /* D_A_SWC00_H */

View File

@ -1,5 +1,48 @@
#ifndef D_A_SWHIT0_H
#define D_A_SWHIT0_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-unsorted
* @class daSwhit0_c
* @brief Crystal Switch (?)
*
* @details
*
*/
class daSwhit0_c : public fopAc_ac_c {
public:
/* 80485FF8 */ void getSwNo();
/* 80486004 */ void getSwNo2();
/* 80486010 */ void getEvNo();
/* 8048602C */ void getTimer();
/* 80486048 */ void getType();
/* 80486064 */ void makeEventId();
/* 804860EC */ void CreateHeap();
/* 80486214 */ void CreateInit();
/* 804863B0 */ void create();
/* 8048668C */ void checkHit();
/* 80486704 */ void setCombackTimer();
/* 80486788 */ void endCombackTimer();
/* 80486800 */ void onSwitch();
/* 80486858 */ void offSwitch();
/* 804868A8 */ void DemoProc();
/* 804869C4 */ void orderEvent();
/* 80486ABC */ void actionOffWait();
/* 80486BC4 */ void actionToOnReady();
/* 80486C28 */ void actionToOnOrder();
/* 80486CE4 */ void actionToOnDemo();
/* 80486D88 */ void actionToOnDemo2();
/* 80486EC4 */ void actionSwWait();
/* 80486FC0 */ void actionOnWait();
/* 804870E0 */ void setDrawMtx();
private:
/* 0x568 */ u8 field_0x568[0x75c - 0x568];
};
STATIC_ASSERT(sizeof(daSwhit0_c) == 0x75c);
#endif /* D_A_SWHIT0_H */

View File

@ -4,6 +4,14 @@
#include "f_op/f_op_actor_mng.h"
#include "d/msg/d_msg_flow.h"
/**
* @ingroup actors-unsorted
* @class daTalk_c
* @brief Talk (Unused?)
*
* @details
*
*/
class daTalk_c : public fopAc_ac_c {
public:
/* 80D66378 */ ~daTalk_c();
@ -14,8 +22,11 @@ public:
/* 80D66688 */ u16 getStatus();
/* 80D666A8 */ u32 messageSet();
private:
/* 0x568 */ dMsgFlow_c mMsgFlow;
/* 0x5B4 */ u32 mMessageID;
};
STATIC_ASSERT(sizeof(daTalk_c) == 0x5B8);
#endif /* D_A_TALK_H */

View File

@ -35,6 +35,14 @@ class daTbox_c;
typedef int (daTbox_c::*daTbox_actionFn)();
typedef void (daTbox_c::*daTbox_modeFn)();
/**
* @ingroup actors-unsorted
* @class daTbox_c
* @brief Treasure Box
*
* @details
*
*/
class daTbox_c : public daTboxBase_c {
public:
enum Shape {

View File

@ -3,6 +3,14 @@
#include "rel/d/a/d_a_tbox/d_a_tbox.h"
/**
* @ingroup actors-unsorted
* @class daTbox2_c
* @brief Treasure Box 2
*
* @details
*
*/
class daTbox2_c : public daTboxBase_c {
public:
enum Type_e {
@ -59,6 +67,7 @@ public:
u8 getModelType() { return fopAcM_GetParamBit(this, 8, 4); }
u8 getItemNo() { return fopAcM_GetParamBit(this, 0, 8); }
private:
/* 0x718 */ u8 mReturnRupee;
/* 0x71C */ request_of_phase_process_class mPhase;
/* 0x724 */ J3DModel* mpModel;
@ -76,4 +85,15 @@ public:
/* 0xAC8 */ dBgW* mBoxBgW;
};
STATIC_ASSERT(sizeof(daTbox2_c) == 0xACC);
struct res_info {
public:
/* 0x0 */ int bmd_no;
/* 0x4 */ int bck_no;
/* 0x8 */ int dzb_id;
/* 0xC */ int dzb_no;
};
#endif /* D_A_TBOX2_H */

View File

@ -3,6 +3,14 @@
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-unsorted
* @class daTboxSw_c
* @brief Treasure Box Switch
*
* @details
*
*/
class daTboxSw_c : public fopAc_ac_c {
public:
/* 80D66858 */ int Create();
@ -12,6 +20,8 @@ public:
/* 80D66940 */ int _delete();
};
STATIC_ASSERT(sizeof(daTboxSw_c) == 0x568);
namespace daTboxSw_prm {
inline u8 getTboxNo(daTboxSw_c* p_tbox) { return fopAcM_GetParam(p_tbox) & 0x3F; }
inline u8 getSwNo(daTboxSw_c* p_tbox) { return fopAcM_GetParam(p_tbox) >> 8; }

View File

@ -1,5 +1,55 @@
#ifndef D_A_TITLE_H
#define D_A_TITLE_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-unsorted
* @class daTitle_c
* @brief Title Logo
*
* @details
*
*/
class daTitle_c : public fopAc_ac_c {
public:
/* 80D66B54 */ void CreateHeap();
/* 80D66CDC */ void create();
/* 80D66E7C */ void createHeapCallBack(fopAc_ac_c*);
/* 80D66E9C */ void Execute();
/* 80D66F34 */ void KeyWaitAnm();
/* 80D67010 */ void loadWait_init();
/* 80D6701C */ void loadWait_proc();
/* 80D672E0 */ void logoDispWaitInit();
/* 80D672EC */ void logoDispWait();
/* 80D67350 */ void logoDispAnmInit();
/* 80D6737C */ void logoDispAnm();
/* 80D674A8 */ void keyWaitInit();
/* 80D674B4 */ void keyWait();
/* 80D67544 */ void nextScene_init();
/* 80D67550 */ void nextScene_proc();
/* 80D675EC */ void fastLogoDispInit();
/* 80D676AC */ void fastLogoDisp();
/* 80D676F4 */ void getDemoPrm();
/* 80D67768 */ void Draw();
/* 80D6786C */ void Delete();
private:
/* 0x568 */ u8 field_0x568[0x608 - 0x568];
};
STATIC_ASSERT(sizeof(daTitle_c) == 0x608);
class daTit_HIO_c {
public:
/* 80D66B0C */ daTit_HIO_c();
/* 80D67A08 */ ~daTit_HIO_c();
};
class dDlst_daTitle_c {
public:
/* 80D679C8 */ void draw();
/* 80D67B30 */ ~dDlst_daTitle_c();
};
#endif /* D_A_TITLE_H */

View File

@ -3,6 +3,14 @@
#include "d/com/d_com_inf_game.h"
/**
* @ingroup actors-unsorted
* @class vrbox_class
* @brief VR Box
*
* @details
*
*/
class vrbox_class : public fopAc_ac_c {
public:
/* 0x568 */ u8 unk_0x568[0x56C - 0x568];
@ -11,4 +19,6 @@ public:
/* 0x574 */ u8 field_0x574;
};
STATIC_ASSERT(sizeof(vrbox_class) == 0x578);
#endif /* D_A_VRBOX_H */

View File

@ -1,5 +1,30 @@
#ifndef D_A_VRBOX2_H
#define D_A_VRBOX2_H
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-unsorted
* @class vrbox2_class
* @brief VR Box 2
*
* @details
*
*/
class vrbox2_class : public fopAc_ac_c {
public:
/* 0x568 */ u8 field_0x568[0x56C - 0x568];
/* 0x56C */ J3DModel* mpKumoModel;
/* 0x570 */ u8 field_0x570[0x574 - 0x570];
/* 0x574 */ J3DModel* model2;
/* 0x578 */ J3DModel* model2_und;
/* 0x57C */ u8 field_0x57C[0x580 - 0x57C];
/* 0x580 */ mDoExt_btkAnm mSunBtk;
/* 0x598 */ J3DModel* mpKasumimModel;
/* 0x59C */ u8 field_0x59C[0x5A0 - 0x59C];
};
STATIC_ASSERT(sizeof(vrbox2_class) == 0x5A0);
#endif /* D_A_VRBOX2_H */

View File

@ -3,6 +3,14 @@
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-unsorted
* @class daWarpBug_c
* @brief Warp Bug (unused)
*
* @details
*
*/
class daWarpBug_c : public fopAc_ac_c {
public:
inline ~daWarpBug_c();
@ -22,4 +30,6 @@ public:
/* 0x57E */ u8 field_0x57e;
};
STATIC_ASSERT(sizeof(daWarpBug_c) == 0x580);
#endif /* D_A_WARP_BUG_H */

View File

@ -36,6 +36,14 @@ extern "C" u8 m_flag__8daYkgr_c;
extern "C" u8 m_alpha_flag__8daYkgr_c;
extern "C" u8 m_alpha__8daYkgr_c;
/**
* @ingroup actors-unsorted
* @class daYkgr_c
* @brief Floor Gravity On/Off
*
* @details
*
*/
class daYkgr_c : public fopAc_ac_c {
public:
static void init() {
@ -93,4 +101,6 @@ public:
f32 field_0x5a8;
};
STATIC_ASSERT(sizeof(daYkgr_c) == 0x5AC);
#endif /* D_A_YKGR_H */

View File

@ -36,6 +36,7 @@ class e_ai_class : public fopEn_enemy_c {
private:
/* 0x5ac */ u8 field_0x5ac[0xd44 - 0x5ac];
};
STATIC_ASSERT(sizeof(e_ai_class) == 0xd44);
class daE_AI_HIO_c {

View File

@ -39,6 +39,7 @@ class daE_BG_c : public fopEn_enemy_c {
private:
/* 0x5ac */ u8 field_0x5ac[0xbbc - 0x5ac];
};
STATIC_ASSERT(sizeof(daE_BG_c) == 0xbbc);
class daE_BG_HIO_c {

View File

@ -14,6 +14,7 @@ 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 {

View File

@ -14,6 +14,7 @@ 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 {

View File

@ -14,6 +14,7 @@ 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 {

View File

@ -15,6 +15,7 @@ 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 {

View File

@ -14,6 +14,7 @@ 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 {

View File

@ -14,6 +14,7 @@ class e_cr_egg_class : public fopEn_enemy_c {
private:
/* 0x5ac */ u8 field_0x5ac[0xa0c - 0x5ac];
};
STATIC_ASSERT(sizeof(e_cr_egg_class) == 0xa0c);

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