diff --git a/configure.py b/configure.py index 78cdb7cb499..a6c04441e2c 100755 --- a/configure.py +++ b/configure.py @@ -1837,7 +1837,7 @@ config.libs = [ ActorRel(NonMatching, "d_a_mg_fshop"), ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_mirror"), ActorRel(NonMatching, "d_a_movie_player", extra_cflags=["-O3,p"]), - ActorRel(Equivalent, "d_a_myna"), # weird missing function issue + ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_myna"), ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_ni"), ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_aru"), ActorRel(NonMatching, "d_a_npc_ash", extra_cflags=[DANPCF_C_HACK]), # weak func order diff --git a/src/d/actor/d_a_myna.cpp b/src/d/actor/d_a_myna.cpp index 04ec9c82219..b80f860081c 100644 --- a/src/d/actor/d_a_myna.cpp +++ b/src/d/actor/d_a_myna.cpp @@ -1291,7 +1291,10 @@ void daMyna_c::deleteItem(int i_itemIndex) { mShopItems[i_itemIndex].mItemStatus = 4; } -// this seems to be missing in the final REL?? +// For some reason, this function needs to be force active or the linker strips it out. +#pragma push +#pragma force_active on + /* 80949144-80949190 0035C4 004C+00 0/0 0/0 0/0 .text deleteItem__8daMyna_cFUi */ void daMyna_c::deleteItem(fpc_ProcID i_itemId) { for (int i = 0; i < mNumShopItems; i++) { @@ -1302,6 +1305,8 @@ void daMyna_c::deleteItem(fpc_ProcID i_itemId) { } } +#pragma pop + /* 80949190-80949408 003610 0278+00 1/1 0/0 0/0 .text initiate__8daMyna_cFv */ void daMyna_c::initiate() { for (int i = 0; i < 10; i++) {