26 [[nodiscard]]
u32 loadFlags()
const override {
31 void createCollision()
override {}
34 void calcCollisionTransform()
override {}
37 [[nodiscard]] f32 getCollisionRadius()
const override {
50 [[nodiscard]]
bool checkSpherePartial(f32 radius,
const EGG::Vector3f &pos,
53 [[nodiscard]]
bool checkSpherePartialPush(f32 radius,
const EGG::Vector3f &pos,
56 [[nodiscard]]
bool checkSphereFull(f32 radius,
const EGG::Vector3f &pos,
59 [[nodiscard]]
bool checkSphereFullPush(f32 radius,
const EGG::Vector3f &pos,
63 [[nodiscard]]
bool checkPointCachedPartial(
const EGG::Vector3f &pos,
66 [[nodiscard]]
bool checkPointCachedPartialPush(
const EGG::Vector3f &pos,
71 [[nodiscard]]
bool checkPointCachedFullPush(
const EGG::Vector3f &pos,
75 [[nodiscard]]
bool checkSphereCachedPartial(f32 radius,
const EGG::Vector3f &pos,
78 [[nodiscard]]
bool checkSphereCachedPartialPush(f32 radius,
const EGG::Vector3f &pos,
81 [[nodiscard]]
bool checkSphereCachedFull(f32 radius,
const EGG::Vector3f &pos,
84 [[nodiscard]]
bool checkSphereCachedFullPush(f32 radius,
const EGG::Vector3f &pos,
91 static constexpr size_t CACHE_SIZE_X = 122;
92 static constexpr size_t CACHE_SIZE_Z = 116;
93 static constexpr f32 SPECIAL_WALL_BOUNDING_RADIUS = 85.0f;
97 [[nodiscard]]
bool checkSpherePartialImpl(f32 radius,
const EGG::Vector3f &pos,
100 [[nodiscard]]
bool checkSpherePartialPushImpl(f32 radius,
const EGG::Vector3f &pos,
103 [[nodiscard]]
bool checkSphereFullImpl(f32 radius,
const EGG::Vector3f &pos,
106 [[nodiscard]]
bool checkSphereFullPushImpl(f32 radius,
const EGG::Vector3f &pos,
116 std::array<std::array<ObjectObakeBlock *, CACHE_SIZE_Z>, CACHE_SIZE_X>
m_blockCache;