d_a_e_zm matching (#2638)

* initial work

* a little more work

* matching

* pr cleanup

* changed 'subtype' to 'argument'

* fixed debug error
This commit is contained in:
Carco_21
2025-09-09 15:53:13 -07:00
committed by GitHub
parent 1e50c25671
commit bfeb1c048b
24 changed files with 1124 additions and 811 deletions
+52 -16
View File
@@ -1,6 +1,9 @@
#ifndef D_A_E_ZM_H
#define D_A_E_ZM_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"
/**
@@ -10,13 +13,15 @@
*
* @details
*
*/
*/
class daE_ZM_c : public fopEn_enemy_c {
/* 8082F9A0 */ void draw();
public:
/* 8082F9A0 */ int draw();
/* 8082FBD4 */ void setBck(int, u8, f32, f32);
/* 8082FC80 */ void setActionMode(int, int);
/* 8082FC8C */ void damage_check();
/* 808301E0 */ void mCutTypeCheck();
/* 808301E0 */ bool mCutTypeCheck();
/* 8083033C */ void executeSearchPoint();
/* 80830398 */ void executeWait();
/* 808309DC */ void executeMove();
@@ -27,21 +32,52 @@ class daE_ZM_c : public fopEn_enemy_c {
/* 80831930 */ void action();
/* 80831B08 */ void mtx_set();
/* 80831B9C */ void cc_set();
/* 80831D64 */ void execute();
/* 80831E9C */ void _delete();
/* 80831F4C */ void CreateHeap();
/* 80832064 */ void create();
private:
/* 0x5ac */ u8 field_0x5ac[0xc3c - 0x5ac];
/* 80831D64 */ int execute();
/* 80831E9C */ int _delete();
/* 80831F4C */ int CreateHeap();
/* 80832064 */ cPhs__Step create();
/* 0x5AC */ request_of_phase_process_class mPhase;
/* 0x5B4 */ mDoExt_McaMorfSO* mpModelMorf;
/* 0x5B8 */ Z2CreatureEnemy mSound;
/* 0x65C */ int mAction;
/* 0x660 */ int mMode;
/* 0x664 */ u8 field_0x664[0x668 - 0x664];
/* 0x668 */ int mAnm;
/* 0x66C */ cXyz field_0x66c[10];
/* 0x6E4 */ u8 field_0x6e4;
/* 0x6E5 */ u8 field_0x6e5;
/* 0x6E6 */ u8 field_0x6e6[0x6f4 - 0x6e6];
/* 0x6F4 */ cXyz field_0x6f4;
/* 0x700 */ csXyz field_0x700;
/* 0x708 */ f32 mColor[3];
/* 0x714 */ f32 field_0x714;
/* 0x718 */ f32 field_0x718;
/* 0x71C */ f32 field_0x71c;
/* 0x720 */ s16 field_0x720;
/* 0x722 */ u8 field_0x722;
/* 0x723 */ u8 field_0x723;
/* 0x724 */ u8 field_0x724;
/* 0x725 */ u8 mTimer;
/* 0x726 */ u8 arg0;
/* 0x727 */ u8 arg1;
/* 0x728 */ u8 arg2;
/* 0x729 */ u8 bitSw;
/* 0x72A */ u8 bitSw2;
/* 0x72B */ u8 field_0x72b;
/* 0x72C */ u8 field_0x72c;
/* 0x72D */ u8 field_0x72d;
/* 0x730 */ u32 field_0x730[3];
/* 0x73C */ dBgS_AcchCir mAcchCir;
/* 0x77C */ dBgS_ObjAcch mBgc;
/* 0x954 */ dCcD_Stts mStts;
/* 0x990 */ dCcD_Cyl mCyl;
/* 0xACC */ dCcD_Sph mSph;
/* 0xC04 */ dCcU_AtInfo mAtInfo;
/* 0xC28 */ bool field_0xc28;
/* 0xC29 */ u8 field_0xc29[0xc3c - 0xc29];
};
STATIC_ASSERT(sizeof(daE_ZM_c) == 0xc3c);
class daE_ZM_HIO_c {
/* 8082F94C */ daE_ZM_HIO_c();
/* 80832800 */ ~daE_ZM_HIO_c();
};
#endif /* D_A_E_ZM_H */
+1 -1
View File
@@ -139,7 +139,7 @@ public:
int getGroupID() { return fopAcM_GetParam(this) & 0xff; }
u8 getPathID() { return fopAcM_GetParam(this) >> 24; }
int isStop() { return TRUE; }
int getType() { return subtype & 0x7f; }
int getType() { return argument & 0x7f; }
int getSeqNum() { return shape_angle.x & 0x3f; }
int getFlowNodeNum() { return shape_angle.z; }
u16 getStartTime() { return (fopAcM_GetParam(this) >> 8) & 0xff; }
+1 -1
View File
@@ -211,7 +211,7 @@ public:
s16 getMessageNo() { return (fopAcM_GetParam(this) >> 8) & 0xFFFF; }
int getWrestlerAction() { return mWrestlerAction; }
u8 getType() { return subtype & 0x7F; }
u8 getType() { return argument & 0x7F; }
u8 getWrestlerType() { return getType(); }
bool chkAction(actionFunc i_action) { return i_action == field_0xdcc; }
bool selectAction();
+1 -1
View File
@@ -37,7 +37,7 @@ public:
int iVar1 = fopAcM_GetParam(this) & 0xFF;
u8 rv;
switch ((subtype & 127)) {
switch ((argument & 127)) {
case 0:
switch (iVar1) {
case 0:
+1 -1
View File
@@ -159,7 +159,7 @@ public:
int prm = fopAcM_GetParam(this) >> 0x1C;
u8 type;
switch (subtype) {
switch (argument) {
case 0:
switch (prm) {
case 1:
+1 -1
View File
@@ -46,7 +46,7 @@ public:
/* 80D2B5C8 */ virtual int Draw();
/* 80D2B6C0 */ virtual int Delete();
u8 getNameArg() { return subtype; }
u8 getNameArg() { return argument; }
u8 getSwNo() { return fopAcM_GetParamBit(this, 0, 8); }
u8 getSwNo2() { return fopAcM_GetParamBit(this, 8, 8); }
u8 getArg0() { return fopAcM_GetParamBit(this, 16, 8); }
+1 -1
View File
@@ -80,7 +80,7 @@ public:
static actionFuncEntry ActionTable[3];
const attributes* attr() const { return &M_attr; }
int getType() { return subtype & 0x7F; }
int getType() { return argument & 0x7F; }
u8 getPathID() { return fopAcM_GetParam(this); }
bool isPlayerCorrect() { return (s8)(u8)(fopAcM_GetParam(this) >> 8) > 0; }
+1 -1
View File
@@ -23,7 +23,7 @@ public:
/* 80D467C0 */ void create_init();
~daPasserMng_c() { delete [] childProcIds; }
u8 getDetailLevel() { return subtype; }
u8 getDetailLevel() { return argument; }
u8 getPathID() { return fopAcM_GetParam(this); }
u8 getIntervalTime() { return fopAcM_GetParam(this) >> 24; }
int getStartTime() { return (fopAcM_GetParam(this) >> 8) & 0xff; }
+1 -1
View File
@@ -246,7 +246,7 @@ public:
/* 0x496 */ u8 group;
/* 0x497 */ u8 cullType;
/* 0x498 */ u8 demoActorID;
/* 0x499 */ s8 subtype;
/* 0x499 */ s8 argument;
/* 0x49A */ u8 carryType;
/* 0x49C */ u32 actor_status;
/* 0x4A0 */ u32 actor_condition;