d_a_e_gm matching (#2669)

* initial work

* Almost matching

* missed formatting changes

* matching

* changed to equivalent

* PR cleanup, now matching
This commit is contained in:
Carco_21 2025-09-19 17:44:42 -07:00 committed by GitHub
parent 7089e1893d
commit 5f70650ba2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 1890 additions and 1638 deletions

View File

@ -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
@ -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

View File

@ -1721,7 +1721,7 @@ config.libs = [
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"),

View File

@ -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); }

View File

@ -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 */

File diff suppressed because it is too large Load Diff