#include <ObjectDossunTsuibiHolder.hh>
The manager class for the pair of Thwomps in the long hallway on rBC.
Definition at line 12 of file ObjectDossunTsuibiHolder.hh.
Public Member Functions | |
| ObjectDossunTsuibiHolder (const System::MapdataGeoObj ¶ms) | |
| void | init () override |
| void | calc () override |
| void | calcModel () override |
| u32 | loadFlags () const override |
| void | loadGraphics () override |
| void | createCollision () override |
| void | startStill () |
Public Member Functions inherited from Field::ObjectCollidable | |
| 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 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::Vector3f & | getCollisionTranslation () const |
| virtual ObjectCollisionBase * | collision () const |
Public Member Functions inherited from Field::ObjectBase | |
| ObjectBase (const System::MapdataGeoObj ¶ms) | |
| ObjectBase (const char *name, const EGG::Vector3f &pos, const EGG::Vector3f &rot, const EGG::Vector3f &scale) | |
| virtual const char * | getResources () const |
| 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 |
Private Types | |
| enum class | State { Still = 0 , Forward = 1 , StartStomp = 2 , Stomping = 3 , Backward = 4 , SillRotating = 5 } |
Private Member Functions | |
| void | calcStill () |
| void | calcForward () |
| void | calcStartStomp () |
| void | calcStomp () |
| void | calcBackwards () |
| void | calcStillRotating () |
| void | calcRot () |
| void | calcForwardRail () |
| void | calcForwardOscillation () |
| void | updatePos (const EGG::Vector3f &pos) |
| void | updateRot (f32 rot) |
Private Attributes | |
| std::array< ObjectDossunTsuibi *, 2 > | m_dossuns |
| State | m_state |
| EGG::Vector3f | m_initPos |
| u32 | m_stillTimer |
| bool | m_movingForward |
| u32 | m_forwardTimer |
| bool | m_movingSideways |
| Whether the Thwomps should move along the z-axis. | |
| u32 | m_flipSideways |
| Inverts which direction the thwomps move along the z-axis. | |
| u32 | m_sidewaysPhase |
| bool | m_facingBackwards |
| f32 | m_lastStompZ |
| Z-position of the last stomp. | |
| f32 | m_resetZVel |
| Speed required to move from m_lastStompZ to the home's Z in 36 frames. | |
| f32 | m_vel |
| f32 | m_initRotY |
| f32 | m_resetAngVel |
| Rotational speed of Thwomps after returning home. | |
| u32 | m_backwardsCounter |
| const f32 | m_forwardVel |
| Rail velocity. | |
| const u32 | m_stillDuration |
| How long Thwomps remain at their home for. | |
Static Private Attributes | |
| static constexpr u32 | HOME_RESET_FRAMES = 36 |
| How long Thwomps take to reset after returning to home. | |
| static constexpr f32 | DOSSUN_POS_OFFSET = 500.0f |
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 | |
| virtual const EGG::Vector3f & | collisionCenter () const |
| void | registerManagedObject () |
Protected Member Functions inherited from Field::ObjectBase | |
| 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 Protected Member Functions inherited from Field::ObjectBase | |
| 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) |
Protected Attributes inherited from Field::ObjectCollidable | |
| ObjectCollisionBase * | m_collision |
Protected Attributes inherited from Field::ObjectBase | |
| 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 |
|
strongprivate |
Definition at line 65 of file ObjectDossunTsuibiHolder.hh.
|
0x807614D0 |
Definition at line 8 of file ObjectDossunTsuibiHolder.cc.
|
overridevirtual0x8076198C |
Reimplemented from Field::ObjectBase.
Definition at line 43 of file ObjectDossunTsuibiHolder.cc.
|
private0x80762EEC |
Definition at line 121 of file ObjectDossunTsuibiHolder.cc.
|
private0x807624F0 |
Definition at line 78 of file ObjectDossunTsuibiHolder.cc.
|
private0x807634C0 |
Definition at line 183 of file ObjectDossunTsuibiHolder.cc.
|
private0x8076321C |
Definition at line 169 of file ObjectDossunTsuibiHolder.cc.
|
inlineoverridevirtual0x80764A1C |
Reimplemented from Field::ObjectBase.
Definition at line 21 of file ObjectDossunTsuibiHolder.hh.
|
private0x807625F0 |
Definition at line 137 of file ObjectDossunTsuibiHolder.cc.
|
private |
Definition at line 97 of file ObjectDossunTsuibiHolder.cc.
|
inlineprivate0x807623AC |
Definition at line 41 of file ObjectDossunTsuibiHolder.hh.
|
inlineprivate0x807630D0 |
Definition at line 54 of file ObjectDossunTsuibiHolder.hh.
|
private |
Definition at line 114 of file ObjectDossunTsuibiHolder.cc.
|
inlineoverridevirtual0x80764A24 |
Reimplemented from Field::ObjectCollidable.
Definition at line 32 of file ObjectDossunTsuibiHolder.hh.
|
overridevirtual0x80761744 |
Reimplemented from Field::ObjectBase.
Definition at line 22 of file ObjectDossunTsuibiHolder.cc.
|
inlinenodiscardoverridevirtual0x80764A30 |
Reimplemented from Field::ObjectBase.
Definition at line 24 of file ObjectDossunTsuibiHolder.hh.
|
inlineoverridevirtual0x80764A2C |
Reimplemented from Field::ObjectBase.
Definition at line 29 of file ObjectDossunTsuibiHolder.hh.
|
inline |
Definition at line 34 of file ObjectDossunTsuibiHolder.hh.
|
private0x80762054 |
Definition at line 206 of file ObjectDossunTsuibiHolder.cc.
|
private0x80762190 |
Definition at line 215 of file ObjectDossunTsuibiHolder.cc.
|
staticconstexprprivate |
Definition at line 98 of file ObjectDossunTsuibiHolder.hh.
|
staticconstexprprivate |
How long Thwomps take to reset after returning to home.
Definition at line 97 of file ObjectDossunTsuibiHolder.hh.
|
private |
Ticks up every frame the Thwomps are facing backwards, or are resetting after returning home.
Definition at line 89 of file ObjectDossunTsuibiHolder.hh.
|
private |
Definition at line 74 of file ObjectDossunTsuibiHolder.hh.
|
private |
Definition at line 83 of file ObjectDossunTsuibiHolder.hh.
|
private |
Inverts which direction the thwomps move along the z-axis.
Definition at line 81 of file ObjectDossunTsuibiHolder.hh.
|
private |
Definition at line 79 of file ObjectDossunTsuibiHolder.hh.
|
private |
Rail velocity.
Definition at line 93 of file ObjectDossunTsuibiHolder.hh.
|
private |
Definition at line 76 of file ObjectDossunTsuibiHolder.hh.
|
private |
Definition at line 87 of file ObjectDossunTsuibiHolder.hh.
|
private |
Z-position of the last stomp.
Definition at line 84 of file ObjectDossunTsuibiHolder.hh.
|
private |
Definition at line 78 of file ObjectDossunTsuibiHolder.hh.
|
private |
Whether the Thwomps should move along the z-axis.
Definition at line 80 of file ObjectDossunTsuibiHolder.hh.
|
private |
Rotational speed of Thwomps after returning home.
Definition at line 88 of file ObjectDossunTsuibiHolder.hh.
|
private |
Speed required to move from m_lastStompZ to the home's Z in 36 frames.
Definition at line 85 of file ObjectDossunTsuibiHolder.hh.
|
private |
Definition at line 82 of file ObjectDossunTsuibiHolder.hh.
|
private |
Definition at line 75 of file ObjectDossunTsuibiHolder.hh.
|
private |
How long Thwomps remain at their home for.
Definition at line 94 of file ObjectDossunTsuibiHolder.hh.
|
private |
Definition at line 77 of file ObjectDossunTsuibiHolder.hh.
|
private |
Definition at line 86 of file ObjectDossunTsuibiHolder.hh.