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

#include <Thwomp.h>

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

Public Types

enum  States : uint16_t {
  DISABLED , STATIONARY , MOVE_AND_ROTATE , MOVE_FAR ,
  STATIONARY_FAST , SLIDE , JAILED
}
 

Public Member Functions

 OThwomp (s16 x, s16 z, s16 direction, f32 scale, s16 behaviour, s16 primAlpha, u16 boundingBoxSize=7)
 
 ~OThwomp ()
 
virtual void Tick60fps () override
 
virtual void Draw (s32 cameraId) override
 
void SetVisibility (s32 objectIndex)
 
void func_80080B28 (s32 objectIndex, s32 playerId)
 
void DrawModel (s32)
 
void TranslateThwompLights ()
 
void ThwompLights (s32 objectIndex)
 
void func_80080DE4 (s32 arg0)
 
s32 func_8007F75C (s32 playerId)
 
void func_8007F8D8 ()
 
void SetPlayerCrushedEffect (s32 objectIndex, Player *player)
 
void func_80080A4C (s32 objectIndex, s32 cameraPlayerId)
 
void func_8007542C (s32 arg0)
 
void func_80074FD8 (s32 objectIndex)
 
void AddParticles (s32 arg0)
 
s32 func_8007E50C (s32 objectIndex, Player *player, Camera *camera)
 
s32 func_8007E59C (s32 objectIndex)
 
void func_8007F544 (s32 objectIndex)
 
void func_8007EFBC (s32 objectIndex)
 
void func_8007F280 (s32 objectIndex)
 
void func_8007F660 (s32 objectIndex, s32 arg1, s32 arg2)
 
void func_80080E8C (s32 objectIndex1, s32 objectIndex2, s32 arg2)
 
void func_8007F6C4 (s32 objectIndex, s32 playerId)
 
void func_800810F4 (s32 objectIndex)
 
void func_80081080 (s32 objectIndex)
 
void StationaryBehaviour (s32 objectIndex)
 
void func_8007EC30 (s32 objectIndex)
 
void MoveAndRotateBehaviour (s32 objectIndex)
 
void func_8007EE5C (s32 objectIndex)
 
void MoveFarBehaviour (s32 objectIndex)
 
void func_8007FA08 (s32 objectIndex)
 
void func_8007FF5C (s32 objectIndex)
 
void func_8007FB48 (s32 objectIndex)
 
void func_8007FEA4 (s32 objectIndex)
 
void StationaryFastBehaviour (s32 objectIndex)
 
void func_80080078 (s32 objectIndex)
 
void JailedBehaviour (s32 objectIndex)
 
void func_800802C0 (s32 objectIndex)
 
void SlidingBehaviour (s32 objectIndex)
 
void func_80080524 (s32 objectIndex)
 
void func_8008085C (s32 objectIndex)
 
void func_800806BC (s32 objectIndex)
 
void func_8008078C (s32 objectIndex)
 
void func_8007E63C (s32 objectIndex)
 
- Public Member Functions inherited from OObject
virtual ~OObject ()=default
 
 OObject ()
 
virtual void Tick ()
 
virtual void Expire ()
 
virtual void Destroy ()
 
virtual void Reset ()
 

Static Public Member Functions

static size_t GetCount ()
 

Data Fields

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

Private Attributes

s32 _idx
 
s16 _faceDirection
 
u16 _boundingBoxSize
 

Static Private Attributes

static size_t _count = 0
 
static size_t _rand = 0
 

Detailed Description

Todo

Make shadow size bigger if thwomp is scaled up

make adjustable properties for squishSize and boundingBoxSize

Thwomp OObject

The game automatically places the actor on the ground so you do not need to provide a Y coordinate value.

  • direction the rotational direction the thwomp is facing.
  • behaviour the behaviour of the thwomp, uses values 1-6.
  • primAlpha unknown
  • boundingBoxSize optional. The size of the bounding box for the thwomp. Default value is 12

Member Enumeration Documentation

◆ States

enum OThwomp::States : uint16_t
Enumerator
DISABLED 
STATIONARY 
MOVE_AND_ROTATE 
MOVE_FAR 
STATIONARY_FAST 
SLIDE 
JAILED 

Constructor & Destructor Documentation

◆ OThwomp()

OThwomp::OThwomp ( s16 x,
s16 z,
s16 direction,
f32 scale,
s16 behaviour,
s16 primAlpha,
u16 boundingBoxSize = 7 )
explicit
Here is the call graph for this function:

◆ ~OThwomp()

OThwomp::~OThwomp ( )
inline

Member Function Documentation

◆ AddParticles()

void OThwomp::AddParticles ( s32 arg0)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Draw()

void OThwomp::Draw ( s32 cameraId)
overridevirtual

Reimplemented from OObject.

Here is the call graph for this function:

◆ DrawModel()

void OThwomp::DrawModel ( s32 objectIndex)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_80074FD8()

void OThwomp::func_80074FD8 ( s32 objectIndex)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8007542C()

void OThwomp::func_8007542C ( s32 arg0)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8007E50C()

s32 OThwomp::func_8007E50C ( s32 objectIndex,
Player * player,
Camera * camera )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8007E59C()

s32 OThwomp::func_8007E59C ( s32 objectIndex)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8007E63C()

void OThwomp::func_8007E63C ( s32 objectIndex)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8007EC30()

void OThwomp::func_8007EC30 ( s32 objectIndex)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8007EE5C()

void OThwomp::func_8007EE5C ( s32 objectIndex)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8007EFBC()

void OThwomp::func_8007EFBC ( s32 objectIndex)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8007F280()

void OThwomp::func_8007F280 ( s32 objectIndex)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8007F544()

void OThwomp::func_8007F544 ( s32 objectIndex)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8007F660()

void OThwomp::func_8007F660 ( s32 objectIndex,
s32 arg1,
s32 arg2 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8007F6C4()

void OThwomp::func_8007F6C4 ( s32 objectIndex,
s32 playerId )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8007F75C()

s32 OThwomp::func_8007F75C ( s32 playerId)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8007F8D8()

void OThwomp::func_8007F8D8 ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8007FA08()

void OThwomp::func_8007FA08 ( s32 objectIndex)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8007FB48()

void OThwomp::func_8007FB48 ( s32 objectIndex)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8007FEA4()

void OThwomp::func_8007FEA4 ( s32 objectIndex)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8007FF5C()

void OThwomp::func_8007FF5C ( s32 objectIndex)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_80080078()

void OThwomp::func_80080078 ( s32 objectIndex)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800802C0()

void OThwomp::func_800802C0 ( s32 objectIndex)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_80080524()

void OThwomp::func_80080524 ( s32 objectIndex)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800806BC()

void OThwomp::func_800806BC ( s32 objectIndex)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8008078C()

void OThwomp::func_8008078C ( s32 objectIndex)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8008085C()

void OThwomp::func_8008085C ( s32 objectIndex)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_80080A4C()

void OThwomp::func_80080A4C ( s32 objectIndex,
s32 cameraPlayerId )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_80080B28()

void OThwomp::func_80080B28 ( s32 objectIndex,
s32 playerId )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_80080DE4()

void OThwomp::func_80080DE4 ( s32 arg0)
Here is the caller graph for this function:

◆ func_80080E8C()

void OThwomp::func_80080E8C ( s32 objectIndex1,
s32 objectIndex2,
s32 arg2 )
Here is the caller graph for this function:

◆ func_80081080()

void OThwomp::func_80081080 ( s32 objectIndex)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800810F4()

void OThwomp::func_800810F4 ( s32 objectIndex)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetCount()

static size_t OThwomp::GetCount ( )
inlinestatic

◆ JailedBehaviour()

void OThwomp::JailedBehaviour ( s32 objectIndex)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ MoveAndRotateBehaviour()

void OThwomp::MoveAndRotateBehaviour ( s32 objectIndex)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ MoveFarBehaviour()

void OThwomp::MoveFarBehaviour ( s32 objectIndex)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetPlayerCrushedEffect()

void OThwomp::SetPlayerCrushedEffect ( s32 objectIndex,
Player * player )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetVisibility()

void OThwomp::SetVisibility ( s32 objectIndex)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SlidingBehaviour()

void OThwomp::SlidingBehaviour ( s32 objectIndex)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ StationaryBehaviour()

void OThwomp::StationaryBehaviour ( s32 objectIndex)

Behaviours

Here is the call graph for this function:
Here is the caller graph for this function:

◆ StationaryFastBehaviour()

void OThwomp::StationaryFastBehaviour ( s32 objectIndex)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ThwompLights()

void OThwomp::ThwompLights ( s32 objectIndex)
Here is the caller graph for this function:

◆ Tick60fps()

void OThwomp::Tick60fps ( )
overridevirtual

Reimplemented from OObject.

Here is the call graph for this function:

◆ TranslateThwompLights()

void OThwomp::TranslateThwompLights ( )
Here is the call graph for this function:
Here is the caller graph for this function:

Field Documentation

◆ _boundingBoxSize

u16 OThwomp::_boundingBoxSize
private
Todo
Write this better. This effects the squish size and the bounding box size.

◆ _count

size_t OThwomp::_count = 0
staticprivate

◆ _faceDirection

s16 OThwomp::_faceDirection
private

◆ _idx

s32 OThwomp::_idx
private

◆ _rand

size_t OThwomp::_rand = 0
staticprivate

◆ State

States OThwomp::State = States::DISABLED

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