#include <ObjectVolcanoRock.hh>
The oscillating platforms before and after the indoor section on Grumble Volcano.
Definition at line 10 of file ObjectVolcanoRock.hh.
Public Member Functions | |
| ObjectVolcanoRock (const System::MapdataGeoObj ¶ms) | |
| void | calc () override |
| LoadFlags | loadFlags () const override |
| Returns a bitmask indicating which lifecycle hooks should be called for the object. | |
| const char * | getKclName () const override |
| const EGG::Matrix34f & | getUpdatedMatrix (u32 timeOffset) override |
| f32 | colRadiusAdditionalLength () const override |
| Public Member Functions inherited from Kinoko::Field::ObjectKCL | |
| ObjectKCL (const System::MapdataGeoObj ¶ms) | |
| void | createCollision () override |
| void | calcCollisionTransform () override |
| const EGG::Vector3f & | getPosition () const override |
| f32 | getCollisionRadius () const override |
| void | initCollision () override |
| bool | checkPointPartial (const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfoPartial *info, KCLTypeMask *maskOut) override |
| bool | checkPointPartialPush (const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfoPartial *info, KCLTypeMask *maskOut) override |
| bool | checkPointFull (const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfo *info, KCLTypeMask *maskOut) override |
| bool | checkPointFullPush (const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfo *info, KCLTypeMask *maskOut) override |
| bool | checkSpherePartial (f32 radius, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfoPartial *info, KCLTypeMask *maskOut, u32 timeOffset) override |
| bool | checkSpherePartialPush (f32 radius, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfoPartial *info, KCLTypeMask *maskOut, u32 timeOffset) override |
| bool | checkSphereFull (f32 radius, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfo *info, KCLTypeMask *maskOut, u32 timeOffset) override |
| bool | checkSphereFullPush (f32 radius, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfo *info, KCLTypeMask *maskOut, u32 timeOffset) override |
| void | narrScLocal (f32 radius, const EGG::Vector3f &pos, KCLTypeMask mask, u32 timeOffset) override |
| bool | checkPointCachedPartial (const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfoPartial *info, KCLTypeMask *maskOut) override |
| bool | checkPointCachedPartialPush (const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfoPartial *info, KCLTypeMask *maskOut) override |
| bool | checkPointCachedFull (const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfo *info, KCLTypeMask *maskOut) override |
| bool | checkPointCachedFullPush (const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfo *info, KCLTypeMask *maskOut) override |
| bool | checkSphereCachedPartial (f32 radius, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfoPartial *info, KCLTypeMask *maskOut, u32 timeOffset) override |
| bool | checkSphereCachedPartialPush (f32 radius, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfoPartial *info, KCLTypeMask *maskOut, u32 timeOffset) override |
| bool | checkSphereCachedFull (f32 radius, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfo *info, KCLTypeMask *maskOut, u32 timeOffset) override |
| bool | checkSphereCachedFullPush (f32 radius, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfo *info, KCLTypeMask *maskOut, u32 timeOffset) override |
| virtual void | update (u32 timeOffset) |
| virtual void | calcScale (u32 timeOffset) |
| virtual void | setMovingObjVel (const EGG::Vector3f &v) |
| virtual f32 | getScaleY (u32) const |
| virtual bool | shouldCheckColNoPush () const |
| virtual bool | shouldCheckColPush () const |
| virtual bool | checkCollision (f32 radius, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfo *info, KCLTypeMask *maskOut, u32 timeOffset) |
| virtual bool | checkCollisionCached (f32 radius, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfo *info, KCLTypeMask *maskOut, u32 timeOffset) |
| Public Member Functions inherited from Kinoko::Field::ObjectDrivable | |
| ObjectDrivable (const System::MapdataGeoObj ¶ms) | |
| void | load () override |
| virtual void | loadAABB (f32 radius) |
| 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 | init () |
| virtual void | calcModel () |
| virtual const char * | getResources () const |
| 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 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 | |
| EGG::Vector3f | calcPos (u32 frame) |
Private Attributes | |
| const EGG::Vector3f | m_initialPos |
| const EGG::Vector3f | m_initialRot |
| const s16 | m_phaseShift |
| Additional framecount applied when calculating z-axis position. | |
| const s16 | m_zPeriod |
| Framecount of the platform's movement period along z-axis. | |
| const s16 | m_yPeriod |
| Framecount of the platform's movement period along y-axis. | |
| const f32 | m_zAmplitude |
| Scalar applied to computed z-axis position. | |
| const f32 | m_yAmplitude |
| Scalar applied to computed y-axis position. | |
| const f32 | m_zAngVel |
| 2pi / m_zPeriod | |
| const f32 | m_yAngVel |
| 2pi / m_yPeriod | |
| const bool | m_variant |
| Differentiates which KCL is used. | |
| EGG::Matrix34f | m_rtMat |
| Rotation and translation matrix. | |
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::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::ObjectKCL | |
| ObjColMgr * | m_objColMgr |
| EGG::Vector3f | m_kclMidpoint |
| f32 | m_bboxHalfSideLength |
| s32 | m_lastMtxUpdateFrame |
| s32 | m_lastScaleUpdateFrame |
| 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 |
|
0x8081A198 |
Definition at line 6 of file ObjectVolcanoRock.cc.
|
overridedefault0x8081A690 |
|
overridevirtual0x8081A370 |
Reimplemented from Kinoko::Field::ObjectBase.
Definition at line 22 of file ObjectVolcanoRock.cc.
|
private0x8081A414 |
Definition at line 29 of file ObjectVolcanoRock.cc.
|
inlinenodiscardoverridevirtual0x8081A5D0 |
Reimplemented from Kinoko::Field::ObjectKCL.
Definition at line 35 of file ObjectVolcanoRock.hh.
|
inlinenodiscardoverridevirtual0x8081A668 |
Reimplemented from Kinoko::Field::ObjectBase.
Definition at line 23 of file ObjectVolcanoRock.hh.
|
inlinenodiscardoverridevirtual0x8081A60C |
Reimplemented from Kinoko::Field::ObjectKCL.
Definition at line 28 of file ObjectVolcanoRock.hh.
|
inlinenodiscardoverridevirtual0x8081A688 |
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 18 of file ObjectVolcanoRock.hh.
|
private |
Definition at line 42 of file ObjectVolcanoRock.hh.
|
private |
Definition at line 43 of file ObjectVolcanoRock.hh.
|
private |
Additional framecount applied when calculating z-axis position.
Definition at line 44 of file ObjectVolcanoRock.hh.
|
private |
Rotation and translation matrix.
Definition at line 52 of file ObjectVolcanoRock.hh.
|
private |
Differentiates which KCL is used.
Definition at line 51 of file ObjectVolcanoRock.hh.
|
private |
Scalar applied to computed y-axis position.
Definition at line 48 of file ObjectVolcanoRock.hh.
|
private |
2pi / m_yPeriod
Definition at line 50 of file ObjectVolcanoRock.hh.
|
private |
Framecount of the platform's movement period along y-axis.
Definition at line 46 of file ObjectVolcanoRock.hh.
|
private |
Scalar applied to computed z-axis position.
Definition at line 47 of file ObjectVolcanoRock.hh.
|
private |
2pi / m_zPeriod
Definition at line 49 of file ObjectVolcanoRock.hh.
|
private |
Framecount of the platform's movement period along z-axis.
Definition at line 45 of file ObjectVolcanoRock.hh.