Definition at line 7 of file ObjectTuribashi.hh.
Public Member Functions | |
ObjectTuribashi (const System::MapdataGeoObj ¶ms) | |
void | init () override |
void | calc () override |
u32 | loadFlags () const override |
void | createCollision () override |
void | calcCollisionTransform () override |
f32 | getCollisionRadius () const override |
bool | checkPointPartial (const EGG::Vector3f &v0, const EGG::Vector3f &v1, KCLTypeMask flags, CollisionInfoPartial *pInfo, KCLTypeMask *pFlagsOut) override |
bool | checkPointPartialPush (const EGG::Vector3f &v0, const EGG::Vector3f &v1, KCLTypeMask flags, CollisionInfoPartial *pInfo, KCLTypeMask *pFlagsOut) override |
bool | checkPointFull (const EGG::Vector3f &v0, const EGG::Vector3f &v1, KCLTypeMask flags, CollisionInfo *pInfo, KCLTypeMask *pFlagsOut) override |
bool | checkPointFullPush (const EGG::Vector3f &v0, const EGG::Vector3f &v1, KCLTypeMask flags, CollisionInfo *pInfo, KCLTypeMask *pFlagsOut) override |
bool | checkSpherePartial (f32 radius, const EGG::Vector3f &v0, const EGG::Vector3f &v1, KCLTypeMask flags, CollisionInfoPartial *pInfo, KCLTypeMask *pFlagsOut, u32 timeOffset) override |
bool | checkSpherePartialPush (f32 radius, const EGG::Vector3f &v0, const EGG::Vector3f &v1, KCLTypeMask flags, CollisionInfoPartial *pInfo, KCLTypeMask *pFlagsOut, u32 timeOffset) override |
bool | checkSphereFull (f32 radius, const EGG::Vector3f &v0, const EGG::Vector3f &v1, KCLTypeMask flags, CollisionInfo *pInfo, KCLTypeMask *pFlagsOut, u32 timeOffset) override |
bool | checkSphereFullPush (f32 radius, const EGG::Vector3f &v0, const EGG::Vector3f &v1, KCLTypeMask flags, CollisionInfo *pInfo, KCLTypeMask *pFlagsOut, u32 timeOffset) override |
bool | checkPointCachedPartial (const EGG::Vector3f &v0, const EGG::Vector3f &v1, KCLTypeMask flags, CollisionInfoPartial *pInfo, KCLTypeMask *pFlagsOut) override |
bool | checkPointCachedPartialPush (const EGG::Vector3f &v0, const EGG::Vector3f &v1, KCLTypeMask flags, CollisionInfoPartial *pInfo, KCLTypeMask *pFlagsOut) override |
bool | checkPointCachedFull (const EGG::Vector3f &v0, const EGG::Vector3f &v1, KCLTypeMask flags, CollisionInfo *pInfo, KCLTypeMask *pFlagsOut) override |
bool | checkPointCachedFullPush (const EGG::Vector3f &v0, const EGG::Vector3f &v1, KCLTypeMask flags, CollisionInfo *pInfo, KCLTypeMask *pFlagsOut) override |
bool | checkSphereCachedPartial (f32 radius, const EGG::Vector3f &v0, const EGG::Vector3f &v1, KCLTypeMask flags, CollisionInfoPartial *pInfo, KCLTypeMask *pFlagsOut, u32 timeOffset) override |
bool | checkSphereCachedPartialPush (f32 radius, const EGG::Vector3f &v0, const EGG::Vector3f &v1, KCLTypeMask flags, CollisionInfoPartial *pInfo, KCLTypeMask *pFlagsOut, u32 timeOffset) override |
bool | checkSphereCachedFull (f32 radius, const EGG::Vector3f &v0, const EGG::Vector3f &v1, KCLTypeMask flags, CollisionInfo *pInfo, KCLTypeMask *pFlagsOut, u32 timeOffset) override |
bool | checkSphereCachedFullPush (f32 radius, const EGG::Vector3f &v0, const EGG::Vector3f &v1, KCLTypeMask flags, CollisionInfo *pInfo, KCLTypeMask *pFlagsOut, u32 timeOffset) override |
![]() | |
ObjectDrivable (const System::MapdataGeoObj ¶ms) | |
void | load () override |
virtual void | initCollision () |
virtual void | loadAABB (f32 radius) |
virtual void | narrScLocal (f32, const EGG::Vector3f &, KCLTypeMask, u32) |
![]() | |
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 const EGG::Vector3f & | getPosition () const |
virtual ObjectId | id () const |
const EGG::Vector3f & | pos () const |
void | setPos (const EGG::Vector3f &pos) |
Private Member Functions | |
bool | checkSpherePartialImpl (f32 radius, const EGG::Vector3f &v0, const EGG::Vector3f &v1, KCLTypeMask flags, CollisionInfoPartial *pInfo, KCLTypeMask *pFlagsOut, u32 timeOffset) |
bool | checkSpherePartialPushImpl (f32 radius, const EGG::Vector3f &v0, const EGG::Vector3f &v1, KCLTypeMask flags, CollisionInfoPartial *pInfo, KCLTypeMask *pFlagsOut, u32 timeOffset) |
bool | checkSphereFullImpl (f32 radius, const EGG::Vector3f &v0, const EGG::Vector3f &v1, KCLTypeMask flags, CollisionInfo *pInfo, KCLTypeMask *pFlagsOut, u32 timeOffset) |
bool | checkSphereFullPushImpl (f32 radius, const EGG::Vector3f &v0, const EGG::Vector3f &v1, KCLTypeMask flags, CollisionInfo *pInfo, KCLTypeMask *pFlagsOut, u32 timeOffset) |
template<typename T > requires std::is_same_v<T, CollisionInfo> || std::is_same_v<T, CollisionInfoPartial> | |
bool | checkSphereImpl (f32 radius, const EGG::Vector3f &v0, const EGG::Vector3f &v1, KCLTypeMask flags, T *pInfo, KCLTypeMask *pFlagsOut, u32 timeOffset, bool push) |
Helper function which contains frequently re-used code. Behavior branches depending on whether it is a full or partial check (call CollisionInfo::updateFloor) or push (push entry in the CollisionDirector). | |
Static Private Attributes | |
static constexpr f32 | RADIUS = 7243.3198f |
Half of the bridge's length along the z-axis. | |
Additional Inherited Members | |
![]() | |
enum class | eFlags { Position = 0 , Rotation = 1 , Matrix = 2 , Scale = 3 } |
typedef EGG::TBitFlag< u16, eFlags > | Flags |
![]() | |
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) |
![]() | |
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 | Interpolate (f32 t, const EGG::Vector3f &v0, const EGG::Vector3f &v1) |
![]() | |
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 |
|
0x80805A4C |
Definition at line 10 of file ObjectTuribashi.cc.
|
inlineoverridevirtual0x80805C24 |
Reimplemented from Field::ObjectBase.
Definition at line 16 of file ObjectTuribashi.hh.
|
inlineoverridevirtual0x80806504 |
Implements Field::ObjectBase.
Definition at line 27 of file ObjectTuribashi.hh.
|
nodiscardoverridevirtual0x80806478 |
Implements Field::ObjectDrivable.
Definition at line 79 of file ObjectTuribashi.cc.
|
nodiscardoverridevirtual0x80806488 |
Implements Field::ObjectDrivable.
Definition at line 85 of file ObjectTuribashi.cc.
|
nodiscardoverridevirtual0x80806458 |
Implements Field::ObjectDrivable.
Definition at line 67 of file ObjectTuribashi.cc.
|
nodiscardoverridevirtual0x80806468 |
Implements Field::ObjectDrivable.
Definition at line 73 of file ObjectTuribashi.cc.
|
nodiscardoverridevirtual0x808064C8 |
Implements Field::ObjectDrivable.
Definition at line 28 of file ObjectTuribashi.cc.
|
nodiscardoverridevirtual0x808064D8 |
Implements Field::ObjectDrivable.
Definition at line 34 of file ObjectTuribashi.cc.
|
nodiscardoverridevirtual0x808064A8 |
Implements Field::ObjectDrivable.
Definition at line 16 of file ObjectTuribashi.cc.
|
nodiscardoverridevirtual0x808064B8 |
Implements Field::ObjectDrivable.
Definition at line 22 of file ObjectTuribashi.cc.
|
nodiscardoverridevirtual0x80806450 |
Implements Field::ObjectDrivable.
Definition at line 105 of file ObjectTuribashi.cc.
|
nodiscardoverridevirtual0x80806454 |
Implements Field::ObjectDrivable.
Definition at line 112 of file ObjectTuribashi.cc.
|
nodiscardoverridevirtual0x80806448 |
Implements Field::ObjectDrivable.
Definition at line 91 of file ObjectTuribashi.cc.
|
nodiscardoverridevirtual0x8080644C |
Implements Field::ObjectDrivable.
Definition at line 98 of file ObjectTuribashi.cc.
|
nodiscardoverridevirtual0x808064A0 |
Implements Field::ObjectDrivable.
Definition at line 54 of file ObjectTuribashi.cc.
|
nodiscardprivate0x80806C24 |
Definition at line 133 of file ObjectTuribashi.cc.
|
nodiscardoverridevirtual0x808064A4 |
Implements Field::ObjectDrivable.
Definition at line 60 of file ObjectTuribashi.cc.
|
nodiscardprivate0x80807110 |
Definition at line 140 of file ObjectTuribashi.cc.
|
nodiscardprivate |
Helper function which contains frequently re-used code. Behavior branches depending on whether it is a full or partial check (call CollisionInfo::updateFloor) or push (push entry in the CollisionDirector).
Interestingly, this function makes assumptions about the object's rotation. Even if the object is rotated, collision will still act as if it is oriented along the z-axis.
T | The CollisionInfo object type, either CollisionInfoPartial or CollisionInfo. |
push | Whether to push a collision entry |
Definition at line 155 of file ObjectTuribashi.cc.
|
nodiscardoverridevirtual0x80806498 |
Implements Field::ObjectDrivable.
Definition at line 40 of file ObjectTuribashi.cc.
|
nodiscardprivate0x80806554 |
Definition at line 119 of file ObjectTuribashi.cc.
|
nodiscardoverridevirtual0x8080649C |
Implements Field::ObjectDrivable.
Definition at line 47 of file ObjectTuribashi.cc.
|
nodiscardprivate0x808068A0 |
Definition at line 126 of file ObjectTuribashi.cc.
|
inlineoverridevirtual0x80806508 |
Implements Field::ObjectBase.
Definition at line 24 of file ObjectTuribashi.hh.
|
inlinenodiscardoverridevirtual0x808064E8 |
Reimplemented from Field::ObjectDrivable.
Definition at line 30 of file ObjectTuribashi.hh.
|
inlineoverridevirtual0x80805AD8 |
Reimplemented from Field::ObjectBase.
Definition at line 13 of file ObjectTuribashi.hh.
|
inlinenodiscardoverridevirtual0x8080650C |
Reimplemented from Field::ObjectBase.
Definition at line 19 of file ObjectTuribashi.hh.
|
staticconstexprprivate |
Half of the bridge's length along the z-axis.
Definition at line 94 of file ObjectTuribashi.hh.