A cow that follows a leader by sharing the same rail.
Definition at line 99 of file ObjectCow.hh.
|
| | ObjectCowFollower (const System::MapdataGeoObj ¶ms, const EGG::Vector3f &pos, f32 rot) |
| |
| void | init () override |
| |
| void | calc () override |
| |
| u32 | loadFlags () const override |
| |
| void | loadRail () override |
| |
| | 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 | calcModel () |
| |
| virtual const char * | getResources () const |
| |
| virtual void | loadGraphics () |
| |
| virtual void | loadAnims () |
| |
| virtual const char * | getName () const |
| |
| virtual const char * | getKclName () const |
| |
| virtual void | resize (f32 radius, f32 maxSpeed) |
| |
| virtual void | unregisterCollision () |
| |
| virtual void | disableCollision () const |
| |
| virtual void | enableCollision () const |
| |
| virtual const BoxColUnit * | getUnit () const |
| |
| const RailInterpolator * | railInterpolator () 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 |
| |
| | StateManager (ObjectCowFollower *obj) |
| | Defined outside of the class declaration so that typename T will be a complete type.
|
| |
|
| enum class | eFlags {
Position = 0
,
Rotation = 1
,
Matrix = 2
,
Scale = 3
} |
| |
| typedef EGG::TBitFlag< u16, eFlags > | Flags |
| |
| 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) |
| |
| void | setMatrixFromOrthonormalBasisAndPos (const EGG::Vector3f &v) |
| |
| void | calc () |
| |
| 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) |
| |
| 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 |
| |
| u16 | m_currentStateId |
| |
| s32 | m_nextStateId |
| |
| u32 | m_currentFrame |
| |
| std::span< u16 > | m_entryIds |
| |
| std::span< const StateManagerEntry< ObjectCowFollower > > | m_entries |
| |
| ObjectCowFollower * | m_obj |
| |
| static constexpr EGG::Vector3f | GRAVITY_FORCE = EGG::Vector3f(0.0f, 2.0f, 0.0f) |
| |