mirror of
https://github.com/encounter/tp.git
synced 2026-07-11 06:18:46 -07:00
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:
+4
-4
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user