Mario Kart 64
Loading...
Searching...
No Matches
OBoos Class Reference

#include <Boos.h>

Inheritance diagram for OBoos:
[legend]
Collaboration diagram for OBoos:
[legend]

Public Member Functions

 OBoos (size_t numBoos, const IPathSpan &leftBoundary, const IPathSpan &active, const IPathSpan &rightBoundary)
 
 ~OBoos ()
 
virtual void Tick () override
 
virtual void Draw (s32 cameraId) override
 
void func_800523B8 (s32 objectIndex, s32 arg1, u32 arg2)
 
void func_8007CA70 (void)
 
void func_8007C5B4 (s32 objectIndex)
 
void func_8007C684 (s32 objectIndex)
 
void func_8007C4A4 (s32 objectIndex)
 
s32 func_8007C9F8 (void)
 
void BooStart (s32 someIndex, s32 arg1)
 
void BooExit (s32 someIndex)
 
void func_8007C550 (s32 objectIndex)
 
- Public Member Functions inherited from OObject
virtual ~OObject ()=default
 
 OObject ()
 
virtual void Tick60fps ()
 
virtual void Expire ()
 
virtual void Destroy ()
 
virtual void Reset ()
 

Static Public Member Functions

static size_t GetCount ()
 

Private Attributes

FVector _pos
 
size_t _idx
 
std::vector< s32 > _indices
 
size_t _numBoos
 
bool _isActive = false
 
s32 _playerId = 0
 
IPathSpan _leftBoundary
 
IPathSpan _active
 
IPathSpan _rightBoundary
 

Static Private Attributes

static size_t _count = 0
 

Additional Inherited Members

- Data Fields inherited from OObject
uint8_t uuid [16]
 
Object o
 
const char * Name = ""
 
bool bPendingDestroy = false
 
s32 _objectIndex = -1
 

Detailed Description

OBoos

Args use path indices or path points. Recommended to use a span of 10 for each IPathSpan as that's how the original game did it. Ex. IPathSpan(10, 20)

Once boos are active, they do not deactivate until the player drives into leftBoundary or rightBoundary. leftBoundary is really only used to deactivate the boos when the player is driving in the reverse direction.

  • numBoos to show, default 5, maximum 10 allowed due to limited splines
  • leftBoundary When the player enters this area, deactivate the boos.
  • active When the player enters this area, activate the boos.
  • rightBoundary When the player enters this area, deactivate the boos.

Constructor & Destructor Documentation

◆ OBoos()

OBoos::OBoos ( size_t numBoos,
const IPathSpan & leftBoundary,
const IPathSpan & active,
const IPathSpan & rightBoundary )
explicit
Here is the call graph for this function:

◆ ~OBoos()

OBoos::~OBoos ( )
inline

Member Function Documentation

◆ BooExit()

void OBoos::BooExit ( s32 someIndex)
Here is the caller graph for this function:

◆ BooStart()

void OBoos::BooStart ( s32 someIndex,
s32 arg1 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Draw()

void OBoos::Draw ( s32 cameraId)
overridevirtual

Reimplemented from OObject.

Here is the call graph for this function:

◆ func_800523B8()

void OBoos::func_800523B8 ( s32 objectIndex,
s32 arg1,
u32 arg2 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8007C4A4()

void OBoos::func_8007C4A4 ( s32 objectIndex)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8007C550()

void OBoos::func_8007C550 ( s32 objectIndex)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8007C5B4()

void OBoos::func_8007C5B4 ( s32 objectIndex)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8007C684()

void OBoos::func_8007C684 ( s32 objectIndex)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8007C9F8()

s32 OBoos::func_8007C9F8 ( void )
Here is the caller graph for this function:

◆ func_8007CA70()

void OBoos::func_8007CA70 ( void )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetCount()

static size_t OBoos::GetCount ( )
inlinestatic

◆ Tick()

void OBoos::Tick ( void )
overridevirtual

Reimplemented from OObject.

Here is the call graph for this function:

Field Documentation

◆ _active

IPathSpan OBoos::_active
private

◆ _count

size_t OBoos::_count = 0
staticprivate

◆ _idx

size_t OBoos::_idx
private

◆ _indices

std::vector<s32> OBoos::_indices
private

◆ _isActive

bool OBoos::_isActive = false
private

◆ _leftBoundary

IPathSpan OBoos::_leftBoundary
private

◆ _numBoos

size_t OBoos::_numBoos
private

◆ _playerId

s32 OBoos::_playerId = 0
private

◆ _pos

FVector OBoos::_pos
private

◆ _rightBoundary

IPathSpan OBoos::_rightBoundary
private

The documentation for this class was generated from the following files: