#include <ObjectCow.hh>
The base class shared between ObjectCowLeader and ObjectCowFollower.
Definition at line 11 of file ObjectCow.hh.
Public Member Functions | |
ObjectCow (const System::MapdataGeoObj ¶ms) | |
Kart::Reaction | onCollision (Kart::KartObject *kartObj, Kart::Reaction reactionOnKart, Kart::Reaction reactionOnObj, EGG::Vector3f &hitDepth) override |
![]() | |
ObjectCollidable (const System::MapdataGeoObj ¶ms) | |
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 void | onWallCollision (Kart::KartObject *, const EGG::Vector3f &) |
virtual void | onObjectCollision (Kart::KartObject *) |
virtual bool | checkCollision (ObjectCollisionBase *lhs, EGG::Vector3f &dist) |
virtual const EGG::Vector3f & | getCollisionTranslation () const |
virtual ObjectCollisionBase * | collision () const |
![]() | |
ObjectBase (const System::MapdataGeoObj ¶ms) | |
ObjectBase (const char *name, const EGG::Vector3f &pos, const EGG::Vector3f &rot, const EGG::Vector3f &scale) | |
virtual void | init () |
virtual void | calc () |
virtual void | calcModel () |
virtual const char * | getResources () const |
virtual void | loadGraphics () |
virtual void | loadAnims () |
virtual void | loadRail () |
virtual const char * | getName () const |
virtual u32 | loadFlags () const |
virtual const char * | getKclName () const |
virtual void | resize (f32 radius, f32 maxSpeed) |
virtual void | disableCollision () const |
virtual void | enableCollision () const |
virtual const EGG::Vector3f & | getPosition () const |
virtual ObjectId | id () const |
const EGG::Vector3f & | pos () const |
void | setPos (const EGG::Vector3f &pos) |
void | setScale (const EGG::Vector3f &scale) |
void | setTransform (const EGG::Matrix34f &mat) |
const EGG::Vector3f & | scale () const |
Protected Member Functions | |
virtual void | calcFloor () |
void | setup () |
void | calcPos () |
f32 | setTarget (const EGG::Vector3f &v) |
![]() | |
void | createCollision () override |
virtual const EGG::Vector3f & | collisionCenter () const |
void | registerManagedObject () |
![]() | |
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 | |
static EGG::Vector3f | Interpolate (f32 t, const EGG::Vector3f &v0, const EGG::Vector3f &v1) |
![]() | |
static f32 | CheckPointAgainstLineSegment (const EGG::Vector3f &point, const EGG::Vector3f &a, const EGG::Vector3f &b) |
Calculates on what side of line segment ab point lies. | |
static EGG::Vector3f | RotateXZByYaw (f32 angle, const EGG::Vector3f &v) |
Rotates a vector around the Y-axis and returns the XZ-plane portion of the vector. | |
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::Matrix34f | RailOrthonormalBasis (const RailInterpolator &railInterpolator) |
static EGG::Vector3f | Interpolate (f32 t, const EGG::Vector3f &v0, const EGG::Vector3f &v1) |
Protected Attributes | |
u32 | m_startFrame |
The frame the cow will start moving. | |
EGG::Vector3f | m_tangent |
EGG::Vector3f | m_prevTangent |
EGG::Vector3f | m_up |
EGG::Vector3f | m_velocity |
f32 | m_xzSpeed |
XZ plane length of m_velocity. | |
f32 | m_tangentFactor |
EGG::Vector3f | m_floorNrm |
EGG::Vector3f | m_state1TargetPos |
Calculated in enterState1. | |
EGG::Vector3f | m_targetDir |
EGG::Vector3f | m_upForce |
Used by calcPos to counteract gravity. | |
f32 | m_interpRate |
![]() | |
ObjectCollisionBase * | m_collision |
![]() | |
Render::DrawMdl * | m_drawMdl |
Abstract::g3d::ResFile * | m_resFile |
ObjectId | m_id |
RailInterpolator * | m_railInterpolator |
BoxColUnit * | m_boxColUnit |
Flags | m_flags |
EGG::Vector3f | m_pos |
EGG::Vector3f | m_rot |
EGG::Vector3f | m_scale |
EGG::Matrix34f | m_transform |
const System::MapdataGeoObj * | m_mapObj |
Static Protected Attributes | |
static constexpr EGG::Vector3f | GRAVITY_FORCE = EGG::Vector3f(0.0f, 2.0f, 0.0f) |
Additional Inherited Members | |
![]() | |
enum class | eFlags { Position = 0 , Rotation = 1 , Matrix = 2 , Scale = 3 } |
typedef EGG::TBitFlag< u16, eFlags > | Flags |
|
0x806BBEC0 |
Definition at line 15 of file ObjectCow.cc.
|
protectedvirtual0x806BC87C |
Definition at line 48 of file ObjectCow.cc.
|
protected0x806BC6D8 |
Definition at line 73 of file ObjectCow.cc.
|
inlinestaticnodiscardprotected0x806BCF4C |
Definition at line 27 of file ObjectCow.hh.
|
overridevirtual0x806BC2AC |
Reimplemented from Field::ObjectCollidable.
Definition at line 23 of file ObjectCow.cc.
|
protected0x806BCDC4 |
Definition at line 91 of file ObjectCow.cc.
|
protected0x806BBF64 |
Definition at line 29 of file ObjectCow.cc.
|
staticconstexprprotected |
Definition at line 45 of file ObjectCow.hh.
|
protected |
Definition at line 39 of file ObjectCow.hh.
|
protected |
Definition at line 43 of file ObjectCow.hh.
|
protected |
Definition at line 34 of file ObjectCow.hh.
|
protected |
The frame the cow will start moving.
Definition at line 32 of file ObjectCow.hh.
|
protected |
Calculated in enterState1.
Definition at line 40 of file ObjectCow.hh.
|
protected |
Definition at line 33 of file ObjectCow.hh.
|
protected |
Definition at line 38 of file ObjectCow.hh.
|
protected |
Definition at line 41 of file ObjectCow.hh.
|
protected |
Definition at line 35 of file ObjectCow.hh.
|
protected |
Used by calcPos to counteract gravity.
Definition at line 42 of file ObjectCow.hh.
|
protected |
Definition at line 36 of file ObjectCow.hh.
|
protected |
XZ plane length of m_velocity.
Definition at line 37 of file ObjectCow.hh.