diff --git a/data/uking_functions.csv b/data/uking_functions.csv index 1374716d..d30583e7 100644 --- a/data/uking_functions.csv +++ b/data/uking_functions.csv @@ -49623,8 +49623,8 @@ Address,Quality,Size,Name 0x00000071007cbea4,U,000004,nullsub_2444 0x00000071007cbea8,U,000004,j__ZdlPv_353 0x00000071007cbeac,U,000440,StageFactory::create -0x00000071007cc064,O,000020,_ZN5uking9GameScene17getCurrentMapTypeEv -0x00000071007cc078,O,000020,_ZN5uking9GameScene17getCurrentMapNameEv +0x00000071007cc064,O,000020,_ZN5uking9StageInfo17getCurrentMapTypeEv +0x00000071007cc078,O,000020,_ZN5uking9StageInfo17getCurrentMapNameEv 0x00000071007cc08c,U,000012,getPSavePosAngleForStageGen 0x00000071007cc098,U,000012,getPSavePosForStageGen 0x00000071007cc0a4,U,003264,genStageUpdateMapTypeFlags @@ -75237,7 +75237,7 @@ Address,Quality,Size,Name 0x0000007100d7ee8c,U,000076, 0x0000007100d7eed8,U,000016, 0x0000007100d7eee8,U,000128, -0x0000007100d7ef68,O,000004,_ZN4ksys3act9Awareness8calcHashERKN4sead14SafeStringBaseIcEE +0x0000007100d7ef68,O,000004,_ZN4ksys3act17calcAwarenessHashERKN4sead14SafeStringBaseIcEE 0x0000007100d7ef6c,U,000116, 0x0000007100d7efe0,U,000036,_ZN4ksys3act9Awareness4Unk18finalizeEv 0x0000007100d7f004,U,000040, diff --git a/src/Game/Actor/Action/actionForceSetCameraPos.cpp b/src/Game/Actor/Action/actionForceSetCameraPos.cpp index ade0b7de..61e5b345 100644 --- a/src/Game/Actor/Action/actionForceSetCameraPos.cpp +++ b/src/Game/Actor/Action/actionForceSetCameraPos.cpp @@ -14,14 +14,14 @@ void ForceSetCameraPos::enter_(ksys::act::ai::InlineParamPack* params) { ksys::act::ai::Action::enter_(params); } +void ForceSetCameraPos::calc_() { + ksys::act::ai::Action::calc_(); +} + void ForceSetCameraPos::leave_() { ksys::act::ai::Action::leave_(); } void ForceSetCameraPos::loadParams_() {} -void ForceSetCameraPos::calc_() { - ksys::act::ai::Action::calc_(); -} - } // namespace uking::action diff --git a/src/Game/Actor/Action/actionInWaterSelForkASPlay.cpp b/src/Game/Actor/Action/actionInWaterSelForkASPlay.cpp index 7296f05c..791ff4f1 100644 --- a/src/Game/Actor/Action/actionInWaterSelForkASPlay.cpp +++ b/src/Game/Actor/Action/actionInWaterSelForkASPlay.cpp @@ -14,6 +14,10 @@ void InWaterSelForkASPlay::enter_(ksys::act::ai::InlineParamPack* params) { ksys::act::ai::Action::enter_(params); } +void InWaterSelForkASPlay::calc_() { + ksys::act::ai::Action::calc_(); +} + void InWaterSelForkASPlay::leave_() { ksys::act::ai::Action::leave_(); } @@ -28,8 +32,4 @@ void InWaterSelForkASPlay::loadParams_() { getStaticParam(&mASName_s, "ASName"); } -void InWaterSelForkASPlay::calc_() { - ksys::act::ai::Action::calc_(); -} - } // namespace uking::action diff --git a/src/Game/Actor/Damage/actDamageInfoMgr.cpp b/src/Game/Actor/Damage/actDamageInfoMgr.cpp index e794326a..a1cafc92 100644 --- a/src/Game/Actor/Damage/actDamageInfoMgr.cpp +++ b/src/Game/Actor/Damage/actDamageInfoMgr.cpp @@ -1,5 +1,5 @@ #include "Game/Actor/Damage/actDamageInfoMgr.h" -#include "Game/Scene/gameScene.h" +#include "Game/Scene/gameStageInfo.h" #include "KingSystem/ActorSystem/actGlobalParameter.h" #include "KingSystem/GameData/gdtCommonFlagsUtils.h" #include "KingSystem/Resource/GeneralParamList/resGParamListObjectGlobal.h" @@ -49,7 +49,7 @@ bool DamageInfoMgr::isTrueFormMasterSword() const { if (ksys::gdt::getFlag_LastBossGanonBeastGenerateFlag()) return true; - const sead::SafeString& map = GameScene::getCurrentMapName(); + const sead::SafeString& map = StageInfo::getCurrentMapName(); if (!ksys::gdt::getFlag_Die_PGanonElectric() && map == "RemainsElectric") return true; diff --git a/src/Game/Actor/Query/queryIsCurrentMainFieldStage.cpp b/src/Game/Actor/Query/queryIsCurrentMainFieldStage.cpp index 84b765b4..0554b268 100644 --- a/src/Game/Actor/Query/queryIsCurrentMainFieldStage.cpp +++ b/src/Game/Actor/Query/queryIsCurrentMainFieldStage.cpp @@ -1,6 +1,6 @@ #include "Game/Actor/Query/queryIsCurrentMainFieldStage.h" #include -#include "Game/Scene/gameScene.h" +#include "Game/Scene/gameStageInfo.h" namespace uking::query { @@ -9,7 +9,7 @@ IsCurrentMainFieldStage::IsCurrentMainFieldStage(const InitArg& arg) : ksys::act IsCurrentMainFieldStage::~IsCurrentMainFieldStage() = default; int IsCurrentMainFieldStage::doQuery() { - return GameScene::getCurrentMapType() == "MainField"; + return StageInfo::getCurrentMapType() == "MainField"; } void IsCurrentMainFieldStage::loadParams(const evfl::QueryArg& arg) {} diff --git a/src/Game/Scene/gameScene.cpp b/src/Game/Scene/gameScene.cpp index 59152afe..013dc668 100644 --- a/src/Game/Scene/gameScene.cpp +++ b/src/Game/Scene/gameScene.cpp @@ -1,16 +1,7 @@ #include "Game/Scene/gameScene.h" -#include "KingSystem/System/StageInfo.h" namespace uking { bool GameScene::sIsOpenWorldDemo{}; -const sead::SafeString& GameScene::getCurrentMapType() { - return ksys::StageInfo::getCurrentMapType(); -} - -const sead::SafeString& GameScene::getCurrentMapName() { - return ksys::StageInfo::getCurrentMapName(); -} - } // namespace uking diff --git a/src/Game/Scene/gameScene.h b/src/Game/Scene/gameScene.h index 4a492877..055097db 100644 --- a/src/Game/Scene/gameScene.h +++ b/src/Game/Scene/gameScene.h @@ -9,12 +9,6 @@ class GameScene { public: static bool isOpenWorldDemo() { return sIsOpenWorldDemo; } - /// Get the current map type (e.g. MainFieldDungeon) - static const sead::SafeString& getCurrentMapType(); - - /// Get the current map name (e.g. RemainsWind, FinalTrial, ...) - static const sead::SafeString& getCurrentMapName(); - private: static bool sIsOpenWorldDemo; }; diff --git a/src/Game/Scene/gameStageInfo.cpp b/src/Game/Scene/gameStageInfo.cpp index dc80d025..fae5d276 100644 --- a/src/Game/Scene/gameStageInfo.cpp +++ b/src/Game/Scene/gameStageInfo.cpp @@ -1,4 +1,5 @@ #include "Game/Scene/gameStageInfo.h" +#include "KingSystem/System/StageInfo.h" #include "KingSystem/Utils/InitTimeInfo.h" namespace uking { @@ -7,4 +8,12 @@ static ksys::util::InitConstants sConstants; sead::FixedSafeString<256> StageInfo::sStr; StageInfo StageInfo::sInfo; +const sead::SafeString& StageInfo::getCurrentMapType() { + return ksys::StageInfo::getCurrentMapType(); +} + +const sead::SafeString& StageInfo::getCurrentMapName() { + return ksys::StageInfo::getCurrentMapName(); +} + } // namespace uking diff --git a/src/Game/Scene/gameStageInfo.h b/src/Game/Scene/gameStageInfo.h index d149bffd..5c359047 100644 --- a/src/Game/Scene/gameStageInfo.h +++ b/src/Game/Scene/gameStageInfo.h @@ -28,6 +28,12 @@ public: static bool isAocField() { return sInfo.mIsAocField; } static bool isMainField() { return sInfo.mIsMainField; } + /// Get the current map type (e.g. MainFieldDungeon) + static const sead::SafeString& getCurrentMapType(); + + /// Get the current map name (e.g. RemainsWind, FinalTrial, ...) + static const sead::SafeString& getCurrentMapName(); + static sead::FixedSafeString<256> sStr; private: diff --git a/src/KingSystem/ActorSystem/Awareness/actAwareness.cpp b/src/KingSystem/ActorSystem/Awareness/actAwareness.cpp index a06e3e67..4d4e8d67 100644 --- a/src/KingSystem/ActorSystem/Awareness/actAwareness.cpp +++ b/src/KingSystem/ActorSystem/Awareness/actAwareness.cpp @@ -231,10 +231,6 @@ void Awareness::calc() { resetFlag(Flag::_0); } -u32 Awareness::calcHash(const sead::SafeString& key) { - return agl::utl::ParameterBase::calcHash(key); -} - void Awareness::Links2::calc() { count = 0; } diff --git a/src/KingSystem/ActorSystem/Awareness/actAwareness.h b/src/KingSystem/ActorSystem/Awareness/actAwareness.h index 5b13c5ef..970ec635 100644 --- a/src/KingSystem/ActorSystem/Awareness/actAwareness.h +++ b/src/KingSystem/ActorSystem/Awareness/actAwareness.h @@ -35,8 +35,6 @@ public: void setEventActive(bool active); void calc(); - static u32 calcHash(const sead::SafeString& key); - private: friend class AwarenessInstance; diff --git a/src/KingSystem/ActorSystem/Awareness/actAwarenessDefs.cpp b/src/KingSystem/ActorSystem/Awareness/actAwarenessDefs.cpp index 8c13c6fc..d3f969c8 100644 --- a/src/KingSystem/ActorSystem/Awareness/actAwarenessDefs.cpp +++ b/src/KingSystem/ActorSystem/Awareness/actAwarenessDefs.cpp @@ -1,7 +1,7 @@ #include "KingSystem/ActorSystem/Awareness/actAwarenessDefs.h" #include #include -#include "KingSystem/ActorSystem/Awareness/actAwareness.h" +#include "KingSystem/ActorSystem/Awareness/actAwarenessMiscUtils.h" namespace ksys::act { @@ -29,7 +29,7 @@ sead::SafeArray sAwarenessSensorTypes = sead::toArray({ u32 getAwarenessTerrorFlags(u32 hash) { for (u32 i = 0; i < u32(sAwarenessTerrorTypes.size()); ++i) { - if (Awareness::calcHash(sAwarenessTerrorTypes(i)) == hash) + if (calcAwarenessHash(sAwarenessTerrorTypes(i)) == hash) return 1 << i; } @@ -39,7 +39,7 @@ u32 getAwarenessTerrorFlags(u32 hash) { u32 getAwarenessSensorFlags(u32 hash) { for (u32 i = 0; i < u32(sAwarenessSensorTypes.size()); ++i) { - if (Awareness::calcHash(sAwarenessSensorTypes(i)) == hash) + if (calcAwarenessHash(sAwarenessSensorTypes(i)) == hash) return 1 << i; } return 0xffffffff; diff --git a/src/KingSystem/ActorSystem/Awareness/actAwarenessMiscUtils.cpp b/src/KingSystem/ActorSystem/Awareness/actAwarenessMiscUtils.cpp new file mode 100644 index 00000000..b4be0548 --- /dev/null +++ b/src/KingSystem/ActorSystem/Awareness/actAwarenessMiscUtils.cpp @@ -0,0 +1,10 @@ +#include "KingSystem/ActorSystem/Awareness/actAwarenessMiscUtils.h" +#include + +namespace ksys::act { + +u32 calcAwarenessHash(const sead::SafeString& key) { + return agl::utl::ParameterBase::calcHash(key); +} + +} // namespace ksys::act diff --git a/src/KingSystem/ActorSystem/Awareness/actAwarenessMiscUtils.h b/src/KingSystem/ActorSystem/Awareness/actAwarenessMiscUtils.h new file mode 100644 index 00000000..486bb8c0 --- /dev/null +++ b/src/KingSystem/ActorSystem/Awareness/actAwarenessMiscUtils.h @@ -0,0 +1,10 @@ +#pragma once + +#include +#include + +namespace ksys::act { + +u32 calcAwarenessHash(const sead::SafeString& key); + +} // namespace ksys::act diff --git a/src/KingSystem/ActorSystem/CMakeLists.txt b/src/KingSystem/ActorSystem/CMakeLists.txt index e0b70bfd..5d9be875 100644 --- a/src/KingSystem/ActorSystem/CMakeLists.txt +++ b/src/KingSystem/ActorSystem/CMakeLists.txt @@ -11,6 +11,8 @@ target_sources(uking PRIVATE Awareness/actAwarenessDefs.h Awareness/actAwarenessInstance.cpp Awareness/actAwarenessInstance.h + Awareness/actAwarenessMiscUtils.cpp + Awareness/actAwarenessMiscUtils.h Profiles/actRopeBase.cpp @@ -77,8 +79,6 @@ target_sources(uking PRIVATE actBaseProcInitializer.h actBaseProcJob.cpp actBaseProcJob.h - actBaseProcJobHandler.cpp - actBaseProcJobHandler.h actBaseProcJobQue.cpp actBaseProcJobQue.h actBaseProcLink.cpp diff --git a/src/KingSystem/ActorSystem/actActor.h b/src/KingSystem/ActorSystem/actActor.h index 2749d091..dcd0515d 100644 --- a/src/KingSystem/ActorSystem/actActor.h +++ b/src/KingSystem/ActorSystem/actActor.h @@ -11,7 +11,6 @@ #include #include "KingSystem/ActorSystem/actActorEditorNode.h" #include "KingSystem/ActorSystem/actBaseProc.h" -#include "KingSystem/ActorSystem/actBaseProcJobHandler.h" #include "KingSystem/ActorSystem/actBaseProcLink.h" #include "KingSystem/ActorSystem/actPhysicsConstraints.h" #include "KingSystem/ActorSystem/actPhysicsUserTag.h" diff --git a/src/KingSystem/ActorSystem/actBaseProc.cpp b/src/KingSystem/ActorSystem/actBaseProc.cpp index cce31c21..97b1b5b1 100644 --- a/src/KingSystem/ActorSystem/actBaseProc.cpp +++ b/src/KingSystem/ActorSystem/actBaseProc.cpp @@ -3,7 +3,6 @@ #include