diff options
| author | Léo Lam <leo@leolam.fr> | 2021-04-22 19:03:46 +0200 |
|---|---|---|
| committer | Léo Lam <leo@leolam.fr> | 2021-04-22 19:37:58 +0200 |
| commit | 136f20427d6b346da488ec84f39b5c6aeaffd24e (patch) | |
| tree | a8f5740cbc11c50dfd16a505b1f565997ae62267 /src/KingSystem/Resource | |
| parent | f6e4643808bdec31d2e2bf1b3d3a0ce0b456e348 (diff) | |
ksys/phys: Implement ParamSet and res::Physics
Diffstat (limited to 'src/KingSystem/Resource')
| -rw-r--r-- | src/KingSystem/Resource/resResourcePhysics.cpp | 14 | ||||
| -rw-r--r-- | src/KingSystem/Resource/resResourcePhysics.h | 13 |
2 files changed, 26 insertions, 1 deletions
diff --git a/src/KingSystem/Resource/resResourcePhysics.cpp b/src/KingSystem/Resource/resResourcePhysics.cpp index 89054e81..88591fb9 100644 --- a/src/KingSystem/Resource/resResourcePhysics.cpp +++ b/src/KingSystem/Resource/resResourcePhysics.cpp @@ -1 +1,15 @@ #include "KingSystem/Resource/resResourcePhysics.h" + +namespace ksys::res { + +void Physics::doCreate_(u8* buffer, u32 buffer_size, sead::Heap* heap) {} + +bool Physics::parse_(u8* data, size_t size, sead::Heap* heap) { + if (!data) + return true; + + mParamSet.parse(this, agl::utl::ResParameterArchive{data}, heap); + return true; +} + +} // namespace ksys::res diff --git a/src/KingSystem/Resource/resResourcePhysics.h b/src/KingSystem/Resource/resResourcePhysics.h index fb95e0c1..5eef2cfd 100644 --- a/src/KingSystem/Resource/resResourcePhysics.h +++ b/src/KingSystem/Resource/resResourcePhysics.h @@ -1,13 +1,24 @@ #pragma once +#include "KingSystem/Physics/System/physParamSet.h" #include "KingSystem/Resource/resResource.h" #include "KingSystem/Utils/ParamIO.h" namespace ksys::res { -// TODO class Physics : public ParamIO, public Resource { SEAD_RTTI_OVERRIDE(Physics, Resource) +public: + Physics() : ParamIO("physics", 0) {} + + phys::ParamSet& getParamSet() { return mParamSet; } + + void doCreate_(u8* buffer, u32 buffer_size, sead::Heap* heap) override; + bool parse_(u8* data, size_t size, sead::Heap* heap) override; + bool needsParse() const override { return true; } + +private: + phys::ParamSet mParamSet; }; } // namespace ksys::res |
