Definition at line 12 of file ObjectCarTGE.hh.
Public Types | |
| enum class | CarType { Normal = 0 , Truck = 1 , BombCar = 2 } |
| 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. | |
Public Member Functions | |
| ObjectCarTGE (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 |
| void | createCollision () override |
| void | calcCollisionTransform () override |
| f32 | getCollisionRadius () const override |
| Kart::Reaction | onCollision (Kart::KartObject *kartObj, Kart::Reaction reactionOnKart, Kart::Reaction reactionOnObj, EGG::Vector3f &hitDepth) override |
| bool | checkCollision (ObjectCollisionBase *lhs, EGG::Vector3f &dist) override |
| const EGG::Vector3f & | collisionCenter () const override |
| void | setHighwayManager (const ObjectHighwayManager *highwayMgr) |
| void | reset () |
| bool | squashed () 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 void | onWallCollision (Kart::KartObject *, const EGG::Vector3f &) |
| virtual void | onObjectCollision (Kart::KartObject *) |
| 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 | enterStateStub () |
| void | calcStateStub () |
| void | calcState1 () |
| The state when cars are speeding up. | |
| void | calcState2 () |
| The state when cars are slowing down. | |
| void | calcPos () |
Private Attributes | |
| const ObjectHighwayManager * | m_highwayMgr |
| ObjectCollisionBase * | m_auxCollision |
| f32 | m_highwayVel |
| Speed while on the highway. | |
| f32 | m_localVel |
| Speed while off the highway. | |
| char | m_carName [32] |
| char | m_mdlName [32] |
| CarType | m_carType |
| Car, truck, or bomb car. | |
| ObjectId | m_dummyId |
| EGG::Vector3f | m_scaledTangentDir |
| f32 | m_currSpeed |
| EGG::Vector3f | m_tangent |
| bool | m_squashed |
| bool | m_hasAuxCollision |
| f32 | m_hitAngle |
Static Private Attributes | |
| static constexpr f32 | TOLL_BOOTH_ACCEL = 200.0f |
| static constexpr std::array< StateManagerEntry, 3 > | STATE_ENTRIES |
Additional Inherited Members | |
| Protected Member Functions inherited from Kinoko::Field::ObjectCollidable | |
| void | createCollision () override |
| 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 |
|
strong |
| Enumerator | |
|---|---|
| BombCar | Unused in time trials. |
Definition at line 14 of file ObjectCarTGE.hh.
|
0x806D5EE4 |
Definition at line 16 of file ObjectCarTGE.cc.
|
override0x806D691C |
Definition at line 100 of file ObjectCarTGE.cc.
|
overridevirtual0x806D6ECC |
Reimplemented from Kinoko::Field::ObjectBase.
Definition at line 142 of file ObjectCarTGE.cc.
|
overridevirtual0x806D7BF8 |
Implements Kinoko::Field::ObjectBase.
Definition at line 181 of file ObjectCarTGE.cc.
|
private0x806D9000 |
Definition at line 313 of file ObjectCarTGE.cc.
|
private0x806D7D70 |
The state when cars are speeding up.
On Moonview Highway, the speed cap m_highwayVel is 70, which means this state is only executed for 1 frame when cars get on the highway.
Definition at line 284 of file ObjectCarTGE.cc.
|
private0x806D7E0C |
The state when cars are slowing down.
On Moonview Highway, the speed floor m_localVel is 40, which means this state is only executed for 1 frame when cars get off the highway.
Definition at line 300 of file ObjectCarTGE.cc.
|
private |
Definition at line 278 of file ObjectCarTGE.cc.
|
overridevirtual0x806DA660 |
Reimplemented from Kinoko::Field::ObjectCollidable.
Definition at line 248 of file ObjectCarTGE.cc.
|
nodiscardoverridevirtual0x806D7CF8 |
Reimplemented from Kinoko::Field::ObjectCollidable.
Definition at line 261 of file ObjectCarTGE.cc.
|
overridevirtual0x806D7AF8 |
Implements Kinoko::Field::ObjectBase.
Definition at line 162 of file ObjectCarTGE.cc.
|
private |
Definition at line 276 of file ObjectCarTGE.cc.
|
nodiscardoverridevirtual0x806D69C0 |
Reimplemented from Kinoko::Field::ObjectBase.
Definition at line 199 of file ObjectCarTGE.cc.
|
inlinenodiscardoverridevirtual0x806DA7A4 |
Reimplemented from Kinoko::Field::ObjectBase.
Definition at line 37 of file ObjectCarTGE.hh.
|
inlinenodiscardoverridevirtual0x806D68B0 |
Reimplemented from Kinoko::Field::ObjectBase.
Definition at line 32 of file ObjectCarTGE.hh.
|
overridevirtual0x806D6B14 |
Reimplemented from Kinoko::Field::ObjectBase.
Definition at line 105 of file ObjectCarTGE.cc.
|
inlinenodiscardoverridevirtual0x806DA7AC |
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 27 of file ObjectCarTGE.hh.
|
overridevirtual0x806D7328 |
Reimplemented from Kinoko::Field::ObjectCollidable.
Definition at line 208 of file ObjectCarTGE.cc.
|
inline0x806D9A04 |
Definition at line 54 of file ObjectCarTGE.hh.
|
inline |
Definition at line 49 of file ObjectCarTGE.hh.
|
inlinenodiscard |
Definition at line 58 of file ObjectCarTGE.hh.
|
private |
Definition at line 73 of file ObjectCarTGE.hh.
|
private |
Definition at line 76 of file ObjectCarTGE.hh.
|
private |
Car, truck, or bomb car.
Definition at line 78 of file ObjectCarTGE.hh.
|
private |
Definition at line 81 of file ObjectCarTGE.hh.
|
private |
Definition at line 79 of file ObjectCarTGE.hh.
|
private |
Definition at line 84 of file ObjectCarTGE.hh.
|
private |
Definition at line 72 of file ObjectCarTGE.hh.
|
private |
Speed while on the highway.
Definition at line 74 of file ObjectCarTGE.hh.
|
private |
Definition at line 85 of file ObjectCarTGE.hh.
|
private |
Speed while off the highway.
Definition at line 75 of file ObjectCarTGE.hh.
|
private |
Definition at line 77 of file ObjectCarTGE.hh.
|
private |
Definition at line 80 of file ObjectCarTGE.hh.
|
private |
Definition at line 83 of file ObjectCarTGE.hh.
|
private |
Definition at line 82 of file ObjectCarTGE.hh.
|
staticconstexprprivate |
Definition at line 87 of file ObjectCarTGE.hh.
|
staticconstexprprivate |
Definition at line 63 of file ObjectCarTGE.hh.