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

#include <Train.h>

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

Public Types

enum  TenderStatus { NO_TENDER , HAS_TENDER }
 

Public Member Functions

 ATrain (ATrain::TenderStatus tender, size_t numCarriages, f32 speed, uint32_t waypoint)
 
 ~ATrain ()
 
virtual void Tick () override
 
virtual void Draw (Camera *camera) override
 
virtual void VehicleCollision (s32 playerId, Player *player) override
 
virtual bool IsMod () override
 
s32 AddSmoke (s32 trainIndex, Vec3f pos, f32 velocity)
 
void SyncComponents (TrainCarStuff *trainCar, s16 orientationY)
 
- Public Member Functions inherited from AActor
virtual ~AActor ()=default
 
 AActor ()
 
virtual void Collision (Player *player, AActor *actor)
 
void SetLocation (FVector pos)
 
FVector GetLocation () const
 
virtual void Destroy ()
 

Static Public Member Functions

static size_t GetCount ()
 

Data Fields

TrainCarStuff Locomotive
 
TrainCarStuff Tender
 
std::vector< TrainCarStuffPassengerCars
 
f32 Speed
 
s32 SomeFlags
 
f32 SomeMultiplier
 
size_t NumCars
 
const char * Type = "mk:train"
 
size_t Index
 
int32_t SmokeParticles [128]
 
int32_t NextParticlePtr = 0
 
int16_t AnotherSmokeTimer = 0
 
int16_t SmokeTimer = 0
 
- Data Fields inherited from AActor
s16 Type = 0
 
s16 Flags
 
s16 Unk_04
 
s16 State
 
f32 Unk_08
 
f32 BoundingBoxSize
 
Vec3s Rot = {0, 0, 0}
 
s16 Unk_16
 
Vec3f Pos
 
Vec3f Velocity = {0, 0, 0}
 
Collision Unk30
 
uint8_t uuid [16]
 
const char * Name = ""
 
FVector Scale = {1, 1, 1}
 
Gfx * Model = NULL
 

Static Private Attributes

static size_t _count = 0
 

Detailed Description

Note that you can only remove the tender if there are no carriages

  • waypoint initial waypoint to spawn at.

Member Enumeration Documentation

◆ TenderStatus

Enumerator
NO_TENDER 
HAS_TENDER 

Constructor & Destructor Documentation

◆ ATrain()

ATrain::ATrain ( ATrain::TenderStatus tender,
size_t numCarriages,
f32 speed,
uint32_t waypoint )
explicit
Here is the call graph for this function:

◆ ~ATrain()

ATrain::~ATrain ( )
inline

Member Function Documentation

◆ AddSmoke()

s32 ATrain::AddSmoke ( s32 trainIndex,
Vec3f pos,
f32 velocity )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Draw()

void ATrain::Draw ( Camera * camera)
overridevirtual

Reimplemented from AActor.

◆ GetCount()

static size_t ATrain::GetCount ( )
inlinestatic

◆ IsMod()

bool ATrain::IsMod ( )
overridevirtual

Reimplemented from AActor.

◆ SyncComponents()

void ATrain::SyncComponents ( TrainCarStuff * trainCar,
s16 orientationY )
Todo
: Change actorIndex to ptr to TrainCar actor

◆ Tick()

void ATrain::Tick ( )
overridevirtual

Reimplemented from AActor.

Here is the call graph for this function:

◆ VehicleCollision()

void ATrain::VehicleCollision ( s32 playerId,
Player * player )
overridevirtual

Reimplemented from AActor.

Here is the call graph for this function:

Field Documentation

◆ _count

size_t ATrain::_count = 0
staticprivate

◆ AnotherSmokeTimer

int16_t ATrain::AnotherSmokeTimer = 0

◆ Index

size_t ATrain::Index

◆ Locomotive

TrainCarStuff ATrain::Locomotive

◆ NextParticlePtr

int32_t ATrain::NextParticlePtr = 0

◆ NumCars

size_t ATrain::NumCars

◆ PassengerCars

std::vector<TrainCarStuff> ATrain::PassengerCars

◆ SmokeParticles

int32_t ATrain::SmokeParticles[128]

◆ SmokeTimer

int16_t ATrain::SmokeTimer = 0

◆ SomeFlags

s32 ATrain::SomeFlags

◆ SomeMultiplier

f32 ATrain::SomeMultiplier

◆ Speed

f32 ATrain::Speed

◆ Tender

TrainCarStuff ATrain::Tender

◆ Type

const char* ATrain::Type = "mk:train"

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