Kinoko
A reimplementation of Mario Kart Wii's physics engine in C++
Toggle main menu visibility
Loading...
Searching...
No Matches
ObjectBoble.cc
1
#include "ObjectBoble.hh"
2
3
namespace
Kinoko::Field
{
4
6
ObjectBoble::ObjectBoble(
const
System::MapdataGeoObj ¶ms) :
ObjectCollidable
(params) {}
7
9
ObjectBoble::~ObjectBoble() =
default
;
10
12
void
ObjectBoble::init() {
13
m_railInterpolator->init(0.0f, 0);
14
m_curTangentDir = m_railInterpolator->curTangentDir();
15
m_railInterpolator->setPerPointVelocities(
true
);
16
setScale(EGG::Vector3f::unit);
17
}
18
20
void
ObjectBoble::calc() {
21
m_railInterpolator->calc();
22
setPos(m_railInterpolator->curPos());
23
calcTangent();
24
}
25
27
void
ObjectBoble::calcTangent() {
28
m_curTangentDir = Interpolate(0.2f, m_curTangentDir, m_railInterpolator->curTangentDir());
29
m_curTangentDir.normalise();
30
31
EGG::Vector3f axis = m_curTangentDir.cross(EGG::Vector3f::ex);
32
if
(axis.normalise() == 0.0f) {
33
axis = m_curTangentDir.cross(EGG::Vector3f::ez);
34
axis.normalise();
35
}
36
37
setMatrixTangentTo(axis.cross(m_curTangentDir), m_curTangentDir);
38
}
39
40
}
// namespace Kinoko::Field
Kinoko::Field::ObjectCollidable
Definition
ObjectCollidable.hh:18
Kinoko::Field
Pertains to collision.
Definition
BoxColManager.cc:10
game
field
obj
ObjectBoble.cc
Made by
Malleo
. Logo by
vabold
. Website generated by
Doxygen
1.17.0