mirror of
https://github.com/zeldaret/botw
synced 2026-06-25 01:12:12 -04:00
ksys/phys: Implement ParamSet and res::Physics
This commit is contained in:
@@ -5,6 +5,10 @@
|
||||
#include <agl/Utils/aglParameterObj.h>
|
||||
#include <container/seadBuffer.h>
|
||||
|
||||
namespace ksys::res {
|
||||
class Physics;
|
||||
}
|
||||
|
||||
namespace ksys::phys {
|
||||
|
||||
struct RigidBodySetParam;
|
||||
@@ -16,13 +20,22 @@ struct ContactInfoParam;
|
||||
struct EdgeRigidBodySetParam;
|
||||
|
||||
struct ParamSet : public agl::utl::ParameterList {
|
||||
ParamSet();
|
||||
~ParamSet() override;
|
||||
ParamSet(const ParamSet&) = delete;
|
||||
auto operator=(const ParamSet&) = delete;
|
||||
|
||||
bool parse(res::Physics* bphysics, agl::utl::ResParameterArchive archive, sead::Heap* heap);
|
||||
|
||||
RigidBodySetParam& getRigidBodySet(int idx);
|
||||
|
||||
sead::Buffer<RigidBodySetParam> rigid_body_sets{};
|
||||
CharacterControllerParam* character_controller{};
|
||||
ClothSetParam* cloth_set{};
|
||||
RagdollParam* ragdoll{};
|
||||
SupportBoneParam* support_bone{};
|
||||
ContactInfoParam* contact_info{};
|
||||
EdgeRigidBodySetParam* edge_rigid_body_sets{};
|
||||
EdgeRigidBodySetParam* edge_rigid_body_set{};
|
||||
|
||||
agl::utl::ParameterObj obj;
|
||||
agl::utl::Parameter<int> use_rigid_body_set_num;
|
||||
@@ -34,6 +47,10 @@ struct ParamSet : public agl::utl::ParameterList {
|
||||
agl::utl::Parameter<bool> use_system_group_handler;
|
||||
agl::utl::Parameter<int> use_edge_rigid_body_num;
|
||||
int num_rigid_bodies_with_link_matrix = 0;
|
||||
|
||||
private:
|
||||
void finalize();
|
||||
bool doParse(res::Physics* bphysics, agl::utl::ResParameterArchive archive, sead::Heap* heap);
|
||||
};
|
||||
|
||||
} // namespace ksys::phys
|
||||
|
||||
Reference in New Issue
Block a user