Work on d_a_e_mk - beeg monkey :) (#2441)

* Started work on d_a_e_mk

* demo work

* All functions worked on

* PR cleanup
This commit is contained in:
Carco_21 2025-05-16 19:20:53 -04:00 committed by GitHub
parent df8d6655a3
commit a1e8748031
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 3002 additions and 2135 deletions

View File

@ -11,8 +11,11 @@
*
*/
class e_db_class : public fopEn_enemy_c {
private:
/* 0x5ac */ u8 field_0x5ac[0x1270 - 0x5ac];
public:
/* 0x5ac */ u8 field_0x5ac[0x66a - 0x5ac];
/* 0x66A */ s16 field_0x66a;
/* 0x66C */ s16 field_0x66c;
/* 0x66E */ u8 field_0x66e[0x1270 - 0x66e];
};
STATIC_ASSERT(sizeof(e_db_class) == 0x1270);

View File

@ -1,5 +1,12 @@
#ifndef D_A_E_MK_H
#define D_A_E_MK_H
#include "d/actor/d_a_b_bh.h"
#include "d/actor/d_a_e_db.h"
#include "d/actor/d_a_obj_pillar.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"
#include "f_op/f_op_actor_mng.h"
/**
@ -11,16 +18,129 @@
*
*/
class e_mk_class : public fopEn_enemy_c {
/* 8071C190 */ e_mk_class();
private:
/* 0x5ac */ u8 field_0x5ac[0xcf8 - 0x5ac];
public:
/* 8071C190 */ e_mk_class() {}
enum e_mk_ACTION {
ACT_WAIT,
ACT_MOVE,
ACT_SHOOT,
ACT_YORO,
ACT_DROP = 9,
ACT_DAMAGE,
ACT_S_DEMO = 20,
ACT_E_DEMO = 30,
ACT_R04_DEMO = 35,
};
/* 0x5AC */ request_of_phase_process_class mPhase;
/* 0x5B4 */ s16 mMode;
/* 0x5B6 */ u8 field_0x5b6;
/* 0x5B7 */ u8 field_0x5b7;
/* 0x5B8 */ cXyz field_0x5b8;
/* 0x5C4 */ u8 field_0x5c4[0x5c8 - 0x5c4];
/* 0x5C8 */ mDoExt_McaMorfSO* mpModelMorf;
/* 0x5CC */ int mAnm;
/* 0x5D0 */ mDoExt_btpAnm* mBtp;
/* 0x5D4 */ s16 field_0x5d4;
/* 0x5D8 */ f32 field_0x5d8;
/* 0x5DC */ mDoExt_McaMorf* mpCrownModelMorf;
/* 0x5E0 */ s8 field_0x5e0;
/* 0x5E4 */ cXyz field_0x5e4;
/* 0x5F0 */ csXyz field_0x5f0;
/* 0x5F6 */ u8 field_0x5f6[0x5fc - 0x5f6];
/* 0x5FC */ f32 field_0x5fc;
/* 0x600 */ f32 field_0x600;
/* 0x604 */ f32 field_0x604;
/* 0x608 */ J3DModel* mpBoomerangModel;
/* 0x60C */ s8 field_0x60c;
/* 0x60D */ s8 field_0x60d;
/* 0x60E */ s8 field_0x60e;
/* 0x60F */ u8 field_0x60f;
/* 0x610 */ Z2CreatureEnemy mSound;
/* 0x6B4 */ s16 field_0x6b4;
/* 0x6B6 */ s16 mAction;
/* 0x6B8 */ f32 mDistToPlayer;
/* 0x6BC */ s16 mAngleToPlayer;
/* 0x6BE */ s8 field_0x6be;
/* 0x6BF */ u8 field_0x6bf;
/* 0x6C0 */ cXyz field_0x6c0;
/* 0x6CC */ cXyz field_0x6cc;
/* 0x6D8 */ f32 field_0x6d8;
/* 0x6DC */ cXyz field_0x6dc;
/* 0x6E8 */ daPillar_c* mPillar;
/* 0x6EC */ daPillar_c* mHasira;
/* 0x6F0 */ u32 mShadowKey1;
/* 0x6F4 */ u32 mShadowKey2;
/* 0x6F8 */ s8 field_0x6f8;
/* 0x6F9 */ u8 field_0x6f9;
/* 0x6FA */ s16 field_0x6fa;
/* 0x6FC */ s16 field_0x6fc[4];
/* 0x704 */ s16 field_0x704;
/* 0x706 */ s8 field_0x706;
/* 0x707 */ s8 field_0x707;
/* 0x708 */ fpc_ProcID field_0x708;
/* 0x70C */ e_db_class* field_0x70c;
/* 0x710 */ fpc_ProcID mBabaChildID;
/* 0x714 */ fpc_ProcID mBabaChildID2;
/* 0x718 */ s8 field_0x718;
/* 0x719 */ s8 field_0x719;
/* 0x71A */ s8 field_0x71a;
/* 0x71B */ s8 field_0x71b;
/* 0x71C */ s8 field_0x71c;
/* 0x71D */ s8 field_0x71d;
/* 0x71E */ s8 field_0x71e;
/* 0x71F */ u8 field_0x71f;
/* 0x720 */ dBgS_AcchCir mAcchCir;
/* 0x760 */ dBgS_ObjAcch mAcch;
/* 0x938 */ dCcU_AtInfo mAtInfo;
/* 0x95C */ dCcD_Stts field_0x95c;
/* 0x998 */ dCcD_Sph field_0x998;
/* 0xAD0 */ dCcD_Sph field_0xad0;
/* 0xC08 */ u32 field_0xc08;
/* 0xC0C */ u32 field_0xc0c;
/* 0xC10 */ u32 field_0xc10;
/* 0xC14 */ u32 field_0xc14;
/* 0xC18 */ u32 field_0xc18[2];
/* 0xC20 */ u32 field_0xc20[4];
/* 0xC30 */ s16 field_0xc30;
/* 0xC32 */ s16 mDemoMode;
/* 0xC34 */ s16 mDemoCamTimer;
/* 0xC38 */ cXyz mCamEye;
/* 0xC44 */ cXyz mCamCenter;
/* 0xC50 */ cXyz field_0xc50;
/* 0xC5C */ cXyz field_0xc5c;
/* 0xC68 */ cXyz field_0xc68;
/* 0xC74 */ cXyz field_0xc74;
/* 0xC80 */ f32 mDemoCamFovy;
/* 0xC84 */ f32 field_0xc84;
/* 0xC88 */ f32 field_0xc88;
/* 0xC8C */ f32 field_0xc8c;
/* 0xC90 */ f32 field_0xc90;
/* 0xC94 */ u8 field_0xc94[0xc98 - 0xc94];
/* 0xC98 */ f32 field_0xc98;
/* 0xC9C */ f32 field_0xc9c;
/* 0xCA0 */ s16 field_0xca0;
/* 0xCA4 */ dMsgFlow_c mMsgFlow;
/* 0xCF0 */ u8 field_0xcf0[0xcf5 - 0xcf0];
/* 0xCF5 */ u8 field_0xcf5;
};
STATIC_ASSERT(sizeof(e_mk_class) == 0xcf8);
class daE_MK_HIO_c {
class daE_MK_HIO_c : public JORReflexible {
public:
/* 8071412C */ daE_MK_HIO_c();
/* 8071C3EC */ ~daE_MK_HIO_c();
/* 8071C3EC */ virtual ~daE_MK_HIO_c() {};
void genMessage(JORMContext*);
/* 0x04 */ s8 field_0x4;
/* 0x08 */ f32 mSize;
/* 0x0C */ f32 mBoomerangRatio;
/* 0x10 */ f32 mPlayerThrowDistMax;
/* 0x14 */ u8 mHaltAction;
/* 0x18 */ cXyz mCrownPosAdjust;
};

View File

@ -11,8 +11,10 @@
*
*/
class e_mk_bo_class : public fopEn_enemy_c {
private:
/* 0x5ac */ u8 field_0x5ac[0x9c0 - 0x5ac];
public:
/* 0x5ac */ u8 field_0x5ac[0x9b4 - 0x5ac];
/* 0x9B4 */ u8 field_0x9b4;
/* 0x9B5 */ u8 field_0x9B5[0x9c0 - 0x9B5];
};
STATIC_ASSERT(sizeof(e_mk_bo_class) == 0x9c0);

View File

@ -12,8 +12,14 @@
*
*/
class npc_ks_class : public fopAc_ac_c {
private:
/* 0x568 */ u8 field_0x568[0xc20 - 0x568];
public:
/* 0x568 */ u8 field_0x568[0x5b6 - 0x568];
/* 0x5B6 */ u8 field_0x5b6;
/* 0x5B7 */ u8 field_0x5b7[0x5c8 - 0x5b7];
/* 0x5C8 */ s16 field_0x5c8;
/* 0x5CA */ u8 field_0x5ca[0x5ea - 0x5ca];
/* 0x5EA */ s16 mMode;
/* 0x5EC */ u8 field_0x5ec[0xc20 - 0x5ec];
};
STATIC_ASSERT(sizeof(npc_ks_class) == 0xc20);

View File

@ -1065,6 +1065,10 @@ public:
mDemo.setParam2(i_param2);
}
void changeDemoParam0(s16 i_param1) {
mDemo.setParam0(i_param1);
}
void changeDemoParam1(s16 i_param1) {
mDemo.setParam1(i_param1);
}

File diff suppressed because it is too large Load Diff