#include <ObjectBasabasa.hh>
Can be thought of as the bat "spawner". It's the class that manages an array of bats.
Spawns bats in small groups, whose size is determined by m_batsPerGroup. After that many bats have been spawned, it resets the m_cycleTimer.
Definition at line 71 of file ObjectBasabasa.hh.
Public Member Functions | |
| ObjectBasabasa (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 | createCollision () override |
| void | loadRail () 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 const char * | getResources () const |
| virtual void | loadGraphics () |
| virtual void | loadAnims () |
| 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 () |
Static Public Member Functions | |
| static f32 | initialXRange () |
| static f32 | initialYRange () |
Private Attributes | |
| owning_span< ObjectBasabasaDummy * > | m_bats |
| The array of individual bats. | |
| const u32 | m_initialTimer |
| The m_cycleTimer starts and resets to this value. | |
| const u32 | m_batsPerGroup |
| Number of bats that will spawn before resetting the m_cycleTimer. | |
| const u32 | m_startFrame |
| Initial delay before the spawner will start calculating. | |
| const u32 | m_batSpacing |
| How many frames in between bat spawns. | |
| u32 | m_cycleTimer |
| Used to determine when to spawn next bat. | |
| u32 | m_batsActive |
| The number of bats currently spawned. | |
Static Private Attributes | |
| static f32 | s_initialXRange |
| static f32 | s_initialYRange |
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) |
| 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 |
|
0x806B70D0 |
Definition at line 69 of file ObjectBasabasa.cc.
|
overridedefault0x806B72F4 |
|
overridevirtual0x806B74C4 |
Reimplemented from Kinoko::Field::ObjectBase.
Definition at line 108 of file ObjectBasabasa.cc.
|
inlineoverridevirtual0x806B761C |
Implements Kinoko::Field::ObjectBase.
Definition at line 87 of file ObjectBasabasa.hh.
|
overridevirtual0x806B7334 |
Reimplemented from Kinoko::Field::ObjectBase.
Definition at line 95 of file ObjectBasabasa.cc.
|
inlinestaticnodiscard |
Definition at line 92 of file ObjectBasabasa.hh.
|
inlinestaticnodiscard |
Definition at line 96 of file ObjectBasabasa.hh.
|
inlinenodiscardoverridevirtual0x806B7628 |
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 82 of file ObjectBasabasa.hh.
|
inlineoverridevirtual0x806B7620 |
Reimplemented from Kinoko::Field::ObjectBase.
Definition at line 90 of file ObjectBasabasa.hh.
|
private |
The array of individual bats.
Definition at line 101 of file ObjectBasabasa.hh.
|
private |
The number of bats currently spawned.
Definition at line 107 of file ObjectBasabasa.hh.
|
private |
How many frames in between bat spawns.
Definition at line 105 of file ObjectBasabasa.hh.
|
private |
Number of bats that will spawn before resetting the m_cycleTimer.
Definition at line 103 of file ObjectBasabasa.hh.
|
private |
Used to determine when to spawn next bat.
Definition at line 106 of file ObjectBasabasa.hh.
|
private |
The m_cycleTimer starts and resets to this value.
Definition at line 102 of file ObjectBasabasa.hh.
|
private |
Initial delay before the spawner will start calculating.
Definition at line 104 of file ObjectBasabasa.hh.
|
staticprivate |
Definition at line 109 of file ObjectBasabasa.hh.
|
staticprivate |
Definition at line 110 of file ObjectBasabasa.hh.