A reimplementation of Mario Kart Wii's physics engine in C++
Loading...
Searching...
No Matches
ObjectEscalatorGroup.cc
1#include "ObjectEscalatorGroup.hh"
2
3#include "game/field/obj/ObjectEscalator.hh"
4
5namespace Field {
6
8ObjectEscalatorGroup::ObjectEscalatorGroup(const System::MapdataGeoObj &params)
9 : ObjectCollidable(params) {
10 constexpr f32 X_OFFSET = 1465.0f;
11 constexpr f32 Y_OFFSET = 510.0f;
12 constexpr f32 Z_OFFSET = 50.0f;
13 constexpr EGG::Vector3f POS_OFFSET = EGG::Vector3f(0.0f, Y_OFFSET, Z_OFFSET);
14 constexpr EGG::Vector3f RIGHT_OFFSET = EGG::Vector3f(X_OFFSET, -Y_OFFSET, -Z_OFFSET);
15 constexpr EGG::Vector3f LEFT_OFFSET = EGG::Vector3f(-X_OFFSET, -Y_OFFSET, -Z_OFFSET);
16 constexpr EGG::Vector3f SCALE = EGG::Vector3f(1.75f, 1.75f, 1.75f);
17
18 m_pos += POS_OFFSET;
19 m_flags.setBit(eFlags::Position, eFlags::Scale);
20 m_scale = SCALE;
21
22 m_rightEscalator = new ObjectEscalator(params, false);
23 m_leftEscalator = new ObjectEscalator(params, true);
24
25 calcTransform();
26 m_rightEscalator->m_initialPos = m_pos + m_transform.multVector33(RIGHT_OFFSET);
27 m_leftEscalator->m_initialPos = m_pos + m_transform.multVector33(LEFT_OFFSET);
28
29 m_rightEscalator->load();
30 m_leftEscalator->load();
31}
32
34ObjectEscalatorGroup::~ObjectEscalatorGroup() = default;
35
36} // namespace Field
Pertains to collision.
A 3D float vector.
Definition Vector.hh:88