Pertains to collision.
Classes | |
struct | BoxColHighPoint |
struct | BoxColLowPoint |
class | BoxColManager |
Spatial indexing manager for entities with dynamic collision. More... | |
struct | BoxColUnit |
A representation of the boundaries of an entity that has dynamic collision. More... | |
class | CollisionDirector |
Manages the caching of colliding KCL triangles and exposes queries for collision checks. More... | |
struct | CollisionInfo |
struct | CollisionInfoPartial |
class | CourseColMgr |
Manager for course KCL interactions. More... | |
struct | GJKState |
Houses the state of an object in terms of the Gilbert–Johnson–Keerthi (GJK) algorithm. More... | |
class | KColData |
Performs lookups for KCL triangles. More... | |
struct | KColHeader |
The header of the KCL file format. It is 0x3C bytes long (for Mario Kart Wii). More... | |
class | ObjColMgr |
Manager for an object's KCL interactions. More... | |
class | ObjectAurora |
class | ObjectBase |
class | ObjectCollidable |
class | ObjectCollisionBase |
The base class that all objects' collision inherits from. More... | |
class | ObjectCollisionBox |
class | ObjectCollisionConvexHull |
Smallest convex shape that encloses a given set of points. More... | |
class | ObjectCollisionCylinder |
class | ObjectCollisionKart |
Relates a KartObject with its convex hull representation. More... | |
class | ObjectCollisionSphere |
class | ObjectDirector |
class | ObjectDokan |
class | ObjectDrivable |
class | ObjectDrivableDirector |
class | ObjectFlowTable |
class | ObjectHitTable |
class | ObjectKCL |
class | ObjectNoImpl |
class | ObjectOilSFC |
class | ObjectParasolR |
class | Rail |
class | RailInterpolator |
class | RailLine |
class | RailLinearInterpolator |
struct | RailLineTransition |
class | RailManager |
class | RailSmoothInterpolator |
class | RailSpline |
struct | RailSplineTransition |
struct | SObjectCollisionSet |
Structure of the ObjFlow.bin table entry. Contains dependencies and collision parameters. More... | |
Typedefs | |
typedef EGG::TBitFlag< u32, eBoxColFlag > | BoxColFlag |
typedef bool(KColData::* | CollisionCheckFunc) (f32 *distOut, EGG::Vector3f *fnrmOut, u16 *attributeOut) |
typedef u32 | KCLTypeMask |
typedef ObjectDokan | ObjectPuchiPakkun |
This is just to help with readability. The rMR piranhas are really just pipes. | |
Enumerations | |
enum class | eBoxColFlag { Driver = 0 , Object = 3 , Drivable = 4 , PermRecalcAABB = 8 , Intangible = 9 , Active = 10 , TempRecalcAABB = 11 } |
A bitfield that represents the state and type of a given BoxColUnit. More... | |
enum class | ObjectId { DummyPole = 0x066 , DokanSFC = 0x12e , CastleTree1c = 0x130 , PalmTree = 0x145 , DKtreeA64c = 0x158 , TownTreeDsc = 0x15b , OilSFC = 0x15d , ParasolR = 0x16e , PuchiPakkun = 0x1aa , Aurora = 0x204 , Mdush = 0x217 } |
enum class | BlacklistedObjectId { Itembox = 0x65 , Hanabi = 0x16a } |
enum class | CollisionMode { None = 0 , Sphere = 1 , Cylinder = 2 , Box = 3 , Ground = 4 , Original = 5 } |
Maps to SObjectCollisionSet::mode. Determines what type of collision an object has. More... | |
Functions | |
STATIC_ASSERT (sizeof(KColHeader)==0x3c) | |
static constexpr bool | IsObjectBlacklisted (u16 id) |
STATIC_ASSERT (sizeof(SObjectCollisionSet)==0x74) | |
typedef EGG::TBitFlag<u32, eBoxColFlag> Field::BoxColFlag |
Definition at line 29 of file BoxColManager.hh.
typedef bool( KColData::* Field::CollisionCheckFunc) (f32 *distOut, EGG::Vector3f *fnrmOut, u16 *attributeOut) |
Definition at line 12 of file CourseColMgr.hh.
typedef u32 Field::KCLTypeMask |
Definition at line 193 of file KCollisionTypes.hh.
typedef ObjectDokan Field::ObjectPuchiPakkun |
This is just to help with readability. The rMR piranhas are really just pipes.
Definition at line 8 of file ObjectPuchiPakkun.hh.
|
strong |
Definition at line 21 of file ObjectId.hh.
|
strong |
Maps to SObjectCollisionSet::mode. Determines what type of collision an object has.
Definition at line 8 of file ObjectFlowTable.hh.
|
strong |
A bitfield that represents the state and type of a given BoxColUnit.
The lower 8 bits represent the type, while the remaining bits represent the state. There are originally two flags for objects, but one is for CPUs, which we can ignore for now.
Enumerator | |
---|---|
PermRecalcAABB | Recalculate this unit's spatial indexing every frame. |
Intangible | Ignore collision with the unit. |
TempRecalcAABB | Only recalculate once. |
Definition at line 20 of file BoxColManager.hh.
|
strong |
Definition at line 7 of file ObjectId.hh.
|
staticconstexpr |
Definition at line 26 of file ObjectId.hh.