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

Description

Definition at line 17 of file ObjectDrivableDirector.hh.

Inheritance diagram for Field::ObjectDrivableDirector:

Public Member Functions

void init ()
 
void calc ()
 
void addObject (ObjectDrivable *obj)
 
void createObakeManager (const System::MapdataGeoObj &params)
 Creates the rGV2 block manager. Also implicitly adds the block represented by params.
 
bool checkSpherePartial (f32 radius, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfoPartial *info, KCLTypeMask *maskOut, u32 timeOffset)
 
bool checkSpherePartialPush (f32 radius, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfoPartial *info, KCLTypeMask *maskOut, u32 timeOffset)
 
bool checkSphereFull (f32 radius, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfo *info, KCLTypeMask *maskOut, u32 timeOffset)
 
bool checkSphereFullPush (f32 radius, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfo *info, KCLTypeMask *maskOut, u32 timeOffset)
 
bool checkSphereCachedPartial (f32 radius, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfoPartial *info, KCLTypeMask *maskOut, u32 timeOffset)
 
bool checkSphereCachedPartialPush (f32 radius, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfoPartial *info, KCLTypeMask *maskOut, u32 timeOffset)
 
bool checkSphereCachedFullPush (f32 radius, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfo *info, KCLTypeMask *maskOut, u32 timeOffset)
 
void colNarScLocal (f32 radius, const EGG::Vector3f &pos, KCLTypeMask mask, u32 timeOffset)
 
ObjectObakeManagerobakeManager () const
 

Static Public Member Functions

static ObjectDrivableDirectorCreateInstance ()
 
static void DestroyInstance ()
 
static ObjectDrivableDirectorInstance ()
 

Private Attributes

std::vector< ObjectDrivable * > m_objects
 All objects live here.
 
std::vector< ObjectDrivable * > m_calcObjects
 Objects needing calc() live here too.
 
ObjectObakeManagerm_obakeManager
 Manages rGV2 blocks and spatial indexing.
 

Static Private Attributes

static ObjectDrivableDirectors_instance = nullptr
 

Additional Inherited Members

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

Constructor & Destructor Documentation

◆ ObjectDrivableDirector()

Field::ObjectDrivableDirector::ObjectDrivableDirector ( )
private0x8081B324

Definition at line 225 of file ObjectDrivableDirector.cc.

Member Function Documentation

◆ ~ObjectDrivableDirector()

Field::ObjectDrivableDirector::~ObjectDrivableDirector ( )
overrideprivate0x8081B380

Definition at line 228 of file ObjectDrivableDirector.cc.

◆ addObject()

void Field::ObjectDrivableDirector::addObject ( ObjectDrivable * obj)
0x8081B6C8

Definition at line 25 of file ObjectDrivableDirector.cc.

◆ calc()

void Field::ObjectDrivableDirector::calc ( )
0x8081B618

Definition at line 14 of file ObjectDrivableDirector.cc.

◆ checkSphereCachedFullPush()

bool Field::ObjectDrivableDirector::checkSphereCachedFullPush ( f32 radius,
const EGG::Vector3f & pos,
const EGG::Vector3f & prevPos,
KCLTypeMask mask,
CollisionInfo * info,
KCLTypeMask * maskOut,
u32 timeOffset )
nodiscard0x8081C958

Definition at line 170 of file ObjectDrivableDirector.cc.

◆ checkSphereCachedPartial()

bool Field::ObjectDrivableDirector::checkSphereCachedPartial ( f32 radius,
const EGG::Vector3f & pos,
const EGG::Vector3f & prevPos,
KCLTypeMask mask,
CollisionInfoPartial * info,
KCLTypeMask * maskOut,
u32 timeOffset )
nodiscard0x8081C5A0

Definition at line 120 of file ObjectDrivableDirector.cc.

◆ checkSphereCachedPartialPush()

bool Field::ObjectDrivableDirector::checkSphereCachedPartialPush ( f32 radius,
const EGG::Vector3f & pos,
const EGG::Vector3f & prevPos,
KCLTypeMask mask,
CollisionInfoPartial * info,
KCLTypeMask * maskOut,
u32 timeOffset )
nodiscard0x8081C6B4

Definition at line 145 of file ObjectDrivableDirector.cc.

◆ checkSphereFull()

bool Field::ObjectDrivableDirector::checkSphereFull ( f32 radius,
const EGG::Vector3f & pos,
const EGG::Vector3f & prevPos,
KCLTypeMask mask,
CollisionInfo * info,
KCLTypeMask * maskOut,
u32 timeOffset )
nodiscard0x8081BE48

Definition at line 81 of file ObjectDrivableDirector.cc.

◆ checkSphereFullPush()

bool Field::ObjectDrivableDirector::checkSphereFullPush ( f32 radius,
const EGG::Vector3f & pos,
const EGG::Vector3f & prevPos,
KCLTypeMask mask,
CollisionInfo * info,
KCLTypeMask * maskOut,
u32 timeOffset )
nodiscard0x8081BFA0

Definition at line 100 of file ObjectDrivableDirector.cc.

◆ checkSpherePartial()

bool Field::ObjectDrivableDirector::checkSpherePartial ( f32 radius,
const EGG::Vector3f & pos,
const EGG::Vector3f & prevPos,
KCLTypeMask mask,
CollisionInfoPartial * info,
KCLTypeMask * maskOut,
u32 timeOffset )
nodiscard0x8081BC98

Definition at line 41 of file ObjectDrivableDirector.cc.

◆ checkSpherePartialPush()

bool Field::ObjectDrivableDirector::checkSpherePartialPush ( f32 radius,
const EGG::Vector3f & pos,
const EGG::Vector3f & prevPos,
KCLTypeMask mask,
CollisionInfoPartial * info,
KCLTypeMask * maskOut,
u32 timeOffset )
nodiscard0x8081BD70

Definition at line 61 of file ObjectDrivableDirector.cc.

◆ colNarScLocal()

void Field::ObjectDrivableDirector::colNarScLocal ( f32 radius,
const EGG::Vector3f & pos,
KCLTypeMask mask,
u32 timeOffset )
0x8081B7CC

Definition at line 195 of file ObjectDrivableDirector.cc.

◆ CreateInstance()

ObjectDrivableDirector * Field::ObjectDrivableDirector::CreateInstance ( )
static0x8081B428

Definition at line 210 of file ObjectDrivableDirector.cc.

◆ createObakeManager()

void Field::ObjectDrivableDirector::createObakeManager ( const System::MapdataGeoObj & params)

Creates the rGV2 block manager. Also implicitly adds the block represented by params.

Definition at line 34 of file ObjectDrivableDirector.cc.

◆ DestroyInstance()

void Field::ObjectDrivableDirector::DestroyInstance ( )
static0x8081B4B0

Definition at line 217 of file ObjectDrivableDirector.cc.

◆ init()

void Field::ObjectDrivableDirector::init ( )
0x8081B500

Definition at line 6 of file ObjectDrivableDirector.cc.

◆ Instance()

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

Definition at line 56 of file ObjectDrivableDirector.hh.

◆ obakeManager()

ObjectObakeManager * Field::ObjectDrivableDirector::obakeManager ( ) const
inlinenodiscard

Definition at line 49 of file ObjectDrivableDirector.hh.

Member Data Documentation

◆ m_calcObjects

std::vector<ObjectDrivable *> Field::ObjectDrivableDirector::m_calcObjects
private

Objects needing calc() live here too.

Definition at line 65 of file ObjectDrivableDirector.hh.

◆ m_obakeManager

ObjectObakeManager* Field::ObjectDrivableDirector::m_obakeManager
private

Manages rGV2 blocks and spatial indexing.

Definition at line 66 of file ObjectDrivableDirector.hh.

◆ m_objects

std::vector<ObjectDrivable *> Field::ObjectDrivableDirector::m_objects
private

All objects live here.

Definition at line 64 of file ObjectDrivableDirector.hh.

◆ s_instance

ObjectDrivableDirector * Field::ObjectDrivableDirector::s_instance = nullptr
staticprivate0x809C4310

Definition at line 68 of file ObjectDrivableDirector.hh.