A reimplementation of Mario Kart Wii's physics engine in C++
Loading...
Searching...
No Matches
ObjectSandcone.hh
1#pragma once
2
3#include "game/field/obj/ObjectKCL.hh"
4
5namespace Field {
6
7class ObjectSandcone : public ObjectKCL {
8public:
10 ~ObjectSandcone() override;
11
12 void init() override;
13 void calc() override;
14
16 [[nodiscard]] u32 loadFlags() const override {
17 return 1;
18 }
19
20 [[nodiscard]] const EGG::Matrix34f &getUpdatedMatrix(u32 timeOffset) override;
21 [[nodiscard]] bool checkCollision(f32 radius, const EGG::Vector3f &pos,
22 const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfo *info,
23 KCLTypeMask *maskOut, u32 timeOffset) override;
24 [[nodiscard]] bool checkCollisionCached(f32 radius, const EGG::Vector3f &pos,
25 const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfo *info,
26 KCLTypeMask *maskOut, u32 timeOffset) override;
27
28private:
29 f32 m_flowRate;
30 f32 m_finalHeightDelta;
31 u16 m_startFrame;
32 u16 m_duration;
33 EGG::Matrix34f m_baseMtx;
34 EGG::Matrix34f m_currentMtx;
36};
37
38} // namespace Field
A 3 x 4 matrix.
Definition Matrix.hh:8
EGG::Vector3f m_finalPos
Not in base game. Stores position of fully poured sandcone.
Pertains to collision.
A 3D float vector.
Definition Vector.hh:87