Definition at line 8 of file ObjectFlamePoleV.hh.
Public Member Functions | |
| ObjectFlamePoleV (const System::MapdataGeoObj ¶ms) | |
| void | init () override |
| void | calc () override |
| LoadFlags | loadFlags () const override |
| Returns a bitmask indicating which lifecycle hooks should be called for the object. | |
| const char * | getResources () const override |
| const char * | getKclName () const override |
| Public Member Functions inherited from Kinoko::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 Kinoko::Field::ObjectBase | |
| 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 void | loadGraphics () |
| virtual void | loadAnims () |
| virtual void | loadRail () |
| virtual const char * | getName () 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 |
| void | setPos (const EGG::Vector3f &pos) |
| void | addPos (const EGG::Vector3f &v) |
| void | subPos (const EGG::Vector3f &v) |
| void | setScale (const EGG::Vector3f &scale) |
| void | setScale (f32 scale) |
| void | setRot (const EGG::Vector3f &rot) |
| void | setRotNoFlag (const EGG::Vector3f &rot) |
| void | addRot (const EGG::Vector3f &v) |
| void | subRot (const EGG::Vector3f &v) |
| void | setTransform (const EGG::Matrix34f &mat) |
| const EGG::Vector3f & | pos () const |
| const EGG::Vector3f & | scale () const |
| const EGG::Vector3f & | rot () const |
| const EGG::Matrix34f & | transform () |
Private Member Functions | |
| void | enterBeforeErupting () |
| void | enterErupting () |
| void | enterErupted () |
| void | enterLowering () |
| void | enterDormant () |
| void | calcBeforeErupting () |
| void | calcErupting () |
| void | calcErupted () |
| void | calcLowering () |
| void | calcDormant () |
Static Private Member Functions | |
| static void | CalcEruptionKinematics (f32 t, f32 maxHeight, f32 &initVel, f32 &accel) |
| Computes initVel and accel such that it takes t frames and the peak is maxHeight. | |
Private Attributes | |
| const u32 | m_initDelay |
| const s32 | m_cycleDuration |
| const s32 | m_dormantFrames |
| const f32 | m_scaleFactor |
| const f32 | m_initPosY |
| f32 | m_maxOffsetY |
| Max height offset of the pole. | |
| f32 | m_eruptionDecel |
| Effectively the gravity coefficient when erupting. | |
| f32 | m_initEruptingVel |
| f32 | m_fallSpeed |
| Rate at which the pole lowers. | |
| const bool | m_isBig |
| f32 | m_currOffsetY |
| f32 | m_loweringStartOffsetY |
Static Private Attributes | |
| static constexpr f32 | ERUPT_FRAMES = 60.0f |
| Frames it takes to raise to max height. | |
| static constexpr f32 | BEFORE_ERUPT_FRAMES = 50.0f |
| Delay before pole starts erupting. | |
| static constexpr f32 | FALL_FRAMES = 180.0f |
| Frames it takes to lower into the ground. | |
| static constexpr std::array< StateManagerEntry, 5 > | STATE_ENTRIES |
Additional Inherited Members | |
| Public Types inherited from Kinoko::Field::ObjectBase | |
| enum class | eFlags { Position = 0 , Rotation = 1 , Matrix = 2 , Scale = 3 } |
| enum class | eLoadFlags { Calc = 0 , Draw = 1 , AlwaysRecalc = 2 } |
| Describes whether the object needs to be updated every frame. More... | |
| typedef EGG::TBitFlag< u16, eFlags > | Flags |
| typedef EGG::TBitFlag< u8, eLoadFlags > | LoadFlags |
| A bitfield of eLoadFlags that represents the update requirements of the object. | |
| Protected Member Functions inherited from Kinoko::Field::ObjectCollidable | |
| void | createCollision () override |
| virtual const EGG::Vector3f & | collisionCenter () const |
| void | registerManagedObject () |
| Protected Member Functions inherited from Kinoko::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) |
| Protected Member Functions inherited from Kinoko::Field::StateManager | |
| StateManager (void *obj, const std::span< const StateManagerEntry > &entries) | |
| void | calc () |
| Static Protected Member Functions inherited from Kinoko::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::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 Kinoko::Field::ObjectCollidable | |
| ObjectCollisionBase * | m_collision |
| Protected Attributes inherited from Kinoko::Field::ObjectBase | |
| Render::DrawMdl * | m_drawMdl |
| Abstract::g3d::ResFile * | m_resFile |
| ObjectId | m_id |
| RailInterpolator * | m_railInterpolator |
| BoxColUnit * | m_boxColUnit |
| const System::MapdataGeoObj * | m_mapObj |
| Protected Attributes inherited from Kinoko::Field::StateManager | |
| u16 | m_currentStateId |
| s32 | m_nextStateId |
| u32 | m_currentFrame |
| std::span< u16 > | m_entryIds |
| std::span< const StateManagerEntry > | m_entries |
| void * | m_obj |
|
0x806C3AA4 |
Definition at line 8 of file ObjectFlamePoleV.cc.
|
overridedefault0x806C47B4 |
|
overridevirtual0x806C3FCC |
Reimplemented from Kinoko::Field::ObjectBase.
Definition at line 50 of file ObjectFlamePoleV.cc.
|
inlineprivate0x806C4130 |
Definition at line 58 of file ObjectFlamePoleV.hh.
|
inlineprivate0x806C44C8 |
Definition at line 78 of file ObjectFlamePoleV.hh.
|
private0x806C42A0 |
Definition at line 62 of file ObjectFlamePoleV.cc.
|
inlineprivate0x806C41F0 |
Definition at line 65 of file ObjectFlamePoleV.hh.
|
inlinestaticprivate0x806B5A0C |
Computes initVel and accel such that it takes t frames and the peak is maxHeight.
Definition at line 86 of file ObjectFlamePoleV.hh.
|
private0x806C43E8 |
Definition at line 76 of file ObjectFlamePoleV.cc.
|
inlineprivate0x806C40E4 |
Definition at line 33 of file ObjectFlamePoleV.hh.
|
inlineprivate0x806C4478 |
Definition at line 53 of file ObjectFlamePoleV.hh.
|
inlineprivate0x806C4280 |
Definition at line 44 of file ObjectFlamePoleV.hh.
|
inlineprivate0x806C4178 |
Definition at line 38 of file ObjectFlamePoleV.hh.
|
inlineprivate0x806C43BC |
Definition at line 47 of file ObjectFlamePoleV.hh.
|
inlinenodiscardoverridevirtual0x806C4880 |
Reimplemented from Kinoko::Field::ObjectBase.
Definition at line 27 of file ObjectFlamePoleV.hh.
|
inlinenodiscardoverridevirtual0x806C488C |
Reimplemented from Kinoko::Field::ObjectBase.
Definition at line 22 of file ObjectFlamePoleV.hh.
|
overridevirtual0x806C3E90 |
Reimplemented from Kinoko::Field::ObjectBase.
Definition at line 29 of file ObjectFlamePoleV.cc.
|
inlinenodiscardoverridevirtual0x806C4898 |
Returns a bitmask indicating which lifecycle hooks should be called for the object.
In Kinoko, the only effective behavior of this bitmask is to determine whether calc() should be called. The other bits are unused.
Reimplemented from Kinoko::Field::ObjectBase.
Definition at line 17 of file ObjectFlamePoleV.hh.
|
staticconstexprprivate |
Delay before pole starts erupting.
Definition at line 106 of file ObjectFlamePoleV.hh.
|
staticconstexprprivate |
Frames it takes to raise to max height.
Definition at line 105 of file ObjectFlamePoleV.hh.
|
staticconstexprprivate |
Frames it takes to lower into the ground.
Definition at line 107 of file ObjectFlamePoleV.hh.
|
private |
Definition at line 102 of file ObjectFlamePoleV.hh.
|
private |
Definition at line 93 of file ObjectFlamePoleV.hh.
|
private |
Definition at line 94 of file ObjectFlamePoleV.hh.
|
private |
Effectively the gravity coefficient when erupting.
Definition at line 98 of file ObjectFlamePoleV.hh.
|
private |
Rate at which the pole lowers.
Definition at line 100 of file ObjectFlamePoleV.hh.
|
private |
Definition at line 92 of file ObjectFlamePoleV.hh.
|
private |
Definition at line 99 of file ObjectFlamePoleV.hh.
|
private |
Definition at line 96 of file ObjectFlamePoleV.hh.
|
private |
Definition at line 101 of file ObjectFlamePoleV.hh.
|
private |
Definition at line 103 of file ObjectFlamePoleV.hh.
|
private |
Max height offset of the pole.
Definition at line 97 of file ObjectFlamePoleV.hh.
|
private |
Definition at line 95 of file ObjectFlamePoleV.hh.
|
staticconstexprprivate |
Definition at line 109 of file ObjectFlamePoleV.hh.