Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion configure.py
Original file line number Diff line number Diff line change
Expand Up @@ -1632,7 +1632,7 @@ def MatchingFor(*versions) -> bool:
ActorRel(NonMatching, "d_a_e_ge"),
ActorRel(NonMatching, "d_a_e_gi"),
ActorRel(NonMatching, "d_a_e_gm"),
ActorRel(NonMatching, "d_a_e_gob"),
ActorRel(Equivalent, "d_a_e_gob"), # weak func order
ActorRel(NonMatching, "d_a_e_gs"),
ActorRel(MatchingFor("GZ2E01"), "d_a_e_hb_leaf"),
ActorRel(NonMatching, "d_a_e_hm"),
Expand Down
101 changes: 97 additions & 4 deletions include/d/actor/d_a_e_gob.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
#ifndef D_A_E_GOB_H
#define D_A_E_GOB_H

#include "f_op/f_op_actor_mng.h"
#include "d/d_bg_s_acch.h"
#include "d/d_cc_d.h"
#include "d/d_cc_uty.h"
#include "d/d_msg_flow.h"

/**
* @ingroup actors-enemies
Expand All @@ -11,16 +16,104 @@
*
*/
class e_gob_class : public fopEn_enemy_c {
public:
/* 806DEA10 */ e_gob_class();
private:
/* 0x5ac */ u8 field_0x5ac[0xde4 - 0x5ac];

/* 0x5AC */ request_of_phase_process_class mPhase;
/* 0x5B4 */ mDoExt_McaMorfSO* mpModelMorf;
/* 0x5B8 */ Z2CreatureGob mSound;
/* 0x648 */ int mAnm;
/* 0x64C */ J3DModel* mpArmorModel;
/* 0x650 */ u32 field_0x650;
/* 0x654 */ s16 mCounter;
/* 0x656 */ s16 mAction;
/* 0x658 */ s16 mMode;
/* 0x65C */ cXyz field_0x65c;
/* 0x668 */ s16 field_0x668;
/* 0x66A */ s16 mPlayerAngleDist;
/* 0x66C */ f32 mPlayerDist;
/* 0x670 */ u8 field_0x670[0x674 - 0x670];
/* 0x674 */ s16 mTimers[5];
/* 0x67E */ s16 mDamageInvulnerabilityTimer;
/* 0x680 */ f32 field_0x680;
/* 0x684 */ f32 field_0x684;
/* 0x688 */ f32 field_0x688;
/* 0x68C */ u8 field_0x68C[0x690 - 0x68C];
/* 0x690 */ cXyz field_0x690;
/* 0x69C */ f32 field_0x69c;
/* 0x6A0 */ s16 field_0x6a0;
/* 0x6A2 */ s16 field_0x6a2;
/* 0x6A4 */ s16 mBodyRotZ;
/* 0x6A6 */ s16 mBodyRotY;
/* 0x6A8 */ s16 field_0x6a8;
/* 0x6AA */ s8 field_0x6aa;
/* 0x6AB */ s8 field_0x6ab;
/* 0x6AC */ s8 field_0x6ac;
/* 0x6AE */ s16 mHeadRotY;
/* 0x6B0 */ s16 mHeadRotZ;
/* 0x6B2 */ s16 field_0x6b2;
/* 0x6B4 */ s16 field_0x6b4;
/* 0x6B6 */ s16 field_0x6b6;
/* 0x6B8 */ cXyz field_0x6b8;
/* 0x6C4 */ s16 field_0x6c4;
/* 0x6C6 */ s16 field_0x6c6[4];
/* 0x6CE */ s16 field_0x6ce[4];
/* 0x6D6 */ s16 field_0x6d6;
/* 0x6D8 */ s8 field_0x6d8;
/* 0x6D9 */ s8 field_0x6d9;
/* 0x6DA */ s8 field_0x6da;
/* 0x6DC */ cXyz field_0x6dc;
/* 0x6E8 */ cXyz field_0x6e8;
/* 0x6F4 */ csXyz field_0x6f4;
/* 0x6FC */ dBgS_AcchCir mAcchCir;
/* 0x73C */ dBgS_ObjAcch mAcch;
/* 0x914 */ dCcD_Stts mCcStts;
/* 0x950 */ dCcD_Sph mAtSph;
/* 0xA88 */ dCcD_Sph field_0xa88;
/* 0xBC0 */ dCcD_Sph mCcSph;
/* 0xCF8 */ dCcU_AtInfo mAtInfo;
/* 0xD1C */ s8 field_0xd1c;
/* 0xD1D */ s8 field_0xd1d;
/* 0xD1E */ s8 field_0xd1e;
/* 0xD1F */ s8 field_0xd1f;
/* 0xD20 */ s8 field_0xd20;
/* 0xD21 */ s8 mPlayerCutLRC;
/* 0xD24 */ cXyz field_0xd24;
/* 0xD30 */ u32 field_0xd30;
/* 0xD34 */ u32 field_0xd34;
/* 0xD38 */ s16 mDemoCamMode;
/* 0xD3A */ s16 mDemoCamTimer;
/* 0xD3C */ cXyz mDemoCamEye;
/* 0xD48 */ cXyz mDemoCamCenter;
/* 0xD54 */ cXyz mDemoCamEyeTarget;
/* 0xD60 */ cXyz mDemoCamCenterTarget;
/* 0xD6C */ cXyz mDemoCamEyeSpd;
/* 0xD78 */ cXyz mDemoCamCenterSpd;
/* 0xD84 */ f32 mDemoCamFovy;
/* 0xD88 */ f32 field_0xd88;
/* 0xD8C */ f32 field_0xd8c;
/* 0xD90 */ s8 field_0xd90;
/* 0xD94 */ dMsgFlow_c mMsgFlow;
/* 0xDE0 */ u8 mInitHIO;
};

STATIC_ASSERT(sizeof(e_gob_class) == 0xde4);

class daE_GOB_HIO_c {
class daE_GOB_HIO_c : public JORReflexible {
public:
/* 806D808C */ daE_GOB_HIO_c();
/* 806DECD0 */ ~daE_GOB_HIO_c();

void genMessage(JORMContext*);
/* 806DECD0 */ virtual ~daE_GOB_HIO_c() {}

/* 0x04 */ s8 id;
/* 0x08 */ f32 size;
/* 0x0C */ f32 normal_walk_speed;
/* 0x10 */ f32 battle_walk_speed;
/* 0x14 */ f32 roll_speed;
/* 0x18 */ s16 rotation_speed;
/* 0x1A */ s16 swing_time_a;
/* 0x1C */ s16 swing_time_b;
};


Expand Down
49 changes: 42 additions & 7 deletions include/d/actor/d_a_obj_msima.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,17 @@

#include "f_op/f_op_actor_mng.h"

struct ms_chain_s {
/* 80C9CA60 */ ~ms_chain_s();
/* 80C9CA9C */ ms_chain_s();

/* 0x00 */ J3DModel* model[35];
/* 0x8C */ f32 field_0x8c;
/* 0x90 */ s16 field_0x90;
/* 0x92 */ u8 field_0x92;
/* 0x94 */ cXyz field_0x94;
};

/**
* @ingroup actors-objects
* @class obj_msima_class
Expand All @@ -12,17 +23,41 @@
*
*/
class obj_msima_class : public fopAc_ac_c {
private:
/* 0x568 */ u8 field_0x568[0x8a4 - 0x568];
public:
/* 0x568 */ request_of_phase_process_class mPhase;
/* 0x570 */ u8 field_0x570;
/* 0x574 */ J3DModel* mpModel;
/* 0x578 */ mDoExt_brkAnm* mpBrk;
/* 0x57C */ mDoExt_btkAnm* mpBtk;
/* 0x580 */ s16 field_0x580;
/* 0x582 */ s16 field_0x582;
/* 0x584 */ s16 field_0x584;
/* 0x586 */ s16 field_0x586[2];
/* 0x58C */ f32 field_0x58c;
/* 0x590 */ u8 field_0x590[0x594 - 0x590];
/* 0x594 */ s16 field_0x594;
/* 0x596 */ s16 field_0x596;
/* 0x598 */ s16 field_0x598;
/* 0x59A */ s16 field_0x59a;
/* 0x59C */ f32 field_0x59c;
/* 0x5A0 */ s16 field_0x5a0;
/* 0x5A4 */ f32 field_0x5a4;
/* 0x5A8 */ f32 field_0x5a8;
/* 0x5AC */ s16 field_0x5ac;
/* 0x5AE */ s16 field_0x5ae;
/* 0x5B0 */ cXyz field_0x5b0;
/* 0x5BC */ uint field_0x5bc[2];
/* 0x5C4 */ s8 field_0x5c4[2];
/* 0x5C6 */ u8 field_0x5C6[0x5CC - 0x5C6];
/* 0x5CC */ Mtx field_0x5cc;
/* 0x5FC */ dBgW* mpBgW;
/* 0x600 */ Z2SoundObjSimple mSound;
/* 0x620 */ ms_chain_s mChains[4];
/* 0x8A0 */ u8 field_0x8a0;
};

STATIC_ASSERT(sizeof(obj_msima_class) == 0x8a4);

struct ms_chain_s {
/* 80C9CA60 */ ~ms_chain_s();
/* 80C9CA9C */ ms_chain_s();
};

class daObj_Msima_HIO_c {
public:
/* 80C9B40C */ daObj_Msima_HIO_c();
Expand Down
Loading