Setup d_a_npc actors (#2165)

This commit is contained in:
Pheenoh
2024-06-05 09:54:15 -06:00
committed by GitHub
parent 1c1e65bc4b
commit 946b2e81d9
272 changed files with 18090 additions and 44502 deletions
+13 -5
View File
@@ -61,22 +61,30 @@ public:
/* 806389C0 */ void create();
u8 getModelNo() { return mModelNo;}
s16 getFrizadRollAngle() { return mRollAngle;}
s16 getFrizadRollAngle() { return mFrizadRollAngle;}
f32 getModeRarius() { return mModeRarius;}
u8 getFrizadAttack() { return mFrizadAttack;}
private:
/* 0x5AC */ u8 field_0x5ac[0xF54 - 0x5AC];
/* 0x5AC */ u8 field_0x5ac[0x5D8 - 0x5AC];
/* 0x5D8 */ mDoExt_btkAnm* mBtk;
/* 0x5DC */ mDoExt_btpAnm* mBtp;
/* 0x5E0 */ mDoExt_brkAnm* mBrk;
/* 0x5E4 */ mDoExt_bckAnm* mBck;
/* 0x5E8 */ mDoExt_McaMorfSO* mpMorf;
/* 0x5EC */ u8 field_0x5f8[0xF54 - 0x5EC];
/* 0xF54 */ f32 mModeRarius;
/* 0xF58 */ u8 field_0xf58[0xF5C - 0xF58];
/* 0xF5C */ s16 mRollAngle;
/* 0xF5C */ s16 mFrizadRollAngle;
/* 0xF5E */ u8 field_0xf5e[0xF6E - 0xF5E];
/* 0xF6E */ u16 field_0xf6e;
/* 0xF6E */ u16 mIceBreak;
/* 0xF70 */ u8 field_0xf70[0xFA8 - 0xF70];
/* 0xFA8 */ u8 mModelNo;
/* 0xFA9 */ u8 field_0xfa9[0xFAD - 0xFA9];
/* 0xFAD */ u8 mFrizadAttack;
/* 0xFAE */ u8 field_0xfae[0x1B88 - 0xFAE];
/* 0xFAE */ u8 field_0xfae[0xFCC - 0xFAE];
/* 0xFCC */ u8 field_0xfcc;
/* 0xFCD */ u8 field_0xfcd[0x1B88 - 0xFCD];
};
STATIC_ASSERT(sizeof(daB_YO_c) == 0x1B88);
@@ -9,7 +9,7 @@
/**
* @ingroup actors-doors
* @class daBdoor_c
* @brief Boss Door
* @brief Boss Door (Unused?)
*
* @details The door that leads to the boss room.
*
@@ -50,6 +50,7 @@ public:
void setAction(u8 i_action) { mAction = i_action; }
private:
/* 0x568 */ request_of_phase_process_class mPhaseReq;
/* 0x570 */ J3DModel* mpDoorModel;
/* 0x574 */ J3DModel* mpLockModel;
@@ -9,7 +9,16 @@
class JPABaseEmitter;
struct daBdoorL1_c : public fopAc_ac_c {
/**
* @ingroup actors-doors
* @class daBdoorL1_c
* @brief Boss Door
*
* @details Multi-purpose door actor. This actor is used for boss doors in the game.
*
*/
class daBdoorL1_c : public fopAc_ac_c {
public:
enum DoorType {
DOOR_TYPE_0,
DOOR_TYPE_1,
@@ -67,6 +76,7 @@ struct daBdoorL1_c : public fopAc_ac_c {
void setAction(u8 action) { mAction = action; }
private:
/* 0x568 */ request_of_phase_process_class mPhase1;
/* 0x570 */ request_of_phase_process_class mPhase2;
/* 0x578 */ request_of_phase_process_class mPhase3;
@@ -94,4 +104,6 @@ struct daBdoorL1_c : public fopAc_ac_c {
/* 0x7EC */ Mtx field_0x7ec;
};
STATIC_ASSERT(sizeof(daBdoorL1_c) == 0x81C);
#endif /* D_A_DOOR_BOSSL1_H */
@@ -9,7 +9,16 @@
#include "f_pc/f_pc_manager.h"
#include "f_op/f_op_actor_mng.h"
struct daBdoorL5_c : public fopAc_ac_c {
/**
* @ingroup actors-doors
* @class daBdoorL5_c
* @brief Snowpeak Ruins Boss Door
*
* @details
*
*/
class daBdoorL5_c : public fopAc_ac_c {
public:
enum ActionType {
ACTION_WAIT,
ACTION_CLOSE_WAIT,
@@ -63,6 +72,7 @@ struct daBdoorL5_c : public fopAc_ac_c {
return 1;
}
private:
/* 0x568 */ request_of_phase_process_class mPhase1;
/* 0x570 */ request_of_phase_process_class mPhase2;
/* 0x578 */ request_of_phase_process_class mPhase3;
@@ -87,4 +97,6 @@ struct daBdoorL5_c : public fopAc_ac_c {
/* 0x790 */ dBgS_AcchCir field_0x790;
};
STATIC_ASSERT(sizeof(daBdoorL5_c) == 0x7D0);
#endif /* D_A_DOOR_BOSSL5_H */
@@ -4,6 +4,14 @@
#include "d/bg/d_bg_w.h"
#include "d/com/d_com_inf_game.h"
/**
* @ingroup actors-doors
* @class daDbDoor00_c
* @brief Double Door
*
* @details
*
*/
class daDbDoor00_c : public fopAc_ac_c {
public:
/* 8045D470 */ char* getAlwaysArcName();
@@ -33,6 +41,7 @@ public:
void setAction(u8 i_action) { mAction = i_action; }
// private:
/* 0x568 */ request_of_phase_process_class mPhaseReq;
/* 0x570 */ request_of_phase_process_class mPhaseReq2;
/* 0x578 */ J3DModel* mpModel;
@@ -56,4 +65,6 @@ public:
/* 0x5C2 */ s16 field_0x5c2;
};
STATIC_ASSERT(sizeof(daDbDoor00_c) == 0x5C4);
#endif /* D_A_DOOR_DBDOOR00_H */
@@ -1,19 +1,21 @@
#ifndef D_A_DOOR_KNOB00_H
#define D_A_DOOR_KNOB00_H
#include "dolphin/types.h"
#include "f_op/f_op_actor.h"
#include "SSystem/SComponent/c_phase.h"
#include "d/bg/d_bg_w.h"
#include "d/msg/d_msg_flow.h"
struct knob_param_c {
/* 8045E858 */ static u32 getDoorModel(fopAc_ac_c*);
/* 8045E864 */ static u32 getDoorLightInf(fopAc_ac_c*);
/* 8045E870 */ static u16 getMsgNo(fopAc_ac_c*);
/* 8045E87C */ static u8 getExitNo(fopAc_ac_c*);
};
struct daKnob20_c : public fopAc_ac_c {
/**
* @ingroup actors-doors
* @class daKnob20_c
* @brief Knob Door
*
* @details
*
*/
class daKnob20_c : public fopAc_ac_c {
public:
enum {
ACTION_INIT,
ACTION_WAIT,
@@ -71,6 +73,7 @@ struct daKnob20_c : public fopAc_ac_c {
void onFlag(u16 flag) { field_0x60c |= flag; }
int checkFlag(u16 flag) { return field_0x60c & flag; }
private:
/* 0x568 */ request_of_phase_process_class mPhase1;
/* 0x570 */ request_of_phase_process_class mPhase2;
/* 0x578 */ J3DModel* mModel1;
@@ -89,7 +92,17 @@ struct daKnob20_c : public fopAc_ac_c {
/* 0x60F */ u8 field_0x60f;
/* 0x610 */ s16 field_0x610;
/* 0x612 */ s16 field_0x612;
/* 0x612 */ s16 field_0x614;
/* 0x614 */ s16 field_0x614;
};
STATIC_ASSERT(sizeof(daKnob20_c) == 0x618);
class knob_param_c {
public:
/* 8045E858 */ static u32 getDoorModel(fopAc_ac_c*);
/* 8045E864 */ static u32 getDoorLightInf(fopAc_ac_c*);
/* 8045E870 */ static u16 getMsgNo(fopAc_ac_c*);
/* 8045E87C */ static u8 getExitNo(fopAc_ac_c*);
};
#endif /* D_A_DOOR_KNOB00_H */
@@ -7,7 +7,8 @@
#include "d/bg/d_bg_w.h"
#include "d/bg/d_bg_s_acch.h"
struct dDoor_stop2_c {
class dDoor_stop2_c {
public:
/* 806728B4 */ void calcMtx(fopAc_ac_c*);
/* 80672970 */ void closeInit(fopAc_ac_c*, u8);
/* 80672AE4 */ int closeProc(fopAc_ac_c*);
@@ -25,7 +26,16 @@ struct dDoor_stop2_c {
/* 0xB */ u8 field_0xb;
};
struct daMBdoorL1_c : public fopAc_ac_c {
/**
* @ingroup actors-doors
* @class daMBdoorL1_c
* @brief Mini Boss Door
*
* @details Multi-purpose door actor. This actor is used for mini boss doors in the game.
*
*/
class daMBdoorL1_c : public fopAc_ac_c {
public:
enum DoorType {
DOOR_TYPE_0,
DOOR_TYPE_1,
@@ -111,6 +121,7 @@ struct daMBdoorL1_c : public fopAc_ac_c {
mAction = action;
}
private:
/* 0x568 */ request_of_phase_process_class mPhase1;
/* 0x570 */ request_of_phase_process_class mPhase2;
/* 0x578 */ request_of_phase_process_class mPhase3;
@@ -144,4 +155,6 @@ struct daMBdoorL1_c : public fopAc_ac_c {
/* 0x828 */ cXyz field_0x828;
};
STATIC_ASSERT(sizeof(daMBdoorL1_c) == 0x834);
#endif /* D_A_DOOR_MBOSSL1_H */
@@ -5,6 +5,14 @@
#include "d/bg/d_bg_s_movebg_actor.h"
#include "d/com/d_com_inf_game.h"
/**
* @ingroup actors-doors
* @class daDoorPush_c
* @brief Push Door
*
* @details
*
*/
class daDoorPush_c : public dBgS_MoveBgActor {
public:
enum act_e {
@@ -41,6 +49,7 @@ public:
void setAction(u8 i_action) { mAction = i_action; }
u32 getSceneNo() { return fopAcM_GetParamBit(this, 4, 6); }
// private:
/* 0x5A0 */ request_of_phase_process_class mPhaseReq;
/* 0x5A8 */ J3DModel* mpModel[2];
/* 0x5B0 */ dBgW* mpDoorBgW;
@@ -64,6 +73,8 @@ public:
/* 0x64C */ s16 field_0x64c;
/* 0x64E */ s16 field_0x64e[2];
/* 0x654 */ cXyz mPosition;
}; // Size: 0x660
};
STATIC_ASSERT(sizeof(daDoorPush_c) == 0x660);
#endif /* D_A_DOOR_PUSH_H */
@@ -10,7 +10,8 @@
struct daDoor20_c;
struct dDoor_stop_c {
class dDoor_stop_c {
public:
/* 804660F4 */ void calcMtx(daDoor20_c*);
/* 804661B0 */ void closeInit(daDoor20_c*);
/* 804662C0 */ int closeProc(daDoor20_c*);
@@ -27,7 +28,16 @@ struct dDoor_stop_c {
u8 field_0xb;
};
struct daDoor20_c : public fopAc_ac_c {
/**
* @ingroup actors-doors
* @class daDoor20_c
* @brief Sliding Door
*
* @details Multi-purpose door actor. This actor is used for vertical sliding doors in the game.
*
*/
class daDoor20_c : public fopAc_ac_c {
public:
enum ActionType {
ACTION_INIT,
ACTION_WAIT,
@@ -113,6 +123,7 @@ struct daDoor20_c : public fopAc_ac_c {
bool checkFlag(u16 flag) { return field_0x68e & flag; }
void setAction(u8 action) { mAction = action; }
private:
/* 0x56C */ request_of_phase_process_class mPhase1;
/* 0x574 */ request_of_phase_process_class mPhase2;
/* 0x57C */ J3DModel* mModel1;
@@ -158,4 +169,6 @@ struct daDoor20_c : public fopAc_ac_c {
/* 0x8F8 */ u32 field_0x8f8;
};
STATIC_ASSERT(sizeof(daDoor20_c) == 0x8FC);
#endif /* D_A_DOOR_SHUTTER_H */
@@ -5,8 +5,11 @@
/**
* @ingroup actors-tags
* @class kytag00_class
* @brief Twilight Tag 0
*
*
* @details
*
*/
class kytag00_class : public fopAc_ac_c {
public:
@@ -26,4 +29,6 @@ public:
/* 0x588 */ f32 field_0x588;
};
STATIC_ASSERT(sizeof(kytag00_class) == 0x58C);
#endif /* D_A_KYTAG00_H */
@@ -3,6 +3,14 @@
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-tags
* @class kytag01_class
* @brief Twilight Tag 1
*
* @details
*
*/
class kytag01_class : public fopAc_ac_c {
public:
/* 0x568 */ u8 field_0x568[0x588 - 0x568];
@@ -19,4 +27,6 @@ public:
/* 0x59F */ u8 mStartPoint;
};
STATIC_ASSERT(sizeof(kytag01_class) == 0x5A0);
#endif /* D_A_KYTAG01_H */
@@ -3,6 +3,14 @@
#include "d/com/d_com_inf_game.h"
/**
* @ingroup actors-tags
* @class kytag02_class
* @brief Twilight Tag 2
*
* @details
*
*/
class kytag02_class : public fopAc_ac_c {
public:
/* 0x568 */ cXyz field_0x568;
@@ -12,4 +20,6 @@ public:
/* 0x578 */ u8 field_0x578;
};
STATIC_ASSERT(sizeof(kytag02_class) == 0x57C);
#endif /* D_A_KYTAG02_H */
@@ -4,6 +4,14 @@
#include "f_op/f_op_actor_mng.h"
#include "d/d_path.h"
/**
* @ingroup actors-tags
* @class kytag03_class
* @brief Smell Effect Generation Tag
*
* @details
*
*/
class kytag03_class : public fopAc_ac_c {
public:
/* 0x568 */ dPath* mpPath;
@@ -24,4 +32,6 @@ public:
/* 0x58E */ u8 field_0x58e;
};
STATIC_ASSERT(sizeof(kytag03_class) == 0x590);
#endif /* D_A_KYTAG03_H */
@@ -3,6 +3,14 @@
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-tags
* @class kytag04_class
* @brief Twilight Portal Tag
*
* @details
*
*/
class kytag04_class : public fopAc_ac_c {
public:
/* 0x568 */ J3DModel* mpModel;
@@ -30,4 +38,6 @@ public:
/* 0x5D1 */ u8 field_0x5d1;
};
STATIC_ASSERT(sizeof(kytag04_class) == 0x5D4);
#endif /* D_A_KYTAG04_H */
@@ -3,6 +3,14 @@
#include "f_op/f_op_actor.h"
/**
* @ingroup actors-tags
* @class kytag05_class
* @brief Peep Hole Tag
*
* @details
*
*/
class kytag05_class : public fopAc_ac_c {
public:
u8 getSceneListID() const { return mSceneListID; }
@@ -10,6 +18,8 @@ public:
/* 0x568 */ f32 field_0x568;
/* 0x56C */ u8 field_0x56c;
/* 0x56D */ u8 mSceneListID;
}; // Size: 0x570
};
STATIC_ASSERT(sizeof(kytag05_class) == 0x570);
#endif /* D_A_KYTAG05_H */
@@ -4,6 +4,14 @@
#include "f_op/f_op_actor_mng.h"
#include "d/d_path.h"
/**
* @ingroup actors-tags
* @class kytag06_class
* @brief Weather Handler Tag
*
* @details
*
*/
class kytag06_class : public fopAc_ac_c {
public:
/* 0x568 */ dPath* mpPath;
@@ -24,4 +32,6 @@ public:
/* 0x598 */ u8 field_0x598;
};
STATIC_ASSERT(sizeof(kytag06_class) == 0x59C);
#endif /* D_A_KYTAG06_H */
@@ -3,6 +3,14 @@
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-tags
* @class kytag07_class
* @brief Plight Setter Tag
*
* @details
*
*/
class kytag07_class : public fopAc_ac_c {
public:
/* 0x568 */ LIGHT_INFLUENCE mLightInfluence;
@@ -10,4 +18,6 @@ public:
/* 0x58C */ u8 field_0x58c;
};
STATIC_ASSERT(sizeof(kytag07_class) == 0x590);
#endif /* D_A_KYTAG07_H */
@@ -3,6 +3,14 @@
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-tags
* @class kytag08_class
* @brief Fog Avoid Tag
*
* @details
*
*/
class kytag08_class : public fopAc_ac_c {
public:
/* 0x568 */ J3DModel* mpModel;
@@ -19,4 +27,6 @@ public:
/* 0x5D8 */ u8 field_0x5d8;
};
STATIC_ASSERT(sizeof(kytag08_class) == 0x5DC);
#endif /* D_A_KYTAG08_H */
@@ -3,6 +3,14 @@
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-tags
* @class kytag09_class
* @brief Twilight Film Tag
*
* @details
*
*/
class kytag09_class : public fopAc_ac_c {
public:
/* 0x568 */ J3DModel* mpModel;
@@ -16,4 +24,6 @@ public:
/* 0x5C5 */ u8 mType;
};
STATIC_ASSERT(sizeof(kytag09_class) == 0x5C8);
#endif /* D_A_KYTAG09_H */
@@ -5,6 +5,14 @@
struct dPath;
/**
* @ingroup actors-tags
* @class kytag10_class
* @brief Lava Particles Tag
*
* @details
*
*/
class kytag10_class : public fopAc_ac_c {
public:
/* 0x568 */ dPath* mpPath;
@@ -19,4 +27,6 @@ public:
/* 0x598 */ int mPathPoint;
};
STATIC_ASSERT(sizeof(kytag10_class) == 0x59C);
#endif /* D_A_KYTAG10_H */

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