mirror of https://github.com/zeldaret/botw.git
ksys/phys: Rename BodyGroup -> StaticCompoundRigidBodyGroup
Makes it obvious that it is related to StaticCompound stuff Also fixes the relative ordering (BodyGroup is located after Mgr code).
This commit is contained in:
parent
f3308d7bee
commit
a86fb2a9ed
|
@ -39,7 +39,7 @@ class UMii;
|
|||
} // namespace mii
|
||||
|
||||
namespace phys {
|
||||
class BodyGroup;
|
||||
class StaticCompoundRigidBodyGroup;
|
||||
class Physics;
|
||||
class Reaction;
|
||||
class RigidBody;
|
||||
|
@ -390,7 +390,7 @@ protected:
|
|||
/* 0x580 */ PhysicsConstraints mConstraints;
|
||||
/* 0x598 */ void* _598 = nullptr;
|
||||
/* 0x5a0 */ BoneControl* mBoneControl = nullptr;
|
||||
/* 0x5a8 */ phys::BodyGroup* mFieldBodyGroup = nullptr;
|
||||
/* 0x5a8 */ phys::StaticCompoundRigidBodyGroup* mFieldBodyGroup = nullptr;
|
||||
/* 0x5b0 */ void* _5b0 = nullptr;
|
||||
/* 0x5b8 */ sead::Heap* mDualHeap = nullptr; // TODO: rename
|
||||
/* 0x5c0 */ sead::Heap* mDualHeap2 = nullptr; // TODO: rename
|
||||
|
|
|
@ -354,7 +354,7 @@ void PlacementMap::unload() {
|
|||
mDynamicMubinRes.requestUnload();
|
||||
}
|
||||
|
||||
phys::BodyGroup* PlacementMap::getFieldBodyGroup(int field_group_idx) {
|
||||
phys::StaticCompoundRigidBodyGroup* PlacementMap::getFieldBodyGroup(int field_group_idx) {
|
||||
const auto lock = sead::makeScopedLock(mCs);
|
||||
|
||||
auto* r = mRes[0].mRes.getResource();
|
||||
|
|
|
@ -88,7 +88,7 @@ private:
|
|||
void x_5();
|
||||
int traverseStuff(sead::Vector3f* vec, PlacementActors* pa, int id);
|
||||
|
||||
phys::BodyGroup* getFieldBodyGroup(int field_group_idx);
|
||||
phys::StaticCompoundRigidBodyGroup* getFieldBodyGroup(int field_group_idx);
|
||||
void cleanupPhysics();
|
||||
bool loadStaticCompound(int hksc_idx, bool is_auto_gen_mu, bool req_arg_8);
|
||||
MapObjStatus x_2(int hksc_idx);
|
||||
|
|
|
@ -92,12 +92,12 @@ target_sources(uking PRIVATE
|
|||
StaticCompound/physStaticCompound.cpp
|
||||
StaticCompound/physStaticCompound.h
|
||||
StaticCompound/physStaticCompoundAutogen.cpp
|
||||
StaticCompound/physStaticCompoundBodyGroup.cpp
|
||||
StaticCompound/physStaticCompoundBodyGroup.h
|
||||
StaticCompound/physStaticCompoundInfo.cpp
|
||||
StaticCompound/physStaticCompoundInfo.h
|
||||
StaticCompound/physStaticCompoundMgr.cpp
|
||||
StaticCompound/physStaticCompoundMgr.h
|
||||
StaticCompound/physStaticCompoundRigidBodyGroup.cpp
|
||||
StaticCompound/physStaticCompoundRigidBodyGroup.h
|
||||
StaticCompound/physStaticCompoundUtil.cpp
|
||||
StaticCompound/physStaticCompoundUtil.h
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
#include <Havok/Common/Serialize/Util/hkNativePackfileUtils.h>
|
||||
#include <Havok/Common/Serialize/Util/hkRootLevelContainer.h>
|
||||
#include <Havok/Physics2012/Utilities/Serialize/hkpPhysicsData.h>
|
||||
#include "KingSystem/Physics/StaticCompound/physStaticCompoundBodyGroup.h"
|
||||
#include "KingSystem/Physics/StaticCompound/physStaticCompoundRigidBodyGroup.h"
|
||||
#include "KingSystem/Physics/StaticCompound/physStaticCompoundInfo.h"
|
||||
#include "KingSystem/Utils/Debug.h"
|
||||
#include "KingSystem/Utils/HeapUtil.h"
|
||||
|
@ -98,11 +98,11 @@ bool StaticCompound::disableCollision(int actor_idx, bool x) {
|
|||
return true;
|
||||
}
|
||||
|
||||
BodyGroup* StaticCompound::getFieldBodyGroup(int idx) {
|
||||
StaticCompoundRigidBodyGroup* StaticCompound::getFieldBodyGroup(int idx) {
|
||||
return &mFieldBodyGroups[idx];
|
||||
}
|
||||
|
||||
bool StaticCompound::hasFieldBodyGroup(BodyGroup* group) const {
|
||||
bool StaticCompound::hasFieldBodyGroup(StaticCompoundRigidBodyGroup* group) const {
|
||||
for (int i = 0, n = mFieldBodyGroups.size(); i < n; ++i) {
|
||||
if (&mFieldBodyGroups[i] == group)
|
||||
return true;
|
||||
|
|
|
@ -17,7 +17,7 @@ class Object;
|
|||
namespace ksys::phys {
|
||||
|
||||
struct ActorInfo;
|
||||
class BodyGroup;
|
||||
class StaticCompoundRigidBodyGroup;
|
||||
struct StaticCompoundInfo;
|
||||
|
||||
class StaticCompound : public res::Resource, public sead::hostio::Node {
|
||||
|
@ -32,8 +32,8 @@ public:
|
|||
|
||||
bool disableCollision(int actor_idx, bool x);
|
||||
|
||||
BodyGroup* getFieldBodyGroup(int idx);
|
||||
bool hasFieldBodyGroup(BodyGroup* group) const;
|
||||
StaticCompoundRigidBodyGroup* getFieldBodyGroup(int idx);
|
||||
bool hasFieldBodyGroup(StaticCompoundRigidBodyGroup* group) const;
|
||||
|
||||
// res::Resource interface
|
||||
void doCreate_(u8* buffer, u32 buffer_size, sead::Heap* parent_heap) override;
|
||||
|
@ -60,7 +60,7 @@ private:
|
|||
int mBufferSize{};
|
||||
void* mContainerBuffer{};
|
||||
int mContainerBufferSize{};
|
||||
sead::Buffer<BodyGroup> mFieldBodyGroups;
|
||||
sead::Buffer<StaticCompoundRigidBodyGroup> mFieldBodyGroups;
|
||||
sead::FixedSafeString<32> mName;
|
||||
sead::Matrix34f mMtx = sead::Matrix34f::ident;
|
||||
sead::Buffer<map::Object*> mMapObjects{};
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#include "KingSystem/Physics/StaticCompound/physStaticCompoundBodyGroup.h"
|
||||
#include "KingSystem/Physics/StaticCompound/physStaticCompoundRigidBodyGroup.h"
|
||||
#include <Havok/Physics2012/Dynamics/Entity/hkpRigidBody.h>
|
||||
#include <Havok/Physics2012/Dynamics/World/hkpPhysicsSystem.h>
|
||||
#include "KingSystem/Physics/RigidBody/physRigidBodyFromResource.h"
|
||||
|
@ -12,9 +12,9 @@ namespace ksys::phys {
|
|||
// TODO: rename
|
||||
constexpr int BodyGroupNumMatrices = 8;
|
||||
|
||||
BodyGroup::BodyGroup() = default;
|
||||
StaticCompoundRigidBodyGroup::StaticCompoundRigidBodyGroup() = default;
|
||||
|
||||
BodyGroup::~BodyGroup() {
|
||||
StaticCompoundRigidBodyGroup::~StaticCompoundRigidBodyGroup() {
|
||||
mFlags.reset(Flag::Initialised);
|
||||
|
||||
for (int i = 0, n = mRigidBodiesPerBodyLayerType.size(); i < n; ++i) {
|
||||
|
@ -29,7 +29,7 @@ BodyGroup::~BodyGroup() {
|
|||
mRigidBodies.freeBuffer();
|
||||
}
|
||||
|
||||
void BodyGroup::init(const hkpPhysicsSystem& system, sead::Matrix34f* mtx, StaticCompound* sc,
|
||||
void StaticCompoundRigidBodyGroup::init(const hkpPhysicsSystem& system, sead::Matrix34f* mtx, StaticCompound* sc,
|
||||
sead::Heap* heap) {
|
||||
mStaticCompound = sc;
|
||||
mMtxPtr = mtx;
|
||||
|
@ -92,7 +92,7 @@ void BodyGroup::init(const hkpPhysicsSystem& system, sead::Matrix34f* mtx, Stati
|
|||
mFlags.set(Flag::Initialised);
|
||||
}
|
||||
|
||||
void BodyGroup::modifyMatrix(const sead::Matrix34f& matrix, int index) {
|
||||
void StaticCompoundRigidBodyGroup::modifyMatrix(const sead::Matrix34f& matrix, int index) {
|
||||
if (mMatrices[index] == matrix)
|
||||
return;
|
||||
|
|
@ -18,13 +18,13 @@ enum class BodyLayerType;
|
|||
class RigidBody;
|
||||
class StaticCompound;
|
||||
|
||||
class BodyGroup {
|
||||
class StaticCompoundRigidBodyGroup {
|
||||
public:
|
||||
BodyGroup();
|
||||
~BodyGroup();
|
||||
StaticCompoundRigidBodyGroup();
|
||||
~StaticCompoundRigidBodyGroup();
|
||||
|
||||
BodyGroup(const BodyGroup&) = delete;
|
||||
auto operator=(const BodyGroup&) = delete;
|
||||
StaticCompoundRigidBodyGroup(const StaticCompoundRigidBodyGroup&) = delete;
|
||||
auto operator=(const StaticCompoundRigidBodyGroup&) = delete;
|
||||
|
||||
void init(const hkpPhysicsSystem& system, sead::Matrix34f* mtx, StaticCompound* sc,
|
||||
sead::Heap* heap);
|
||||
|
@ -62,6 +62,6 @@ private:
|
|||
u32 _e0{};
|
||||
sead::Buffer<Unk1> _e8;
|
||||
};
|
||||
KSYS_CHECK_SIZE_NX150(BodyGroup, 0xf8);
|
||||
KSYS_CHECK_SIZE_NX150(StaticCompoundRigidBodyGroup, 0xf8);
|
||||
|
||||
} // namespace ksys::phys
|
|
@ -12,7 +12,7 @@ class Object;
|
|||
|
||||
namespace ksys::phys {
|
||||
|
||||
class BodyGroup;
|
||||
class StaticCompoundRigidBodyGroup;
|
||||
struct RigidBodyCollisionMasks;
|
||||
|
||||
// 0x0000007100fd0810
|
||||
|
@ -24,7 +24,7 @@ bool getMaterialMaskFromCollidable(RigidBodyCollisionMasks* p_masks, u32* p_coll
|
|||
const hkpShape& shape, const u32* shape_key);
|
||||
|
||||
// 0x0000007100fd09d0
|
||||
void getBodyGroupAndObjectFromSCShape(BodyGroup** p_body_group, map::Object** p_object,
|
||||
void getBodyGroupAndObjectFromSCShape(StaticCompoundRigidBodyGroup** p_body_group, map::Object** p_object,
|
||||
const hkpShape& shape, const u32* shape_key);
|
||||
|
||||
// 0x0000007100fd0a1c
|
||||
|
|
|
@ -23,7 +23,7 @@ class Object;
|
|||
namespace ksys::phys {
|
||||
|
||||
struct ActorInfo;
|
||||
class BodyGroup;
|
||||
class StaticCompoundRigidBodyGroup;
|
||||
class LayerMaskBuilder;
|
||||
class Phantom;
|
||||
class RigidBody;
|
||||
|
@ -117,7 +117,7 @@ protected:
|
|||
const hkpCollidable* mHitCollidable;
|
||||
u32 mHitShapeKey;
|
||||
bool mHasHitSpecifiedRigidBody;
|
||||
BodyGroup* mHitBodyGroup{};
|
||||
StaticCompoundRigidBodyGroup* mHitBodyGroup{};
|
||||
map::Object* mHitMapObject;
|
||||
sead::SafeArray<sead::BitFlag32, NumContactLayerTypes> mLayerMasks{};
|
||||
sead::Atomic<u32> _70;
|
||||
|
|
Loading…
Reference in New Issue