From f449791a8acd4639546f3734d82ac9c50e2da385 Mon Sep 17 00:00:00 2001 From: LagoLunatic Date: Mon, 28 Jul 2025 18:58:36 -0400 Subject: [PATCH] Match knob00 for JPN, fix knob00 weak func order for all versions --- configure.py | 2 +- include/m_Do/m_Do_ext.h | 1 + src/d/actor/d_a_bst.cpp | 2 +- src/d/actor/d_a_dr2.cpp | 10 ++++------ src/d/actor/d_a_knob00.cpp | 18 +++++++++--------- 5 files changed, 16 insertions(+), 17 deletions(-) diff --git a/configure.py b/configure.py index 10c2cc521..d54383ec6 100755 --- a/configure.py +++ b/configure.py @@ -1375,7 +1375,7 @@ config.libs = [ ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_kaji"), ActorRel(NonMatching, "d_a_kanban", extra_cflags=['-pragma "nosyminline on"']), ActorRel(Matching, "d_a_ki", extra_cflags=['-pragma "nosyminline on"']), - ActorRel(NonMatching, "d_a_knob00", extra_cflags=['-pragma "nosyminline on"']), + ActorRel(Matching, "d_a_knob00"), ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_kui"), ActorRel(Matching, "d_a_kytag00"), ActorRel(Matching, "d_a_kytag01"), diff --git a/include/m_Do/m_Do_ext.h b/include/m_Do/m_Do_ext.h index e01c9768c..994f42490 100644 --- a/include/m_Do/m_Do_ext.h +++ b/include/m_Do/m_Do_ext.h @@ -109,6 +109,7 @@ STATIC_ASSERT(sizeof(mDoExt_brkAnm) == 0x18); class mDoExt_bckAnm : public mDoExt_baseAnm { public: mDoExt_bckAnm() { mAnm = NULL; } + virtual ~mDoExt_bckAnm() {} int init(J3DModelData * i_model, J3DAnmTransform* i_bck, int i_play, int i_attr, f32 i_rate, s16 i_startF, s16 i_endF1, bool i_modify); void changeBckOnly(J3DAnmTransform* i_bck); diff --git a/src/d/actor/d_a_bst.cpp b/src/d/actor/d_a_bst.cpp index fdef91f2e..c7140e25f 100644 --- a/src/d/actor/d_a_bst.cpp +++ b/src/d/actor/d_a_bst.cpp @@ -1486,7 +1486,7 @@ static void main_cont(bst_class* i_this) { break; case 1: if (!dComIfGs_isStageBossEnemy() || REG0_S(5) != 0) { - i_this->actor_status |= fopAcStts_SHOWMAP_e; + fopAcM_OnStatus(i_this, fopAcStts_SHOWMAP_e); if (dComIfGs_isStageBossDemo()) { i_this->field_0x2FE4 = 1; mDoAud_bgmStart(JA_BGM_BST_BATTLE); diff --git a/src/d/actor/d_a_dr2.cpp b/src/d/actor/d_a_dr2.cpp index 05dca7b2e..7a3f87bc8 100644 --- a/src/d/actor/d_a_dr2.cpp +++ b/src/d/actor/d_a_dr2.cpp @@ -288,7 +288,7 @@ void iwa_move(dr2_class* i_this) { } break; - case 1: + case 1: { i_this->unk_4A8.y += a_this->speed.y; a_this->speed.y -= REG0_F(2) + 10.0f; @@ -302,7 +302,7 @@ void iwa_move(dr2_class* i_this) { dComIfGp_getVibration().StartShock(REG0_S(2) + 5, -0x21, cXyz(0.0f, 1.0f, 0.0f)); } break; - + } case 2: i_this->unk_40A = 3; cLib_addCalc2(&i_this->unk_414, 2000.0f, 0.5f, 100.0f); @@ -364,7 +364,7 @@ void iwa_move(dr2_class* i_this) { } break; - case 10: + case 10: { i_this->unk_4BA++; iwa_hahen_s* fragment = &i_this->mRockFragments[0]; @@ -381,7 +381,7 @@ void iwa_move(dr2_class* i_this) { MtxPosition(&sp58, &fragment->unk_14); } } - + } case 11: i_this->unk_40A = 0; break; @@ -453,8 +453,6 @@ void move(dr2_class* i_this) { fopAc_ac_c* a_this = &i_this->actor; daPy_py_c* player = (daPy_py_c*)dComIfGp_getPlayer(0); fopAc_ac_c* foundActor = fopAcM_SearchByID(i_this->unk_3FC); - s16 atan; - f32 atanF; if (i_this->unk_40A == 3) { for (s32 i = 2; i < 12; i++) { diff --git a/src/d/actor/d_a_knob00.cpp b/src/d/actor/d_a_knob00.cpp index fadbd7d4d..9408c98b0 100644 --- a/src/d/actor/d_a_knob00.cpp +++ b/src/d/actor/d_a_knob00.cpp @@ -15,7 +15,7 @@ #include "d/d_com_inf_game.h" #include "ctype.h" -static const char daKnob00_c::M_arcname[] = "knob"; +const char daKnob00_c::M_arcname[] = "knob"; /* 00000078-000000B4 .text daKnob00_charactorExchange__FPc */ void daKnob00_charactorExchange(char* password) { @@ -34,7 +34,7 @@ static BOOL CheckCreateHeap(fopAc_ac_c* a_this) { /* 000000D4-000003B8 .text CreateHeap__10daKnob00_cFv */ BOOL daKnob00_c::CreateHeap() { J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(M_arcname, KNOB_BDL_DOOR); - JUT_ASSERT(DEMO_SELECT(145, 163), modelData != NULL); + JUT_ASSERT(VERSION_SELECT(145, 145, 163, 163), modelData != NULL); mpModel = mDoExt_J3DModel__create(modelData, 0, 0x11020203); @@ -62,7 +62,7 @@ BOOL daKnob00_c::CreateHeap() { } m_jnt = modelData->getJointName()->getIndex("DoorDummy"); - JUT_ASSERT(DEMO_SELECT(169, 187), m_jnt >= 0); + JUT_ASSERT(VERSION_SELECT(169, 169, 187, 187), m_jnt >= 0); s32 fileIndex; switch (getShapeType()) { @@ -164,7 +164,7 @@ s32 daKnob00_c::chkPassward() { char acStack_24[17]; char acStack_38[17]; -#if VERSION == VERSION_DEMO +#if VERSION <= VERSION_JPN char* password = dComIfGp_getInputPassword(); #else strcpy(acStack_24, dComIfGp_getInputPassword()); @@ -176,12 +176,12 @@ s32 daKnob00_c::chkPassward() { s32 uVar3 = dComIfGs_getEventReg(0xba0f); fopMsgM_passwordGet(acStack_38, uVar3 + 0x1b37); -#if VERSION > VERSION_DEMO +#if VERSION > VERSION_JPN daKnob00_charactorExchange(acStack_38); daKnob00_charactorExchange(acStack_24); #endif -#if VERSION == VERSION_DEMO +#if VERSION <= VERSION_JPN if (strcmp(acStack_38, password) != 0) { #else if (strcmp(acStack_38, acStack_24) != 0) { @@ -214,7 +214,7 @@ void daKnob00_c::openInit(int arg1) { J3DModelData* modelData = mpModel->getModelData(); s32 iVar2 = mBckAnm.init(modelData, (J3DAnmTransform*)dComIfG_getObjectRes(M_arcname, bck_table[arg1]), true, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1, true); if (iVar2 == 0) { - JUT_ASSERT(DEMO_SELECT(382, 396), FALSE); + JUT_ASSERT(VERSION_SELECT(382, 382, 396, 396), FALSE); } openInitCom(0); @@ -277,7 +277,7 @@ BOOL daKnob00_c::openProc(int arg1) { void daKnob00_c::openEnd() { offFlag(1); bool rt = dComIfG_Bgsp()->Regist(mpBgW, this); - JUT_ASSERT(DEMO_SELECT(473, 487), !rt); + JUT_ASSERT(VERSION_SELECT(473, 473, 487, 487), !rt); dComIfGp_map_clrAGBMapSendStopFlg(); closeEndCom(); @@ -882,7 +882,7 @@ BOOL daKnob00_c::execute() { break; default: - JUT_ASSERT(DEMO_SELECT(1169, 1183), FALSE); + JUT_ASSERT(VERSION_SELECT(1169, 1169, 1183, 1183), FALSE); break; }