Kinoko
A reimplementation of Mario Kart Wii's physics engine in C++
Toggle main menu visibility
Loading...
Searching...
No Matches
ObjectCollisionKart.hh
1
#pragma once
2
3
#include "game/field/ObjectCollisionConvexHull.hh"
4
5
namespace
Kinoko {
6
7
namespace
Kart
{
8
9
class
KartObject
;
10
11
}
// namespace Kart
12
13
namespace
Field
{
14
16
class
ObjectCollisionKart {
17
public
:
18
ObjectCollisionKart();
19
~ObjectCollisionKart();
20
21
void
init(u32 idx);
22
23
size_t
checkCollision(
const
EGG::Matrix34f
&mat,
const
EGG::Vector3f
&v);
24
25
[[nodiscard]]
static
EGG::Vector3f
GetHitDirection(u16 objKartHit);
26
[[nodiscard]]
static
constexpr
std::span<const EGG::Vector3f>
GetVehicleVertices
(
27
Vehicle vehicle);
28
[[nodiscard]]
static
const
EGG::Vector3f
&translation(
size_t
idx);
29
30
private
:
31
ObjectCollisionConvexHull
*m_hull;
32
Kart::KartObject
*m_kartObject;
33
u32 m_playerIdx;
34
};
35
36
}
// namespace Field
37
38
}
// namespace Kinoko
Kinoko::EGG::Matrix34f
A 3 x 4 matrix.
Definition
Matrix.hh:10
Kinoko::Field::ObjectCollisionConvexHull
Smallest convex shape that encloses a given set of points.
Definition
ObjectCollisionConvexHull.hh:8
Kinoko::Field::ObjectCollisionKart::GetVehicleVertices
static constexpr std::span< const EGG::Vector3f > GetVehicleVertices(Vehicle vehicle)
Helper function to map between a vehicle and its set of convex hull vertices.
Definition
ObjectCollisionKart.cc:53
Kinoko::Kart::KartObject
The highest level abstraction for a kart.
Definition
KartObject.hh:11
Kinoko::Field
Pertains to collision.
Definition
BoxColManager.cc:8
Kinoko::Kart
Pertains to kart-related functionality.
Definition
BoxColManager.hh:14
Kinoko::EGG::Vector3f
A 3D float vector.
Definition
Vector.hh:107
game
field
ObjectCollisionKart.hh
Made by
Malleo
. Logo by
vabold
. Website generated by
Doxygen
1.17.0