#pragma once #include #include #include #include "KingSystem/Resource/resResource.h" namespace ksys::phys { class RagdollControllerKeyList : public ksys::res::Resource { SEAD_RTTI_OVERRIDE(RagdollControllerKeyList, ksys::res::Resource) struct RagdollControllerKey : public agl::utl::ParameterObj { RagdollControllerKey(); agl::utl::Parameter key; agl::utl::Parameter hierarchy_gain; agl::utl::Parameter velocity_damping; agl::utl::Parameter acceleration_gain; agl::utl::Parameter velocity_gain; agl::utl::Parameter position_gain; agl::utl::Parameter position_max_linear_velocity; agl::utl::Parameter position_max_angular_velocity; agl::utl::Parameter snap_gain; agl::utl::Parameter snap_max_linear_velocity; agl::utl::Parameter snap_max_angular_velocity; agl::utl::Parameter snap_max_linear_distance; agl::utl::Parameter snap_max_angular_distance; }; KSYS_CHECK_SIZE_NX150(RagdollControllerKey, 0x1D8); public: RagdollControllerKeyList(); ~RagdollControllerKeyList(); RagdollControllerKey* getControllerKeyByKey(const sead::SafeString& key); private: bool parse_(u8* data, size_t actualFileSize, sead::Heap* heap) override; bool needsParse() const override { return true; } sead::Buffer buffer; }; } // namespace ksys::phys