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: 2 additions & 0 deletions config/GZ2E01/rels/d_a_e_gm/symbols.txt
Original file line number Diff line number Diff line change
Expand Up @@ -217,6 +217,7 @@ __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:globa
@1012 = .bss:0x0000003C; // type:object size:0x1 scope:local
@1010 = .bss:0x00000040; // type:object size:0x1 scope:local
@1009 = .bss:0x00000044; // type:object size:0x1 scope:local
l_initHIO = .bss:0x00000045; // type:object size:0x1 scope:local
@4050 = .bss:0x00000048; // type:object size:0xC scope:local
l_HIO = .bss:0x00000054; // type:object size:0x28 scope:global data:byte
@4061 = .bss:0x0000007C; // type:object size:0xC scope:local
Expand All @@ -225,6 +226,7 @@ l_corePos__22@unnamed@d_a_e_gm_cpp@ = .bss:0x00000088; // type:object size:0xC s
l_coreAngle__22@unnamed@d_a_e_gm_cpp@ = .bss:0x000000A0; // type:object size:0x6 scope:global
l_coreSpeedF__22@unnamed@d_a_e_gm_cpp@ = .bss:0x000000A8; // type:object size:0x4 scope:global
lbl_195_bss_AC = .bss:0x000000AC; // type:object size:0x1 data:byte
lbl_195_bss_AD = .bss:0x000000AD; // type:object size:0x1 data:byte
lbl_195_bss_AE = .bss:0x000000AE; // type:object size:0x1 data:byte
lbl_195_bss_AF = .bss:0x000000AF; // type:object size:0x1 data:byte
sInstance__40JASGlobalInstance<19JASDefaultBankTable> = .bss:0x000000B0; // type:object size:0x4 scope:global
Expand Down
2 changes: 1 addition & 1 deletion configure.py
Original file line number Diff line number Diff line change
Expand Up @@ -1721,7 +1721,7 @@ def MatchingFor(*versions) -> bool:
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_e_gb"),
ActorRel(NonMatching, "d_a_e_ge"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_e_gi"),
ActorRel(NonMatching, "d_a_e_gm"),
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_gm"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_e_gob"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_e_gs"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_e_hb_leaf"),
Expand Down
1 change: 1 addition & 0 deletions include/JSystem/J3DGraphBase/J3DMaterial.h
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ class J3DMaterial {
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); }
Expand Down
89 changes: 62 additions & 27 deletions include/d/actor/d_a_e_gm.h
Original file line number Diff line number Diff line change
@@ -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();
Expand All @@ -35,44 +41,73 @@ class daE_GM_c : public fopEn_enemy_c {
/* 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 */
Loading