summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZeclos <Zeclos99@gmail.com>2026-07-26 17:32:13 +0200
committerGitHub <noreply@github.com>2026-07-26 11:32:13 -0400
commit7fae08bcd1e75242b3cdcb7a0704488911561e78 (patch)
tree39096aad5ab919926909e51783d7d2855c82d7b1
parent20913851558a8d86101a025c60078905534622a6 (diff)
Hi1_demo zl1 cleanup (#1136)
* matching * cleanup * d_a_npc_tt matching outside of _create and rodata * matching * demo matching + cleanup zl1 * undo removed line * sorry
-rwxr-xr-xconfigure.py2
-rw-r--r--src/d/actor/d_a_npc_hi1.cpp86
-rw-r--r--src/d/actor/d_a_npc_zl1.cpp4
3 files changed, 66 insertions, 26 deletions
diff --git a/configure.py b/configure.py
index 073b927e..1f490ae6 100755
--- a/configure.py
+++ b/configure.py
@@ -1667,7 +1667,7 @@ config.libs = [
ActorRel(NonMatching, "d_a_npc_ds1"),
ActorRel(NonMatching, "d_a_npc_gk1"),
ActorRel(NonMatching, "d_a_npc_gp1"),
- ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_npc_hi1"),
+ ActorRel(Matching, "d_a_npc_hi1"),
ActorRel(Matching, "d_a_npc_ho"),
ActorRel(Matching, "d_a_npc_hr"),
ActorRel(Matching, "d_a_npc_jb1"),
diff --git a/src/d/actor/d_a_npc_hi1.cpp b/src/d/actor/d_a_npc_hi1.cpp
index 94f0eb96..bcd314a1 100644
--- a/src/d/actor/d_a_npc_hi1.cpp
+++ b/src/d/actor/d_a_npc_hi1.cpp
@@ -63,7 +63,9 @@ daNpc_Hi1_HIO_c::daNpc_Hi1_HIO_c() {
field_0x8 = -1;
}
-static const char* l_evn_tbl = "dummy";
+static const char* l_evn_tbl[1] = {
+ "dummy"
+};
/* 00000198-000001E4 .text nodeCB_Head__FP7J3DNodei */
static BOOL nodeCB_Head(J3DNode* i_node, int i_param) {
@@ -80,7 +82,7 @@ static BOOL nodeCB_Head(J3DNode* i_node, int i_param) {
void daNpc_Hi1_c::_nodeCB_Head(J3DNode* i_node, J3DModel* i_pModel) {
static cXyz a_eye_pos_off(20.0f, 30.0f, 0.0f);
- u16 jointIdx = ((J3DJoint*)(i_node))->getJntNo();
+ s32 jointIdx = ((J3DJoint*)(i_node))->getJntNo();
mDoMtx_stack_c::copy(i_pModel->getAnmMtx(jointIdx));
mDoMtx_stack_c::multVecZero(&field_0x768);
@@ -104,7 +106,7 @@ static BOOL nodeCB_BackBone(J3DNode* i_node, int i_param) {
/* 0000038C-0000042C .text _nodeCB_BackBone__11daNpc_Hi1_cFP7J3DNodeP8J3DModel */
void daNpc_Hi1_c::_nodeCB_BackBone(J3DNode* i_node, J3DModel* i_pModel) {
- u16 jointIdx = ((J3DJoint*)(i_node))->getJntNo();
+ s32 jointIdx = ((J3DJoint*)(i_node))->getJntNo();
mDoMtx_stack_c::copy(i_pModel->getAnmMtx(jointIdx));
mDoMtx_stack_c::XrotM(m_jnt.getBackbone_y());
mDoMtx_stack_c::ZrotM(-m_jnt.getBackbone_x());
@@ -126,8 +128,9 @@ bool daNpc_Hi1_c::init_HI1_0() {
/* 00000498-00000618 .text createInit__11daNpc_Hi1_cFv */
bool daNpc_Hi1_c::createInit() {
bool ret;
-
- mEventIdx[0] = dComIfGp_evmng_getEventIdx(l_evn_tbl, 0xff);
+ for(int i = 0; i < ARRAY_SSIZE(l_evn_tbl); i++) {
+ mEventIdx[i] = dComIfGp_evmng_getEventIdx(l_evn_tbl[i]);
+ }
mEventCut.setActorInfo2("Hi1", this);
attention_info.flags = fopAc_Attn_LOCKON_TALK_e | fopAc_Attn_ACTION_SPEAK_e;
@@ -459,13 +462,9 @@ bool daNpc_Hi1_c::chk_talk() {
/* 00000FFC-0000103C .text chk_parts_notMov__11daNpc_Hi1_cFv */
bool daNpc_Hi1_c::chk_parts_notMov() {
- bool ret = false;
- if(field_0x788.y != m_jnt.getHead_y() ||
+ return field_0x788.y != m_jnt.getHead_y() ||
field_0x788.z != m_jnt.getBackbone_y() ||
- field_0x788.x != current.angle.y) {
- ret = true;
- }
- return ret;
+ field_0x788.x != current.angle.y;
}
/* 0000103C-00001090 .text searchByID__11daNpc_Hi1_cFUiPi */
@@ -523,11 +522,13 @@ void daNpc_Hi1_c::lookBack() {
/* 00001254-000012D4 .text chkAttention__11daNpc_Hi1_cFv */
bool daNpc_Hi1_c::chkAttention() {
- if(dComIfGp_getAttention().LockonTruth()) {
- return this == dComIfGp_getAttention().LockonTarget(0);
+ dAttention_c& attention = dComIfGp_getAttention();
+ if(attention.LockonTruth()) {
+ return this == attention.LockonTarget(0);
}
- return this == dComIfGp_getAttention().ActionTarget(0);
+
+ return this == attention.ActionTarget(0);
}
/* 000012D4-0000132C .text setAttention__11daNpc_Hi1_cFb */
@@ -568,8 +569,34 @@ void daNpc_Hi1_c::privateCut(int i_staffIdx) {
if(mActIdx == -1) {
dComIfGp_evmng_cutEnd(i_staffIdx);
} else {
+#if VERSION == VERSION_DEMO
+ bool temp;
+ if(dComIfGp_evmng_getIsAddvance(i_staffIdx)) {
+
+ switch(mActIdx) {
+ case 0:
+ // to match codegen
+ speedF = speedF;
+ break;
+ }
+ }
+
+ switch(mActIdx) {
+ case 0:
+ break;
+ default:
+ temp = true;
+ break;
+
+ }
+
+ if(temp) {
+ dComIfGp_evmng_cutEnd(i_staffIdx);
+ }
+#else
dComIfGp_evmng_getIsAddvance(i_staffIdx);
dComIfGp_evmng_cutEnd(i_staffIdx);
+#endif
}
}
}
@@ -837,7 +864,7 @@ BOOL daNpc_Hi1_c::_execute() {
if(!demo()) {
int temp = -1;
- if(dComIfGp_event_runCheck() && !eventInfo.checkCommandTalk()) {
+ if(dComIfGp_event_runCheck() && eventInfo.checkCommandTalk() == false) {
temp = isEventEntry();
}
@@ -874,10 +901,15 @@ BOOL daNpc_Hi1_c::_execute() {
/* 00001EDC-00001F30 .text _delete__11daNpc_Hi1_cFv */
BOOL daNpc_Hi1_c::_delete() {
- fopAcM_GetID(this);
- dComIfG_resDeleteDemo(&mPhs, mArcName);
- if(heap && mpMorf) {
- mpMorf->stopZelAnime();
+ if(DEMO_SELECT(mStateIsComplaete, true)){
+#if VERSION == VERSION_DEMO
+ l_HIO.removeHIO();
+#endif
+ dComIfG_resDelete(&mPhs, mArcName);
+
+ if (DEMO_SELECT(mpMorf, heap && mpMorf)) {
+ mpMorf->stopZelAnime();
+ }
}
return TRUE;
}
@@ -890,7 +922,7 @@ cPhs_State daNpc_Hi1_c::_create() {
};
cPhs_State state;
- fopAcM_ct(this, daNpc_Hi1_c);
+ fopAcM_ct_Retail(this, daNpc_Hi1_c);
if(!decideType(fopAcM_GetParam(this) & 0xFF)) {
return cPhs_ERROR_e;
}
@@ -900,10 +932,18 @@ cPhs_State daNpc_Hi1_c::_create() {
if(!mStateIsComplaete) {
return state;
}
+#if VERSION == VERSION_DEMO
+ l_HIO.entryHIO("ハイラル王");
+#endif
+ fopAcM_ct_Demo(this, daNpc_Hi1_c);
if(!fopAcM_entrySolidHeap(this, CheckCreateHeap, a_siz_tbl[field_0x7C5])) {
+#if VERSION == VERSION_DEMO
+ mStateIsComplaete = false;
+#endif
return cPhs_ERROR_e;
}
+
fopAcM_SetMtx(this, this->mpMorf->getModel()->getBaseTRMtx());
fopAcM_setCullSizeBox(this, -110.0f, -20.0f, -100.0f, 110.0f, 280.0f, 100.0f);
@@ -916,7 +956,7 @@ cPhs_State daNpc_Hi1_c::_create() {
/* 000024F4-00002768 .text bodyCreateHeap__11daNpc_Hi1_cFv */
BOOL daNpc_Hi1_c::bodyCreateHeap() {
J3DModelData* a_mdl_dat = (J3DModelData*)dComIfG_getObjectIDRes(mArcName, dRes_ID_HI_BDL_HI_e);
- JUT_ASSERT(0x5BB, a_mdl_dat != NULL);
+ JUT_ASSERT(DEMO_SELECT(1469, 1467), a_mdl_dat != NULL);
mpMorf = new mDoExt_McaMorf(
a_mdl_dat,
NULL, NULL, NULL,
@@ -936,9 +976,9 @@ BOOL daNpc_Hi1_c::bodyCreateHeap() {
return FALSE;
}
m_hed_jnt_num = a_mdl_dat->getJointName()->getIndex("head");
- JUT_ASSERT(0x5CF, m_hed_jnt_num >= 0);
+ JUT_ASSERT(DEMO_SELECT(1489, 1487), m_hed_jnt_num >= 0);
m_bbone_jnt_num = a_mdl_dat->getJointName()->getIndex("backbone1");
- JUT_ASSERT(0x5D1, m_bbone_jnt_num >= 0);
+ JUT_ASSERT(DEMO_SELECT(1491, 1489), m_bbone_jnt_num >= 0);
mpMorf->getModel()->getModelData()->getJointNodePointer(m_hed_jnt_num & 0xffff)->setCallBack(nodeCB_Head);
mpMorf->getModel()->getModelData()->getJointNodePointer(m_bbone_jnt_num & 0xffff)->setCallBack(nodeCB_BackBone);
diff --git a/src/d/actor/d_a_npc_zl1.cpp b/src/d/actor/d_a_npc_zl1.cpp
index b72de352..fbc44e3b 100644
--- a/src/d/actor/d_a_npc_zl1.cpp
+++ b/src/d/actor/d_a_npc_zl1.cpp
@@ -389,8 +389,8 @@ bool daNpc_Zl1_c::init_ZL1_7() {
bool daNpc_Zl1_c::createInit() {
bool ret;
int temp = 0xff;
- for(int i = 0; i < 4; i++) {
- mEventIdx[i] = dComIfGp_evmng_getEventIdx(l_evn_tbl[i], 0xff);
+ for(int i = 0; i < ARRAY_SSIZE(l_evn_tbl); i++) {
+ mEventIdx[i] = dComIfGp_evmng_getEventIdx(l_evn_tbl[i]);
}
mEventCut.setActorInfo2("Zl1", this);
attention_info.flags = fopAc_Attn_LOCKON_TALK_e | fopAc_Attn_ACTION_SPEAK_e;