diff --git a/configure.py b/configure.py index 3a7aaf6bf..e6dec30e3 100755 --- a/configure.py +++ b/configure.py @@ -1353,7 +1353,7 @@ config.libs = [ ActorRel(NonMatching, "d_a_kanban"), ActorRel(NonMatching, "d_a_ki"), ActorRel(NonMatching, "d_a_knob00"), - ActorRel(Matching, "d_a_kui"), + ActorRel(Matching, "d_a_kui"), ActorRel(Matching, "d_a_kytag00"), ActorRel(Matching, "d_a_kytag01"), ActorRel(NonMatching, "d_a_kytag02"), @@ -1390,7 +1390,7 @@ config.libs = [ ActorRel(NonMatching, "d_a_obj_leaves"), ActorRel(NonMatching, "d_a_obj_lpalm"), ActorRel(Matching, "d_a_obj_monument"), - ActorRel(Equivalent, "d_a_obj_movebox", extra_cflags=['-pragma "nosyminline on"']), # weak func order + ActorRel(Matching, "d_a_obj_movebox", extra_cflags=['-pragma "nosyminline on"']), ActorRel(NonMatching, "d_a_obj_mshokki"), ActorRel(NonMatching, "d_a_obj_ohatch"), ActorRel(NonMatching, "d_a_obj_otble"), @@ -1463,7 +1463,7 @@ config.libs = [ ActorRel(NonMatching, "d_a_gy_ctrl"), ActorRel(NonMatching, "d_a_himo3"), ActorRel(NonMatching, "d_a_hmlif"), - ActorRel(Equivalent, "d_a_hys", extra_cflags=['-pragma "nosyminline on"']), # weak func order + ActorRel(Matching, "d_a_hys", extra_cflags=['-pragma "nosyminline on"']), ActorRel(NonMatching, "d_a_kamome"), ActorRel(NonMatching, "d_a_kantera"), ActorRel(NonMatching, "d_a_kn"), @@ -1485,7 +1485,7 @@ config.libs = [ ActorRel(NonMatching, "d_a_obj_majyuu_door"), ActorRel(NonMatching, "d_a_obj_stair"), ActorRel(NonMatching, "d_a_obj_swflat"), - ActorRel(Equivalent, "d_a_obj_swhammer"), # weak func order + ActorRel(Matching, "d_a_obj_swhammer", extra_cflags=['-pragma "nosyminline on"']), ActorRel(Matching, "d_a_obj_swheavy"), ActorRel(NonMatching, "d_a_obj_swlight"), ActorRel(NonMatching, "d_a_oq"), @@ -1547,7 +1547,7 @@ config.libs = [ ActorRel(NonMatching, "d_a_icelift"), ActorRel(NonMatching, "d_a_kb"), ActorRel(NonMatching, "d_a_kddoor"), - ActorRel(Matching, "d_a_kita", extra_cflags=['-pragma "sym off"']), + ActorRel(Matching, "d_a_kita", extra_cflags=['-pragma "sym off"']), ActorRel(NonMatching, "d_a_klft"), ActorRel(NonMatching, "d_a_kmon"), ActorRel(Matching, "d_a_komore", extra_cflags=['-pragma "nosyminline on"']), @@ -1637,7 +1637,7 @@ config.libs = [ ActorRel(Matching, "d_a_obj_eayogn"), ActorRel(Matching, "d_a_obj_ebomzo", extra_cflags=['-pragma "nosyminline on"']), ActorRel(NonMatching, "d_a_obj_ekskz"), - ActorRel(Equivalent, "d_a_obj_eskban", extra_cflags=['-pragma "nosyminline on"']), # weak func order + ActorRel(Matching, "d_a_obj_eskban", extra_cflags=['-pragma "nosyminline on"']), ActorRel(Matching, "d_a_obj_ferris", extra_cflags=['-pragma "nosyminline on"']), ActorRel(NonMatching, "d_a_obj_figure", extra_cflags=['-pragma "nosyminline on"']), ActorRel(NonMatching, "d_a_obj_firewall"), @@ -1666,7 +1666,7 @@ config.libs = [ ActorRel(Matching, "d_a_obj_iceisland", extra_cflags=['-pragma "nosyminline on"']), ActorRel(NonMatching, "d_a_obj_jump"), ActorRel(NonMatching, "d_a_obj_kanoke"), - ActorRel(Equivalent, "d_a_obj_ladder", extra_cflags=['-pragma "nosyminline on"']), # weak func order + ActorRel(Matching, "d_a_obj_ladder", extra_cflags=['-pragma "nosyminline on"']), ActorRel(NonMatching, "d_a_obj_light"), ActorRel(NonMatching, "d_a_obj_mkie"), ActorRel(NonMatching, "d_a_obj_mkiek"), @@ -1676,7 +1676,7 @@ config.libs = [ ActorRel(NonMatching, "d_a_obj_msdan2"), ActorRel(NonMatching, "d_a_obj_msdan_sub"), ActorRel(NonMatching, "d_a_obj_msdan_sub2"), - ActorRel(Equivalent, "d_a_obj_mtest", extra_cflags=['-pragma "nosyminline on"']), # weak func order + ActorRel(Matching, "d_a_obj_mtest", extra_cflags=['-pragma "nosyminline on"']), ActorRel(NonMatching, "d_a_obj_nest"), ActorRel(Matching, "d_a_obj_ojtree"), ActorRel(NonMatching, "d_a_obj_ospbox"), diff --git a/include/d/actor/d_a_hys.h b/include/d/actor/d_a_hys.h index 38f30e68f..5b2097c93 100644 --- a/include/d/actor/d_a_hys.h +++ b/include/d/actor/d_a_hys.h @@ -2,8 +2,6 @@ #define D_A_HYS_H #include "d/d_bg_s_movebg_actor.h" -#include "d/d_cc_d.h" -#include "m_Do/m_Do_ext.h" class daHys_c : public dBgS_MoveBgActor { public: diff --git a/include/d/actor/d_a_obj_eskban.h b/include/d/actor/d_a_obj_eskban.h index 8197c71e4..2edebc5ec 100644 --- a/include/d/actor/d_a_obj_eskban.h +++ b/include/d/actor/d_a_obj_eskban.h @@ -1,11 +1,7 @@ #ifndef D_A_OBJ_ESKBAN_H #define D_A_OBJ_ESKBAN_H -#include "f_op/f_op_actor.h" - -#include "d/d_a_obj.h" #include "d/d_bg_s_movebg_actor.h" -#include "d/d_particle.h" namespace daObjEskban { diff --git a/include/d/actor/d_a_obj_ladder.h b/include/d/actor/d_a_obj_ladder.h index 04568d661..b76b9eb64 100644 --- a/include/d/actor/d_a_obj_ladder.h +++ b/include/d/actor/d_a_obj_ladder.h @@ -1,10 +1,8 @@ #ifndef D_A_OBJ_LADDER_H #define D_A_OBJ_LADDER_H -#include "d/d_a_obj.h" -#include "d/d_bg_s_gnd_chk.h" #include "d/d_bg_s_movebg_actor.h" -#include "f_op/f_op_actor.h" +#include "d/d_bg_s_gnd_chk.h" namespace daObjLadder { enum Type_e { diff --git a/include/d/actor/d_a_obj_movebox.h b/include/d/actor/d_a_obj_movebox.h index cd6b5337b..ac8553558 100644 --- a/include/d/actor/d_a_obj_movebox.h +++ b/include/d/actor/d_a_obj_movebox.h @@ -1,14 +1,13 @@ #ifndef D_A_OBJ_MOVEBOX_H #define D_A_OBJ_MOVEBOX_H -#include "d/d_a_obj.h" #include "d/d_bg_s_movebg_actor.h" #include "d/d_bg_s_gnd_chk.h" #include "d/d_bg_s_wtr_chk.h" #include "d/d_bg_s_lin_chk.h" -#include "d/d_particle.h" #include "d/d_bg_w.h" -#include "d/d_path.h" + +struct dPath; namespace daObjMovebox { class Act_c; diff --git a/include/d/actor/d_a_obj_mtest.h b/include/d/actor/d_a_obj_mtest.h index ce0b9d365..222359f62 100644 --- a/include/d/actor/d_a_obj_mtest.h +++ b/include/d/actor/d_a_obj_mtest.h @@ -1,10 +1,7 @@ #ifndef D_A_OBJ_MTEST_H #define D_A_OBJ_MTEST_H -#include "f_op/f_op_actor.h" #include "d/d_bg_s_movebg_actor.h" -#include "d/d_cc_d.h" -#include "d/d_a_obj.h" namespace daObjMtest { class Act_c : public dBgS_MoveBgActor { diff --git a/include/d/actor/d_a_obj_swhammer.h b/include/d/actor/d_a_obj_swhammer.h index f89b81614..362e47399 100644 --- a/include/d/actor/d_a_obj_swhammer.h +++ b/include/d/actor/d_a_obj_swhammer.h @@ -1,9 +1,7 @@ #ifndef D_A_OBJ_SWHAMMER_H #define D_A_OBJ_SWHAMMER_H -#include "d/d_a_obj.h" #include "d/d_bg_s_movebg_actor.h" -#include "d/d_particle.h" class J3DNode; diff --git a/include/d/d_bg_s_movebg_actor.h b/include/d/d_bg_s_movebg_actor.h index 503b455b2..5278a24a3 100644 --- a/include/d/d_bg_s_movebg_actor.h +++ b/include/d/d_bg_s_movebg_actor.h @@ -3,6 +3,13 @@ #include "SSystem/SComponent/c_bg_s_poly_info.h" #include "f_op/f_op_actor.h" +// Fakematch to fix weak func order/.text section splitting of some TUs that include this header. +// Some affected TUs: d_a_hys, d_a_obj_swhammer, d_a_obj_eskban, d_a_obj_mtest, d_a_obj_movebox. +#pragma push +#pragma sym off +#include "d/d_a_obj.h" +#include "d/d_particle.h" +#pragma pop class dBgW; typedef void (*MoveBGActor_SetFunc)(dBgW*, void*, cBgS_PolyInfo&, bool, cXyz*, csXyz*, csXyz*); diff --git a/src/d/actor/d_a_hys.cpp b/src/d/actor/d_a_hys.cpp index bf7842afb..b92f6652e 100644 --- a/src/d/actor/d_a_hys.cpp +++ b/src/d/actor/d_a_hys.cpp @@ -222,6 +222,9 @@ static BOOL daHys_Draw(void* i_this) { return ((daHys_c*)i_this)->MoveBGDraw(); } +// Fakematch to fix weak func order/.text section splitting of dBgS_MoveBgActor::Draw(). +#pragma nosyminline off + /* 00000C08-00000C28 .text daHys_Execute__FPv */ static BOOL daHys_Execute(void* i_this) { return ((daHys_c*)i_this)->MoveBGExecute(); diff --git a/src/d/actor/d_a_obj_eskban.cpp b/src/d/actor/d_a_obj_eskban.cpp index e3e62b277..fd4d8f734 100644 --- a/src/d/actor/d_a_obj_eskban.cpp +++ b/src/d/actor/d_a_obj_eskban.cpp @@ -3,10 +3,10 @@ // Translation Unit: d_a_obj_eskban.cpp // -#include "d/d_procname.h" -#include "d/d_com_inf_game.h" #include "d/actor/d_a_obj_eskban.h" #include "d/res/res_eskban.h" +#include "d/d_procname.h" +#include "d/d_com_inf_game.h" #include "f_op/f_op_actor_mng.h" #include "weak_bss_936_to_1036.h" // IWYU pragma: keep @@ -408,6 +408,9 @@ BOOL Mthd_Draw(void* i_this) { return ((Act_c*)i_this)->MoveBGDraw(); } +// Fakematch to fix weak func order/.text section splitting of dBgS_MoveBgActor::Draw(). +#pragma nosyminline off + /* 00001540-0000156C .text Mthd_IsDelete__Q211daObjEskban28@unnamed@d_a_obj_eskban_cpp@FPv */ BOOL Mthd_IsDelete(void* i_this) { return ((Act_c*)i_this)->MoveBGIsDelete(); diff --git a/src/d/actor/d_a_obj_ladder.cpp b/src/d/actor/d_a_obj_ladder.cpp index af2e1eb90..fef65c853 100644 --- a/src/d/actor/d_a_obj_ladder.cpp +++ b/src/d/actor/d_a_obj_ladder.cpp @@ -323,6 +323,9 @@ static BOOL Mthd_Draw(void* i_this) { return static_cast(i_this)->MoveBGDraw(); } +// Fakematch to fix weak func order/.text section splitting of dBgS_MoveBgActor::Draw(). +#pragma nosyminline off + /* 000011CC-000011F8 .text Mthd_IsDelete__Q211daObjLadder28@unnamed@d_a_obj_ladder_cpp@FPv */ static BOOL Mthd_IsDelete(void* i_this) { return static_cast(i_this)->MoveBGIsDelete(); diff --git a/src/d/actor/d_a_obj_movebox.cpp b/src/d/actor/d_a_obj_movebox.cpp index 7fd1e8929..8ba9a4af0 100644 --- a/src/d/actor/d_a_obj_movebox.cpp +++ b/src/d/actor/d_a_obj_movebox.cpp @@ -3,12 +3,6 @@ * Object - Pushable Box */ -#include "global.h" -#include "d/d_procname.h" - -#include "weak_bss_936_to_1036.h" // IWYU pragma: keep -#include "weak_data_1811.h" // IWYU pragma: keep - #include "d/actor/d_a_obj_movebox.h" #include "d/res/res_ecube.h" #include "d/res/res_hbox2.h" @@ -17,6 +11,7 @@ #include "d/res/res_mmirror.h" #include "d/res/res_mpwrb.h" #include "d/res/res_osiblk.h" +#include "d/d_path.h" #include "d/d_cc_d.h" #include "d/d_procname.h" #include "JSystem/JUtility/JUTAssert.h" @@ -28,6 +23,9 @@ #include "d/actor/d_a_obj_mkie.h" #include "d/actor/d_a_player.h" +#include "weak_bss_936_to_1036.h" // IWYU pragma: keep +#include "weak_data_1811.h" // IWYU pragma: keep + namespace daObjMovebox { dBgS_ObjGndChk Bgc_c::M_gnd_work[23]; dBgS_WtrChk Bgc_c::M_wrt_work; @@ -1894,6 +1892,10 @@ namespace daObjMovebox { cPhs_State Mthd_Create(void* i_this) { return static_cast(i_this)->Mthd_Create(); } + +// Fakematch to fix weak func order/.text section splitting of daObjMovebox::EffSmokeCB's ctor and dtor. +// Also fixes weak func order/.text section splitting of dBgS_MoveBgActor::Draw(). +#pragma nosyminline off /* 000044E0-00004544 .text Mthd_Delete__Q212daObjMovebox29@unnamed@d_a_obj_movebox_cpp@FPv */ BOOL Mthd_Delete(void* i_this) { diff --git a/src/d/actor/d_a_obj_mtest.cpp b/src/d/actor/d_a_obj_mtest.cpp index a9a5356fc..1fc1ef758 100644 --- a/src/d/actor/d_a_obj_mtest.cpp +++ b/src/d/actor/d_a_obj_mtest.cpp @@ -366,6 +366,9 @@ namespace daObjMtest { return ((Act_c*)i_this)->MoveBGDraw(); } +// Fakematch to fix weak func order/.text section splitting of dBgS_MoveBgActor::Draw(). +#pragma nosyminline off + BOOL Mthd_IsDelete(void* i_this) { return ((Act_c*)i_this)->MoveBGIsDelete(); } diff --git a/src/d/actor/d_a_obj_swhammer.cpp b/src/d/actor/d_a_obj_swhammer.cpp index cf9e21866..dd9274188 100644 --- a/src/d/actor/d_a_obj_swhammer.cpp +++ b/src/d/actor/d_a_obj_swhammer.cpp @@ -461,6 +461,9 @@ BOOL Mthd_Draw(void* i_this) { return static_cast(i_this)->MoveBGDraw(); } +// Fakematch to fix weak func order/.text section splitting of dBgS_MoveBgActor::Draw(). +#pragma nosyminline off + /* 000015F4-00001620 .text Mthd_IsDelete__Q213daObjSwhammer30@unnamed@d_a_obj_swhammer_cpp@FPv */ BOOL Mthd_IsDelete(void* i_this) { return static_cast(i_this)->MoveBGIsDelete(); diff --git a/src/d/actor/d_a_player_main.cpp b/src/d/actor/d_a_player_main.cpp index 94d9e2e9a..4093ebe19 100644 --- a/src/d/actor/d_a_player_main.cpp +++ b/src/d/actor/d_a_player_main.cpp @@ -16,6 +16,7 @@ #include "d/d_com_inf_game.h" #include "d/d_com_lib_game.h" #include "d/d_kankyo_wether.h" +#include "d/d_path.h" #include "d/d_procname.h" #include "d/d_kankyo.h" #include "JSystem/JKernel/JKRSolidHeap.h"