SpaghettiKart
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 (const SpawnParams &params)
 
 ~OThwomp ()
 
virtual void SetSpawnParams (SpawnParams &params) override
 
virtual void Tick60fps () override
 
virtual void Draw (s32 cameraId) override
 
virtual void DrawEditorProperties () override
 
void SetVisibility (s32 objectIndex)
 
void func_80080B28 (s32 objectIndex, s32 playerId)
 
void DrawModel (s32, 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 ()
 
 OObject (SpawnParams params)
 
virtual void Tick ()
 
virtual void Expire ()
 
virtual void Destroy ()
 
virtual void Reset ()
 
FVector GetLocation () const
 
IRotator GetRotation () const
 
FVector GetScale () const
 
virtual void Translate (FVector pos)
 
void Rotate (IRotator rot)
 
void SetScale (FVector scale)
 

Static Public Member Functions

static OThwompSpawn (s16 x, s16 z, s16 direction, f32 scale, s16 behaviour, s16 primAlpha, u16 boundingBoxSize=7)
 
static size_t GetCount ()
 

Data Fields

u16 BoundingBoxSize
 
OThwomp::States Behaviour
 
int16_t PrimAlpha
 
- Data Fields inherited from OObject
uint8_t uuid [16]
 
Object o
 
const char * Name = ""
 
const char * ResourceName = ""
 
bool bPendingDestroy = false
 
s32 _objectIndex = -1
 
const char * Model = ""
 
FVector SpawnPos = {0.0f, 0.0f, 0.0f}
 
IRotator SpawnRot = {0, 0, 0}
 
FVector SpawnScale = {1.0f, 1.0f, 1.0f}
 
float Speed = 0.0f
 
std::vector< TriangleTriangles
 

Private Attributes

s32 _idx
 
s16 _faceDirection
 

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 ( const SpawnParams & params)
explicit
Here is the call graph for this function:
Here is the caller 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:

◆ DrawEditorProperties()

void OThwomp::DrawEditorProperties ( )
overridevirtual

Reimplemented from OObject.

Here is the call graph for this function:

◆ DrawModel()

void OThwomp::DrawModel ( s32 cameraId,
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:

◆ SetSpawnParams()

void OThwomp::SetSpawnParams ( SpawnParams & params)
overridevirtual

Reimplemented from OObject.

◆ 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:

◆ Spawn()

static OThwomp * OThwomp::Spawn ( s16 x,
s16 z,
s16 direction,
f32 scale,
s16 behaviour,
s16 primAlpha,
u16 boundingBoxSize = 7 )
inlinestatic
Here is the call 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

◆ _count

size_t OThwomp::_count = 0
staticprivate

◆ _faceDirection

s16 OThwomp::_faceDirection
private

◆ _idx

s32 OThwomp::_idx
private

◆ _rand

size_t OThwomp::_rand = 0
staticprivate

◆ Behaviour

OThwomp::States OThwomp::Behaviour

◆ BoundingBoxSize

u16 OThwomp::BoundingBoxSize

◆ PrimAlpha

int16_t OThwomp::PrimAlpha

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