From 7897c4727ad3069e35aff2a4a44b425163c4db42 Mon Sep 17 00:00:00 2001 From: LagoLunatic Date: Mon, 13 Apr 2026 16:38:40 -0400 Subject: [PATCH] d_a_obj_msdan_sub OK --- configure.py | 2 +- src/d/actor/d_a_kytag02.cpp | 2 +- src/d/actor/d_a_obj_msdan_sub.cpp | 12 +++++------- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/configure.py b/configure.py index a707e3fe6..be065846f 100755 --- a/configure.py +++ b/configure.py @@ -1731,7 +1731,7 @@ config.libs = [ ActorRel(NonMatching, "d_a_obj_mmrr"), ActorRel(NonMatching, "d_a_obj_msdan"), ActorRel(NonMatching, "d_a_obj_msdan2"), - ActorRel(NonMatching, "d_a_obj_msdan_sub"), + ActorRel(Matching, "d_a_obj_msdan_sub"), ActorRel(NonMatching, "d_a_obj_msdan_sub2"), ActorRel(Matching, "d_a_obj_mtest"), ActorRel(Matching, "d_a_obj_nest"), diff --git a/src/d/actor/d_a_kytag02.cpp b/src/d/actor/d_a_kytag02.cpp index 8780bec64..434792778 100644 --- a/src/d/actor/d_a_kytag02.cpp +++ b/src/d/actor/d_a_kytag02.cpp @@ -49,7 +49,7 @@ dPath* get_nearpos_rail(kytag02_class* i_this, dPath* i_path, cXyz* pos, int* i_ bestIdx = 0; path = i_path; - best = 1000000000.0f; + best = 1000000000.0f; // This is not G_CM3D_F_INF bestPath = i_path; while (true) { diff --git a/src/d/actor/d_a_obj_msdan_sub.cpp b/src/d/actor/d_a_obj_msdan_sub.cpp index f010748bc..a67e31017 100644 --- a/src/d/actor/d_a_obj_msdan_sub.cpp +++ b/src/d/actor/d_a_obj_msdan_sub.cpp @@ -90,8 +90,6 @@ void daObjMsdanSub::Act_c::init_mtx() { /* 00000534-00000BB4 .text Execute__Q213daObjMsdanSub5Act_cFPPA3_A4_f */ BOOL daObjMsdanSub::Act_c::Execute(Mtx** pMtx) { - //https://decomp.me/scratch/OWEBm - /* Nonmatching */ if (prm_get_size()) { if (fopAcM_isSwitch(this, prm_get_swSave())) { if (m2E0 > 0.0f) { @@ -107,16 +105,16 @@ BOOL daObjMsdanSub::Act_c::Execute(Mtx** pMtx) { current.pos.y = home.pos.y - 800.0f + (mCurObjNo + 1) * 25.0f; mCurObjNo++; if (!m2E4) { - if (m2DC <= (((home.pos.y * 25.0f) - 800.0f) + (mCurObjNo + 1) * 0.5f) && (mCurObjNo <= 20 || (mCurObjNo & 1) == 1)) { + if (m2DC <= (home.pos.y + ((25.0f * (mCurObjNo + 1)) - 800.0f) / 2.0f) && (mCurObjNo <= 20 || (mCurObjNo & 1) == 1)) { dComIfGp_getVibration().StartShock(1, -0x21, cXyz(0.0f, 1.0f, 0.0f)); m2E4 = true; } } + fopAcM_seStartCurrent(this, JA_SE_OBJ_SW_STAIR_ON_1, 0); + m2E0 = 0.0f; } - fopAcM_seStartCurrent(this, JA_SE_OBJ_SW_STAIR_ON_1, 0); - m2E0 = 0.0f; } else { - if (m2DC <= ((home.pos.y * 2.0f - 800.0f) + (mCurObjNo + 1) * 25.0f) * 0.5f) { + if (m2DC <= ((home.pos.y * 2.0f - 800.0f) + (mCurObjNo + 1) * 25.0f) / 2.0f) { mCurObjNo++; m2E0 = 0.0f; m2DC = home.pos.y; @@ -146,7 +144,7 @@ BOOL daObjMsdanSub::Act_c::Execute(Mtx** pMtx) { m2DC = home.pos.y; } if (mCurObjNo == prm_get_objNo() && !m2E4) { - if (m2DC <= (((home.pos.y * 25.0f) - 800.0f) + (mCurObjNo + 1) * 0.5f) && (mCurObjNo <= 20 || (mCurObjNo & 1) == 1)) { + if (m2DC <= (home.pos.y + ((25.0f * (mCurObjNo + 1)) - 800.0f) / 2.0f) && (mCurObjNo <= 20 || (mCurObjNo & 1) == 1)) { dComIfGp_getVibration().StartShock(1, -0x21, cXyz(0.0f, 1.0f, 0.0f)); m2E4 = true; }