From edcfc9b7abc3261e4f93663d572a6fb6b196b667 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Lam?= Date: Sun, 25 Apr 2021 14:38:39 +0200 Subject: [PATCH] ksys/res: Move AttPos to separate translation unit --- src/KingSystem/Resource/CMakeLists.txt | 2 ++ src/KingSystem/Resource/resResourceAttCheck.h | 1 + .../Resource/resResourceAttClient.cpp | 10 -------- .../Resource/resResourceAttClient.h | 17 +------------ src/KingSystem/Resource/resResourceAttPos.cpp | 15 +++++++++++ src/KingSystem/Resource/resResourceAttPos.h | 25 +++++++++++++++++++ 6 files changed, 44 insertions(+), 26 deletions(-) create mode 100644 src/KingSystem/Resource/resResourceAttPos.cpp create mode 100644 src/KingSystem/Resource/resResourceAttPos.h diff --git a/src/KingSystem/Resource/CMakeLists.txt b/src/KingSystem/Resource/CMakeLists.txt index 07aa2d2f..b4f3d690 100644 --- a/src/KingSystem/Resource/CMakeLists.txt +++ b/src/KingSystem/Resource/CMakeLists.txt @@ -152,6 +152,8 @@ target_sources(uking PRIVATE resResourceAttCheck.h resResourceAttClient.cpp resResourceAttClient.h + resResourceAttPos.cpp + resResourceAttPos.h resResourceArchive.cpp resResourceArchive.h resResourceAwareness.cpp diff --git a/src/KingSystem/Resource/resResourceAttCheck.h b/src/KingSystem/Resource/resResourceAttCheck.h index e0d88375..dbb2678d 100644 --- a/src/KingSystem/Resource/resResourceAttCheck.h +++ b/src/KingSystem/Resource/resResourceAttCheck.h @@ -5,6 +5,7 @@ #include #include #include "KingSystem/Resource/resResourceAttClient.h" +#include "KingSystem/Resource/resResourceAttPos.h" namespace ksys::res { diff --git a/src/KingSystem/Resource/resResourceAttClient.cpp b/src/KingSystem/Resource/resResourceAttClient.cpp index ab99bec3..9dd52f21 100644 --- a/src/KingSystem/Resource/resResourceAttClient.cpp +++ b/src/KingSystem/Resource/resResourceAttClient.cpp @@ -9,14 +9,4 @@ AttClient::~AttClient() { void AttClient::doCreate_(u8*, u32, sead::Heap*) {} -AttPos::AttPos() = default; - -void AttPos::init(agl::utl::IParameterObj* obj, const char* node_key, const char* offset_key, - const char* rotate_key, const char* y_rot_only_key) { - node.init("", node_key, "ノード", "", obj); - offset.init(sead::Vector3f::zero, offset_key, "オフセット", "Min=-100.f,Max=100.f", obj); - rotate.init(sead::Vector3f::zero, rotate_key, "回転", "Min=-3.1415f,Max=3.1415f", obj); - y_rot_only.init(false, y_rot_only_key, "Y軸回転のみ有効", "", obj); -} - } // namespace ksys::res diff --git a/src/KingSystem/Resource/resResourceAttClient.h b/src/KingSystem/Resource/resResourceAttClient.h index bd93e31e..eed04a32 100644 --- a/src/KingSystem/Resource/resResourceAttClient.h +++ b/src/KingSystem/Resource/resResourceAttClient.h @@ -7,27 +7,12 @@ #include #include "KingSystem/ActorSystem/Attention/actAttention.h" #include "KingSystem/Resource/resResource.h" +#include "KingSystem/Resource/resResourceAttPos.h" #include "KingSystem/Utils/ParamIO.h" #include "KingSystem/Utils/Types.h" namespace ksys::res { -struct AttPos { - AttPos(); - - void init(agl::utl::IParameterObj* obj, const char* node_key = "Node", - const char* offset_key = "Offset", const char* rotate_key = "Rotate", - const char* y_rot_only_key = "YRotOnly"); - - // TODO: more functions - - agl::utl::Parameter node; - agl::utl::Parameter offset; - agl::utl::Parameter rotate; - agl::utl::Parameter y_rot_only; -}; -KSYS_CHECK_SIZE_NX150(AttPos, 0x98); - class AttClient : public ParamIO, public Resource { SEAD_RTTI_OVERRIDE(AttClient, Resource) public: diff --git a/src/KingSystem/Resource/resResourceAttPos.cpp b/src/KingSystem/Resource/resResourceAttPos.cpp new file mode 100644 index 00000000..46c4f010 --- /dev/null +++ b/src/KingSystem/Resource/resResourceAttPos.cpp @@ -0,0 +1,15 @@ +#include "KingSystem/Resource/resResourceAttPos.h" + +namespace ksys::res { + +AttPos::AttPos() = default; + +void AttPos::init(agl::utl::IParameterObj* obj, const char* node_key, const char* offset_key, + const char* rotate_key, const char* y_rot_only_key) { + node.init("", node_key, "ノード", "", obj); + offset.init(sead::Vector3f::zero, offset_key, "オフセット", "Min=-100.f,Max=100.f", obj); + rotate.init(sead::Vector3f::zero, rotate_key, "回転", "Min=-3.1415f,Max=3.1415f", obj); + y_rot_only.init(false, y_rot_only_key, "Y軸回転のみ有効", "", obj); +} + +} // namespace ksys::res diff --git a/src/KingSystem/Resource/resResourceAttPos.h b/src/KingSystem/Resource/resResourceAttPos.h new file mode 100644 index 00000000..0251b02c --- /dev/null +++ b/src/KingSystem/Resource/resResourceAttPos.h @@ -0,0 +1,25 @@ +#pragma once + +#include +#include +#include "KingSystem/Utils/Types.h" + +namespace ksys::res { + +struct AttPos { + AttPos(); + + void init(agl::utl::IParameterObj* obj, const char* node_key = "Node", + const char* offset_key = "Offset", const char* rotate_key = "Rotate", + const char* y_rot_only_key = "YRotOnly"); + + // TODO: more functions + + agl::utl::Parameter node; + agl::utl::Parameter offset; + agl::utl::Parameter rotate; + agl::utl::Parameter y_rot_only; +}; +KSYS_CHECK_SIZE_NX150(AttPos, 0x98); + +} // namespace ksys::res