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

#include <ObjectItemboxPress.hh>

Description

Responsible for stomper state management.

Actually inherits from ObjectItembox, but we don't need to implement.

Definition at line 11 of file ObjectItemboxPress.hh.

Inheritance diagram for Field::ObjectItemboxPress:

Public Member Functions

 ObjectItemboxPress (const System::MapdataGeoObj &params)
 
void init () override
 
void calc () override
 
ObjectId id () const override
 
u32 loadFlags () const override
 
const char * getResources () const override
 
const char * getKclName () const override
 
void startPress ()
 Used by ObjectItemboxLine to activate the stomper.
 
void setState (u32 state)
 
void setSenko (ObjectPressSenko *senko)
 
- Public Member Functions inherited from Field::ObjectCollidable
 ObjectCollidable (const System::MapdataGeoObj &params)
 
 ObjectCollidable (const char *name, const EGG::Vector3f &pos, const EGG::Vector3f &rot, const EGG::Vector3f &scale)
 
void load () override
 
void calcCollisionTransform () override
 
f32 getCollisionRadius () const override
 Finds the radius that fits fully in a BoxColUnit.
 
virtual void loadAABB (f32 maxSpeed)
 
virtual void loadAABB (f32 radius, f32 maxSpeed)
 
virtual void processKartReactions (Kart::KartObject *kartObj, Kart::Reaction &reactionOnKart, Kart::Reaction &reactionOnObj)
 
virtual Kart::Reaction onCollision (Kart::KartObject *, Kart::Reaction reactionOnKart, Kart::Reaction, EGG::Vector3f &)
 
virtual void onWallCollision (Kart::KartObject *, const EGG::Vector3f &)
 
virtual void onObjectCollision (Kart::KartObject *)
 
virtual bool checkCollision (ObjectCollisionBase *lhs, EGG::Vector3f &dist)
 
virtual const EGG::Vector3fgetCollisionTranslation () const
 
virtual ObjectCollisionBasecollision () const
 
- Public Member Functions inherited from Field::ObjectBase
 ObjectBase (const System::MapdataGeoObj &params)
 
 ObjectBase (const char *name, const EGG::Vector3f &pos, const EGG::Vector3f &rot, const EGG::Vector3f &scale)
 
virtual void calcModel ()
 
virtual void loadGraphics ()
 
virtual void loadAnims ()
 
virtual void loadRail ()
 
virtual const char * getName () const
 
virtual const EGG::Vector3fgetPosition () const
 
const EGG::Vector3fpos () const
 
void setPos (const EGG::Vector3f &pos)
 

Private Member Functions

void calcPosition ()
 

Private Attributes

u32 m_state
 
ObjectPressSenkom_senko
 

Additional Inherited Members

- Public Types inherited from Field::ObjectBase
enum class  eFlags {
  Position = 0 ,
  Rotation = 1 ,
  Matrix = 2 ,
  Scale = 3
}
 
typedef EGG::TBitFlag< u16, eFlags > Flags
 
- Protected Member Functions inherited from Field::ObjectCollidable
void createCollision () override
 
virtual const EGG::Vector3fcollisionCenter () const
 
void registerManagedObject ()
 
- 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::Matrix34f OrthonormalBasis (const EGG::Vector3f &v)
 
static EGG::Vector3f Interpolate (f32 t, const EGG::Vector3f &v0, const EGG::Vector3f &v1)
 
- Protected Attributes inherited from Field::ObjectCollidable
ObjectCollisionBasem_collision
 
- Protected Attributes inherited from Field::ObjectBase
Render::DrawMdlm_drawMdl
 
Abstract::g3d::ResFilem_resFile
 
ObjectId m_id
 
RailInterpolatorm_railInterpolator
 
BoxColUnitm_boxColUnit
 
Flags m_flags
 
EGG::Vector3f m_pos
 
EGG::Vector3f m_rot
 
EGG::Vector3f m_scale
 
EGG::Matrix34f m_transform
 
const System::MapdataGeoObjm_mapObj
 

Constructor & Destructor Documentation

◆ ObjectItemboxPress()

Field::ObjectItemboxPress::ObjectItemboxPress ( const System::MapdataGeoObj & params)
0x8076D9E4

Definition at line 8 of file ObjectItemboxPress.cc.

Member Function Documentation

◆ calc()

void Field::ObjectItemboxPress::calc ( )
overridevirtual0x8076DAF4

Reimplemented from Field::ObjectBase.

Definition at line 15 of file ObjectItemboxPress.cc.

◆ calcPosition()

void Field::ObjectItemboxPress::calcPosition ( )
private0x8076DF44

Definition at line 34 of file ObjectItemboxPress.cc.

◆ getKclName()

const char * Field::ObjectItemboxPress::getKclName ( ) const
inlinenodiscardoverridevirtual0x8076E9D8

Reimplemented from Field::ObjectBase.

Definition at line 39 of file ObjectItemboxPress.hh.

◆ getResources()

const char * Field::ObjectItemboxPress::getResources ( ) const
inlinenodiscardoverridevirtual0x8076E9CC

Reimplemented from Field::ObjectBase.

Definition at line 34 of file ObjectItemboxPress.hh.

◆ id()

ObjectId Field::ObjectItemboxPress::id ( ) const
inlinenodiscardoverridevirtual0x8076E9E4

Reimplemented from Field::ObjectBase.

Definition at line 24 of file ObjectItemboxPress.hh.

◆ init()

void Field::ObjectItemboxPress::init ( )
inlineoverridevirtual0x8076DA88

Reimplemented from Field::ObjectBase.

Definition at line 17 of file ObjectItemboxPress.hh.

◆ loadFlags()

u32 Field::ObjectItemboxPress::loadFlags ( ) const
inlinenodiscardoverridevirtual0x8076E9C4

Reimplemented from Field::ObjectBase.

Definition at line 29 of file ObjectItemboxPress.hh.

◆ setSenko()

void Field::ObjectItemboxPress::setSenko ( ObjectPressSenko * senko)
inline

Definition at line 49 of file ObjectItemboxPress.hh.

◆ setState()

void Field::ObjectItemboxPress::setState ( u32 state)
inline

Definition at line 45 of file ObjectItemboxPress.hh.

◆ startPress()

void Field::ObjectItemboxPress::startPress ( )

Used by ObjectItemboxLine to activate the stomper.

Definition at line 27 of file ObjectItemboxPress.cc.

Member Data Documentation

◆ m_senko

ObjectPressSenko* Field::ObjectItemboxPress::m_senko
private

Definition at line 57 of file ObjectItemboxPress.hh.

◆ m_state

u32 Field::ObjectItemboxPress::m_state
private

Definition at line 56 of file ObjectItemboxPress.hh.