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

Description

Definition at line 21 of file ObjectDrivableDirector.hh.

Inheritance diagram for Kinoko::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 ObjectDrivableDirector * CreateInstance ()
static void DestroyInstance ()
static ObjectDrivableDirector * Instance ()

Private Attributes

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

Static Private Attributes

static ObjectDrivableDirector * s_instance = nullptr

Additional Inherited Members

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

Constructor & Destructor Documentation

◆ ObjectDrivableDirector()

Kinoko::Field::ObjectDrivableDirector::ObjectDrivableDirector ( )
private0x8081B324

Definition at line 225 of file ObjectDrivableDirector.cc.

Member Function Documentation

◆ ~ObjectDrivableDirector()

Kinoko::Field::ObjectDrivableDirector::~ObjectDrivableDirector ( )
overrideprivate0x8081B380

Definition at line 228 of file ObjectDrivableDirector.cc.

◆ addObject()

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

Definition at line 25 of file ObjectDrivableDirector.cc.

◆ calc()

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

Definition at line 14 of file ObjectDrivableDirector.cc.

◆ checkSphereCachedFullPush()

bool Kinoko::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 Kinoko::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 Kinoko::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 Kinoko::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 Kinoko::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 Kinoko::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 Kinoko::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 Kinoko::Field::ObjectDrivableDirector::colNarScLocal ( f32 radius,
const EGG::Vector3f & pos,
KCLTypeMask mask,
u32 timeOffset )
0x8081B7CC

Definition at line 195 of file ObjectDrivableDirector.cc.

◆ CreateInstance()

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

Definition at line 210 of file ObjectDrivableDirector.cc.

◆ createObakeManager()

void Kinoko::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 Kinoko::Field::ObjectDrivableDirector::DestroyInstance ( )
static0x8081B4B0

Definition at line 217 of file ObjectDrivableDirector.cc.

◆ init()

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

Definition at line 6 of file ObjectDrivableDirector.cc.

◆ Instance()

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

Definition at line 60 of file ObjectDrivableDirector.hh.

◆ obakeManager()

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

Definition at line 53 of file ObjectDrivableDirector.hh.

Member Data Documentation

◆ m_calcObjects

std::vector<ObjectDrivable *, EGG::Allocator<ObjectDrivable *> > Kinoko::Field::ObjectDrivableDirector::m_calcObjects
private

Objects needing calc() live here too.

Definition at line 73 of file ObjectDrivableDirector.hh.

◆ m_obakeManager

ObjectObakeManager* Kinoko::Field::ObjectDrivableDirector::m_obakeManager
private

Manages rGV2 blocks and spatial indexing.

Definition at line 74 of file ObjectDrivableDirector.hh.

◆ m_objects

std::vector<ObjectDrivable *, EGG::Allocator<ObjectDrivable *> > Kinoko::Field::ObjectDrivableDirector::m_objects
private

All objects live here.

Definition at line 71 of file ObjectDrivableDirector.hh.

◆ s_instance

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

Definition at line 76 of file ObjectDrivableDirector.hh.