From 5b4def820a9f481c0a7c2a9cc544fdd6a13b9192 Mon Sep 17 00:00:00 2001 From: TakaRikka Date: Wed, 12 Aug 2026 15:02:33 -0700 Subject: [PATCH] couple fixes --- include/d/actor/d_a_tbox2.h | 1 + src/d/actor/d_a_tbox2.cpp | 13 ++++++++----- src/dusk/mods/item_gives.cpp | 2 +- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/include/d/actor/d_a_tbox2.h b/include/d/actor/d_a_tbox2.h index 56a5a48411..9b06e685a3 100644 --- a/include/d/actor/d_a_tbox2.h +++ b/include/d/actor/d_a_tbox2.h @@ -84,6 +84,7 @@ private: /* 0xAC4 */ int mStaffIdx; /* 0xAC8 */ dBgW* mBoxBgW; #if TARGET_PC + bool mParamsInit; u8 mOriginalItemNo; #endif }; diff --git a/src/d/actor/d_a_tbox2.cpp b/src/d/actor/d_a_tbox2.cpp index 4b83317092..54c3e3135e 100644 --- a/src/d/actor/d_a_tbox2.cpp +++ b/src/d/actor/d_a_tbox2.cpp @@ -139,11 +139,14 @@ int daTbox2_c::create1st() { mModelType = getModelType(); #if TARGET_PC - mOriginalItemNo = getItemNo(); - int tboxNo = fopAcM_GetParamBit(this, 16, 8); - const u8 resolvedItem = dusk::mods::item_check_chest(tboxNo, mOriginalItemNo, this); - u32 params = (fopAcM_GetParam(this) & 0xFFFFFF00) | resolvedItem; - fopAcM_SetParam(this, params); + if (!mParamsInit) { + mOriginalItemNo = getItemNo(); + int tboxNo = fopAcM_GetParamBit(this, 16, 8); + const u8 resolvedItem = dusk::mods::item_check_chest(tboxNo, mOriginalItemNo, this); + u32 params = (fopAcM_GetParam(this) & 0xFFFFFF00) | resolvedItem; + fopAcM_SetParam(this, params); + mParamsInit = true; + } #endif int phase_state = dComIfG_resLoad(&mPhase, l_arcName); diff --git a/src/dusk/mods/item_gives.cpp b/src/dusk/mods/item_gives.cpp index 7610adc276..bfe92d3cff 100644 --- a/src/dusk/mods/item_gives.cpp +++ b/src/dusk/mods/item_gives.cpp @@ -171,7 +171,7 @@ void dispatch_demo_give() { daAlink_c* link = daAlink_getAlinkActorClass(); dComIfGp_getEvent()->setGtItm(s_inFlightItem); - link->mProcID = daAlink_c::PROC_GET_ITEM; + link->procCoGetItemInit(); const s16 eventIndex = dComIfGp_getEventManager().getEventIdx(link, "DEFAULT_GETITEM", 0xFF); fopAcM_orderChangeEventId(link, eventIndex, 1, 0xFFFF); }