mirror of
https://github.com/zeldaret/botw
synced 2026-06-25 09:22:29 -04:00
ksys/phys: Start adding GroupFilter
This commit is contained in:
@@ -44,6 +44,8 @@ target_sources(uking PRIVATE
|
||||
System/physContactInfoTable.h
|
||||
System/physDefines.cpp
|
||||
System/physDefines.h
|
||||
System/physGroupFilter.cpp
|
||||
System/physGroupFilter.h
|
||||
System/physMaterialTable.cpp
|
||||
System/physMaterialTable.h
|
||||
System/physMemSystem.cpp
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
#include "KingSystem/Physics/System/physGroupFilter.h"
|
||||
|
||||
namespace ksys::phys {
|
||||
|
||||
GroupFilter::GroupFilter(ContactLayerType type, ContactLayer::ValueType layer_first,
|
||||
ContactLayer::ValueType layer_last)
|
||||
: mIdxLayerFirst(layer_first), mIdxLayerLast(layer_last), mLayerType(type) {}
|
||||
|
||||
GroupFilter::~GroupFilter() = default;
|
||||
|
||||
void GroupFilter::m13() {}
|
||||
|
||||
} // namespace ksys::phys
|
||||
@@ -0,0 +1,44 @@
|
||||
#pragma once
|
||||
|
||||
#include <Havok/Physics2012/Collide/Filter/Group/hkpGroupFilter.h>
|
||||
#include <basis/seadTypes.h>
|
||||
#include <container/seadOffsetList.h>
|
||||
#include <prim/seadRuntimeTypeInfo.h>
|
||||
#include <thread/seadCriticalSection.h>
|
||||
#include "KingSystem/Physics/System/physDefines.h"
|
||||
|
||||
namespace ksys::phys {
|
||||
|
||||
class GroupFilter : public hkpGroupFilter {
|
||||
SEAD_RTTI_BASE(GroupFilter)
|
||||
public:
|
||||
GroupFilter(ContactLayerType type, ContactLayer::ValueType layer_first,
|
||||
ContactLayer::ValueType layer_last);
|
||||
~GroupFilter() override;
|
||||
|
||||
protected:
|
||||
virtual bool m2() { return true; }
|
||||
virtual void m3() = 0;
|
||||
virtual void m4() = 0;
|
||||
virtual void m5() = 0;
|
||||
virtual void m6() = 0;
|
||||
virtual void m7() = 0;
|
||||
virtual void m8() = 0;
|
||||
virtual void m9() {}
|
||||
virtual void m10() = 0;
|
||||
virtual void m11() = 0;
|
||||
virtual void m12() = 0;
|
||||
virtual void m13();
|
||||
|
||||
u32 mIdxLayerFirst{};
|
||||
u32 mIdxLayerLast{};
|
||||
ContactLayerType mLayerType{};
|
||||
u8 _11c{};
|
||||
// FIXME: types
|
||||
sead::OffsetList<void*> _120;
|
||||
sead::OffsetList<void*> _138;
|
||||
sead::CriticalSection mCS;
|
||||
sead::OffsetList<void*> _190;
|
||||
};
|
||||
|
||||
} // namespace ksys::phys
|
||||
@@ -25,8 +25,8 @@ constexpr int NumLayers = 32;
|
||||
|
||||
struct LayerTableInfo : agl::utl::IParameterObj {
|
||||
sead::SafeArray<agl::utl::Parameter<int>, NumLayers> params;
|
||||
void* table;
|
||||
int idx = 0;
|
||||
void* table; // FIXME: type GroupFilter
|
||||
int idx = 0; // FIXME: ContactLayer
|
||||
int count;
|
||||
|
||||
protected:
|
||||
|
||||
Reference in New Issue
Block a user