A reimplementation of Mario Kart Wii's physics engine in C++
Loading...
Searching...
No Matches
ObjectBeltCurveA.hh
1#pragma once
2
3#include "game/field/obj/ObjectBelt.hh"
4
5namespace Field {
6
9class ObjectBeltCurveA final : public ObjectBelt {
10public:
12 ~ObjectBeltCurveA() override;
13
14 [[nodiscard]] EGG::Vector3f calcRoadVelocity(u32 variant, const EGG::Vector3f &pos,
15 u32 timeOffset) const override;
16
18 [[nodiscard]] bool isMoving(u32 variant, const EGG::Vector3f & /*pos*/) const override {
19 return variant == 4 || variant == 5;
20 }
21
22private:
23 [[nodiscard]] f32 calcDirSwitchVelocity(u32 t) const;
24
25 bool m_startForward;
26 u16 m_dirChange1Frame;
27 u16 m_dirChange2Frame;
28 EGG::Matrix34f m_initMat;
29};
30
31} // namespace Field
A 3 x 4 matrix.
Definition Matrix.hh:8
The curved conveyer belt at the end of the factory on Toad's Factory.
The base class for a conveyer belt which induces road velocity.
Definition ObjectBelt.hh:8
Pertains to collision.
A 3D float vector.
Definition Vector.hh:87