From d8da4fc5f2f159f2ea3386d7018e61629759bc09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Lam?= Date: Mon, 28 Sep 2026 03:39:30 +0200 Subject: [PATCH] Actor: PlayerInfo/PlayerBase are game, GameConfig ksys Every decomp user of PlayerInfo is game code, and PlayerBase sits right above Player. GameConfig.h models the engine base that links at GameConfig's slot in KingSystem/System. (AI assisted using Claude Fable 5.1 and Claude Opus 5.5) --- data/data_symbols.csv | 3 +- data/uking_functions.csv | 484 +++++++++--------- src/Game/Actor/Player/CMakeLists.txt | 9 + src/Game/Actor/Player/actPlayerBase.cpp | 1 + .../Actor/Player}/actPlayerBase.h | 6 +- .../Actor/Player}/actPlayerInfo.cpp | 36 +- .../Actor/Player}/actPlayerInfo.h | 19 +- .../Actor/Player}/actPlayerInfoBase.cpp | 6 +- .../Actor/Player}/actPlayerInfoStub.cpp | 6 +- .../Actor/Query/queryComparePlayerHeart.cpp | 4 +- .../Query/queryComparePlayerMaxHeart.cpp | 4 +- .../Query/queryComparePlayerMaxStamina.cpp | 4 +- .../Query/queryComparePlayerOriginalHeart.cpp | 4 +- src/Game/Actor/actPlayerCreateMgr.cpp | 8 +- src/Game/UI/uiPauseMenuDataMgr.cpp | 10 +- src/KingSystem/ActorSystem/CMakeLists.txt | 6 - .../ActorSystem/Profiles/actPlayerBase.cpp | 1 - src/KingSystem/System/CMakeLists.txt | 1 + .../{Framework => System}/GameConfig.h | 4 + src/KingSystem/System/Patrol.cpp | 2 +- src/KingSystem/System/StarterPackMgr.h | 2 +- 21 files changed, 316 insertions(+), 304 deletions(-) create mode 100644 src/Game/Actor/Player/actPlayerBase.cpp rename src/{KingSystem/ActorSystem/Profiles => Game/Actor/Player}/actPlayerBase.h (79%) rename src/{KingSystem/ActorSystem => Game/Actor/Player}/actPlayerInfo.cpp (72%) rename src/{KingSystem/ActorSystem => Game/Actor/Player}/actPlayerInfo.h (90%) rename src/{KingSystem/ActorSystem => Game/Actor/Player}/actPlayerInfoBase.cpp (67%) rename src/{KingSystem/ActorSystem => Game/Actor/Player}/actPlayerInfoStub.cpp (86%) delete mode 100644 src/KingSystem/ActorSystem/Profiles/actPlayerBase.cpp rename src/KingSystem/{Framework => System}/GameConfig.h (88%) diff --git a/data/data_symbols.csv b/data/data_symbols.csv index 3b6afbba..4ecede68 100644 --- a/data/data_symbols.csv +++ b/data/data_symbols.csv @@ -27,7 +27,7 @@ 0x00000071025129E0,_ZTVN4ksys3act2ai6ActionE 0x0000007102513268,_ZTVN4ksys3act2ai2AiE 0x00000071025C5A20,_ZN5uking3act25CreatePlayerEquipActorMgr9sInstanceE -0x00000071025CDB60,_ZN4ksys3act10PlayerInfo9sInstanceE +0x00000071025CDB60,_ZN5uking3act10PlayerInfo9sInstanceE 0x00000071025D0878,_ZN5uking10CookingMgr9sInstanceE 0x00000071025D75B8,_ZN5uking2ui16PauseMenuDataMgr9sInstanceE 0x00000071025F75B0,pfnc_nvnDeviceBuilderSetDefaults @@ -518,4 +518,5 @@ 0x00000071025FC950,_ZN6xlink27Locator16sDataLoadedCountE 0x0000007102606910,_ZN4ksys12SystemTimers9sInstanceE 0x000000710261EB90,_ZN4ksys2ui17LayoutResourceMgr9sInstanceE +0x000000710261F100,_ZN4ksys10GameConfig12sInstancePtrE 0x0000007102650608,_ZN4ksys3act11BaseProcMgr9sInstanceE diff --git a/data/uking_functions.csv b/data/uking_functions.csv index 56d77c07..e81f0659 100644 --- a/data/uking_functions.csv +++ b/data/uking_functions.csv @@ -46743,7 +46743,7 @@ Address,Quality,Size,Name 0x000000710072b7c4,U,000104, 0x000000710072b82c,U,000048,getPlayerPosition 0x000000710072b85c,U,000108,getPlayerPositionViaPlayerInfo -0x000000710072b8c8,U,000028,PlayerInfo::getSomeProcLink +0x000000710072b8c8,U,000028,uking::act::PlayerInfo::getSomeProcLink 0x000000710072b8e4,U,000004, 0x000000710072b8e8,U,000424, 0x000000710072ba90,U,000152,Actor::getDamageMgrDerived @@ -51750,14 +51750,14 @@ Address,Quality,Size,Name 0x0000007100848434,W,000104,_ZN5uking2ai14PlayerZoraRideD0Ev 0x000000710084849c,U,000004,nullsub_5410 0x00000071008484a0,U,000404,sinitPlayerEquipStrings -0x0000007100848634,U,001724,PlayerBase::ctor -0x0000007100848cf0,U,000392,PlayerBase::dtor +0x0000007100848634,U,001724,uking::act::PlayerBase::ctor +0x0000007100848cf0,U,000392,uking::act::PlayerBase::dtor 0x0000007100848e78,U,000008, 0x0000007100848e80,U,000008, -0x0000007100848e88,U,000036,PlayerBase::dtorDelete +0x0000007100848e88,U,000036,uking::act::PlayerBase::dtorDelete 0x0000007100848eac,U,000040, 0x0000007100848ed4,U,000040, -0x0000007100848efc,U,000020,PlayerBase::getEquipmentTypeName +0x0000007100848efc,U,000020,uking::act::PlayerBase::getEquipmentTypeName 0x0000007100848f10,U,000036,Player::isSlowTime 0x0000007100848f34,U,000012,Player::x_51 0x0000007100848f40,U,000012, @@ -51766,9 +51766,9 @@ Address,Quality,Size,Name 0x0000007100848f5c,U,000012, 0x0000007100848f68,U,000028, 0x0000007100848f84,U,000028, -0x0000007100848fa0,U,000100,PlayerBase::m239 +0x0000007100848fa0,U,000100,uking::act::PlayerBase::m239 0x0000007100849004,U,000100,PlayerLinkBase::m39 -0x0000007100849068,U,000108,PlayerBase::m240 +0x0000007100849068,U,000108,uking::act::PlayerBase::m240 0x00000071008490d4,U,000112,PlayerLinkBase::m40 0x0000007100849144,U,000084,motorcycleControllerAPressedMaybe 0x0000007100849198,U,000432, @@ -51782,15 +51782,15 @@ Address,Quality,Size,Name 0x00000071008494c0,U,000008, 0x00000071008494c8,U,000028, 0x00000071008494e4,U,000076, -0x0000007100849530,U,000080,PlayerBase::m266 -0x0000007100849580,U,003456,_ZN4ksys3act10PlayerBase15switchEquipmentERKN4sead14SafeStringBaseIcEEiiRKm +0x0000007100849530,U,000080,uking::act::PlayerBase::m266 +0x0000007100849580,U,003456,_ZN5uking3act10PlayerBase15switchEquipmentERKN4sead14SafeStringBaseIcEEiiRKm 0x000000710084a300,U,000624, 0x000000710084a570,U,000112, 0x000000710084a5e0,U,000040, 0x000000710084a608,U,000176, 0x000000710084a6b8,U,000024, -0x000000710084a6d0,U,000348,PlayerBase::m293 -0x000000710084a82c,U,000348,PlayerBase::m294 +0x000000710084a6d0,U,000348,uking::act::PlayerBase::m293 +0x000000710084a82c,U,000348,uking::act::PlayerBase::m294 0x000000710084a988,U,000132,Player::x_48 0x000000710084aa0c,U,000144, 0x000000710084aa9c,U,000060, @@ -51803,7 +51803,7 @@ Address,Quality,Size,Name 0x000000710084ae08,U,000112,Player::setStaminaDelta 0x000000710084ae78,U,000128, 0x000000710084aef8,U,000048, -0x000000710084af28,U,000060,PlayerBase::m308 +0x000000710084af28,U,000060,uking::act::PlayerBase::m308 0x000000710084af64,U,000052,PlayerLinkBase::m72 0x000000710084af98,U,001156,Player::x_1 0x000000710084b41c,U,000356,Player::x_28 @@ -51824,7 +51824,7 @@ Address,Quality,Size,Name 0x000000710084b9f0,U,000080, 0x000000710084ba40,U,000080, 0x000000710084ba90,U,000076, -0x000000710084badc,U,000524,PlayerBase::isGroundForEvent +0x000000710084badc,U,000524,uking::act::PlayerBase::isGroundForEvent 0x000000710084bce8,U,000080,Player::x_2 0x000000710084bd38,U,000008,PlayerLinkBase::isGroundForEvent 0x000000710084bd40,U,000004,j_Actor::x_52 @@ -51843,10 +51843,10 @@ Address,Quality,Size,Name 0x000000710084c7b4,U,000304,Player::checkCanUseCamera 0x000000710084c8e4,U,000064,Player::checkCanUseMotorcycle 0x000000710084c924,U,000064,Player::checkCanUseAmiibo -0x000000710084c964,U,000128,PlayerBase::m223 +0x000000710084c964,U,000128,uking::act::PlayerBase::m223 0x000000710084c9e4,U,000128,PlayerLinkBase::m44 0x000000710084ca64,U,000300,isPlayingBeastGanonDeadEventFlow -0x000000710084cb90,U,000040,PlayerBase::isRidingHorse +0x000000710084cb90,U,000040,uking::act::PlayerBase::isRidingHorse 0x000000710084cbb8,U,000044,PlayerLinkBase::m18 0x000000710084cbe4,U,000220, 0x000000710084ccc0,U,000028,Player::runeMgrCheckCanUseRoundBomb @@ -51860,17 +51860,17 @@ Address,Quality,Size,Name 0x000000710084cdd4,U,000024, 0x000000710084cdec,U,000024, 0x000000710084ce04,U,000024, -0x000000710084ce1c,U,000032,PlayerBase::m349 +0x000000710084ce1c,U,000032,uking::act::PlayerBase::m349 0x000000710084ce3c,U,000032,PlayerLinkBase::getPlayerPosForPostCalc -0x000000710084ce5c,U,000020,PlayerBase::x_1 -0x000000710084ce70,U,000048,PlayerBase::m317 +0x000000710084ce5c,U,000020,uking::act::PlayerBase::x_1 +0x000000710084ce70,U,000048,uking::act::PlayerBase::m317 0x000000710084cea0,U,000052,PlayerLinkBase::m77 -0x000000710084ced4,U,000036,PlayerBase::getX +0x000000710084ced4,U,000036,uking::act::PlayerBase::getX 0x000000710084cef8,U,000044, 0x000000710084cf24,U,000080, 0x000000710084cf74,U,000040, 0x000000710084cf9c,U,000088, -0x000000710084cff4,U,000040,PlayerBase::m92 +0x000000710084cff4,U,000040,uking::act::PlayerBase::m92 0x000000710084d01c,U,000076,ActorAccessor::getPlayerFromPlayerInfo 0x000000710084d068,U,000032, 0x000000710084d088,U,000168,act::acc::PlayerBase::x @@ -52008,183 +52008,183 @@ Address,Quality,Size,Name 0x000000710084f410,U,000164,act::acc::PlayerBase::x_43 0x000000710084f4b4,U,000044,act::acc::PlayerBase::m231 0x000000710084f4e0,U,000040,act::acc::PlayerBase::x_44 -0x000000710084f508,U,000056,PlayerBase::m356 +0x000000710084f508,U,000056,uking::act::PlayerBase::m356 0x000000710084f540,U,000056,PlayerLinkBase::getPlayer -0x000000710084f578,U,000016,PlayerBase::m355 +0x000000710084f578,U,000016,uking::act::PlayerBase::m355 0x000000710084f588,U,000016,PlayerLinkBase::getActorViaAccessor -0x000000710084f598,U,000132,PlayerBase::rtti1 -0x000000710084f61c,U,000092,PlayerBase::rtti2 -0x000000710084f678,U,000028,PlayerBase::m140 -0x000000710084f694,U,000012,PlayerBase::m178 -0x000000710084f6a0,U,000216,PlayerBase::m179 -0x000000710084f778,U,000008,PlayerBase::m180 -0x000000710084f780,U,000008,PlayerBase::m181 -0x000000710084f788,U,000008,PlayerBase::m182 -0x000000710084f790,U,000008,PlayerBase::m183 -0x000000710084f798,U,000012,PlayerBase::m184 -0x000000710084f7a4,U,000012,PlayerBase::m185 -0x000000710084f7b0,U,000012,PlayerBase::m186 -0x000000710084f7bc,U,000012,PlayerBase::m187 -0x000000710084f7c8,U,000012,PlayerBase::m188 -0x000000710084f7d4,U,000012,PlayerBase::m189 -0x000000710084f7e0,U,000012,PlayerBase::m190 -0x000000710084f7ec,U,000012,PlayerBase::m191 -0x000000710084f7f8,U,000008,PlayerBase::m192 -0x000000710084f800,U,000012,PlayerBase::m193 -0x000000710084f80c,U,000012,PlayerBase::m194 -0x000000710084f818,U,000012,PlayerBase::m195 -0x000000710084f824,U,000012,PlayerBase::m196 -0x000000710084f830,U,000012,PlayerBase::m197 -0x000000710084f83c,U,000008,PlayerBase::m198 -0x000000710084f844,U,000012,PlayerBase::m199 -0x000000710084f850,U,000012,PlayerBase::m200 -0x000000710084f85c,U,000012,PlayerBase::m201 -0x000000710084f868,U,000040,PlayerBase::m202 -0x000000710084f890,U,000008,PlayerBase::m203 -0x000000710084f898,U,000012,PlayerBase::m204 -0x000000710084f8a4,U,000020,PlayerBase::m205 -0x000000710084f8b8,U,000012,PlayerBase::m206 -0x000000710084f8c4,U,000012,PlayerBase::m207 -0x000000710084f8d0,U,000008,PlayerBase::m208 -0x000000710084f8d8,U,000012,PlayerBase::m209 -0x000000710084f8e4,U,000012,PlayerBase::m210 -0x000000710084f8f0,U,000012,PlayerBase::m211 -0x000000710084f8fc,U,000012,PlayerBase::m212 -0x000000710084f908,U,000008,PlayerBase::m213 -0x000000710084f910,U,000008,PlayerBase::m214 -0x000000710084f918,U,000008,PlayerBase::m215 -0x000000710084f920,U,000008,PlayerBase::m216 -0x000000710084f928,U,000008,PlayerBase::m217 -0x000000710084f930,U,000008,PlayerBase::m218 -0x000000710084f938,U,000008,PlayerBase::m219 -0x000000710084f940,U,000012,PlayerBase::m220 -0x000000710084f94c,U,000012,PlayerBase::m221 -0x000000710084f958,U,000012,PlayerBase::m222 -0x000000710084f964,U,000008,PlayerBase::m224 -0x000000710084f96c,U,000008,PlayerBase::m225 -0x000000710084f974,U,000008,PlayerBase::m226 -0x000000710084f97c,U,000008,PlayerBase::m227 +0x000000710084f598,U,000132,uking::act::PlayerBase::rtti1 +0x000000710084f61c,U,000092,uking::act::PlayerBase::rtti2 +0x000000710084f678,U,000028,uking::act::PlayerBase::m140 +0x000000710084f694,U,000012,uking::act::PlayerBase::m178 +0x000000710084f6a0,U,000216,uking::act::PlayerBase::m179 +0x000000710084f778,U,000008,uking::act::PlayerBase::m180 +0x000000710084f780,U,000008,uking::act::PlayerBase::m181 +0x000000710084f788,U,000008,uking::act::PlayerBase::m182 +0x000000710084f790,U,000008,uking::act::PlayerBase::m183 +0x000000710084f798,U,000012,uking::act::PlayerBase::m184 +0x000000710084f7a4,U,000012,uking::act::PlayerBase::m185 +0x000000710084f7b0,U,000012,uking::act::PlayerBase::m186 +0x000000710084f7bc,U,000012,uking::act::PlayerBase::m187 +0x000000710084f7c8,U,000012,uking::act::PlayerBase::m188 +0x000000710084f7d4,U,000012,uking::act::PlayerBase::m189 +0x000000710084f7e0,U,000012,uking::act::PlayerBase::m190 +0x000000710084f7ec,U,000012,uking::act::PlayerBase::m191 +0x000000710084f7f8,U,000008,uking::act::PlayerBase::m192 +0x000000710084f800,U,000012,uking::act::PlayerBase::m193 +0x000000710084f80c,U,000012,uking::act::PlayerBase::m194 +0x000000710084f818,U,000012,uking::act::PlayerBase::m195 +0x000000710084f824,U,000012,uking::act::PlayerBase::m196 +0x000000710084f830,U,000012,uking::act::PlayerBase::m197 +0x000000710084f83c,U,000008,uking::act::PlayerBase::m198 +0x000000710084f844,U,000012,uking::act::PlayerBase::m199 +0x000000710084f850,U,000012,uking::act::PlayerBase::m200 +0x000000710084f85c,U,000012,uking::act::PlayerBase::m201 +0x000000710084f868,U,000040,uking::act::PlayerBase::m202 +0x000000710084f890,U,000008,uking::act::PlayerBase::m203 +0x000000710084f898,U,000012,uking::act::PlayerBase::m204 +0x000000710084f8a4,U,000020,uking::act::PlayerBase::m205 +0x000000710084f8b8,U,000012,uking::act::PlayerBase::m206 +0x000000710084f8c4,U,000012,uking::act::PlayerBase::m207 +0x000000710084f8d0,U,000008,uking::act::PlayerBase::m208 +0x000000710084f8d8,U,000012,uking::act::PlayerBase::m209 +0x000000710084f8e4,U,000012,uking::act::PlayerBase::m210 +0x000000710084f8f0,U,000012,uking::act::PlayerBase::m211 +0x000000710084f8fc,U,000012,uking::act::PlayerBase::m212 +0x000000710084f908,U,000008,uking::act::PlayerBase::m213 +0x000000710084f910,U,000008,uking::act::PlayerBase::m214 +0x000000710084f918,U,000008,uking::act::PlayerBase::m215 +0x000000710084f920,U,000008,uking::act::PlayerBase::m216 +0x000000710084f928,U,000008,uking::act::PlayerBase::m217 +0x000000710084f930,U,000008,uking::act::PlayerBase::m218 +0x000000710084f938,U,000008,uking::act::PlayerBase::m219 +0x000000710084f940,U,000012,uking::act::PlayerBase::m220 +0x000000710084f94c,U,000012,uking::act::PlayerBase::m221 +0x000000710084f958,U,000012,uking::act::PlayerBase::m222 +0x000000710084f964,U,000008,uking::act::PlayerBase::m224 +0x000000710084f96c,U,000008,uking::act::PlayerBase::m225 +0x000000710084f974,U,000008,uking::act::PlayerBase::m226 +0x000000710084f97c,U,000008,uking::act::PlayerBase::m227 0x000000710084f984,U,000004,nullsub_2562 0x000000710084f988,U,000004,nullsub_2563 -0x000000710084f98c,U,000008,PlayerBase::m230 -0x000000710084f994,U,000008,PlayerBase::m231 -0x000000710084f99c,U,000008,PlayerBase::m232 -0x000000710084f9a4,U,000008,PlayerBase::m233 -0x000000710084f9ac,U,000008,PlayerBase::m234 -0x000000710084f9b4,U,000008,PlayerBase::m235 -0x000000710084f9bc,U,000008,PlayerBase::m236 -0x000000710084f9c4,U,000012,PlayerBase::m237 -0x000000710084f9d0,U,000012,PlayerBase::m238 -0x000000710084f9dc,U,000008,PlayerBase::m241 -0x000000710084f9e4,U,000008,PlayerBase::m242 -0x000000710084f9ec,U,000008,PlayerBase::m243 -0x000000710084f9f4,U,000012,PlayerBase::m244 -0x000000710084fa00,U,000012,PlayerBase::m245 -0x000000710084fa0c,U,000012,PlayerBase::m246 -0x000000710084fa18,U,000012,PlayerBase::m247 -0x000000710084fa24,U,000008,PlayerBase::m248 -0x000000710084fa2c,U,000008,PlayerBase::m249 -0x000000710084fa34,U,000012,PlayerBase::m250 -0x000000710084fa40,U,000012,PlayerBase::m251 -0x000000710084fa4c,U,000012,PlayerBase::m252 -0x000000710084fa58,U,000012,PlayerBase::m253 -0x000000710084fa64,U,000008,PlayerBase::m254 -0x000000710084fa6c,U,000012,PlayerBase::m255 -0x000000710084fa78,U,000008,PlayerBase::m256 -0x000000710084fa80,U,000008,PlayerBase::m257 -0x000000710084fa88,U,000008,PlayerBase::m258 -0x000000710084fa90,U,000016,PlayerBase::m259 -0x000000710084faa0,U,000008,PlayerBase::m260 -0x000000710084faa8,U,000008,PlayerBase::m261 -0x000000710084fab0,U,000008,PlayerBase::m263 -0x000000710084fab8,U,000008,PlayerBase::m264 -0x000000710084fac0,U,000012,PlayerBase::m265 +0x000000710084f98c,U,000008,uking::act::PlayerBase::m230 +0x000000710084f994,U,000008,uking::act::PlayerBase::m231 +0x000000710084f99c,U,000008,uking::act::PlayerBase::m232 +0x000000710084f9a4,U,000008,uking::act::PlayerBase::m233 +0x000000710084f9ac,U,000008,uking::act::PlayerBase::m234 +0x000000710084f9b4,U,000008,uking::act::PlayerBase::m235 +0x000000710084f9bc,U,000008,uking::act::PlayerBase::m236 +0x000000710084f9c4,U,000012,uking::act::PlayerBase::m237 +0x000000710084f9d0,U,000012,uking::act::PlayerBase::m238 +0x000000710084f9dc,U,000008,uking::act::PlayerBase::m241 +0x000000710084f9e4,U,000008,uking::act::PlayerBase::m242 +0x000000710084f9ec,U,000008,uking::act::PlayerBase::m243 +0x000000710084f9f4,U,000012,uking::act::PlayerBase::m244 +0x000000710084fa00,U,000012,uking::act::PlayerBase::m245 +0x000000710084fa0c,U,000012,uking::act::PlayerBase::m246 +0x000000710084fa18,U,000012,uking::act::PlayerBase::m247 +0x000000710084fa24,U,000008,uking::act::PlayerBase::m248 +0x000000710084fa2c,U,000008,uking::act::PlayerBase::m249 +0x000000710084fa34,U,000012,uking::act::PlayerBase::m250 +0x000000710084fa40,U,000012,uking::act::PlayerBase::m251 +0x000000710084fa4c,U,000012,uking::act::PlayerBase::m252 +0x000000710084fa58,U,000012,uking::act::PlayerBase::m253 +0x000000710084fa64,U,000008,uking::act::PlayerBase::m254 +0x000000710084fa6c,U,000012,uking::act::PlayerBase::m255 +0x000000710084fa78,U,000008,uking::act::PlayerBase::m256 +0x000000710084fa80,U,000008,uking::act::PlayerBase::m257 +0x000000710084fa88,U,000008,uking::act::PlayerBase::m258 +0x000000710084fa90,U,000016,uking::act::PlayerBase::m259 +0x000000710084faa0,U,000008,uking::act::PlayerBase::m260 +0x000000710084faa8,U,000008,uking::act::PlayerBase::m261 +0x000000710084fab0,U,000008,uking::act::PlayerBase::m263 +0x000000710084fab8,U,000008,uking::act::PlayerBase::m264 +0x000000710084fac0,U,000012,uking::act::PlayerBase::m265 0x000000710084facc,U,000004,nullsub_2564 -0x000000710084fad0,U,000008,PlayerBase::m268 -0x000000710084fad8,U,000008,PlayerBase::m269 -0x000000710084fae0,U,000008,PlayerBase::m270 -0x000000710084fae8,U,000008,PlayerBase::m271 +0x000000710084fad0,U,000008,uking::act::PlayerBase::m268 +0x000000710084fad8,U,000008,uking::act::PlayerBase::m269 +0x000000710084fae0,U,000008,uking::act::PlayerBase::m270 +0x000000710084fae8,U,000008,uking::act::PlayerBase::m271 0x000000710084faf0,U,000004,nullsub_2565 -0x000000710084faf4,U,000008,PlayerBase::m273 -0x000000710084fafc,U,000008,PlayerBase::m274 -0x000000710084fb04,U,000008,PlayerBase::m275 -0x000000710084fb0c,U,000008,PlayerBase::m276 +0x000000710084faf4,U,000008,uking::act::PlayerBase::m273 +0x000000710084fafc,U,000008,uking::act::PlayerBase::m274 +0x000000710084fb04,U,000008,uking::act::PlayerBase::m275 +0x000000710084fb0c,U,000008,uking::act::PlayerBase::m276 0x000000710084fb14,U,000004,nullsub_2566 -0x000000710084fb18,U,000008,PlayerBase::m278 -0x000000710084fb20,U,000008,PlayerBase::m279 -0x000000710084fb28,U,000008,PlayerBase::m280 -0x000000710084fb30,U,000008,PlayerBase::m281 +0x000000710084fb18,U,000008,uking::act::PlayerBase::m278 +0x000000710084fb20,U,000008,uking::act::PlayerBase::m279 +0x000000710084fb28,U,000008,uking::act::PlayerBase::m280 +0x000000710084fb30,U,000008,uking::act::PlayerBase::m281 0x000000710084fb38,U,000004,nullsub_2567 0x000000710084fb3c,U,000004,nullsub_2568 -0x000000710084fb40,U,000008,PlayerBase::m284 -0x000000710084fb48,U,000008,PlayerBase::m285 +0x000000710084fb40,U,000008,uking::act::PlayerBase::m284 +0x000000710084fb48,U,000008,uking::act::PlayerBase::m285 0x000000710084fb50,U,000004,nullsub_2569 -0x000000710084fb54,U,000008,PlayerBase::m287 -0x000000710084fb5c,U,000008,PlayerBase::m288 -0x000000710084fb64,U,000008,PlayerBase::m289 -0x000000710084fb6c,U,000008,PlayerBase::m290 -0x000000710084fb74,U,000008,PlayerBase::m291 -0x000000710084fb7c,U,000012,PlayerBase::m292 -0x000000710084fb88,U,000008,PlayerBase::m295 -0x000000710084fb90,U,000008,PlayerBase::m296 -0x000000710084fb98,U,000008,PlayerBase::m297 -0x000000710084fba0,U,000008,PlayerBase::m298 -0x000000710084fba8,U,000012,PlayerBase::m299 -0x000000710084fbb4,U,000008,PlayerBase::m300 -0x000000710084fbbc,U,000008,PlayerBase::m301 -0x000000710084fbc4,U,000008,PlayerBase::m302 -0x000000710084fbcc,U,000008,PlayerBase::m303 -0x000000710084fbd4,U,000008,PlayerBase::m304 -0x000000710084fbdc,U,000008,PlayerBase::m305 -0x000000710084fbe4,U,000008,PlayerBase::m306 -0x000000710084fbec,U,000056,PlayerBase::m307 +0x000000710084fb54,U,000008,uking::act::PlayerBase::m287 +0x000000710084fb5c,U,000008,uking::act::PlayerBase::m288 +0x000000710084fb64,U,000008,uking::act::PlayerBase::m289 +0x000000710084fb6c,U,000008,uking::act::PlayerBase::m290 +0x000000710084fb74,U,000008,uking::act::PlayerBase::m291 +0x000000710084fb7c,U,000012,uking::act::PlayerBase::m292 +0x000000710084fb88,U,000008,uking::act::PlayerBase::m295 +0x000000710084fb90,U,000008,uking::act::PlayerBase::m296 +0x000000710084fb98,U,000008,uking::act::PlayerBase::m297 +0x000000710084fba0,U,000008,uking::act::PlayerBase::m298 +0x000000710084fba8,U,000012,uking::act::PlayerBase::m299 +0x000000710084fbb4,U,000008,uking::act::PlayerBase::m300 +0x000000710084fbbc,U,000008,uking::act::PlayerBase::m301 +0x000000710084fbc4,U,000008,uking::act::PlayerBase::m302 +0x000000710084fbcc,U,000008,uking::act::PlayerBase::m303 +0x000000710084fbd4,U,000008,uking::act::PlayerBase::m304 +0x000000710084fbdc,U,000008,uking::act::PlayerBase::m305 +0x000000710084fbe4,U,000008,uking::act::PlayerBase::m306 +0x000000710084fbec,U,000056,uking::act::PlayerBase::m307 0x000000710084fc24,U,000004,nullsub_2570 0x000000710084fc28,U,000004,nullsub_2571 0x000000710084fc2c,U,000004,nullsub_2572 -0x000000710084fc30,U,000068,PlayerBase::m312 +0x000000710084fc30,U,000068,uking::act::PlayerBase::m312 0x000000710084fc74,U,000004,nullsub_2573 -0x000000710084fc78,U,000008,PlayerBase::m314 -0x000000710084fc80,U,000012,PlayerBase::m315 -0x000000710084fc8c,U,000008,PlayerBase::m316 +0x000000710084fc78,U,000008,uking::act::PlayerBase::m314 +0x000000710084fc80,U,000012,uking::act::PlayerBase::m315 +0x000000710084fc8c,U,000008,uking::act::PlayerBase::m316 0x000000710084fc94,U,000004,nullsub_2574 -0x000000710084fc98,U,000008,PlayerBase::m319 -0x000000710084fca0,U,000008,PlayerBase::m320 -0x000000710084fca8,U,000008,PlayerBase::m321 -0x000000710084fcb0,U,000008,PlayerBase::m322 +0x000000710084fc98,U,000008,uking::act::PlayerBase::m319 +0x000000710084fca0,U,000008,uking::act::PlayerBase::m320 +0x000000710084fca8,U,000008,uking::act::PlayerBase::m321 +0x000000710084fcb0,U,000008,uking::act::PlayerBase::m322 0x000000710084fcb8,U,000004,nullsub_2575 0x000000710084fcbc,U,000004,nullsub_2576 0x000000710084fcc0,U,000004,nullsub_2577 -0x000000710084fcc4,U,000008,PlayerBase::m326 -0x000000710084fccc,U,000008,PlayerBase::m327 -0x000000710084fcd4,U,000008,PlayerBase::m328 -0x000000710084fcdc,U,000008,PlayerBase::m329 -0x000000710084fce4,U,000008,PlayerBase::m330 -0x000000710084fcec,U,000008,PlayerBase::m331 -0x000000710084fcf4,U,000008,PlayerBase::m332 -0x000000710084fcfc,U,000008,PlayerBase::m333 -0x000000710084fd04,U,000008,PlayerBase::m334 -0x000000710084fd0c,U,000008,PlayerBase::m335 -0x000000710084fd14,U,000008,PlayerBase::m336 -0x000000710084fd1c,U,000008,PlayerBase::m337 -0x000000710084fd24,U,000008,PlayerBase::m338 -0x000000710084fd2c,U,000008,PlayerBase::m339 -0x000000710084fd34,U,000008,PlayerBase::m340 -0x000000710084fd3c,U,000008,PlayerBase::m341 -0x000000710084fd44,U,000008,PlayerBase::m342 -0x000000710084fd4c,U,000008,PlayerBase::m343 -0x000000710084fd54,U,000008,PlayerBase::m344 -0x000000710084fd5c,U,000008,PlayerBase::m345 +0x000000710084fcc4,U,000008,uking::act::PlayerBase::m326 +0x000000710084fccc,U,000008,uking::act::PlayerBase::m327 +0x000000710084fcd4,U,000008,uking::act::PlayerBase::m328 +0x000000710084fcdc,U,000008,uking::act::PlayerBase::m329 +0x000000710084fce4,U,000008,uking::act::PlayerBase::m330 +0x000000710084fcec,U,000008,uking::act::PlayerBase::m331 +0x000000710084fcf4,U,000008,uking::act::PlayerBase::m332 +0x000000710084fcfc,U,000008,uking::act::PlayerBase::m333 +0x000000710084fd04,U,000008,uking::act::PlayerBase::m334 +0x000000710084fd0c,U,000008,uking::act::PlayerBase::m335 +0x000000710084fd14,U,000008,uking::act::PlayerBase::m336 +0x000000710084fd1c,U,000008,uking::act::PlayerBase::m337 +0x000000710084fd24,U,000008,uking::act::PlayerBase::m338 +0x000000710084fd2c,U,000008,uking::act::PlayerBase::m339 +0x000000710084fd34,U,000008,uking::act::PlayerBase::m340 +0x000000710084fd3c,U,000008,uking::act::PlayerBase::m341 +0x000000710084fd44,U,000008,uking::act::PlayerBase::m342 +0x000000710084fd4c,U,000008,uking::act::PlayerBase::m343 +0x000000710084fd54,U,000008,uking::act::PlayerBase::m344 +0x000000710084fd5c,U,000008,uking::act::PlayerBase::m345 0x000000710084fd64,U,000004,nullsub_2578 -0x000000710084fd68,U,000008,PlayerBase::m347 -0x000000710084fd70,U,000008,PlayerBase::m348 -0x000000710084fd78,U,000008,PlayerBase::m350 -0x000000710084fd80,U,000004,PlayerBase::m351 -0x000000710084fd84,U,000008,PlayerBase::m352 -0x000000710084fd8c,U,000008,PlayerBase::m353 -0x000000710084fd94,U,000008,PlayerBase::m354 -0x000000710084fd9c,U,000012,PlayerBase::m357 -0x000000710084fda8,U,000020,PlayerBase::m358 -0x000000710084fdbc,U,000008,PlayerBase::m359 +0x000000710084fd68,U,000008,uking::act::PlayerBase::m347 +0x000000710084fd70,U,000008,uking::act::PlayerBase::m348 +0x000000710084fd78,U,000008,uking::act::PlayerBase::m350 +0x000000710084fd80,U,000004,uking::act::PlayerBase::m351 +0x000000710084fd84,U,000008,uking::act::PlayerBase::m352 +0x000000710084fd8c,U,000008,uking::act::PlayerBase::m353 +0x000000710084fd94,U,000008,uking::act::PlayerBase::m354 +0x000000710084fd9c,U,000012,uking::act::PlayerBase::m357 +0x000000710084fda8,U,000020,uking::act::PlayerBase::m358 +0x000000710084fdbc,U,000008,uking::act::PlayerBase::m359 0x000000710084fdc4,U,000020,PlayerLinkBase::m1 0x000000710084fdd8,U,000004,PlayerLinkBase::m2_null 0x000000710084fddc,U,000004,PlayerLinkBase::m3_null @@ -52306,32 +52306,32 @@ Address,Quality,Size,Name 0x00000071008525f8,U,000092, 0x0000007100852654,U,000072, 0x000000710085269c,U,000372, -0x0000007100852810,O,000048,_ZN4ksys3act10PlayerInfo5Info1C1Ev -0x0000007100852840,O,000004,_ZN4ksys3act10PlayerInfo5Info1D2Ev -0x0000007100852844,O,000036,_ZN4ksys3act10PlayerInfo5Info1D0Ev -0x0000007100852868,O,000020,_ZN4ksys3act14PlayerInfoBaseC1Ev -0x000000710085287c,O,000004,_ZN4ksys3act14PlayerInfoBaseD2Ev -0x0000007100852880,O,000004,_ZN4ksys3act14PlayerInfoBaseD0Ev -0x0000007100852884,O,000048,_ZN4ksys3act10PlayerInfo5Info2C1Ev -0x00000071008528b4,O,000004,_ZN4ksys3act10PlayerInfo5Info2D2Ev -0x00000071008528b8,O,000036,_ZN4ksys3act10PlayerInfo5Info2D0Ev +0x0000007100852810,O,000048,_ZN5uking3act10PlayerInfo5Info1C1Ev +0x0000007100852840,O,000004,_ZN5uking3act10PlayerInfo5Info1D2Ev +0x0000007100852844,O,000036,_ZN5uking3act10PlayerInfo5Info1D0Ev +0x0000007100852868,O,000020,_ZN5uking3act14PlayerInfoBaseC1Ev +0x000000710085287c,O,000004,_ZN5uking3act14PlayerInfoBaseD2Ev +0x0000007100852880,O,000004,_ZN5uking3act14PlayerInfoBaseD0Ev +0x0000007100852884,O,000048,_ZN5uking3act10PlayerInfo5Info2C1Ev +0x00000071008528b4,O,000004,_ZN5uking3act10PlayerInfo5Info2D2Ev +0x00000071008528b8,O,000036,_ZN5uking3act10PlayerInfo5Info2D0Ev 0x00000071008528dc,U,000004,nullsub_2595 -0x00000071008528e0,O,000048,_ZN4ksys3act10PlayerInfo5Info3C1Ev -0x0000007100852910,O,000004,_ZN4ksys3act10PlayerInfo5Info3D2Ev -0x0000007100852914,O,000036,_ZN4ksys3act10PlayerInfo5Info3D0Ev -0x0000007100852938,O,000048,_ZN4ksys3act10PlayerInfo5Info4C1Ev -0x0000007100852968,O,000004,_ZN4ksys3act10PlayerInfo5Info4D2Ev -0x000000710085296c,O,000036,_ZN4ksys3act10PlayerInfo5Info4D0Ev -0x0000007100852990,O,000048,_ZN4ksys3act10PlayerInfo5Info5C1Ev -0x00000071008529c0,O,000004,_ZN4ksys3act10PlayerInfo5Info5D2Ev -0x00000071008529c4,O,000036,_ZN4ksys3act10PlayerInfo5Info5D0Ev +0x00000071008528e0,O,000048,_ZN5uking3act10PlayerInfo5Info3C1Ev +0x0000007100852910,O,000004,_ZN5uking3act10PlayerInfo5Info3D2Ev +0x0000007100852914,O,000036,_ZN5uking3act10PlayerInfo5Info3D0Ev +0x0000007100852938,O,000048,_ZN5uking3act10PlayerInfo5Info4C1Ev +0x0000007100852968,O,000004,_ZN5uking3act10PlayerInfo5Info4D2Ev +0x000000710085296c,O,000036,_ZN5uking3act10PlayerInfo5Info4D0Ev +0x0000007100852990,O,000048,_ZN5uking3act10PlayerInfo5Info5C1Ev +0x00000071008529c0,O,000004,_ZN5uking3act10PlayerInfo5Info5D2Ev +0x00000071008529c4,O,000036,_ZN5uking3act10PlayerInfo5Info5D0Ev 0x00000071008529e8,U,000008,return1_0 -0x00000071008529f0,O,000048,_ZN4ksys3act10PlayerInfo5Info6C1Ev -0x0000007100852a20,O,000004,_ZN4ksys3act10PlayerInfo5Info6D2Ev -0x0000007100852a24,O,000036,_ZN4ksys3act10PlayerInfo5Info6D0Ev -0x0000007100852a48,O,000048,_ZN4ksys3act10PlayerInfo5Info7C1Ev -0x0000007100852a78,O,000004,_ZN4ksys3act10PlayerInfo5Info7D2Ev -0x0000007100852a7c,O,000036,_ZN4ksys3act10PlayerInfo5Info7D0Ev +0x00000071008529f0,O,000048,_ZN5uking3act10PlayerInfo5Info6C1Ev +0x0000007100852a20,O,000004,_ZN5uking3act10PlayerInfo5Info6D2Ev +0x0000007100852a24,O,000036,_ZN5uking3act10PlayerInfo5Info6D0Ev +0x0000007100852a48,O,000048,_ZN5uking3act10PlayerInfo5Info7C1Ev +0x0000007100852a78,O,000004,_ZN5uking3act10PlayerInfo5Info7D2Ev +0x0000007100852a7c,O,000036,_ZN5uking3act10PlayerInfo5Info7D0Ev 0x0000007100852aa0,U,000240,Player::RideInfo::ctor 0x0000007100852b90,U,000152,Player::RideInfo::init 0x0000007100852c28,U,000044,Player::RideInfo::x_0 @@ -52348,46 +52348,46 @@ Address,Quality,Size,Name 0x0000007100854028,U,000036, 0x000000710085404c,U,000288, 0x000000710085416c,U,000092, -0x00000071008541c8,O,000100,_ZN4ksys3act10PlayerInfo18SingletonDisposer_D1Ev -0x000000710085422c,O,000108,_ZN4ksys3act10PlayerInfo18SingletonDisposer_D0Ev -0x0000007100854298,O,000136,_ZN4ksys3act10PlayerInfo14createInstanceEPN4sead4HeapE -0x0000007100854320,O,000192,_ZN4ksys3act10PlayerInfoC1Ev -0x00000071008543e0,O,000124,_ZN4ksys3act10PlayerInfoD1Ev -0x000000710085445c,O,000132,_ZN4ksys3act10PlayerInfoD0Ev -0x00000071008544e0,O,000008,_ZN4ksys3act10PlayerInfo4initEv -0x00000071008544e8,U,000084,PlayerInfo::setPlayerActor -0x000000710085453c,O,000028,_ZN4ksys3act10PlayerInfo11resetPlayerEPNS0_10PlayerBaseE -0x0000007100854558,O,000012,_ZN4ksys3act10PlayerInfo12acquireHorseEPNS0_8BaseProcE -0x0000007100854564,O,000008,_ZN4ksys3act10PlayerInfo12setHorseLinkERKNS0_12BaseProcLinkE -0x000000710085456c,O,000068,_ZNK4ksys3act10PlayerInfo9getPlayerEv -0x00000071008545b0,O,000068,_ZNK4ksys3act10PlayerInfo10getPlayer_Ev -0x00000071008545f4,U,000212,PlayerInfo::getRiddenHorse -0x00000071008546c8,U,000016,PlayerInfo::setMaxLifeForPlayerActor -0x00000071008546d8,O,000024,_ZNK4ksys3act10PlayerInfo25getMaxLifeFromPlayerActorEv -0x00000071008546f0,O,000052,_ZN4ksys3act10PlayerInfo16setMaxHeartValueEi -0x0000007100854724,O,000012,_ZNK4ksys3act10PlayerInfo16getMaxHeartValueEv -0x0000007100854730,O,000044,_ZN4ksys3act10PlayerInfo31updateMaxHeartValueFromGameDataEv -0x000000710085475c,O,000052,_ZN4ksys3act10PlayerInfo21setLifeForPlayerActorEi -0x0000007100854790,O,000052,_ZNK4ksys3act10PlayerInfo22getLifeFromPlayerActorEv -0x00000071008547c4,U,000164,PlayerInfo::updateCurrentHartFlagFromPlayerActor -0x0000007100854868,U,000100,PlayerInfo::updateLifeAfterGameOver -0x00000071008548cc,U,000168,PlayerInfo::resetLifeToBeforeSwordPull -0x0000007100854974,U,000096,PlayerInfo::saveLifeInfoForSwordPull -0x00000071008549d4,O,000076,_ZN4ksys3act10PlayerInfo11recoverLifeEv -0x0000007100854a20,O,000052,_ZN4ksys3act10PlayerInfo20setStaminaCurrentMaxEf -0x0000007100854a54,O,000008,_ZNK4ksys3act10PlayerInfo20getStaminaCurrentMaxEv -0x0000007100854a5c,O,000040,_ZN4ksys3act10PlayerInfo35updateStaminaCurrentMaxFromGameDataEv -0x0000007100854a84,O,000052,_ZN4ksys3act10PlayerInfo13setStaminaMaxEf -0x0000007100854ab8,O,000008,_ZNK4ksys3act10PlayerInfo13getStaminaMaxEv -0x0000007100854ac0,O,000040,_ZN4ksys3act10PlayerInfo28updateStaminaMaxFromGameDataEv -0x0000007100854ae8,U,000016,PlayerInfo::setStaminaMax -0x0000007100854af8,U,000024,PlayerInfo::getStaminaMax -0x0000007100854b10,U,000072,PlayerInfo::recoverStamina -0x0000007100854b58,U,000072,PlayerInfo::recoverCondition -0x0000007100854ba0,O,000008,_ZN4ksys3act10PlayerInfo18getPlayerUncheckedEv -0x0000007100854ba8,O,000120,_ZN4ksys3act10PlayerInfo12getPlayerPosEv -0x0000007100854c20,O,000120,_ZN4ksys3act10PlayerInfo23getPlayerPosForPostCalcEv -0x0000007100854c98,U,000048,PlayerInfo::getPlayerM265 +0x00000071008541c8,O,000100,_ZN5uking3act10PlayerInfo18SingletonDisposer_D1Ev +0x000000710085422c,O,000108,_ZN5uking3act10PlayerInfo18SingletonDisposer_D0Ev +0x0000007100854298,O,000136,_ZN5uking3act10PlayerInfo14createInstanceEPN4sead4HeapE +0x0000007100854320,O,000192,_ZN5uking3act10PlayerInfoC1Ev +0x00000071008543e0,O,000124,_ZN5uking3act10PlayerInfoD1Ev +0x000000710085445c,O,000132,_ZN5uking3act10PlayerInfoD0Ev +0x00000071008544e0,O,000008,_ZN5uking3act10PlayerInfo4initEv +0x00000071008544e8,U,000084,uking::act::PlayerInfo::setPlayerActor +0x000000710085453c,O,000028,_ZN5uking3act10PlayerInfo11resetPlayerEPNS0_10PlayerBaseE +0x0000007100854558,O,000012,_ZN5uking3act10PlayerInfo12acquireHorseEPN4ksys3act8BaseProcE +0x0000007100854564,O,000008,_ZN5uking3act10PlayerInfo12setHorseLinkERKN4ksys3act12BaseProcLinkE +0x000000710085456c,O,000068,_ZNK5uking3act10PlayerInfo9getPlayerEv +0x00000071008545b0,O,000068,_ZNK5uking3act10PlayerInfo10getPlayer_Ev +0x00000071008545f4,U,000212,uking::act::PlayerInfo::getRiddenHorse +0x00000071008546c8,U,000016,uking::act::PlayerInfo::setMaxLifeForPlayerActor +0x00000071008546d8,O,000024,_ZNK5uking3act10PlayerInfo25getMaxLifeFromPlayerActorEv +0x00000071008546f0,O,000052,_ZN5uking3act10PlayerInfo16setMaxHeartValueEi +0x0000007100854724,O,000012,_ZNK5uking3act10PlayerInfo16getMaxHeartValueEv +0x0000007100854730,O,000044,_ZN5uking3act10PlayerInfo31updateMaxHeartValueFromGameDataEv +0x000000710085475c,O,000052,_ZN5uking3act10PlayerInfo21setLifeForPlayerActorEi +0x0000007100854790,O,000052,_ZNK5uking3act10PlayerInfo22getLifeFromPlayerActorEv +0x00000071008547c4,U,000164,uking::act::PlayerInfo::updateCurrentHartFlagFromPlayerActor +0x0000007100854868,U,000100,uking::act::PlayerInfo::updateLifeAfterGameOver +0x00000071008548cc,U,000168,uking::act::PlayerInfo::resetLifeToBeforeSwordPull +0x0000007100854974,U,000096,uking::act::PlayerInfo::saveLifeInfoForSwordPull +0x00000071008549d4,O,000076,_ZN5uking3act10PlayerInfo11recoverLifeEv +0x0000007100854a20,O,000052,_ZN5uking3act10PlayerInfo20setStaminaCurrentMaxEf +0x0000007100854a54,O,000008,_ZNK5uking3act10PlayerInfo20getStaminaCurrentMaxEv +0x0000007100854a5c,O,000040,_ZN5uking3act10PlayerInfo35updateStaminaCurrentMaxFromGameDataEv +0x0000007100854a84,O,000052,_ZN5uking3act10PlayerInfo13setStaminaMaxEf +0x0000007100854ab8,O,000008,_ZNK5uking3act10PlayerInfo13getStaminaMaxEv +0x0000007100854ac0,O,000040,_ZN5uking3act10PlayerInfo28updateStaminaMaxFromGameDataEv +0x0000007100854ae8,U,000016,uking::act::PlayerInfo::setStaminaMax +0x0000007100854af8,U,000024,uking::act::PlayerInfo::getStaminaMax +0x0000007100854b10,U,000072,uking::act::PlayerInfo::recoverStamina +0x0000007100854b58,U,000072,uking::act::PlayerInfo::recoverCondition +0x0000007100854ba0,O,000008,_ZN5uking3act10PlayerInfo18getPlayerUncheckedEv +0x0000007100854ba8,O,000120,_ZN5uking3act10PlayerInfo12getPlayerPosEv +0x0000007100854c20,O,000120,_ZN5uking3act10PlayerInfo23getPlayerPosForPostCalcEv +0x0000007100854c98,U,000048,uking::act::PlayerInfo::getPlayerM265 0x0000007100854cc8,U,001052,Player::x_43 0x00000071008550e4,U,000280, 0x00000071008551fc,U,000292,Player::x_25 diff --git a/src/Game/Actor/Player/CMakeLists.txt b/src/Game/Actor/Player/CMakeLists.txt index 3632c164..f1b9b94e 100644 --- a/src/Game/Actor/Player/CMakeLists.txt +++ b/src/Game/Actor/Player/CMakeLists.txt @@ -1,2 +1,11 @@ add_subdirectory(AI) add_subdirectory(Action) + +target_sources(uking PRIVATE + actPlayerBase.cpp + actPlayerBase.h + actPlayerInfo.cpp + actPlayerInfo.h + actPlayerInfoBase.cpp + actPlayerInfoStub.cpp +) diff --git a/src/Game/Actor/Player/actPlayerBase.cpp b/src/Game/Actor/Player/actPlayerBase.cpp new file mode 100644 index 00000000..fcfa6d14 --- /dev/null +++ b/src/Game/Actor/Player/actPlayerBase.cpp @@ -0,0 +1 @@ +#include "Game/Actor/Player/actPlayerBase.h" diff --git a/src/KingSystem/ActorSystem/Profiles/actPlayerBase.h b/src/Game/Actor/Player/actPlayerBase.h similarity index 79% rename from src/KingSystem/ActorSystem/Profiles/actPlayerBase.h rename to src/Game/Actor/Player/actPlayerBase.h index 4b6e6ec7..8ff7b867 100644 --- a/src/KingSystem/ActorSystem/Profiles/actPlayerBase.h +++ b/src/Game/Actor/Player/actPlayerBase.h @@ -3,10 +3,10 @@ #include #include "KingSystem/ActorSystem/actActor.h" -namespace ksys::act { +namespace uking::act { // TODO -class PlayerBase : public Actor { +class PlayerBase : public ksys::act::Actor { public: // FIXME: name for x and name+type for y void switchEquipment(const sead::SafeString& slot, int frames, int x = -1, @@ -16,4 +16,4 @@ public: void setExtraLife(s32 extra_life, f32 x); }; -} // namespace ksys::act +} // namespace uking::act diff --git a/src/KingSystem/ActorSystem/actPlayerInfo.cpp b/src/Game/Actor/Player/actPlayerInfo.cpp similarity index 72% rename from src/KingSystem/ActorSystem/actPlayerInfo.cpp rename to src/Game/Actor/Player/actPlayerInfo.cpp index 5b5b9ca1..ec44523f 100644 --- a/src/KingSystem/ActorSystem/actPlayerInfo.cpp +++ b/src/Game/Actor/Player/actPlayerInfo.cpp @@ -1,5 +1,5 @@ -#include "KingSystem/ActorSystem/actPlayerInfo.h" -#include "KingSystem/ActorSystem/Profiles/actPlayerBase.h" +#include "Game/Actor/Player/actPlayerInfo.h" +#include "Game/Actor/Player/actPlayerBase.h" #include "KingSystem/ActorSystem/actActorConstDataAccess.h" #include "KingSystem/ActorSystem/actActorLinkConstDataAccess.h" #include "KingSystem/ActorSystem/actBaseProc.h" @@ -7,7 +7,7 @@ #include "KingSystem/GameData/gdtCommonFlagsUtils.h" #include "KingSystem/ksys.h" -namespace ksys::act { +namespace uking::act { SEAD_SINGLETON_DISPOSER_IMPL(PlayerInfo) @@ -25,11 +25,11 @@ void PlayerInfo::resetPlayer(PlayerBase* player) { } } -bool PlayerInfo::acquireHorse(BaseProc* horse) { +bool PlayerInfo::acquireHorse(ksys::act::BaseProc* horse) { return mHorseLink.acquire(horse, false); } -void PlayerInfo::setHorseLink(const BaseProcLink& horse_link) { +void PlayerInfo::setHorseLink(const ksys::act::BaseProcLink& horse_link) { mHorseLink = horse_link; } @@ -37,7 +37,7 @@ PlayerBase* PlayerInfo::getPlayer() const { if (!mPlayerActor) { return nullptr; } - BaseProcMgr::instance()->isAccessingProcSafe(mPlayerActor, nullptr); + ksys::act::BaseProcMgr::instance()->isAccessingProcSafe(mPlayerActor, nullptr); return mPlayerActor; } @@ -45,7 +45,7 @@ PlayerBase* PlayerInfo::getPlayer_() const { if (!mPlayerActor) { return nullptr; } - BaseProcMgr::instance()->isAccessingProcSafe(mPlayerActor, nullptr); + ksys::act::BaseProcMgr::instance()->isAccessingProcSafe(mPlayerActor, nullptr); return mPlayerActor; } @@ -54,7 +54,7 @@ s32 PlayerInfo::getMaxLifeFromPlayerActor() const { } void PlayerInfo::setMaxHeartValue(s32 quarter_hearts) { - gdt::setFlag_MaxHartValue(quarter_hearts); + ksys::gdt::setFlag_MaxHartValue(quarter_hearts); mMaxHeartValue = static_cast(quarter_hearts); } @@ -64,7 +64,7 @@ u32 PlayerInfo::getMaxHeartValue() const { } void PlayerInfo::updateMaxHeartValueFromGameData() { - mMaxHeartValue = static_cast(gdt::getFlag_MaxHartValue()); + mMaxHeartValue = static_cast(ksys::gdt::getFlag_MaxHartValue()); } void PlayerInfo::setLifeForPlayerActor(s32 life) { @@ -86,7 +86,7 @@ void PlayerInfo::recoverLife() { } void PlayerInfo::setStaminaCurrentMax(f32 max_stamina) { - gdt::setFlag_StaminaCurrentMax(max_stamina); + ksys::gdt::setFlag_StaminaCurrentMax(max_stamina); mStaminaCurrentMax = max_stamina; } @@ -95,11 +95,11 @@ f32 PlayerInfo::getStaminaCurrentMax() const { } void PlayerInfo::updateStaminaCurrentMaxFromGameData() { - mStaminaCurrentMax = gdt::getFlag_StaminaCurrentMax(); + mStaminaCurrentMax = ksys::gdt::getFlag_StaminaCurrentMax(); } void PlayerInfo::setStaminaMax(f32 max_stamina) { - gdt::setFlag_StaminaMax(max_stamina); + ksys::gdt::setFlag_StaminaMax(max_stamina); mStaminaMax = max_stamina; } @@ -108,7 +108,7 @@ f32 PlayerInfo::getStaminaMax() const { } void PlayerInfo::updateStaminaMaxFromGameData() { - mStaminaMax = gdt::getFlag_StaminaMax(); + mStaminaMax = ksys::gdt::getFlag_StaminaMax(); } PlayerBase* PlayerInfo::getPlayerUnchecked() { @@ -116,19 +116,19 @@ PlayerBase* PlayerInfo::getPlayerUnchecked() { } sead::Vector3f& PlayerInfo::getPlayerPos() { - ActorConstDataAccess accessor; + ksys::act::ActorConstDataAccess accessor; - acquireActor(&mPlayerLink, &accessor); + ksys::act::acquireActor(&mPlayerLink, &accessor); accessor.debugLog(1, "getPlayerPos"); return mPlayerPos; } sead::Vector3f& PlayerInfo::getPlayerPosForPostCalc() { - ActorConstDataAccess accessor; + ksys::act::ActorConstDataAccess accessor; - acquireActor(&mPlayerLink, &accessor); + ksys::act::acquireActor(&mPlayerLink, &accessor); accessor.debugLog(0, "getPlayerPosForPostCalc"); return mPlayerPosForPostCalc; } -} // namespace ksys::act +} // namespace uking::act diff --git a/src/KingSystem/ActorSystem/actPlayerInfo.h b/src/Game/Actor/Player/actPlayerInfo.h similarity index 90% rename from src/KingSystem/ActorSystem/actPlayerInfo.h rename to src/Game/Actor/Player/actPlayerInfo.h index a47475c9..ee281d58 100644 --- a/src/KingSystem/ActorSystem/actPlayerInfo.h +++ b/src/Game/Actor/Player/actPlayerInfo.h @@ -6,8 +6,11 @@ #include "container/seadRingBuffer.h" namespace ksys::act { - class Actor; +} + +namespace uking::act { + class PlayerBase; class PlayerInfoBase { @@ -22,15 +25,15 @@ class PlayerInfo : public PlayerInfoBase { ~PlayerInfo() override; public: - BaseProcLink& getPlayerLink() { return mPlayerLink; } + ksys::act::BaseProcLink& getPlayerLink() { return mPlayerLink; } bool init(); void setAndAcquirePlayer(PlayerBase* player); // requires PlayerOrEnemy and PlayerBase void resetPlayer(PlayerBase* player); - bool acquireHorse(BaseProc* horse); - void setHorseLink(const BaseProcLink& horse_link); + bool acquireHorse(ksys::act::BaseProc* horse); + void setHorseLink(const ksys::act::BaseProcLink& horse_link); PlayerBase* getPlayer() const; PlayerBase* getPlayer_() const; // possibly duped by compiler? - Actor* getRiddenHorse() const; // requires PlayerBase vtable + ksys::act::Actor* getRiddenHorse() const; // requires PlayerBase vtable void setMaxLifeForPlayerActor(s32 max_heart); // requires PlayerBase s32 getMaxLifeFromPlayerActor() const; void setMaxHeartValue(s32 quarter_hearts); @@ -101,8 +104,8 @@ private: ~Info7() override; } mInfo7; PlayerBase* mPlayerActor = nullptr; - BaseProcLink mPlayerLink; - BaseProcLink mHorseLink; + ksys::act::BaseProcLink mPlayerLink; + ksys::act::BaseProcLink mHorseLink; sead::Vector3f mPlayerPos{0, 0, 0}; sead::Vector3f mPlayerPosForPostCalc{0, 0, 0}; f32 mMaxHeartValue = 0; @@ -117,4 +120,4 @@ private: }; KSYS_CHECK_SIZE_NX150(PlayerInfo, 0x3B0); -} // namespace ksys::act +} // namespace uking::act diff --git a/src/KingSystem/ActorSystem/actPlayerInfoBase.cpp b/src/Game/Actor/Player/actPlayerInfoBase.cpp similarity index 67% rename from src/KingSystem/ActorSystem/actPlayerInfoBase.cpp rename to src/Game/Actor/Player/actPlayerInfoBase.cpp index dbca9baa..9972fb0f 100644 --- a/src/KingSystem/ActorSystem/actPlayerInfoBase.cpp +++ b/src/Game/Actor/Player/actPlayerInfoBase.cpp @@ -1,6 +1,6 @@ -#include "KingSystem/ActorSystem/actPlayerInfo.h" -namespace ksys::act { +#include "Game/Actor/Player/actPlayerInfo.h" +namespace uking::act { // these are separate from actPlayerInfo.cpp so clang doesn't inline/dedupe them [[gnu::noinline]] PlayerInfoBase::PlayerInfoBase() = default; [[gnu::noinline]] PlayerInfoBase::~PlayerInfoBase() = default; -} // namespace ksys::act +} // namespace uking::act diff --git a/src/KingSystem/ActorSystem/actPlayerInfoStub.cpp b/src/Game/Actor/Player/actPlayerInfoStub.cpp similarity index 86% rename from src/KingSystem/ActorSystem/actPlayerInfoStub.cpp rename to src/Game/Actor/Player/actPlayerInfoStub.cpp index 2f9dc100..e79c0ea3 100644 --- a/src/KingSystem/ActorSystem/actPlayerInfoStub.cpp +++ b/src/Game/Actor/Player/actPlayerInfoStub.cpp @@ -1,5 +1,5 @@ -#include "KingSystem/ActorSystem/actPlayerInfo.h" -namespace ksys::act { +#include "Game/Actor/Player/actPlayerInfo.h" +namespace uking::act { // these are separate from actPlayerInfo.cpp so clang doesn't inline/dedupe them PlayerInfo::Info1::Info1() = default; PlayerInfo::Info1::~Info1() = default; @@ -16,4 +16,4 @@ PlayerInfo::Info6::~Info6() = default; PlayerInfo::Info7::Info7() = default; PlayerInfo::Info7::~Info7() = default; -} // namespace ksys::act +} // namespace uking::act diff --git a/src/Game/Actor/Query/queryComparePlayerHeart.cpp b/src/Game/Actor/Query/queryComparePlayerHeart.cpp index 9a195f3d..294a46a1 100644 --- a/src/Game/Actor/Query/queryComparePlayerHeart.cpp +++ b/src/Game/Actor/Query/queryComparePlayerHeart.cpp @@ -1,6 +1,6 @@ #include "Game/Actor/Query/queryComparePlayerHeart.h" #include -#include "KingSystem/ActorSystem/actPlayerInfo.h" +#include "Game/Actor/Player/actPlayerInfo.h" namespace uking::query { @@ -9,7 +9,7 @@ ComparePlayerHeart::ComparePlayerHeart(const InitArg& arg) : ksys::act::ai::Quer ComparePlayerHeart::~ComparePlayerHeart() = default; int ComparePlayerHeart::doQuery() { - auto* pi = ksys::act::PlayerInfo::instance(); + auto* pi = uking::act::PlayerInfo::instance(); if (pi == nullptr) return 0; diff --git a/src/Game/Actor/Query/queryComparePlayerMaxHeart.cpp b/src/Game/Actor/Query/queryComparePlayerMaxHeart.cpp index 8ea31370..d0efd0d3 100644 --- a/src/Game/Actor/Query/queryComparePlayerMaxHeart.cpp +++ b/src/Game/Actor/Query/queryComparePlayerMaxHeart.cpp @@ -1,6 +1,6 @@ #include "Game/Actor/Query/queryComparePlayerMaxHeart.h" #include -#include "KingSystem/ActorSystem/actPlayerInfo.h" +#include "Game/Actor/Player/actPlayerInfo.h" namespace uking::query { @@ -9,7 +9,7 @@ ComparePlayerMaxHeart::ComparePlayerMaxHeart(const InitArg& arg) : ksys::act::ai ComparePlayerMaxHeart::~ComparePlayerMaxHeart() = default; int ComparePlayerMaxHeart::doQuery() { - auto* pi = ksys::act::PlayerInfo::instance(); + auto* pi = uking::act::PlayerInfo::instance(); if (pi == nullptr) return 0; diff --git a/src/Game/Actor/Query/queryComparePlayerMaxStamina.cpp b/src/Game/Actor/Query/queryComparePlayerMaxStamina.cpp index e4be5a93..4b87abc9 100644 --- a/src/Game/Actor/Query/queryComparePlayerMaxStamina.cpp +++ b/src/Game/Actor/Query/queryComparePlayerMaxStamina.cpp @@ -1,6 +1,6 @@ #include "Game/Actor/Query/queryComparePlayerMaxStamina.h" #include -#include "KingSystem/ActorSystem/actPlayerInfo.h" +#include "Game/Actor/Player/actPlayerInfo.h" namespace uking::query { @@ -9,7 +9,7 @@ ComparePlayerMaxStamina::ComparePlayerMaxStamina(const InitArg& arg) : ksys::act ComparePlayerMaxStamina::~ComparePlayerMaxStamina() = default; int ComparePlayerMaxStamina::doQuery() { - auto* pi = ksys::act::PlayerInfo::instance(); + auto* pi = uking::act::PlayerInfo::instance(); if (pi == nullptr) return 0; diff --git a/src/Game/Actor/Query/queryComparePlayerOriginalHeart.cpp b/src/Game/Actor/Query/queryComparePlayerOriginalHeart.cpp index d10be8aa..4bd04ced 100644 --- a/src/Game/Actor/Query/queryComparePlayerOriginalHeart.cpp +++ b/src/Game/Actor/Query/queryComparePlayerOriginalHeart.cpp @@ -1,6 +1,6 @@ #include "Game/Actor/Query/queryComparePlayerOriginalHeart.h" #include -#include "KingSystem/ActorSystem/actPlayerInfo.h" +#include "Game/Actor/Player/actPlayerInfo.h" namespace uking::query { @@ -10,7 +10,7 @@ ComparePlayerOriginalHeart::ComparePlayerOriginalHeart(const InitArg& arg) ComparePlayerOriginalHeart::~ComparePlayerOriginalHeart() = default; int ComparePlayerOriginalHeart::doQuery() { - using PlayerInfo = ksys::act::PlayerInfo; + using PlayerInfo = uking::act::PlayerInfo; if (PlayerInfo::instance() == nullptr) return 0; diff --git a/src/Game/Actor/actPlayerCreateMgr.cpp b/src/Game/Actor/actPlayerCreateMgr.cpp index f573f245..f053b40d 100644 --- a/src/Game/Actor/actPlayerCreateMgr.cpp +++ b/src/Game/Actor/actPlayerCreateMgr.cpp @@ -1,10 +1,11 @@ #include "Game/Actor/actPlayerCreateMgr.h" #include #include +#include "Game/Actor/Player/actPlayerBase.h" +#include "Game/Actor/Player/actPlayerInfo.h" #include "Game/Actor/actPlayerCreateUtils.h" #include "Game/Actor/actWeapon.h" #include "Game/UI/uiPauseMenuDataMgr.h" -#include "KingSystem/ActorSystem/Profiles/actPlayerBase.h" #include "KingSystem/ActorSystem/Profiles/actWeaponBase.h" #include "KingSystem/ActorSystem/actActorConstDataAccess.h" #include "KingSystem/ActorSystem/actActorCreator.h" @@ -13,7 +14,6 @@ #include "KingSystem/ActorSystem/actInfoCommon.h" #include "KingSystem/ActorSystem/actInfoData.h" #include "KingSystem/ActorSystem/actInstParamPack.h" -#include "KingSystem/ActorSystem/actPlayerInfo.h" #include "KingSystem/GameData/gdtCommonFlagsUtils.h" namespace uking::act { @@ -154,7 +154,7 @@ void CreatePlayerEquipActorMgr::requestCreateWeapon(s32 slot_idx, const sead::Sa auto scope = mTracer.trace()->makeScope("requestCreateWeapon", caller, 1); deleteLoadingProc(slot_idx); - auto* player = ksys::act::PlayerInfo::instance()->getPlayer(); + auto* player = PlayerInfo::instance()->getPlayer(); sead::Matrix34f pos; pos.makeT(player->getMtx().getTranslation()); @@ -213,7 +213,7 @@ void CreatePlayerEquipActorMgr::requestCreateArmor(s32 slot_idx, const sead::Saf { ksys::act::ActorConstDataAccess access; - ksys::act::acquireActor(&ksys::act::PlayerInfo::instance()->getPlayerLink(), &access); + ksys::act::acquireActor(&PlayerInfo::instance()->getPlayerLink(), &access); sead::Vector3f pos; access.getActorMtx().getTranslation(pos); params->addPosition(pos); diff --git a/src/Game/UI/uiPauseMenuDataMgr.cpp b/src/Game/UI/uiPauseMenuDataMgr.cpp index 87ff35e3..53a87310 100644 --- a/src/Game/UI/uiPauseMenuDataMgr.cpp +++ b/src/Game/UI/uiPauseMenuDataMgr.cpp @@ -4,6 +4,8 @@ #include #include #include +#include "Game/Actor/Player/actPlayerBase.h" +#include "Game/Actor/Player/actPlayerInfo.h" #include "Game/Actor/actPlayerCreateMgr.h" #include "Game/Actor/actPlayerCreateUtils.h" #include "Game/Actor/actWeapon.h" @@ -12,14 +14,12 @@ #include "Game/Scene/gameScene.h" #include "Game/UI/uiUtils.h" #include "Game/gameItemUtils.h" -#include "KingSystem/ActorSystem/Profiles/actPlayerBase.h" #include "KingSystem/ActorSystem/actActorConstDataAccess.h" #include "KingSystem/ActorSystem/actActorHeapUtil.h" #include "KingSystem/ActorSystem/actActorUtil.h" #include "KingSystem/ActorSystem/actBaseProcLink.h" #include "KingSystem/ActorSystem/actInfoCommon.h" #include "KingSystem/ActorSystem/actInfoData.h" -#include "KingSystem/ActorSystem/actPlayerInfo.h" #include "KingSystem/GameData/gdtCommonFlagsUtils.h" #include "KingSystem/GameData/gdtManager.h" #include "KingSystem/GameData/gdtSpecialFlagNames.h" @@ -315,7 +315,7 @@ void PauseMenuDataMgr::initForNewSave() { mCanSeeHealthBar = false; mEquippedWeapons.fill({}); - auto* player = ksys::act::PlayerInfo::instance()->getPlayer(); + auto* player = uking::act::PlayerInfo::instance()->getPlayer(); if (player) { player->switchEquipment(getDefaultEquipment(EquipmentSlot::WeaponRight), 1); player->switchEquipment(getDefaultEquipment(EquipmentSlot::WeaponLeft), 1); @@ -1357,7 +1357,7 @@ void PauseMenuDataMgr::removeItem(const sead::SafeString& name) { void PauseMenuDataMgr::removeWeaponIfEquipped(const sead::SafeString& name) { const auto lock = sead::makeScopedLock(mCritSection); - if (!ksys::act::PlayerInfo::instance()->getPlayer()) + if (!uking::act::PlayerInfo::instance()->getPlayer()) return; const auto& items = getItems(); @@ -1502,7 +1502,7 @@ void PauseMenuDataMgr::createPlayerEquipment() { } } - auto* player = ksys::act::PlayerInfo::instance()->getPlayer(); + auto* player = uking::act::PlayerInfo::instance()->getPlayer(); s32 slot = 0; // <- this is required to match for (u64 i = 0; i != equipment_items.size(); slot = s32(++i)) { diff --git a/src/KingSystem/ActorSystem/CMakeLists.txt b/src/KingSystem/ActorSystem/CMakeLists.txt index 5a5dd758..dab97a14 100644 --- a/src/KingSystem/ActorSystem/CMakeLists.txt +++ b/src/KingSystem/ActorSystem/CMakeLists.txt @@ -16,8 +16,6 @@ target_sources(uking PRIVATE LOD/actLodState.cpp LOD/actLodState.h - Profiles/actPlayerBase.cpp - Profiles/actPlayerBase.h Profiles/actRopeBase.cpp Profiles/actRopeBase.h Profiles/actWeaponBase.cpp @@ -116,10 +114,6 @@ target_sources(uking PRIVATE actPhysicsConstraints.h actPhysicsUserTag.cpp actPhysicsUserTag.h - actPlayerInfo.cpp - actPlayerInfo.h - actPlayerInfoBase.cpp - actPlayerInfoStub.cpp actTag.h actionDummyAction.cpp diff --git a/src/KingSystem/ActorSystem/Profiles/actPlayerBase.cpp b/src/KingSystem/ActorSystem/Profiles/actPlayerBase.cpp deleted file mode 100644 index abc059cd..00000000 --- a/src/KingSystem/ActorSystem/Profiles/actPlayerBase.cpp +++ /dev/null @@ -1 +0,0 @@ -#include "KingSystem/ActorSystem/Profiles/actPlayerBase.h" diff --git a/src/KingSystem/System/CMakeLists.txt b/src/KingSystem/System/CMakeLists.txt index 933fd546..340ab774 100644 --- a/src/KingSystem/System/CMakeLists.txt +++ b/src/KingSystem/System/CMakeLists.txt @@ -16,6 +16,7 @@ target_sources(uking PRIVATE DebugFinder.cpp DebugFinder.h DebugMessage.h + GameConfig.h HavokWorkerMgr.cpp HavokWorkerMgr.h Hio.cpp diff --git a/src/KingSystem/Framework/GameConfig.h b/src/KingSystem/System/GameConfig.h similarity index 88% rename from src/KingSystem/Framework/GameConfig.h rename to src/KingSystem/System/GameConfig.h index 1ab9f19a..0c57bbda 100644 --- a/src/KingSystem/Framework/GameConfig.h +++ b/src/KingSystem/System/GameConfig.h @@ -2,6 +2,8 @@ #include +namespace ksys { + class GameConfig { public: static GameConfig* getInstance() { return sInstancePtr; } @@ -15,3 +17,5 @@ public: private: static GameConfig* sInstancePtr; }; + +} // namespace ksys diff --git a/src/KingSystem/System/Patrol.cpp b/src/KingSystem/System/Patrol.cpp index c7fc3be4..19afdecb 100644 --- a/src/KingSystem/System/Patrol.cpp +++ b/src/KingSystem/System/Patrol.cpp @@ -1,6 +1,6 @@ #include "KingSystem/System/Patrol.h" #include -#include "KingSystem/Framework/GameConfig.h" +#include "KingSystem/System/GameConfig.h" namespace ksys { diff --git a/src/KingSystem/System/StarterPackMgr.h b/src/KingSystem/System/StarterPackMgr.h index a0d1214d..a579ac6d 100644 --- a/src/KingSystem/System/StarterPackMgr.h +++ b/src/KingSystem/System/StarterPackMgr.h @@ -4,13 +4,13 @@ #include #include #include "Game/DLC/aocManager.h" -#include "KingSystem/Framework/GameConfig.h" #include "KingSystem/Resource/resEntryFactory.h" #include "KingSystem/Resource/resHandle.h" #include "KingSystem/Resource/resLoadRequest.h" #include "KingSystem/Resource/resResourceArchive.h" #include "KingSystem/Resource/resResourceMgrTask.h" #include "KingSystem/Resource/resSystem.h" +#include "KingSystem/System/GameConfig.h" #include "KingSystem/System/OverlayArena.h" #include "KingSystem/Utils/Types.h"