From 43e2dadc1276bf8cbce507da6964eaf205332201 Mon Sep 17 00:00:00 2001 From: hev7 <143887945+hev7@users.noreply.github.com> Date: Wed, 26 Nov 2025 04:48:34 +0000 Subject: [PATCH] Link b_mgn, tbox equivalent (#2867) * Link b_mgn * tbox equivalent --- configure.py | 4 ++-- include/d/actor/d_a_tbox.h | 4 ++-- src/d/actor/d_a_b_mgn.cpp | 5 ++--- src/d/actor/d_a_tbox.cpp | 30 ++++++++++-------------------- 4 files changed, 16 insertions(+), 27 deletions(-) diff --git a/configure.py b/configure.py index dd8238045e4..e7b237c72e3 100755 --- a/configure.py +++ b/configure.py @@ -1612,7 +1612,7 @@ config.libs = [ ActorRel(MatchingFor(ALL_GCN), "d_a_tag_msg"), ActorRel(MatchingFor(ALL_GCN), "d_a_tag_push"), ActorRel(MatchingFor(ALL_GCN), "d_a_tag_telop"), - ActorRel(NonMatching, "d_a_tbox"), + ActorRel(Equivalent, "d_a_tbox"), # weak func order ActorRel(MatchingFor(ALL_GCN), "d_a_tbox2"), ActorRel(MatchingFor(ALL_GCN), "d_a_vrbox"), ActorRel(NonMatching, "d_a_vrbox2"), @@ -1719,7 +1719,7 @@ config.libs = [ ActorRel(MatchingFor(ALL_GCN), "d_a_b_gnd"), ActorRel(MatchingFor(ALL_GCN), "d_a_b_go"), ActorRel(MatchingFor(ALL_GCN), "d_a_b_gos"), - ActorRel(Equivalent, "d_a_b_mgn"), # extra mr/regalloc + ActorRel(MatchingFor(ALL_GCN), "d_a_b_mgn"), ActorRel(MatchingFor(ALL_GCN), "d_a_b_ob"), ActorRel(MatchingFor(ALL_GCN), "d_a_b_oh"), ActorRel(MatchingFor(ALL_GCN), "d_a_b_oh2"), diff --git a/include/d/actor/d_a_tbox.h b/include/d/actor/d_a_tbox.h index b28a5ad5185..2341edd33c2 100644 --- a/include/d/actor/d_a_tbox.h +++ b/include/d/actor/d_a_tbox.h @@ -124,9 +124,9 @@ public: /* 804959EC */ int Execute(Mtx**); /* 80495AF0 */ int Draw(); /* 80495C9C */ int Delete(); - /* 804961B0 */ int Create(); + /* 804961B0 */ int Create() { return true; } - /* 804961B8 */ virtual BOOL checkSmallTbox(); + /* 804961B8 */ virtual BOOL checkSmallTbox() { return TRUE; } u32 getEvent() { return fopAcM_GetParam(this) >> 24; } int getShapeType() { return (fopAcM_GetParam(this) >> 20) & 0xf; } diff --git a/src/d/actor/d_a_b_mgn.cpp b/src/d/actor/d_a_b_mgn.cpp index 4f0590e3758..e986c4bff40 100644 --- a/src/d/actor/d_a_b_mgn.cpp +++ b/src/d/actor/d_a_b_mgn.cpp @@ -1327,7 +1327,6 @@ void daB_MGN_c::executeCircle() { } /* 80608EF8-80609D70 0038B8 0E78+00 2/1 0/0 0/0 .text executeDash__9daB_MGN_cFv */ -// NONMATCHING - regalloc + extra mr, equivalent void daB_MGN_c::executeDash() { daPy_py_c* player_sp14 = daPy_getPlayerActorClass(); @@ -1339,9 +1338,9 @@ void daB_MGN_c::executeDash() { s16 angle = cLib_targetAngleY(&player_pos, &gate_offset); if (field_0xaff >= 5) { - angle += cM_rndFX(6.0f) * 4096.0f; + angle = angle + cM_rndFX(6.0f) * 4096.0f; } else { - angle += cM_rndFX(4.0f) * 4096.0f; + angle = angle + cM_rndFX(4.0f) * 4096.0f; } if (mMoveMode == 11) { diff --git a/src/d/actor/d_a_tbox.cpp b/src/d/actor/d_a_tbox.cpp index 45dab484fbf..d1c11403015 100644 --- a/src/d/actor/d_a_tbox.cpp +++ b/src/d/actor/d_a_tbox.cpp @@ -577,7 +577,6 @@ void daTbox_c::demoProcOpen() { } /* 8049216C-8049233C 00152C 01D0+00 1/1 0/0 0/0 .text lightColorProc__8daTbox_cFv */ -// NONMATCHING - regalloc void daTbox_c::lightColorProc() { static int const key_frame[7] = {0x00, 0x07, 0x1e, 0x25, 0x2c, 0x5c, 0x8c}; static GXColorS10 const key_color[7] = { @@ -602,16 +601,17 @@ void daTbox_c::lightColorProc() { } int num_frames = var_r24 - var_r25; - s16 step_r = std::fabs(key_color[var_r30 + 1].r - key_color[var_r30].r) / num_frames; - s16 step_g = std::fabs(key_color[var_r30 + 1].g - key_color[var_r30].g) / num_frames; - s16 step_b = std::fabs(key_color[var_r30 + 1].b - key_color[var_r30].b) / num_frames; - step_r++; - step_g++; - step_b++; + GXColorS10 color; + color.r = std::fabs(key_color[var_r30 + 1].r - key_color[var_r30].r) / num_frames; + color.g = std::fabs(key_color[var_r30 + 1].g - key_color[var_r30].g) / num_frames; + color.b = std::fabs(key_color[var_r30 + 1].b - key_color[var_r30].b) / num_frames; + color.r++; + color.g++; + color.b++; - cLib_chaseS(&mLight.mColor.r, key_color[var_r28].r, step_r); - cLib_chaseS(&mLight.mColor.g, key_color[var_r28].g, step_g); - cLib_chaseS(&mLight.mColor.b, key_color[var_r28].b, step_b); + cLib_chaseS(&mLight.mColor.r, key_color[var_r28].r, color.r); + cLib_chaseS(&mLight.mColor.g, key_color[var_r28].g, color.g); + cLib_chaseS(&mLight.mColor.b, key_color[var_r28].b, color.b); } } @@ -1952,16 +1952,6 @@ static int daTbox_MoveBGDraw(daTbox_c* i_this) { return i_this->MoveBGDraw(); } -/* 804961B0-804961B8 005570 0008+00 1/0 0/0 0/0 .text Create__8daTbox_cFv */ -int daTbox_c::Create() { - return true; -} - -/* 804961B8-804961C0 005578 0008+00 1/0 0/0 0/0 .text checkSmallTbox__8daTbox_cFv */ -BOOL daTbox_c::checkSmallTbox() { - return true; -} - /* 80496730-80496750 -00001 0020+00 1/0 0/0 0/0 .data daTbox_METHODS */ static actor_method_class daTbox_METHODS = { (process_method_func)daTbox_create1st,