#include <ObjectChoropu.hh>
Represents the MMM and rPG monty moles.
Each mole has an associated "holl" [sic]. Moles which move around (MMM) also have an associated "ground" (the dirt trail).
Definition at line 19 of file ObjectChoropu.hh.
Public Member Functions | |
| ObjectChoropu (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. | |
| Kart::Reaction | onCollision (Kart::KartObject *kartObj, Kart::Reaction reactionOnKart, Kart::Reaction reactionOnObj, EGG::Vector3f &hitDepth) 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 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 () |
Private Member Functions | |
| void | enterStateStub () |
| void | enterDigging () |
| void | enterPeeking () |
| void | enterJumping () |
| void | calcStateStub () |
| void | calcDigging () |
| void | calcPeeking () |
| void | calcJumping () |
| void | calcGround () |
| void | calcGroundObjs () |
| EGG::Matrix34f | calcInterpolatedPose (f32 t) const |
Private Attributes | |
| owning_span< ObjectChoropuGround * > | m_groundObjs |
| ObjectChoropuHoll * | m_objHoll |
| s16 | m_startFrameOffset |
| u16 | m_idleDuration |
| f32 | m_groundHeight |
| bool | m_isStationary |
| rPG moles don't move while MMM moles do | |
| EGG::Matrix34f | m_transMat |
| EGG::Vector3f | m_railPos |
| f32 | m_groundLength |
Static Private Attributes | |
| static constexpr f32 | RADIUS = 300.0f |
| static constexpr f32 | MAX_GROUND_LEN = 3000.0f |
| Max length of the dirt trail. | |
| 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 |
|
0x806B96A0 |
Definition at line 13 of file ObjectChoropu.cc.
|
overridedefault0x806B9B8C |
|
overridevirtual0x806B9E60 |
Reimplemented from Kinoko::Field::ObjectBase.
Definition at line 84 of file ObjectChoropu.cc.
|
private0x806BA7FC |
Definition at line 166 of file ObjectChoropu.cc.
|
private0x806BBA7C |
Definition at line 243 of file ObjectChoropu.cc.
|
private0x806BB840 |
Definition at line 253 of file ObjectChoropu.cc.
|
nodiscardprivate0x806B46F8 |
Definition at line 282 of file ObjectChoropu.cc.
|
private0x806BB5F0 |
Definition at line 220 of file ObjectChoropu.cc.
|
private0x806BB144 |
Definition at line 200 of file ObjectChoropu.cc.
|
private |
Definition at line 163 of file ObjectChoropu.cc.
|
private0x806BA6D8 |
Definition at line 118 of file ObjectChoropu.cc.
|
private0x806BB39C |
Definition at line 156 of file ObjectChoropu.cc.
|
private0x806BABEC |
Definition at line 133 of file ObjectChoropu.cc.
|
private |
Definition at line 115 of file ObjectChoropu.cc.
|
overridevirtual0x806B9BF8 |
Reimplemented from Kinoko::Field::ObjectBase.
Definition at line 55 of file ObjectChoropu.cc.
|
inlinenodiscardoverridevirtual0x806BBE34 |
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 ObjectChoropu.hh.
|
overridevirtual0x806BA144 |
Reimplemented from Kinoko::Field::ObjectCollidable.
Definition at line 109 of file ObjectChoropu.cc.
|
private |
Definition at line 53 of file ObjectChoropu.hh.
|
private |
Definition at line 57 of file ObjectChoropu.hh.
|
private |
Definition at line 49 of file ObjectChoropu.hh.
|
private |
Definition at line 52 of file ObjectChoropu.hh.
|
private |
rPG moles don't move while MMM moles do
Definition at line 54 of file ObjectChoropu.hh.
|
private |
Definition at line 50 of file ObjectChoropu.hh.
|
private |
Definition at line 56 of file ObjectChoropu.hh.
|
private |
Definition at line 51 of file ObjectChoropu.hh.
|
private |
Definition at line 55 of file ObjectChoropu.hh.
|
staticconstexprprivate |
Max length of the dirt trail.
Definition at line 60 of file ObjectChoropu.hh.
|
staticconstexprprivate |
Definition at line 59 of file ObjectChoropu.hh.
|
staticconstexprprivate |
Definition at line 62 of file ObjectChoropu.hh.