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

Description

Definition at line 9 of file ObjectObakeBlock.hh.

Inheritance diagram for Field::ObjectObakeBlock:

Public Types

enum class  FallState {
  Rest = 0 ,
  Falling = 1 ,
  FinishedFalling = 2
}
 

Public Member Functions

 ObjectObakeBlock (const System::MapdataGeoObj &params)
 
void calc () override
 
void load () override
 
void createCollision () override
 
void calcCollisionTransform () override
 
Setters
void setFallState (FallState state)
 
Getters
FallState fallState () const
 
s32 fallFrame () const
 
- Public Member Functions inherited from Field::ObjectBase
 ObjectBase (const System::MapdataGeoObj &params)
 
virtual void init ()
 
virtual void calcModel ()
 
virtual const char * getResources () const
 
virtual void loadGraphics ()
 
virtual void loadAnims ()
 
virtual void loadRail ()
 
virtual u32 loadFlags () const
 
virtual const char * getKclName () const
 
virtual const EGG::Vector3fgetPosition () const
 
virtual f32 getCollisionRadius () const
 
ObjectId id () const
 
void setPos (const EGG::Vector3f &pos)
 

Private Attributes

const EGG::Vector3f m_initialPos
 Position is computed relative to initialPos.
 
FallState m_fallState
 
s32 m_framesFallen
 How long the block has been falling for, capped at 256.
 
EGG::Vector3f m_fallVel
 
EGG::Vector3f m_fallAngVel
 
EGG::BoundBox3f m_bbox
 
s32 m_fallFrame
 Frame the block starts falling, or 0 if it never falls.
 

Additional Inherited Members

- Protected Member Functions inherited from Field::ObjectBase
void calcTransform ()
 
void linkAnims (const std::span< const char * > &names, const std::span< Render::AnmType > types)
 
void setMatrixTangentTo (const EGG::Vector3f &up, const EGG::Vector3f &tangent)
 
- Static Protected Member Functions inherited from Field::ObjectBase
static EGG::Vector3f RotateAxisAngle (f32 angle, const EGG::Vector3f &axis, const EGG::Vector3f &v1)
 
static void SetRotTangentHorizontal (EGG::Matrix34f &mat, const EGG::Vector3f &up, const EGG::Vector3f &tangent)
 
static EGG::Vector3f Interpolate (f32 t, const EGG::Vector3f &v0, const EGG::Vector3f &v1)
 
- Protected Attributes inherited from Field::ObjectBase
Render::DrawMdlm_drawMdl
 
Abstract::g3d::ResFilem_resFile
 
ObjectId m_id
 
RailInterpolatorm_railInterpolator
 
BoxColUnitm_boxColUnit
 
u16 m_flags
 
EGG::Vector3f m_pos
 
EGG::Vector3f m_rot
 
EGG::Vector3f m_scale
 
EGG::Matrix34f m_transform
 
const System::MapdataGeoObjm_mapObj
 

Member Enumeration Documentation

◆ FallState

enum class Field::ObjectObakeBlock::FallState
strong

Definition at line 11 of file ObjectObakeBlock.hh.

Constructor & Destructor Documentation

◆ ObjectObakeBlock()

Field::ObjectObakeBlock::ObjectObakeBlock ( const System::MapdataGeoObj & params)
0x8080AD20

Definition at line 6 of file ObjectObakeBlock.cc.

Member Function Documentation

◆ calc()

void Field::ObjectObakeBlock::calc ( )
overridevirtual0x8080BC64

Reimplemented from Field::ObjectBase.

Definition at line 47 of file ObjectObakeBlock.cc.

◆ calcCollisionTransform()

void Field::ObjectObakeBlock::calcCollisionTransform ( )
inlineoverridevirtual0x8080BDD4

Implements Field::ObjectBase.

Definition at line 29 of file ObjectObakeBlock.hh.

◆ createCollision()

void Field::ObjectObakeBlock::createCollision ( )
inlineoverridevirtual0x8080BDDC

Implements Field::ObjectBase.

Definition at line 26 of file ObjectObakeBlock.hh.

◆ fallFrame()

s32 Field::ObjectObakeBlock::fallFrame ( ) const
inlinenodiscard

Definition at line 42 of file ObjectObakeBlock.hh.

◆ fallState()

FallState Field::ObjectObakeBlock::fallState ( ) const
inlinenodiscard

Definition at line 38 of file ObjectObakeBlock.hh.

◆ load()

void Field::ObjectObakeBlock::load ( )
inlineoverridevirtual0x8080BDE0

Implements Field::ObjectBase.

Definition at line 23 of file ObjectObakeBlock.hh.

◆ setFallState()

void Field::ObjectObakeBlock::setFallState ( FallState state)
inline

Definition at line 32 of file ObjectObakeBlock.hh.

Member Data Documentation

◆ m_bbox

EGG::BoundBox3f Field::ObjectObakeBlock::m_bbox
private

Definition at line 53 of file ObjectObakeBlock.hh.

◆ m_fallAngVel

EGG::Vector3f Field::ObjectObakeBlock::m_fallAngVel
private

Definition at line 52 of file ObjectObakeBlock.hh.

◆ m_fallFrame

s32 Field::ObjectObakeBlock::m_fallFrame
private

Frame the block starts falling, or 0 if it never falls.

Definition at line 54 of file ObjectObakeBlock.hh.

◆ m_fallState

FallState Field::ObjectObakeBlock::m_fallState
private

Definition at line 49 of file ObjectObakeBlock.hh.

◆ m_fallVel

EGG::Vector3f Field::ObjectObakeBlock::m_fallVel
private

Definition at line 51 of file ObjectObakeBlock.hh.

◆ m_framesFallen

s32 Field::ObjectObakeBlock::m_framesFallen
private

How long the block has been falling for, capped at 256.

Definition at line 50 of file ObjectObakeBlock.hh.

◆ m_initialPos

const EGG::Vector3f Field::ObjectObakeBlock::m_initialPos
private

Position is computed relative to initialPos.

Definition at line 48 of file ObjectObakeBlock.hh.