A reimplementation of Mario Kart Wii's physics engine in C++
Loading...
Searching...
No Matches
Field::CourseColMgr Class Reference0x809C3C10

#include <CourseColMgr.hh>

Description

Manager for course KCL interactions.

Definition at line 18 of file CourseColMgr.hh.

Inheritance diagram for Field::CourseColMgr:

Classes

struct  NoBounceWallColInfo
 

Public Member Functions

 STATIC_ASSERT (sizeof(NoBounceWallColInfo)==0x34)
 
void init ()
 
void scaledNarrowScopeLocal (f32 scale, f32 radius, KColData *data, const EGG::Vector3f &pos, KCLTypeMask mask)
 
bool checkPointPartial (f32 scale, KColData *data, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfoPartial *info, KCLTypeMask *maskOut)
 
bool checkPointPartialPush (f32 scale, KColData *data, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfoPartial *info, KCLTypeMask *maskOut)
 
bool checkPointFull (f32 kclScale, KColData *data, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfo *info, KCLTypeMask *maskOut)
 
bool checkPointFullPush (f32 kclScale, KColData *data, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfo *info, KCLTypeMask *maskOut)
 
bool checkSpherePartial (f32 scale, f32 radius, KColData *data, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfoPartial *info, KCLTypeMask *maskOut)
 
bool checkSpherePartialPush (f32 scale, f32 radius, KColData *data, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfoPartial *info, KCLTypeMask *maskOut)
 
bool checkSphereFull (f32 scalar, f32 radius, KColData *data, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfo *info, KCLTypeMask *maskOut)
 
bool checkSphereFullPush (f32 scalar, f32 radius, KColData *data, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfo *info, KCLTypeMask *maskOut)
 
bool checkPointCachedPartial (f32 scale, KColData *data, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfoPartial *info, KCLTypeMask *maskOut)
 
bool checkPointCachedPartialPush (f32 scale, KColData *data, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfoPartial *info, KCLTypeMask *maskOut)
 
bool checkPointCachedFull (f32 scale, KColData *data, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfo *info, KCLTypeMask *maskOut)
 
bool checkPointCachedFullPush (f32 scale, KColData *data, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfo *info, KCLTypeMask *maskOut)
 
bool checkSphereCachedPartial (f32 scale, f32 radius, KColData *data, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask typeMask, CollisionInfoPartial *info, KCLTypeMask *maskOut)
 
bool checkSphereCachedPartialPush (f32 scale, f32 radius, KColData *data, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask typeMask, CollisionInfoPartial *info, KCLTypeMask *maskOut)
 
bool checkSphereCachedFull (f32 scale, f32 radius, KColData *data, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask typeMask, CollisionInfo *colInfo, KCLTypeMask *maskOut)
 
bool checkSphereCachedFullPush (f32 scale, f32 radius, KColData *data, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask typeMask, CollisionInfo *colInfo, KCLTypeMask *maskOut)
 

Static Public Member Functions

static void * LoadFile (const char *filename)
 Loads a particular section of a .szs file.
 
static CourseColMgrCreateInstance ()
 
static void DestroyInstance ()
 
static CourseColMgrInstance ()
 

Setters

void setNoBounceWallInfo (NoBounceWallColInfo *info)
 
void clearNoBounceWallInfo ()
 
void setLocalMtx (EGG::Matrix34f *mtx)
 

Getters

NoBounceWallColInfonoBounceWallInfo () const
 

Private Member Functions

bool doCheckWithPartialInfo (KColData *data, CollisionCheckFunc collisionCheckFunc, CollisionInfoPartial *info, KCLTypeMask *typeMask)
 
bool doCheckWithPartialInfoPush (KColData *data, CollisionCheckFunc collisionCheckFunc, CollisionInfoPartial *info, KCLTypeMask *typeMask)
 
bool doCheckWithFullInfo (KColData *data, CollisionCheckFunc collisionCheckFunc, CollisionInfo *colInfo, KCLTypeMask *flagsOut)
 
bool doCheckWithFullInfoPush (KColData *data, CollisionCheckFunc collisionCheckFunc, CollisionInfo *colInfo, KCLTypeMask *flagsOut)
 
bool doCheckMaskOnly (KColData *data, CollisionCheckFunc collisionCheckFunc, KCLTypeMask *maskOut)
 
bool doCheckMaskOnlyPush (KColData *data, CollisionCheckFunc collisionCheckFunc, KCLTypeMask *maskOut)
 
- Private Member Functions inherited from EGG::Disposer

Private Attributes

KColDatam_data
 
f32 m_kclScale
 
NoBounceWallColInfom_noBounceWallInfo
 
EGG::Matrix34fm_localMtx
 

Static Private Attributes

static CourseColMgrs_instance = nullptr
 

Additional Inherited Members

- Static Private Member Functions inherited from EGG::Disposer
static constexpr u16 getLinkOffset ()
 

Constructor & Destructor Documentation

◆ CourseColMgr()

Field::CourseColMgr::CourseColMgr ( )
private0x807C29E4

Definition at line 367 of file CourseColMgr.cc.

Member Function Documentation

◆ ~CourseColMgr()

Field::CourseColMgr::~CourseColMgr ( )
overrideprivate0x807C2A04

Definition at line 371 of file CourseColMgr.cc.

◆ checkPointCachedFull()

bool Field::CourseColMgr::checkPointCachedFull ( f32 scale,
KColData * data,
const EGG::Vector3f & pos,
const EGG::Vector3f & prevPos,
KCLTypeMask mask,
CollisionInfo * info,
KCLTypeMask * maskOut )
nodiscard0x807C4330

Definition at line 212 of file CourseColMgr.cc.

◆ checkPointCachedFullPush()

bool Field::CourseColMgr::checkPointCachedFullPush ( f32 scale,
KColData * data,
const EGG::Vector3f & pos,
const EGG::Vector3f & prevPos,
KCLTypeMask mask,
CollisionInfo * info,
KCLTypeMask * maskOut )
nodiscard0x807C44BC

Definition at line 233 of file CourseColMgr.cc.

◆ checkPointCachedPartial()

bool Field::CourseColMgr::checkPointCachedPartial ( f32 scale,
KColData * data,
const EGG::Vector3f & pos,
const EGG::Vector3f & prevPos,
KCLTypeMask mask,
CollisionInfoPartial * info,
KCLTypeMask * maskOut )
nodiscard0x807C4018

Definition at line 172 of file CourseColMgr.cc.

◆ checkPointCachedPartialPush()

bool Field::CourseColMgr::checkPointCachedPartialPush ( f32 scale,
KColData * data,
const EGG::Vector3f & pos,
const EGG::Vector3f & prevPos,
KCLTypeMask mask,
CollisionInfoPartial * info,
KCLTypeMask * maskOut )
nodiscard0x807C41A4

Definition at line 190 of file CourseColMgr.cc.

◆ checkPointFull()

bool Field::CourseColMgr::checkPointFull ( f32 kclScale,
KColData * data,
const EGG::Vector3f & pos,
const EGG::Vector3f & prevPos,
KCLTypeMask mask,
CollisionInfo * info,
KCLTypeMask * maskOut )
nodiscard0x807C30E0

Definition at line 67 of file CourseColMgr.cc.

◆ checkPointFullPush()

bool Field::CourseColMgr::checkPointFullPush ( f32 kclScale,
KColData * data,
const EGG::Vector3f & pos,
const EGG::Vector3f & prevPos,
KCLTypeMask mask,
CollisionInfo * info,
KCLTypeMask * maskOut )
nodiscard0x807C3554

Definition at line 84 of file CourseColMgr.cc.

◆ checkPointPartial()

bool Field::CourseColMgr::checkPointPartial ( f32 scale,
KColData * data,
const EGG::Vector3f & pos,
const EGG::Vector3f & prevPos,
KCLTypeMask mask,
CollisionInfoPartial * info,
KCLTypeMask * maskOut )
nodiscard0x807C2A60

Definition at line 30 of file CourseColMgr.cc.

◆ checkPointPartialPush()

bool Field::CourseColMgr::checkPointPartialPush ( f32 scale,
KColData * data,
const EGG::Vector3f & pos,
const EGG::Vector3f & prevPos,
KCLTypeMask mask,
CollisionInfoPartial * info,
KCLTypeMask * maskOut )
nodiscard0x807C2DA0

Definition at line 49 of file CourseColMgr.cc.

◆ checkSphereCachedFull()

bool Field::CourseColMgr::checkSphereCachedFull ( f32 scale,
f32 radius,
KColData * data,
const EGG::Vector3f & pos,
const EGG::Vector3f & prevPos,
KCLTypeMask typeMask,
CollisionInfo * colInfo,
KCLTypeMask * maskOut )
nodiscard0x807C4998

Definition at line 300 of file CourseColMgr.cc.

◆ checkSphereCachedFullPush()

bool Field::CourseColMgr::checkSphereCachedFullPush ( f32 scale,
f32 radius,
KColData * data,
const EGG::Vector3f & pos,
const EGG::Vector3f & prevPos,
KCLTypeMask typeMask,
CollisionInfo * colInfo,
KCLTypeMask * maskOut )
nodiscard0x807C4B40

Definition at line 323 of file CourseColMgr.cc.

◆ checkSphereCachedPartial()

bool Field::CourseColMgr::checkSphereCachedPartial ( f32 scale,
f32 radius,
KColData * data,
const EGG::Vector3f & pos,
const EGG::Vector3f & prevPos,
KCLTypeMask typeMask,
CollisionInfoPartial * info,
KCLTypeMask * maskOut )
nodiscard0x807C4648

Definition at line 254 of file CourseColMgr.cc.

◆ checkSphereCachedPartialPush()

bool Field::CourseColMgr::checkSphereCachedPartialPush ( f32 scale,
f32 radius,
KColData * data,
const EGG::Vector3f & pos,
const EGG::Vector3f & prevPos,
KCLTypeMask typeMask,
CollisionInfoPartial * info,
KCLTypeMask * maskOut )
nodiscard0x807C47F0

Definition at line 277 of file CourseColMgr.cc.

◆ checkSphereFull()

bool Field::CourseColMgr::checkSphereFull ( f32 scalar,
f32 radius,
KColData * data,
const EGG::Vector3f & pos,
const EGG::Vector3f & prevPos,
KCLTypeMask mask,
CollisionInfo * info,
KCLTypeMask * maskOut )
nodiscard0x807C3CF0

Definition at line 137 of file CourseColMgr.cc.

◆ checkSphereFullPush()

bool Field::CourseColMgr::checkSphereFullPush ( f32 scalar,
f32 radius,
KColData * data,
const EGG::Vector3f & pos,
const EGG::Vector3f & prevPos,
KCLTypeMask mask,
CollisionInfo * info,
KCLTypeMask * maskOut )
nodiscard0x807C3E84

Definition at line 154 of file CourseColMgr.cc.

◆ checkSpherePartial()

bool Field::CourseColMgr::checkSpherePartial ( f32 scale,
f32 radius,
KColData * data,
const EGG::Vector3f & pos,
const EGG::Vector3f & prevPos,
KCLTypeMask mask,
CollisionInfoPartial * info,
KCLTypeMask * maskOut )
nodiscard0x807C39C8

Definition at line 101 of file CourseColMgr.cc.

◆ checkSpherePartialPush()

bool Field::CourseColMgr::checkSpherePartialPush ( f32 scale,
f32 radius,
KColData * data,
const EGG::Vector3f & pos,
const EGG::Vector3f & prevPos,
KCLTypeMask mask,
CollisionInfoPartial * info,
KCLTypeMask * maskOut )
nodiscard0x807C3B5C

Definition at line 119 of file CourseColMgr.cc.

◆ clearNoBounceWallInfo()

void Field::CourseColMgr::clearNoBounceWallInfo ( )
inline

Definition at line 90 of file CourseColMgr.hh.

◆ CreateInstance()

CourseColMgr * Field::CourseColMgr::CreateInstance ( )
static0x807C2824

Definition at line 352 of file CourseColMgr.cc.

◆ DestroyInstance()

void Field::CourseColMgr::DestroyInstance ( )
static0x807C2884

Definition at line 359 of file CourseColMgr.cc.

◆ doCheckMaskOnly()

bool Field::CourseColMgr::doCheckMaskOnly ( KColData * data,
CollisionCheckFunc collisionCheckFunc,
KCLTypeMask * maskOut )
nodiscardprivate

Definition at line 544 of file CourseColMgr.cc.

◆ doCheckMaskOnlyPush()

bool Field::CourseColMgr::doCheckMaskOnlyPush ( KColData * data,
CollisionCheckFunc collisionCheckFunc,
KCLTypeMask * maskOut )
nodiscardprivate

Definition at line 560 of file CourseColMgr.cc.

◆ doCheckWithFullInfo()

bool Field::CourseColMgr::doCheckWithFullInfo ( KColData * data,
CollisionCheckFunc collisionCheckFunc,
CollisionInfo * colInfo,
KCLTypeMask * flagsOut )
nodiscardprivate0x807C3258

Definition at line 464 of file CourseColMgr.cc.

◆ doCheckWithFullInfoPush()

bool Field::CourseColMgr::doCheckWithFullInfoPush ( KColData * data,
CollisionCheckFunc collisionCheckFunc,
CollisionInfo * colInfo,
KCLTypeMask * flagsOut )
nodiscardprivate0x807C36CC

Definition at line 504 of file CourseColMgr.cc.

◆ doCheckWithPartialInfo()

bool Field::CourseColMgr::doCheckWithPartialInfo ( KColData * data,
CollisionCheckFunc collisionCheckFunc,
CollisionInfoPartial * info,
KCLTypeMask * typeMask )
nodiscardprivate0x807C2BD8

Definition at line 382 of file CourseColMgr.cc.

◆ doCheckWithPartialInfoPush()

bool Field::CourseColMgr::doCheckWithPartialInfoPush ( KColData * data,
CollisionCheckFunc collisionCheckFunc,
CollisionInfoPartial * info,
KCLTypeMask * typeMask )
nodiscardprivate0x807C2F18

Definition at line 423 of file CourseColMgr.cc.

◆ init()

void Field::CourseColMgr::init ( )
0x807C28D8

Definition at line 12 of file CourseColMgr.cc.

◆ Instance()

static CourseColMgr * Field::CourseColMgr::Instance ( )
inlinestaticnodiscard

Definition at line 110 of file CourseColMgr.hh.

◆ LoadFile()

void * Field::CourseColMgr::LoadFile ( const char * filename)
static

Loads a particular section of a .szs file.

Definition at line 346 of file CourseColMgr.cc.

◆ noBounceWallInfo()

NoBounceWallColInfo * Field::CourseColMgr::noBounceWallInfo ( ) const
inlinenodiscard

Definition at line 100 of file CourseColMgr.hh.

◆ scaledNarrowScopeLocal()

void Field::CourseColMgr::scaledNarrowScopeLocal ( f32 scale,
f32 radius,
KColData * data,
const EGG::Vector3f & pos,
KCLTypeMask mask )
0x807C293C

Definition at line 20 of file CourseColMgr.cc.

◆ setLocalMtx()

void Field::CourseColMgr::setLocalMtx ( EGG::Matrix34f * mtx)
inline

Definition at line 94 of file CourseColMgr.hh.

◆ setNoBounceWallInfo()

void Field::CourseColMgr::setNoBounceWallInfo ( NoBounceWallColInfo * info)
inline

Definition at line 86 of file CourseColMgr.hh.

Member Data Documentation

◆ m_data

KColData* Field::CourseColMgr::m_data
private

Definition at line 132 of file CourseColMgr.hh.

◆ m_kclScale

f32 Field::CourseColMgr::m_kclScale
private

Definition at line 133 of file CourseColMgr.hh.

◆ m_localMtx

EGG::Matrix34f* Field::CourseColMgr::m_localMtx
private

Definition at line 135 of file CourseColMgr.hh.

◆ m_noBounceWallInfo

NoBounceWallColInfo* Field::CourseColMgr::m_noBounceWallInfo
private

Definition at line 134 of file CourseColMgr.hh.

◆ s_instance

CourseColMgr * Field::CourseColMgr::s_instance = nullptr
staticprivate0x809C3C10

Definition at line 137 of file CourseColMgr.hh.