summaryrefslogtreecommitdiff
path: root/src/KingSystem/Resource/resResourceASSetting.cpp
diff options
context:
space:
mode:
authorLéo Lam <leo@leolam.fr>2026-09-28 03:39:31 +0200
committerLéo Lam <leo@leolam.fr>2026-10-13 03:33:27 +0200
commitea13bac74ad136aeb3dde81f07ccd62622be94ad (patch)
tree6ce7dd47659a2513c0f25236d49aa7953e354e0f /src/KingSystem/Resource/resResourceASSetting.cpp
parente400fe702540b886b718b18e622be450008293a6 (diff)
ksys: move AS setting, RootAi and three others to match link order
Each file moves to where its code is linked, and namespaces follow the new paths. ASSettingMgr is an unofficial name. | Old | New | |---|---| | act::ASSetting (ActorSystem/actASSetting) | res::ASSettingMgr (Resource/Actor/resResourceASSettingMgr) | | Resource/resResourceASSetting, Resource/Actor/resResourceASResourceExtension | Resource/Actor/resResourceASSetting | | ksys::DebugFinder (System/DebugFinder) | ksys::act::DebugFinder (ActorSystem/actDebugFinder) | | ActorSystem/LOD/actLodState | ActorSystem/actLodState | | ActorSystem/actAiRoot | ActorSystem/aiRootAi | | Map/mapStagePreActorCache | System/StagePreActorCache (ksys) | (AI assisted using Claude Fable 5.1 and Claude Opus 5.5)
Diffstat (limited to 'src/KingSystem/Resource/resResourceASSetting.cpp')
-rw-r--r--src/KingSystem/Resource/resResourceASSetting.cpp113
1 files changed, 0 insertions, 113 deletions
diff --git a/src/KingSystem/Resource/resResourceASSetting.cpp b/src/KingSystem/Resource/resResourceASSetting.cpp
deleted file mode 100644
index be0a3865..00000000
--- a/src/KingSystem/Resource/resResourceASSetting.cpp
+++ /dev/null
@@ -1,113 +0,0 @@
-#include "KingSystem/Resource/resResourceASSetting.h"
-
-namespace ksys::res {
-
-ASSetting::ASSetting() {
- mType = "assetting";
- mVersion = 0;
-}
-
-ASSetting::~ASSetting() {
- mBlenderBones.freeBuffer();
-}
-
-void ASSetting::doCreate_(u8* buffer, u32 buffer_size, sead::Heap* heap) {}
-
-bool allocBlenderBones(sead::Buffer<ASSetting::BlenderBone>& buffer, int size, sead::Heap* heap,
- int align = sizeof(void*)) {
- return buffer.tryAllocBuffer(size, heap, align);
-}
-
-bool ASSetting::parse_(u8* data, size_t size, sead::Heap* heap) {
- if (!data)
- return true;
-
- agl::utl::ResParameterArchive archive{data};
- const auto root = archive.getRootList();
-
- addList(&mBlenderBoneList, "BlenderBone");
-
- const auto lists = agl::utl::getResParameterList(root, "BlenderBone");
- if (!lists.ptr())
- return true;
-
- const auto num_blender_bones = lists.getResParameterListNum();
- if (num_blender_bones == 0)
- return true;
-
- if (!allocBlenderBones(mBlenderBones, num_blender_bones, heap))
- return false;
-
- auto res_it = lists.listBegin();
- const auto res_it_end = lists.listEnd();
- sead::FixedSafeString<32> list_name{"BlenderBone"};
- const auto list_name_base_len = list_name.calcLength();
-
- ASParamParser::ParseArgs args;
- args.res_list = {};
- args.heap = heap;
-
- auto it = mBlenderBones.begin();
- const auto end = mBlenderBones.end();
- for (; it != end && res_it != res_it_end; ++it, ++res_it) {
- list_name.trim(list_name_base_len);
- list_name.appendWithFormat("%d", it.getIndex());
- mBlenderBoneList.addList(&it->mList, list_name);
-
- it->mKeyName.init("", "KeyName", "キー名", "", &it->mNameParamObj);
- it->mList.addObj(&it->mNameParamObj, "NameParam");
- it->mList.addList(&it->mBoneParams.getList(), "BoneParam");
-
- const auto list = *res_it;
- args.list = &it->mList;
- args.res_list = agl::utl::getResParameterList(list, "BoneParam");
- if (!it->mBoneParams.parse(args))
- return false;
- }
-
- applyResParameterArchive(archive);
- return true;
-}
-
-ASSetting::BoneParams::~BoneParams() {
- mBuffer.freeBuffer();
-}
-
-bool ASSetting::BoneParams::parse(const ASParamParser::ParseArgs& args) {
- const auto num_objects = args.res_list.getResParameterObjNum();
- if (num_objects == 0)
- return true;
-
- if (!mBuffer.tryAllocBuffer(num_objects, args.heap))
- return false;
-
- auto it = mBuffer.begin();
- const auto end = mBuffer.end();
-
- sead::FixedSafeString<32> obj_name{"BoneParam"};
- const auto obj_name_base_len = obj_name.calcLength();
-
- auto res_it = args.res_list.objBegin();
- const auto res_end = args.res_list.objEnd();
-
- for (; it != end && res_it != res_end; ++it, ++res_it) {
- it->mBone.init("", "Bone", "ボーン名", "", &it->mObj);
- it->mWeight.init(0.0, "Weight", "ウェイト値", "Min=0.f,Max=1.f", &it->mObj);
-
- obj_name.trim(obj_name_base_len);
- obj_name.appendWithFormat("%d", res_it.getIndex());
- mList.addObj(&it->mObj, obj_name);
- }
-
- return true;
-}
-
-f32 ASSetting::BoneParams::getBoneWeight(const sead::SafeString& name) const {
- for (const auto& param : mBuffer) {
- if (name == *param.mBone)
- return *param.mWeight;
- }
- return 1.0;
-}
-
-} // namespace ksys::res