summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/JSystem/J3DGraphBase/J3DMaterial.h1
-rw-r--r--include/d/actor/d_a_e_gm.h89
2 files changed, 63 insertions, 27 deletions
diff --git a/include/JSystem/J3DGraphBase/J3DMaterial.h b/include/JSystem/J3DGraphBase/J3DMaterial.h
index e3f7e7dab8..5ec56d8c99 100644
--- a/include/JSystem/J3DGraphBase/J3DMaterial.h
+++ b/include/JSystem/J3DGraphBase/J3DMaterial.h
@@ -78,6 +78,7 @@ public:
J3DZMode* getZMode() { return mPEBlock->getZMode(); }
J3DBlend* getBlend() { return mPEBlock->getBlend(); }
J3DColorChan* getColorChan(u32 idx) { return getColorBlock()->getColorChan(idx); }
+ J3DGXColor* getMatColor(u32 i) { return mColorBlock->getMatColor(i); }
void setTevColor(u32 i, const J3DGXColorS10* i_color) { mTevBlock->setTevColor(i, i_color); }
void setTevKColor(u32 i, const J3DGXColor* i_color) { mTevBlock->setTevKColor(i, i_color); }
diff --git a/include/d/actor/d_a_e_gm.h b/include/d/actor/d_a_e_gm.h
index 8d2628a8a0..eeb65acaf6 100644
--- a/include/d/actor/d_a_e_gm.h
+++ b/include/d/actor/d_a_e_gm.h
@@ -1,19 +1,25 @@
#ifndef D_A_E_GM_H
#define D_A_E_GM_H
+#include "d/d_bg_s_acch.h"
+#include "d/d_cc_d.h"
+#include "d/d_cc_uty.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class daE_GM_c
- * @brief Baby Gohma
+ * @brief Baby Gohma / Gohma Eye
*
* @details
*
- */
+*/
+
class daE_GM_c : public fopEn_enemy_c {
public:
- /* 806D12C8 */ void setAction(void (daE_GM_c::*)());
+ typedef void (daE_GM_c::*actionFunc)();
+
+ /* 806D12C8 */ void setAction(actionFunc);
/* 806D136C */ void action();
/* 806D1580 */ void egg_wait();
/* 806D1A9C */ void appear();
@@ -35,44 +41,73 @@ public:
/* 806D4288 */ void dead_wait();
/* 806D4468 */ void core_wait();
/* 806D462C */ void core_escape();
- /* 806D4D1C */ void chaseCheck();
+ /* 806D4D1C */ BOOL chaseCheck();
/* 806D4EF4 */ void normal_wait();
/* 806D545C */ void normal_chase();
/* 806D578C */ void mtx_set();
/* 806D59D0 */ void cc_set();
- /* 806D5D54 */ void draw();
+ /* 806D5D54 */ int draw();
/* 806D631C */ void damage_check();
- /* 806D6708 */ void execute();
- /* 806D6980 */ void _delete();
- /* 806D6AC8 */ void CreateHeap();
- /* 806D6CF0 */ void create();
+ /* 806D6708 */ int execute();
+ /* 806D6980 */ int _delete();
+ /* 806D6AC8 */ int CreateHeap();
+ /* 806D6CF0 */ cPhs__Step create();
void InstantKill() { field_0xa76 = 1; }
u8 CheckDeath() { return field_0xa68; }
-
- void MoveStart(u8 param_0) {
- field_0xa71 = 1;
- field_0xa5e = param_0;
+ void MoveStart(u8 param_1) {
+ field_0xa71 = true;
+ field_0xa5e = param_1;
}
+ BOOL checkAction(actionFunc action) { return mAction == action; }
+ BOOL checkOldAction(actionFunc action) { return mOldAction == action; }
private:
- /* 0x5AC */ u8 field_0x5ac[0xa5e - 0x5ac];
- /* 0xA5E */ u16 field_0xa5e;
- /* 0xA60 */ u8 field_0xa60[0xa68 - 0xa60];
+ /* 0x5AC */ request_of_phase_process_class mPhase;
+ /* 0x5B4 */ dBgS_AcchCir mAcchCir;
+ /* 0x5F4 */ dBgS_ObjAcch mObjAcch;
+ /* 0x7CC */ dCcD_Stts mStts;
+ /* 0x808 */ dCcD_Sph mSph;
+ /* 0x940 */ dCcU_AtInfo mAtInfo;
+ /* 0x964 */ mDoExt_McaMorfSO* mpModelMorf;
+ /* 0x968 */ J3DModel* mpEggModel;
+ /* 0x96C */ Z2CreatureEnemy mSound;
+ /* 0xA10 */ cXyz field_0xa10;
+ /* 0xA1C */ csXyz field_0xa1c;
+ /* 0xA24 */ actionFunc mAction;
+ /* 0xA30 */ actionFunc mOldAction;
+ /* 0xA3C */ int mMode;
+ /* 0xA40 */ f32 field_0xa40;
+ /* 0xA44 */ f32 field_0xa44;
+ /* 0xA48 */ f32 mColor;
+ /* 0xA4C */ f32 field_0xa4c;
+ /* 0xA50 */ f32 field_0xa50;
+ /* 0xA54 */ f32 field_0xa54;
+ /* 0xA58 */ u32 mShadowKey;
+ /* 0xA5C */ s16 field_0xa5c;
+ /* 0xA5E */ s16 field_0xa5e;
+ /* 0xA60 */ s16 field_0xa60;
+ /* 0xA62 */ s16 field_0xa62;
+ /* 0xA64 */ s16 field_0xa64;
+ /* 0xA66 */ s16 field_0xa66;
/* 0xA68 */ u8 field_0xa68;
- /* 0xA69 */ u8 field_0xa69[0xa71 - 0xa69];
- /* 0xA71 */ u8 field_0xa71;
- /* 0xA72 */ u8 field_0xa72[0xa76 - 0xA72];
- /* 0xA76 */ u8 field_0xa76;
- /* 0xA77 */ u8 field_0xa77[0xa78 - 0xA77];
+ /* 0xA69 */ u8 field_0xa69;
+ /* 0xA6A */ u8 field_0xa6a;
+ /* 0xA6B */ u8 field_0xa6b;
+ /* 0xA6C */ u8 field_0xa6c;
+ /* 0xA6D */ u8 field_0xa6d;
+ /* 0xA6E */ u8 field_0xa6e;
+ /* 0xA6F */ u8 mType;
+ /* 0xA70 */ u8 mSwBit;
+ /* 0xA71 */ bool field_0xa71;
+ /* 0xA72 */ u8 field_0xa72;
+ /* 0xA73 */ u8 mRandIndex;
+ /* 0xA74 */ u8 field_0xa74;
+ /* 0xA75 */ u8 field_0xa75;
+ /* 0xA76 */ bool field_0xa76;
+ /* 0xA77 */ u8 field_0xa77;
};
STATIC_ASSERT(sizeof(daE_GM_c) == 0xa78);
-class daE_GM_HIO_c {
- /* 806D126C */ daE_GM_HIO_c();
- /* 806D7428 */ ~daE_GM_HIO_c();
-};
-
-
#endif /* D_A_E_GM_H */