New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
BasicRideLineBgCollision Class Reference

#include <BasicRideLineBgCollision.h>

Inherits BgCollision.

Inherited by ActorLineBgCollision, and ActorPolylineBgCollision< N >.

Public Member Functions

 BasicRideLineBgCollision ()
 BasicRideLineBgCollision (s32 point_num, sead::Vector2f *point_buf, BasicRideLine *line_buf, BasicRideLine *line_prev_buf)
virtual ~BasicRideLineBgCollision ()
void vf34 () override
void execute () override
bool checkAreaBasic (BgCollisionCheckResultArea *res, const BasicBgCollisionCheck &bc, const sead::Vector2f &p0, const sead::Vector2f &p1, u8 hit_dir_mask) override
bool checkAreaActor (ActorBgCollisionCheckResult *, sead::Vector2f *, sead::Vector2f *, u8 direction, ActorBgCollisionCheck *) override
bool checkPointInside (bool *on_edge, const sead::Vector2f &p) const override
bool vf5C (u32 *) override
void vf64 () override
void vf6C () override
void onBgCheckDataChange (const u64 &bc_data) override
bool checkPointInsideOrWithinDistance (const sead::Vector2f &p, f32 distance) const override
void setCommon (const FollowArg &follow_arg, const InitArg &init_arg)
void set (Actor *owner, const InitArg &arg)
void set (Actor *owner, const InitArg &arg, s32 point_num, sead::Heap *heap=nullptr)
sead::Buffer< sead::Vector2f > & getPoints ()
const sead::Buffer< sead::Vector2f > & getPoints () const
const sead::Buffer< BasicRideLine > & getRideLine () const
const sead::Buffer< BasicRideLine > & getRideLinePrev () const
void set_170 (f32 value)
Public Member Functions inherited from BgCollision
 BgCollision ()
virtual ~BgCollision ()
virtual bool vf24 (u32 *, u32)
virtual u32 vf2C (u32 *)
const sead::BoundBox2f getAffectedArea () const
ActorgetOwner () const
template<typename T>
T * getOwner () const
ActorgetIgnoreActor () const
const FollowArggetFollowArg () const
sead::Vector2fgetPosOffset ()
const sead::Vector2fgetPosOffset () const
const sead::Vector2fgetPosOffset2 () const
sead::Vector2fgetTypeOffset ()
const sead::Vector2fgetTypeOffset () const
f32 getPosX () const
f32 getPosY () const
sead::Vector2f getPos () const
f32 getPosPrevX () const
f32 getPosPrevY () const
sead::Vector2f getPosPrev () const
f32 getTypePosX () const
f32 getTypePosY () const
sead::Vector2f getTypePos () const
f32 getTypePosPrevX () const
f32 getTypePosPrevY () const
sead::Vector2f getTypePosPrev () const
bool isInactive () const
Angle getAngle () const
void setAngle (Angle angle)
const BcListgetBcListFoot () const
const BcListgetBcListHead () const
const BcListgetBcListWallR () const
const BcListgetBcListWallL () const
void entryBcFoot (ActorBgCollisionCheck *bc_check)
void releaseBcFoot (ActorBgCollisionCheck *bc_check)
bool isEntryBcFoot (ActorBgCollisionCheck *bc_check) const
void reset ()
void clearBcList ()
void setType (Type type)
Type getType () const
void setBgCheckData (const u64 &bc_data)
const u64 & getBgCheckData () const
void setHitType (BgUnitCode::HitType hit_type)
void setAttr (BgUnitCode::Attr attr)
void setSlipAttr (BgUnitCode::SlipAttr slip_attr)
void update ()
sead::Vector2f addDokanMoveDiff (sead::Vector2f pos)
void setFlag (u32 flag)
void resetFlag (u32 mask)
void clearFlag ()
bool isFlag (s32 bit) const
void setCallback (Callback callback_foot, Callback callback_head, CallbackWall callback_wall)
 Register callbacks for interacting with a sensor of another actor.
void setCheckRev (CheckRev check_rev_foot, CheckRev check_rev_head, CheckRevWall check_rev_wall)
void setDrcTouchCallback (ActorCollisionDrcTouchCallback *drc_touch_callback)
Public Member Functions inherited from sead::IDisposer
 IDisposer ()
virtual ~IDisposer ()

Protected Attributes

sead::Buffer< sead::Vector2fmPoint
sead::Buffer< BasicRideLinemRideLine
sead::Buffer< BasicRideLinemRideLinePrev
f32 _170
Protected Attributes inherited from BgCollision
List::Node mActiveListNode
List::Node mSolidListNode
List::Node mNonSolidListNode
List::Node _34
List::Node mCoinListNode
List::Node mPoleListNode
List::Node mTouchDrcCheckNoDamageListNode
List::Node mTouchDrcHoldListNode
sead::BoundBox2f mAffectedArea
sead::Vector2f mPosOffset2
sead::BitFlag32 mFlag
sead::BitFlag32 mCheckRevFlag
ActormOwner
ActormIgnoreActor
FollowArg mFollowArg
sead::Vector2f mPosOffset
sead::Vector2f mPosOffsetPrev
sead::Vector2f mRotPivotOffset
sead::Vector2f mRotPivotOffsetPrev
sead::Vector2f mTypeOffset
sead::Vector2f mTypeOffsetPrev
bool mIsInactive
BgCollisionCat mCategory
sead::Matrix22f mRotMtx
Angle mAngle
Angle mAnglePrev
BcList mBcListFoot
BcList mBcListHead
BcList mBcListWallR
BcList mBcListWallL
Type mType
u64 mBgCheckData
Callback mCallbackFoot
Callback mCallbackHead
CallbackWall mCallbackWall
CheckRev mCheckRevFoot
CheckRev mCheckRevHead
CheckRevWall mCheckRevWall
ActorCollisionDrcTouchCallbackmDrcTouchCallback
u32 _154

Additional Inherited Members

Public Types inherited from BgCollision
enum  Type {
  cType_Normal = 0 , cType_Coin = 1 , cType_GreenCoin = 2 , cType_BlueCoin = 3 ,
  cType_CoinOutline = 4 , cType_Fence = 5 , cType_Vine = 6 , cType_QuestionBlock = 7 ,
  cType_BrickBlock = 8 , cType_QuestionBlockBig = 9 , cType_BrickBlockBig = 10 , cType_BlockUsedBig = 11 ,
  cType_BlockUsed = 12 , cType_WoodBlock = 13 , cType_StoneBlock = 14 , cType_RedBlock = 15 ,
  cType_DonutBlock = 16 , cType_BoostBlock = 17 , cType_UnknownLiquid = 18 , cType_Water = 19 ,
  cType_Lava = 20 , cType_Poison = 21 , cType_Quicksand = 22 , cType_Carpet = 23 ,
  cType_Leaves = 24 , cType_Wood = 25 , cType_Cloud = 26 , cType_SwingingVine = 27 ,
  cType_SwingingChain = 28 , cType_RopeLadder = 29 , cType_Ice = 30 , cType_BreakableIce = 31 ,
  cType_BreakableIce2 = 32 , cType_GrrrolPassage = 33 , cType_SpikesUp = 34 , cType_StreamCurrent = 35 ,
  cType_AirshipHand = 36 , cType_WaterGeyser = 37 , cType_Unknown10 = 38 , cType_SpineCoaster = 39 ,
  cType_Urchin = 40 , cType_InvisibleBlock = 41
}
typedef LineNodeMgr< ActorBgCollisionCheckBcList
typedef void(* Callback) (BgCollision *, ActorBgCollisionCheck *)
typedef void(* CallbackWall) (BgCollision *, ActorBgCollisionCheck *, u8 direction)
typedef bool(* CheckRev) (Actor *, Actor *)
typedef bool(* CheckRevWall) (Actor *, Actor *, u8 direction)
Static Public Member Functions inherited from BgCollision
static bool CheckRevUpperSpeed (Actor *actor_self, Actor *actor_other)
static bool CheckRevUnderSpeed (Actor *actor_self, Actor *actor_other)
static bool CheckRevSideSpeed (Actor *actor_self, Actor *actor_other, u8 direction)
Protected Types inherited from BgCollision
typedef LineNodeMgr< BgCollisionList

Constructor & Destructor Documentation

◆ BasicRideLineBgCollision() [1/2]

BasicRideLineBgCollision::BasicRideLineBgCollision ( )

◆ BasicRideLineBgCollision() [2/2]

BasicRideLineBgCollision::BasicRideLineBgCollision ( s32 point_num,
sead::Vector2f * point_buf,
BasicRideLine * line_buf,
BasicRideLine * line_prev_buf )

◆ ~BasicRideLineBgCollision()

virtual BasicRideLineBgCollision::~BasicRideLineBgCollision ( )
virtual

Member Function Documentation

◆ vf34()

void BasicRideLineBgCollision::vf34 ( )
overridevirtual

Implements BgCollision.

◆ execute()

void BasicRideLineBgCollision::execute ( )
overridevirtual

Implements BgCollision.

◆ checkAreaBasic()

bool BasicRideLineBgCollision::checkAreaBasic ( BgCollisionCheckResultArea * res,
const BasicBgCollisionCheck & bc,
const sead::Vector2f & p0,
const sead::Vector2f & p1,
u8 hit_dir_mask )
overridevirtual

Implements BgCollision.

◆ checkAreaActor()

bool BasicRideLineBgCollision::checkAreaActor ( ActorBgCollisionCheckResult * ,
sead::Vector2f * ,
sead::Vector2f * ,
u8 direction,
ActorBgCollisionCheck *  )
overridevirtual

Implements BgCollision.

◆ checkPointInside()

bool BasicRideLineBgCollision::checkPointInside ( bool * on_edge,
const sead::Vector2f & p ) const
inlineoverridevirtual

Implements BgCollision.

◆ vf5C()

bool BasicRideLineBgCollision::vf5C ( u32 * )
overridevirtual

Implements BgCollision.

◆ vf64()

void BasicRideLineBgCollision::vf64 ( )
overridevirtual

Reimplemented from BgCollision.

◆ vf6C()

void BasicRideLineBgCollision::vf6C ( )
overridevirtual

Implements BgCollision.

◆ onBgCheckDataChange()

void BasicRideLineBgCollision::onBgCheckDataChange ( const u64 & bc_data)
overridevirtual

Implements BgCollision.

◆ checkPointInsideOrWithinDistance()

bool BasicRideLineBgCollision::checkPointInsideOrWithinDistance ( const sead::Vector2f & p,
f32 distance ) const
inlineoverridevirtual

Implements BgCollision.

◆ setCommon()

void BasicRideLineBgCollision::setCommon ( const FollowArg & follow_arg,
const InitArg & init_arg )

◆ set() [1/2]

void BasicRideLineBgCollision::set ( Actor * owner,
const InitArg & arg )

◆ set() [2/2]

void BasicRideLineBgCollision::set ( Actor * owner,
const InitArg & arg,
s32 point_num,
sead::Heap * heap = nullptr )

◆ getPoints() [1/2]

sead::Buffer< sead::Vector2f > & BasicRideLineBgCollision::getPoints ( )
inline

◆ getPoints() [2/2]

const sead::Buffer< sead::Vector2f > & BasicRideLineBgCollision::getPoints ( ) const
inline

◆ getRideLine()

const sead::Buffer< BasicRideLine > & BasicRideLineBgCollision::getRideLine ( ) const
inline

◆ getRideLinePrev()

const sead::Buffer< BasicRideLine > & BasicRideLineBgCollision::getRideLinePrev ( ) const
inline

◆ set_170()

void BasicRideLineBgCollision::set_170 ( f32 value)
inline

Member Data Documentation

◆ mPoint

sead::Buffer<sead::Vector2f> BasicRideLineBgCollision::mPoint
protected

◆ mRideLine

sead::Buffer<BasicRideLine> BasicRideLineBgCollision::mRideLine
protected

◆ mRideLinePrev

sead::Buffer<BasicRideLine> BasicRideLineBgCollision::mRideLinePrev
protected

◆ _170

f32 BasicRideLineBgCollision::_170
protected