The traffic cones on Daisy Circuit.
Definition at line 8 of file ObjectPylon.hh.
|
| | ObjectPylon (const System::MapdataGeoObj ¶ms) |
| |
| void | init () override |
| |
| void | calc () override |
| |
| u32 | loadFlags () const override |
| |
| 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 void | loadRail () |
| |
| 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 |
| |
|
| enum class | eFlags {
Position = 0
,
Rotation = 1
,
Matrix = 2
,
Scale = 3
} |
| |
| typedef EGG::TBitFlag< u16, eFlags > | Flags |
| |
| void | createCollision () override |
| |
| virtual const EGG::Vector3f & | collisionCenter () const |
| |
| void | registerManagedObject () |
| |
| void | calcTransform () |
| |
| void | calcRotLock () |
| |
| 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) |
| |
| 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 | AdjustVecForward (f32 sidewaysScalar, f32 forwardScalar, f32 minSpeed, const EGG::Vector3f &src, EGG::Vector3f forward) |
| |
| static f32 | CalcParabolicDisplacement (f32 initVel, f32 accel, u32 frame) |
| | Solves the standard kinematic equation \(y(t) = v_0\, t - \frac{1}{2} a t^{2}\).
|
| |
| static EGG::Vector3f | Interpolate (f32 t, const EGG::Vector3f &v0, const EGG::Vector3f &v1) |
| |
| 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_scale |
| |
| EGG::Vector3f | m_rot |
| |
| bool | m_rotLock |
| |
| EGG::Matrix34f | m_transform |
| |
| const System::MapdataGeoObj * | m_mapObj |
| |
| Kart::Reaction Field::ObjectPylon::onCollision |
( |
Kart::KartObject * | kartObj, |
|
|
Kart::Reaction | reactionOnKart, |
|
|
Kart::Reaction | reactionOnObj, |
|
|
EGG::Vector3f & | hitDepth ) |
|
overridevirtual0x8082DBEC |
If the player's speed ratio is above 70%, then the pylone nters the "Hit" state where it bounces away. Else, it checks to see the angle of impact between the player and the pylon. If the player's angle falls between 30 and 150 degrees, then the cone will reduce the player's speed down to 82%.
Reimplemented from Field::ObjectCollidable.
Definition at line 107 of file ObjectPylon.cc.