Definition at line 19 of file ObjectFireSnake.hh.
Public Member Functions | |
| ObjectFireSnake (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. | |
| void | initProjectile (const EGG::Vector3f &pos) override |
| Callback function called by the managing ObjectSniper. | |
| void | onLaunch () override |
| Callback function use by the ObjectSniper that wants to throw this projectile. | |
| void | enterDespawned () |
| void | enterFalling () |
| void | enterHighBounce () |
| void | enterRest () |
| void | enterBounce () |
| void | enterDespawning () |
| void | calcDespawned () |
| void | calcFalling () |
| void | calcHighBounce () |
| void | calcRest () |
| void | calcBounce () |
| void | calcDespawning () |
| Public Member Functions inherited from Kinoko::Field::ObjectProjectile | |
| ObjectProjectile (const System::MapdataGeoObj ¶ms) | |
| s16 | idx () const |
| 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 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 |
| 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 () |
Protected Member Functions | |
| void | calcChildren () |
| 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 () |
Protected Attributes | |
| EGG::Vector3f | m_sunPos |
| EGG::Vector3f | m_initialPos |
| EGG::Vector3f | m_initRot |
| EGG::Vector3f | m_visualPos |
| EGG::Vector3f | m_bounceDir |
| u16 | m_age |
| How long the firesnake has been spawned. | |
| u16 | m_delayFrame |
| Protected Attributes inherited from Kinoko::Field::ObjectProjectile | |
| const s16 | m_idx |
| 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 |
Private Member Functions | |
| void | calcBounce (f32 initialVel) |
| Helper function since high and regular bounce functions only vary by initial velocity. | |
| bool | isCollisionEnabled () const |
Private Attributes | |
| std::array< ObjectFireSnakeKid *, 2 > | m_kids |
| const s16 | m_maxAge |
| Number of frames until the snake will disappear. | |
| EGG::Vector3f | m_xzSunDist |
| EGG::Vector3f | m_fallAxis |
| f32 | m_xzSpeed |
| u16 | m_fallDuration |
| How long the firesnake falls from the sun. | |
| std::array< EGG::Matrix34f, 21 > | m_prevTransforms |
| The last 21 transformation matrices. | |
Static Private Attributes | |
| static constexpr std::array< StateManagerEntry, 6 > | STATE_ENTRIES |
| static constexpr f32 | GRAVITY = 3.0f |
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. | |
| 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) |
|
0x806C0F30 |
Definition at line 18 of file ObjectFireSnake.cc.
|
overridedefault0x806C1284 |
|
overridevirtual0x806C14E4 |
Reimplemented from Kinoko::Field::ObjectBase.
Definition at line 52 of file ObjectFireSnake.cc.
|
0x806C2254 |
Definition at line 188 of file ObjectFireSnake.cc.
|
private |
Helper function since high and regular bounce functions only vary by initial velocity.
Definition at line 229 of file ObjectFireSnake.cc.
|
protected0x806C2530 |
Definition at line 195 of file ObjectFireSnake.cc.
|
inline |
Definition at line 42 of file ObjectFireSnake.hh.
|
inline |
Definition at line 47 of file ObjectFireSnake.hh.
|
0x806C1A88 |
Definition at line 136 of file ObjectFireSnake.cc.
|
0x806C1E90 |
Definition at line 167 of file ObjectFireSnake.cc.
|
0x806C2138 |
Definition at line 174 of file ObjectFireSnake.cc.
|
inline |
Definition at line 39 of file ObjectFireSnake.hh.
|
0x806C1930 |
Definition at line 87 of file ObjectFireSnake.cc.
|
inline |
Definition at line 40 of file ObjectFireSnake.hh.
|
0x806C19E8 |
Definition at line 97 of file ObjectFireSnake.cc.
|
0x806C1DCC |
Definition at line 104 of file ObjectFireSnake.cc.
|
0x806C2000 |
Definition at line 115 of file ObjectFireSnake.cc.
|
overridevirtual0x806C13B0 |
Reimplemented from Kinoko::Field::ObjectBase.
Definition at line 40 of file ObjectFireSnake.cc.
|
overridevirtual0x806C23C8 |
Callback function called by the managing ObjectSniper.
Implements Kinoko::Field::ObjectProjectile.
Definition at line 65 of file ObjectFireSnake.cc.
|
inlineprivate |
Definition at line 63 of file ObjectFireSnake.hh.
|
inlinenodiscardoverridevirtual0x806C2A5C |
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 28 of file ObjectFireSnake.hh.
|
overridevirtual0x806C29FC |
Callback function use by the ObjectSniper that wants to throw this projectile.
Implements Kinoko::Field::ObjectProjectile.
Definition at line 82 of file ObjectFireSnake.cc.
|
staticconstexprprivate |
Definition at line 90 of file ObjectFireSnake.hh.
|
protected |
How long the firesnake has been spawned.
Definition at line 57 of file ObjectFireSnake.hh.
|
protected |
Definition at line 56 of file ObjectFireSnake.hh.
|
protected |
Definition at line 58 of file ObjectFireSnake.hh.
|
private |
Definition at line 70 of file ObjectFireSnake.hh.
|
private |
How long the firesnake falls from the sun.
Definition at line 72 of file ObjectFireSnake.hh.
|
protected |
Definition at line 53 of file ObjectFireSnake.hh.
|
protected |
Definition at line 54 of file ObjectFireSnake.hh.
|
private |
Definition at line 67 of file ObjectFireSnake.hh.
|
private |
Number of frames until the snake will disappear.
Definition at line 68 of file ObjectFireSnake.hh.
|
private |
The last 21 transformation matrices.
Definition at line 73 of file ObjectFireSnake.hh.
|
protected |
Definition at line 52 of file ObjectFireSnake.hh.
|
protected |
Definition at line 55 of file ObjectFireSnake.hh.
|
private |
Definition at line 71 of file ObjectFireSnake.hh.
|
private |
Definition at line 69 of file ObjectFireSnake.hh.
|
staticconstexprprivate |
Definition at line 75 of file ObjectFireSnake.hh.