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

Description

Definition at line 7 of file ObjectWLWallGC.hh.

Inheritance diagram for Field::ObjectWLWallGC:

Public Member Functions

 ObjectWLWallGC (const System::MapdataGeoObj &params)
 
void init () override
 
void calc () override
 
u32 loadFlags () const override
 
const EGG::Matrix34fgetUpdatedMatrix (u32 timeOffset) override
 
f32 colRadiusAdditionalLength () const override
 
bool checkCollision (f32 radius, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfo *info, KCLTypeMask *maskOut, u32 timeOffset) override
 
bool checkCollisionCached (f32 radius, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfo *info, KCLTypeMask *maskOut, u32 timeOffset) override
 
- Public Member Functions inherited from Field::ObjectKCL
 ObjectKCL (const System::MapdataGeoObj &params)
 
void createCollision () override
 
void calcCollisionTransform () override
 
const EGG::Vector3fgetPosition () const override
 
f32 getCollisionRadius () const override
 
void initCollision () override
 
bool checkPointPartial (const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfoPartial *info, KCLTypeMask *maskOut) override
 
bool checkPointPartialPush (const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfoPartial *info, KCLTypeMask *maskOut) override
 
bool checkPointFull (const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfo *info, KCLTypeMask *maskOut) override
 
bool checkPointFullPush (const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfo *info, KCLTypeMask *maskOut) override
 
bool checkSpherePartial (f32 radius, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfoPartial *info, KCLTypeMask *maskOut, u32 timeOffset) override
 
bool checkSpherePartialPush (f32 radius, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfoPartial *info, KCLTypeMask *maskOut, u32 timeOffset) override
 
bool checkSphereFull (f32 radius, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfo *info, KCLTypeMask *maskOut, u32 timeOffset) override
 
bool checkSphereFullPush (f32 radius, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfo *info, KCLTypeMask *maskOut, u32 timeOffset) override
 
void narrScLocal (f32 radius, const EGG::Vector3f &pos, KCLTypeMask mask, u32 timeOffset) override
 
bool checkPointCachedPartial (const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfoPartial *info, KCLTypeMask *maskOut) override
 
bool checkPointCachedPartialPush (const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfoPartial *info, KCLTypeMask *maskOut) override
 
bool checkPointCachedFull (const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfo *info, KCLTypeMask *maskOut) override
 
bool checkPointCachedFullPush (const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfo *info, KCLTypeMask *maskOut) override
 
bool checkSphereCachedPartial (f32 radius, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfoPartial *info, KCLTypeMask *maskOut, u32 timeOffset) override
 
bool checkSphereCachedPartialPush (f32 radius, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfoPartial *info, KCLTypeMask *maskOut, u32 timeOffset) override
 
bool checkSphereCachedFull (f32 radius, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfo *info, KCLTypeMask *maskOut, u32 timeOffset) override
 
bool checkSphereCachedFullPush (f32 radius, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfo *info, KCLTypeMask *maskOut, u32 timeOffset) override
 
virtual void update (u32 timeOffset)
 
virtual void calcScale (u32 timeOffset)
 
virtual void setMovingObjVel (const EGG::Vector3f &v)
 
virtual f32 getScaleY (u32) const
 
virtual bool shouldCheckColNoPush () const
 
virtual bool shouldCheckColPush () const
 
- Public Member Functions inherited from Field::ObjectDrivable
 ObjectDrivable (const System::MapdataGeoObj &params)
 
void load () override
 
virtual void loadAABB (f32 radius)
 
- Public Member Functions inherited from Field::ObjectBase
 ObjectBase (const System::MapdataGeoObj &params)
 
virtual void calcModel ()
 
virtual const char * getResources () const
 
virtual void loadGraphics ()
 
virtual void loadAnims ()
 
virtual void loadRail ()
 
virtual const char * getKclName () const
 
ObjectId id () const
 
void setPos (const EGG::Vector3f &pos)
 

Private Member Functions

u32 cycleFrame (s32 t) const
 

Private Attributes

s32 m_extendedDuration
 
u32 m_moveDuration
 
s32 m_startFrame
 
s32 m_hiddenDuration
 
s32 m_extendedFrame
 
s32 m_retractingFrame
 
s32 m_cycleDuration
 
EGG::Vector3f m_initialPos
 
EGG::Vector3f m_targetPos
 
EGG::Matrix34f m_currTransform
 

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::ObjectKCL
ObjColMgrm_objColMgr
 
EGG::Vector3f m_kclMidpoint
 
f32 m_bboxHalfSideLength
 
s32 m_lastMtxUpdateFrame
 
s32 m_lastScaleUpdateFrame
 
- 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
 

Constructor & Destructor Documentation

◆ ObjectWLWallGC()

Field::ObjectWLWallGC::ObjectWLWallGC ( const System::MapdataGeoObj & params)
0x8086BC1C

Definition at line 8 of file ObjectWLWallGC.cc.

Member Function Documentation

◆ calc()

void Field::ObjectWLWallGC::calc ( )
overridevirtual0x8086C108

Reimplemented from Field::ObjectBase.

Definition at line 51 of file ObjectWLWallGC.cc.

◆ checkCollision()

bool Field::ObjectWLWallGC::checkCollision ( f32 radius,
const EGG::Vector3f & pos,
const EGG::Vector3f & prevPos,
KCLTypeMask mask,
CollisionInfo * info,
KCLTypeMask * maskOut,
u32 timeOffset )
nodiscardoverridevirtual0x8086C328

Reimplemented from Field::ObjectKCL.

Definition at line 82 of file ObjectWLWallGC.cc.

◆ checkCollisionCached()

bool Field::ObjectWLWallGC::checkCollisionCached ( f32 radius,
const EGG::Vector3f & pos,
const EGG::Vector3f & prevPos,
KCLTypeMask mask,
CollisionInfo * info,
KCLTypeMask * maskOut,
u32 timeOffset )
nodiscardoverridevirtual0x8086C5A8

Reimplemented from Field::ObjectKCL.

Definition at line 92 of file ObjectWLWallGC.cc.

◆ colRadiusAdditionalLength()

f32 Field::ObjectWLWallGC::colRadiusAdditionalLength ( ) const
inlinenodiscardoverridevirtual0x8086C648

Reimplemented from Field::ObjectKCL.

Definition at line 23 of file ObjectWLWallGC.hh.

◆ cycleFrame()

u32 Field::ObjectWLWallGC::cycleFrame ( s32 t) const
inlinenodiscardprivate0x8086BF08

Definition at line 36 of file ObjectWLWallGC.hh.

◆ getUpdatedMatrix()

const EGG::Matrix34f & Field::ObjectWLWallGC::getUpdatedMatrix ( u32 timeOffset)
nodiscardoverridevirtual0x8086BF30

Reimplemented from Field::ObjectKCL.

Definition at line 62 of file ObjectWLWallGC.cc.

◆ init()

void Field::ObjectWLWallGC::init ( )
overridevirtual0x8086BE34

Reimplemented from Field::ObjectBase.

Definition at line 42 of file ObjectWLWallGC.cc.

◆ loadFlags()

u32 Field::ObjectWLWallGC::loadFlags ( ) const
inlinenodiscardoverridevirtual0x8086C640

Reimplemented from Field::ObjectBase.

Definition at line 16 of file ObjectWLWallGC.hh.

Member Data Documentation

◆ m_currTransform

EGG::Matrix34f Field::ObjectWLWallGC::m_currTransform
private

Definition at line 50 of file ObjectWLWallGC.hh.

◆ m_cycleDuration

s32 Field::ObjectWLWallGC::m_cycleDuration
private

Definition at line 47 of file ObjectWLWallGC.hh.

◆ m_extendedDuration

s32 Field::ObjectWLWallGC::m_extendedDuration
private

Definition at line 41 of file ObjectWLWallGC.hh.

◆ m_extendedFrame

s32 Field::ObjectWLWallGC::m_extendedFrame
private

Definition at line 45 of file ObjectWLWallGC.hh.

◆ m_hiddenDuration

s32 Field::ObjectWLWallGC::m_hiddenDuration
private

Definition at line 44 of file ObjectWLWallGC.hh.

◆ m_initialPos

EGG::Vector3f Field::ObjectWLWallGC::m_initialPos
private

Definition at line 48 of file ObjectWLWallGC.hh.

◆ m_moveDuration

u32 Field::ObjectWLWallGC::m_moveDuration
private

Definition at line 42 of file ObjectWLWallGC.hh.

◆ m_retractingFrame

s32 Field::ObjectWLWallGC::m_retractingFrame
private

Definition at line 46 of file ObjectWLWallGC.hh.

◆ m_startFrame

s32 Field::ObjectWLWallGC::m_startFrame
private

Definition at line 43 of file ObjectWLWallGC.hh.

◆ m_targetPos

EGG::Vector3f Field::ObjectWLWallGC::m_targetPos
private

Definition at line 49 of file ObjectWLWallGC.hh.