Fix d_a_npc_md weak func order, clean up order fakematches from d_a_player main

closes #226
This commit is contained in:
LagoLunatic
2026-05-22 15:50:17 -04:00
parent 638d76a959
commit 6a1073e705
7 changed files with 187 additions and 195 deletions
+1 -1
View File
@@ -1535,7 +1535,7 @@ config.libs = [
ActorRel(NonMatching, "d_a_kt"), # regalloc
ActorRel(Matching, "d_a_mflft"),
ActorRel(MatchingFor("GZLE01", "GZLP01"), "d_a_npc_cb1"),
ActorRel(EquivalentFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_npc_md"),
ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_npc_md"),
ActorRel(NonMatching, "d_a_npc_so"),
ActorRel(Matching, "d_a_nzg"),
ActorRel(NonMatching, "d_a_obj_aygr"),
-176
View File
@@ -7,181 +7,6 @@
#include "d/d_bg_s_lin_chk.h"
#include "d/d_drawlist.h"
class daNpc_Md_HIO2_c {
public:
daNpc_Md_HIO2_c();
virtual ~daNpc_Md_HIO2_c() {}
public:
/* 0x04 */ f32 m04;
/* 0x08 */ f32 m08;
/* 0x0C */ f32 m0C;
/* 0x10 */ f32 m10;
/* 0x14 */ f32 m14;
/* 0x18 */ f32 m18;
/* 0x1C */ f32 m1C;
/* 0x20 */ s16 m20;
/* 0x22 */ s16 m22;
/* 0x24 */ s16 m24;
#if VERSION > VERSION_DEMO
/* 0x26 */ s16 m26;
/* 0x28 */ s16 m28;
/* 0x2A */ s16 m2A;
#endif
};
class daNpc_Md_HIO3_c {
public:
daNpc_Md_HIO3_c();
virtual ~daNpc_Md_HIO3_c() {}
public:
/* 0x04 */ f32 m04;
/* 0x08 */ f32 m08;
/* 0x0C */ f32 m0C;
/* 0x10 */ f32 m10;
/* 0x14 */ f32 m14;
/* 0x18 */ s16 m18;
/* 0x1A */ s16 m1A;
/* 0x1C */ s16 m1C;
/* 0x1E */ s16 m1E;
/* 0x20 */ s16 m20;
/* 0x22 */ s16 m22;
/* 0x24 */ s16 m24;
/* 0x26 */ u8 field_26[0x28 - 0x26];
};
class daNpc_Md_HIO4_c {
public:
daNpc_Md_HIO4_c();
virtual ~daNpc_Md_HIO4_c() {}
public:
/* 0x4 */ f32 m4;
/* 0x8 */ s16 m8;
/* 0xA */ u8 field_A[0xC - 0xA];
};
class daNpc_Md_HIO5_c {
public:
daNpc_Md_HIO5_c();
virtual ~daNpc_Md_HIO5_c() {}
public:
/* 0x4 */ f32 m4;
/* 0x8 */ f32 m8;
};
class daNpc_Md_HIO6_c {
public:
daNpc_Md_HIO6_c();
virtual ~daNpc_Md_HIO6_c() {}
public:
/* 0x04 */ f32 m04;
/* 0x08 */ s16 m08;
/* 0x0A */ s16 m0A;
/* 0x0C */ s16 m0C;
/* 0x0E */ s16 m0E;
/* 0x10 */ s16 m10;
/* 0x12 */ s16 m12;
/* 0x14 */ s16 m14;
/* 0x16 */ s16 m16;
};
class daNpc_Md_HIO_c : public JORReflexible {
public:
daNpc_Md_HIO_c();
virtual ~daNpc_Md_HIO_c() {}
void genMessage(JORMContext* ctx) {}
public:
/* 0x004 */ s8 mNo;
/* 0x008 */ daNpc_Md_HIO2_c m008;
/* 0x034 */ daNpc_Md_HIO3_c m034;
/* 0x05C */ daNpc_Md_HIO4_c m05C;
/* 0x068 */ daNpc_Md_HIO5_c m068;
/* 0x074 */ daNpc_Md_HIO6_c m074;
/* 0x08C */ dNpc_HIO_c mNpc;
/* 0x0B4 */ fopAc_ac_c* mpActor;
/* 0x0B8 */ f32 m0B8;
/* 0x0BC */ f32 m0BC;
/* 0x0C0 */ f32 m0C0;
/* 0x0C4 */ f32 m0C4;
/* 0x0C8 */ f32 m0C8;
/* 0x0CC */ f32 m0CC;
/* 0x0D0 */ f32 m0D0;
/* 0x0D4 */ f32 m0D4;
/* 0x0D8 */ f32 m0D8;
/* 0x0DC */ f32 m0DC;
/* 0x0E0 */ f32 m0E0;
/* 0x0E4 */ f32 m0E4;
/* 0x0E8 */ f32 m0E8;
/* 0x0EC */ f32 m0EC;
/* 0x0F0 */ f32 m0F0;
/* 0x0F4 */ f32 m0F4;
/* 0x0F8 */ f32 m0F8;
/* 0x0FC */ f32 m0FC;
/* 0x100 */ f32 m100;
/* 0x104 */ f32 m104;
/* 0x108 */ f32 m108;
/* 0x10C */ f32 m10C;
/* 0x110 */ f32 m110;
/* 0x114 */ f32 m114;
/* 0x118 */ f32 m118;
/* 0x11C */ f32 m11C;
/* 0x120 */ f32 m120;
/* 0x124 */ f32 m124;
/* 0x128 */ f32 m128;
/* 0x12C */ f32 m12C;
/* 0x130 */ f32 m130;
/* 0x134 */ f32 m134;
/* 0x138 */ f32 m138;
/* 0x13C */ f32 m13C;
/* 0x140 */ f32 m140;
/* 0x144 */ f32 m144;
/* 0x148 */ f32 m148;
/* 0x14C */ f32 m14C;
/* 0x150 */ f32 m150;
/* 0x154 */ f32 m154;
/* 0x158 */ f32 m158;
/* 0x15C */ f32 m15C;
/* 0x160 */ f32 m160;
/* 0x164 */ f32 m164;
/* 0x168 */ f32 m168;
/* 0x16C */ f32 m16C;
/* 0x170 */ f32 m170;
/* 0x174 */ f32 m174;
/* 0x178 */ f32 m178;
/* 0x17C */ f32 m17C;
/* 0x180 */ f32 m180;
/* 0x184 */ f32 m184;
/* 0x188 */ f32 m188;
/* 0x18C */ f32 m18C;
/* 0x190 */ f32 m190;
/* 0x194 */ f32 m194;
/* 0x198 */ f32 m198;
/* 0x19C */ f32 m19C;
/* 0x1A0 */ f32 m1A0;
/* 0x1A4 */ f32 m1A4;
/* 0x1A8 */ f32 m1A8;
/* 0x1AC */ f32 m1AC;
/* 0x1B0 */ f32 m1B0;
/* 0x1B4 */ s16 m1B4;
/* 0x1B6 */ s16 m1B6;
/* 0x1B8 */ u16 m1B8;
/* 0x1BA */ s16 m1BA;
/* 0x1BC */ s16 m1BC;
/* 0x1BE */ s16 m1BE;
/* 0x1C0 */ s16 m1C0;
/* 0x1C2 */ u16 m1C2;
/* 0x1C4 */ s16 m1C4;
/* 0x1C6 */ u8 m1C6;
/* 0x1C7 */ u8 m1C7;
/* 0x1C8 */ u8 m1C8;
};
class daNpc_Md_followEcallBack_c : public dPa_levelEcallBack {
public:
~daNpc_Md_followEcallBack_c() {}
@@ -342,7 +167,6 @@ public:
void setEffectStatus(u8 status) { m3135 = status; }
void setPiyo2TalkCNT(u8 cnt) { m313C = cnt; }
daNpc_Md_c() {}
~daNpc_Md_c();
s16 XyCheckCB(int);
+2
View File
@@ -12,6 +12,8 @@ inline u8 dComIfGp_getMiniGameType();
class daPy_mtxFollowEcallBack_c : public dPa_levelEcallBack {
public:
~daPy_mtxFollowEcallBack_c() {}
void execute(JPABaseEmitter*);
void end();
JPABaseEmitter* makeEmitter(u16, MtxP, const cXyz*, const cXyz*);
-5
View File
@@ -334,10 +334,6 @@ public:
};
class daPy_footData_c {
public:
~daPy_footData_c();
daPy_footData_c();
public:
/* 0x000 */ u8 field_0x000;
/* 0x001 */ u8 field_0x001;
@@ -1252,7 +1248,6 @@ public:
J3DAnmTextureSRTKey* entryBtk(J3DModelData*, int);
J3DAnmTevRegKey* entryBrk(J3DModelData*, int);
void playerInit();
daPy_lk_c();
int makeBgWait();
void setSeAnime(daPy_anmHeap_c const*, J3DFrameCtrl*);
void initSeAnime();
+1
View File
@@ -35,6 +35,7 @@ public:
class dPa_levelEcallBack : public JPACallBackBase<JPABaseEmitter*> {
public:
dPa_levelEcallBack() {}
virtual ~dPa_levelEcallBack() {}
virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8) = 0;
}; // Size: 0x04
+181 -2
View File
@@ -19,6 +19,181 @@
#include "d/d_camera.h"
#include "d/d_detect.h"
class daNpc_Md_HIO2_c {
public:
daNpc_Md_HIO2_c();
virtual ~daNpc_Md_HIO2_c() {}
public:
/* 0x04 */ f32 m04;
/* 0x08 */ f32 m08;
/* 0x0C */ f32 m0C;
/* 0x10 */ f32 m10;
/* 0x14 */ f32 m14;
/* 0x18 */ f32 m18;
/* 0x1C */ f32 m1C;
/* 0x20 */ s16 m20;
/* 0x22 */ s16 m22;
/* 0x24 */ s16 m24;
#if VERSION > VERSION_DEMO
/* 0x26 */ s16 m26;
/* 0x28 */ s16 m28;
/* 0x2A */ s16 m2A;
#endif
};
class daNpc_Md_HIO3_c {
public:
daNpc_Md_HIO3_c();
virtual ~daNpc_Md_HIO3_c() {}
public:
/* 0x04 */ f32 m04;
/* 0x08 */ f32 m08;
/* 0x0C */ f32 m0C;
/* 0x10 */ f32 m10;
/* 0x14 */ f32 m14;
/* 0x18 */ s16 m18;
/* 0x1A */ s16 m1A;
/* 0x1C */ s16 m1C;
/* 0x1E */ s16 m1E;
/* 0x20 */ s16 m20;
/* 0x22 */ s16 m22;
/* 0x24 */ s16 m24;
/* 0x26 */ u8 field_26[0x28 - 0x26];
};
class daNpc_Md_HIO4_c {
public:
daNpc_Md_HIO4_c();
virtual ~daNpc_Md_HIO4_c() {}
public:
/* 0x4 */ f32 m4;
/* 0x8 */ s16 m8;
/* 0xA */ u8 field_A[0xC - 0xA];
};
class daNpc_Md_HIO5_c {
public:
daNpc_Md_HIO5_c();
virtual ~daNpc_Md_HIO5_c() {}
public:
/* 0x4 */ f32 m4;
/* 0x8 */ f32 m8;
};
class daNpc_Md_HIO6_c {
public:
daNpc_Md_HIO6_c();
virtual ~daNpc_Md_HIO6_c() {}
public:
/* 0x04 */ f32 m04;
/* 0x08 */ s16 m08;
/* 0x0A */ s16 m0A;
/* 0x0C */ s16 m0C;
/* 0x0E */ s16 m0E;
/* 0x10 */ s16 m10;
/* 0x12 */ s16 m12;
/* 0x14 */ s16 m14;
/* 0x16 */ s16 m16;
};
class daNpc_Md_HIO_c : public JORReflexible {
public:
daNpc_Md_HIO_c();
virtual ~daNpc_Md_HIO_c() {}
void genMessage(JORMContext* ctx) {}
public:
/* 0x004 */ s8 mNo;
/* 0x008 */ daNpc_Md_HIO2_c m008;
/* 0x034 */ daNpc_Md_HIO3_c m034;
/* 0x05C */ daNpc_Md_HIO4_c m05C;
/* 0x068 */ daNpc_Md_HIO5_c m068;
/* 0x074 */ daNpc_Md_HIO6_c m074;
/* 0x08C */ dNpc_HIO_c mNpc;
/* 0x0B4 */ fopAc_ac_c* mpActor;
/* 0x0B8 */ f32 m0B8;
/* 0x0BC */ f32 m0BC;
/* 0x0C0 */ f32 m0C0;
/* 0x0C4 */ f32 m0C4;
/* 0x0C8 */ f32 m0C8;
/* 0x0CC */ f32 m0CC;
/* 0x0D0 */ f32 m0D0;
/* 0x0D4 */ f32 m0D4;
/* 0x0D8 */ f32 m0D8;
/* 0x0DC */ f32 m0DC;
/* 0x0E0 */ f32 m0E0;
/* 0x0E4 */ f32 m0E4;
/* 0x0E8 */ f32 m0E8;
/* 0x0EC */ f32 m0EC;
/* 0x0F0 */ f32 m0F0;
/* 0x0F4 */ f32 m0F4;
/* 0x0F8 */ f32 m0F8;
/* 0x0FC */ f32 m0FC;
/* 0x100 */ f32 m100;
/* 0x104 */ f32 m104;
/* 0x108 */ f32 m108;
/* 0x10C */ f32 m10C;
/* 0x110 */ f32 m110;
/* 0x114 */ f32 m114;
/* 0x118 */ f32 m118;
/* 0x11C */ f32 m11C;
/* 0x120 */ f32 m120;
/* 0x124 */ f32 m124;
/* 0x128 */ f32 m128;
/* 0x12C */ f32 m12C;
/* 0x130 */ f32 m130;
/* 0x134 */ f32 m134;
/* 0x138 */ f32 m138;
/* 0x13C */ f32 m13C;
/* 0x140 */ f32 m140;
/* 0x144 */ f32 m144;
/* 0x148 */ f32 m148;
/* 0x14C */ f32 m14C;
/* 0x150 */ f32 m150;
/* 0x154 */ f32 m154;
/* 0x158 */ f32 m158;
/* 0x15C */ f32 m15C;
/* 0x160 */ f32 m160;
/* 0x164 */ f32 m164;
/* 0x168 */ f32 m168;
/* 0x16C */ f32 m16C;
/* 0x170 */ f32 m170;
/* 0x174 */ f32 m174;
/* 0x178 */ f32 m178;
/* 0x17C */ f32 m17C;
/* 0x180 */ f32 m180;
/* 0x184 */ f32 m184;
/* 0x188 */ f32 m188;
/* 0x18C */ f32 m18C;
/* 0x190 */ f32 m190;
/* 0x194 */ f32 m194;
/* 0x198 */ f32 m198;
/* 0x19C */ f32 m19C;
/* 0x1A0 */ f32 m1A0;
/* 0x1A4 */ f32 m1A4;
/* 0x1A8 */ f32 m1A8;
/* 0x1AC */ f32 m1AC;
/* 0x1B0 */ f32 m1B0;
/* 0x1B4 */ s16 m1B4;
/* 0x1B6 */ s16 m1B6;
/* 0x1B8 */ u16 m1B8;
/* 0x1BA */ s16 m1BA;
/* 0x1BC */ s16 m1BC;
/* 0x1BE */ s16 m1BE;
/* 0x1C0 */ s16 m1C0;
/* 0x1C2 */ u16 m1C2;
/* 0x1C4 */ s16 m1C4;
/* 0x1C6 */ u8 m1C6;
/* 0x1C7 */ u8 m1C7;
/* 0x1C8 */ u8 m1C8;
};
static daNpc_Md_HIO_c l_HIO;
static cXyz l_ms_light_local_vec(0.0f, 0.0f, -10000.0f);
@@ -1339,7 +1514,7 @@ BOOL daNpc_Md_c::waitNpcAction(void*) {
maxFallSpeed = -100.0f;
gravity = l_HIO.m0F4;
clearStatus(daMdStts_UNK1 | daMdStts_UNK2 | daMdStts_FLY);
#if VERSION == VERSION_DEMO
#if VERSION <= VERSION_JPN
setBitStatus(daMdStts_UNK4);
#else
if (!isTypeSea()) {
@@ -3607,7 +3782,11 @@ BOOL daNpc_Md_c::actionLandingEvent(int) {
/* 0000B9E0-0000B9F8 .text initialWalkEvent__10daNpc_Md_cFi */
void daNpc_Md_c::initialWalkEvent(int) {
speedF = 0.0f;
m3118 = DEMO_SELECT(1800, 20 * 30);
#if VERSION <= VERSION_JPN
m3118 = 60 * 30;
#else
m3118 = 20 * 30;
#endif
}
/* 0000B9F8-0000BCC4 .text actionWalkEvent__10daNpc_Md_cFi */
+2 -11
View File
@@ -111,6 +111,8 @@ u8 daPy_matAnm_c::m_morf_frame;
#include "d/actor/d_a_player_sword.inc"
#include "d/actor/d_a_player_HIO.inc"
/* 80102E8C-80102EAC .text daPy_createHeap__FP10fopAc_ac_c */
static BOOL daPy_createHeap(fopAc_ac_c* i_this) {
return static_cast<daPy_lk_c*>(i_this)->createHeap();
@@ -12419,15 +12421,6 @@ cPhs_State phase_2(daPy_lk_c* i_this) {
return result;
}
/* 80125DB4-80126F00 .text __ct__9daPy_lk_cFv */
daPy_lk_c::daPy_lk_c() {}
/* 80126F00-8012704C .text __dt__15daPy_footData_cFv */
daPy_footData_c::~daPy_footData_c() {}
/* 8012704C-80127160 .text __ct__15daPy_footData_cFv */
daPy_footData_c::daPy_footData_c() {}
/* 80127160-80127B50 .text makeBgWait__9daPy_lk_cFv */
cPhs_State daPy_lk_c::makeBgWait() {
#if VERSION > VERSION_DEMO
@@ -13156,8 +13149,6 @@ BOOL daPy_lk_c::getBokoFlamePos(cXyz* outPos) {
return FALSE;
}
#include "d/actor/d_a_player_HIO.inc"
static actor_method_class2 l_daPy_Method = {
(process_method_func)daPy_Create,
(process_method_func)daPy_Delete,