Kinoko
A reimplementation of Mario Kart Wii's physics engine in C++
Loading...
Searching...
No Matches
ObjectTownBridge.hh
1
#include "game/field/obj/ObjectKCL.hh"
2
3
namespace
Kinoko::Field
{
4
5
class
ObjectTownBridge
final :
public
ObjectKCL
{
6
public
:
7
enum class
State {
8
Raising = 0,
9
Raised = 1,
10
Lowering = 2,
11
Lowered = 3,
12
};
13
14
ObjectTownBridge
(
const
System::MapdataGeoObj
¶ms);
15
~ObjectTownBridge
()
override
;
16
17
void
calc()
override
;
18
20
[[nodiscard]] u32 loadFlags()
const override
{
21
return
1;
22
}
23
24
void
createCollision()
override
;
25
27
[[nodiscard]] f32 colRadiusAdditionalLength()
const override
{
28
return
500.0f;
29
}
30
31
private
:
32
[[nodiscard]] f32 calcBridgeAngle(u32 t)
const
;
33
[[nodiscard]] State
calcState
(u32 t)
const
;
34
35
bool
m_rotateUpwards
;
36
f32
m_angVel
;
37
u32
m_pivotFrames
;
38
u32
m_raisedFrames
;
39
u32
m_loweredFrames
;
40
u32
m_fullAnimFrames
;
41
State m_state;
42
ObjColMgr
*m_raisedColMgr;
43
ObjColMgr
*m_midColMgr;
44
ObjColMgr
*m_flatColMgr;
45
};
46
47
}
// namespace Kinoko::Field
Kinoko::Field::ObjColMgr
Manager for an object's KCL interactions.
Definition
ObjColMgr.hh:9
Kinoko::Field::ObjectKCL
Definition
ObjectKCL.hh:8
Kinoko::Field::ObjectTownBridge
Definition
ObjectTownBridge.hh:5
Kinoko::Field::ObjectTownBridge::m_angVel
f32 m_angVel
Speed of the bridge's movement.
Definition
ObjectTownBridge.hh:36
Kinoko::Field::ObjectTownBridge::m_fullAnimFrames
u32 m_fullAnimFrames
The full duration of a bridge raise/lower loop.
Definition
ObjectTownBridge.hh:40
Kinoko::Field::ObjectTownBridge::m_loweredFrames
u32 m_loweredFrames
Definition
ObjectTownBridge.hh:39
Kinoko::Field::ObjectTownBridge::calcState
State calcState(u32 t) const
Helper function which determines the current state of the bridge based on t.
Definition
ObjectTownBridge.cc:107
Kinoko::Field::ObjectTownBridge::m_rotateUpwards
bool m_rotateUpwards
Normally 1, otherwise the bridge will open downwards.
Definition
ObjectTownBridge.hh:35
Kinoko::Field::ObjectTownBridge::m_pivotFrames
u32 m_pivotFrames
Definition
ObjectTownBridge.hh:37
Kinoko::Field::ObjectTownBridge::m_raisedFrames
u32 m_raisedFrames
Definition
ObjectTownBridge.hh:38
Kinoko::System::MapdataGeoObj
Definition
MapdataGeoObj.hh:9
Kinoko::Field
Pertains to collision.
Definition
BoxColManager.cc:8
game
field
obj
ObjectTownBridge.hh
Made by
Malleo
. Logo by
vabold
. Website generated by
Doxygen
1.12.0