Definition at line 28 of file ObjectFireSnake.hh.
Public Member Functions | |
ObjectFireSnake (const System::MapdataGeoObj ¶ms) | |
void | init () override |
void | calc () override |
u32 | loadFlags () const override |
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 () |
![]() | |
ObjectProjectile (const System::MapdataGeoObj ¶ms) | |
s16 | idx () const |
![]() | |
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 |
![]() | |
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 |
![]() | |
StateManager (ObjectFireSnake *obj) | |
Defined outside of the class declaration so that typename T will be a complete type. | |
Private Member Functions | |
void | calcChildren () |
void | calcBounce (f32 initialVel) |
Helper function since high and regular bounce functions only vary by initial velocity. | |
bool | isCollisionEnabled () const |
Private Attributes | |
friend | StateManager< ObjectFireSnake > |
std::array< ObjectFireSnakeKid *, 2 > | m_kids |
const s16 | m_maxAge |
Number of frames until the snake will disappear. | |
EGG::Vector3f | m_sunPos |
const EGG::Vector3f | m_initialPos |
EGG::Vector3f | m_xzSunDist |
EGG::Vector3f | m_fallAxis |
f32 | m_xzSpeed |
u16 | m_fallDuration |
How long the firesnake falls from the sun. | |
EGG::Vector3f | m_initRot |
std::array< EGG::Matrix34f, 21 > | m_prevTransforms |
The last 21 transformation matrices. | |
EGG::Vector3f | m_visualPos |
EGG::Vector3f | m_bounceDir |
u16 | m_age |
How long the firesnake has been spawned. | |
Static Private Attributes | |
static constexpr std::array< StateManagerEntry< ObjectFireSnake >, 6 > | STATE_ENTRIES |
static constexpr f32 | GRAVITY = 3.0f |
Additional Inherited Members | |
![]() | |
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 | 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 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) |
![]() | |
const s16 | m_idx |
![]() | |
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< ObjectFireSnake > > | m_entries |
ObjectFireSnake * | m_obj |
|
0x806C0F30 |
Definition at line 18 of file ObjectFireSnake.cc.
|
overridevirtual0x806C14E4 |
Reimplemented from Field::ObjectBase.
Definition at line 52 of file ObjectFireSnake.cc.
|
0x806C2254 |
Definition at line 192 of file ObjectFireSnake.cc.
|
private |
Helper function since high and regular bounce functions only vary by initial velocity.
Definition at line 233 of file ObjectFireSnake.cc.
|
private0x806C2530 |
Definition at line 199 of file ObjectFireSnake.cc.
|
inline |
Definition at line 53 of file ObjectFireSnake.hh.
|
inline |
Definition at line 58 of file ObjectFireSnake.hh.
|
0x806C1A88 |
Definition at line 138 of file ObjectFireSnake.cc.
|
0x806C1E90 |
Definition at line 171 of file ObjectFireSnake.cc.
|
0x806C2138 |
Definition at line 178 of file ObjectFireSnake.cc.
|
inline |
Definition at line 50 of file ObjectFireSnake.hh.
|
0x806C1930 |
Definition at line 87 of file ObjectFireSnake.cc.
|
inline |
Definition at line 51 of file ObjectFireSnake.hh.
|
0x806C19E8 |
Definition at line 98 of file ObjectFireSnake.cc.
|
0x806C1DCC |
Definition at line 105 of file ObjectFireSnake.cc.
|
0x806C2000 |
Definition at line 117 of file ObjectFireSnake.cc.
|
overridevirtual0x806C13B0 |
Reimplemented from Field::ObjectBase.
Definition at line 40 of file ObjectFireSnake.cc.
|
overridevirtual0x806C23C8 |
Callback function called by the managing ObjectSniper.
Implements Field::ObjectProjectile.
Definition at line 65 of file ObjectFireSnake.cc.
|
inlineprivate |
Definition at line 64 of file ObjectFireSnake.hh.
|
inlinenodiscardoverridevirtual0x806C2A5C |
Reimplemented from Field::ObjectBase.
Definition at line 39 of file ObjectFireSnake.hh.
|
overridevirtual0x806C29FC |
Callback function use by the ObjectSniper that wants to throw this projectile.
Implements Field::ObjectProjectile.
Definition at line 82 of file ObjectFireSnake.cc.
|
staticconstexprprivate |
Definition at line 91 of file ObjectFireSnake.hh.
|
private |
How long the firesnake has been spawned.
Definition at line 80 of file ObjectFireSnake.hh.
|
private |
Definition at line 79 of file ObjectFireSnake.hh.
|
private |
Definition at line 73 of file ObjectFireSnake.hh.
|
private |
How long the firesnake falls from the sun.
Definition at line 75 of file ObjectFireSnake.hh.
|
private |
Definition at line 71 of file ObjectFireSnake.hh.
|
private |
Definition at line 76 of file ObjectFireSnake.hh.
|
private |
Definition at line 68 of file ObjectFireSnake.hh.
|
private |
Number of frames until the snake will disappear.
Definition at line 69 of file ObjectFireSnake.hh.
|
private |
The last 21 transformation matrices.
Definition at line 77 of file ObjectFireSnake.hh.
|
private |
Definition at line 70 of file ObjectFireSnake.hh.
|
private |
Definition at line 78 of file ObjectFireSnake.hh.
|
private |
Definition at line 74 of file ObjectFireSnake.hh.
|
private |
Definition at line 72 of file ObjectFireSnake.hh.
|
staticconstexprprivate |
Definition at line 82 of file ObjectFireSnake.hh.
|
private |
Definition at line 29 of file ObjectFireSnake.hh.