mirror of
https://github.com/zeldaret/botw
synced 2026-09-03 09:59:44 -04:00
ksys/phys: Add RagdollRigidBody stub
Needed for RagdollController.
This commit is contained in:
@@ -19,6 +19,8 @@ target_sources(uking PRIVATE
|
||||
Ragdoll/physRagdollParam.h
|
||||
Ragdoll/physRagdollResource.cpp
|
||||
Ragdoll/physRagdollResource.h
|
||||
Ragdoll/physRagdollRigidBody.cpp
|
||||
Ragdoll/physRagdollRigidBody.h
|
||||
|
||||
RigidBody/physEdgeRigidBodyParam.cpp
|
||||
RigidBody/physEdgeRigidBodyParam.h
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
#include "KingSystem/Physics/Ragdoll/physRagdollRigidBody.h"
|
||||
|
||||
namespace ksys::phys {
|
||||
|
||||
RagdollRigidBody::RagdollRigidBody(const sead::SafeString& name, RagdollController* ctrl,
|
||||
int ragdoll_body_index, hkpRigidBody* hkp_rigid_body,
|
||||
sead::Heap* heap)
|
||||
: RigidBody(RigidBody::Type::Ragdoll, ContactLayerType::Entity, hkp_rigid_body, name, heap,
|
||||
true),
|
||||
mCtrl(ctrl), mRagdollBodyIndex(ragdoll_body_index) {
|
||||
updateCollidableQualityType(true);
|
||||
mFlags.set(Flag::NoCharStandingOn);
|
||||
}
|
||||
|
||||
RagdollRigidBody::~RagdollRigidBody() {
|
||||
_e8.freeBuffer();
|
||||
}
|
||||
|
||||
} // namespace ksys::phys
|
||||
@@ -0,0 +1,30 @@
|
||||
#pragma once
|
||||
|
||||
#include <container/seadBuffer.h>
|
||||
#include "KingSystem/Physics/RigidBody/physRigidBody.h"
|
||||
|
||||
namespace ksys::phys {
|
||||
|
||||
class RagdollController;
|
||||
|
||||
// TODO
|
||||
class RagdollRigidBody : public RigidBody {
|
||||
SEAD_RTTI_OVERRIDE(RagdollRigidBody, RigidBody)
|
||||
public:
|
||||
RagdollRigidBody(const sead::SafeString& name, RagdollController* ctrl, int ragdoll_body_index,
|
||||
hkpRigidBody* hkp_rigid_body, sead::Heap* heap);
|
||||
~RagdollRigidBody() override;
|
||||
|
||||
float getVolume() override;
|
||||
u32 getCollisionMasks(RigidBody::CollisionMasks* masks, const u32* shape_key,
|
||||
const sead::Vector3f& contact_point) override;
|
||||
|
||||
private:
|
||||
RagdollController* mCtrl{};
|
||||
int mRagdollBodyIndex{};
|
||||
void* _e0{};
|
||||
sead::Buffer<void*> _e8{};
|
||||
void* _f8{};
|
||||
};
|
||||
|
||||
} // namespace ksys::phys
|
||||
@@ -56,7 +56,7 @@ public:
|
||||
|
||||
enum class Type {
|
||||
FromShape = 0,
|
||||
_1 = 1,
|
||||
Ragdoll = 1,
|
||||
_2 = 2,
|
||||
TerrainHeightField = 3,
|
||||
StaticCompoundBody = 4,
|
||||
|
||||
Reference in New Issue
Block a user