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

#include <PoleRopeBgCollision.h>

Inherits BgCollision.

Public Member Functions

 PoleRopeBgCollision ()
virtual ~PoleRopeBgCollision ()
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 PoleRopeInitArg &init_arg)
void set (Actor *owner, const PoleRopeInitArg &arg)
void set (Actor *owner, const PoleRopeInitArg &arg, s32 line_num, sead::Heap *heap=nullptr)
const sead::Buffer< sead::Vector2f > & getPoints () const
f32 getRange () const
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

LineNodeMgr< ActorBgCollisionPlayerCheckmPlayerBcList
sead::UnsafeArray< s32, 4 > _164
sead::UnsafeArray< sead::BitFlag32, 4 > _174
sead::Buffer< AnglemLineAngle
sead::Buffer< sead::Vector2fmPoint
sead::Buffer< sead::Vector2fmPointPrev
sead::Vector2f mBaseStartPoint
f32 _1a4
f32 mLineLength
f32 mRange
f32 mLineLengthTotal
u8 _1b4 [0x1B8 - 0x1B4]
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

◆ PoleRopeBgCollision()

PoleRopeBgCollision::PoleRopeBgCollision ( )

◆ ~PoleRopeBgCollision()

virtual PoleRopeBgCollision::~PoleRopeBgCollision ( )
virtual

Member Function Documentation

◆ vf34()

void PoleRopeBgCollision::vf34 ( )
overridevirtual

Implements BgCollision.

◆ execute()

void PoleRopeBgCollision::execute ( )
overridevirtual

Implements BgCollision.

◆ checkAreaBasic()

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

Implements BgCollision.

◆ checkAreaActor()

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

Implements BgCollision.

◆ checkPointInside()

bool PoleRopeBgCollision::checkPointInside ( bool * on_edge,
const sead::Vector2f & p ) const
overridevirtual

Implements BgCollision.

◆ vf5C()

bool PoleRopeBgCollision::vf5C ( u32 * )
overridevirtual

Implements BgCollision.

◆ vf64()

void PoleRopeBgCollision::vf64 ( )
overridevirtual

Reimplemented from BgCollision.

◆ vf6C()

void PoleRopeBgCollision::vf6C ( )
overridevirtual

Implements BgCollision.

◆ onBgCheckDataChange()

void PoleRopeBgCollision::onBgCheckDataChange ( const u64 & bc_data)
inlineoverridevirtual

Implements BgCollision.

◆ checkPointInsideOrWithinDistance()

bool PoleRopeBgCollision::checkPointInsideOrWithinDistance ( const sead::Vector2f & p,
f32 distance ) const
overridevirtual

Implements BgCollision.

◆ setCommon()

void PoleRopeBgCollision::setCommon ( const FollowArg & follow_arg,
const PoleRopeInitArg & init_arg )

◆ set() [1/2]

void PoleRopeBgCollision::set ( Actor * owner,
const PoleRopeInitArg & arg )

◆ set() [2/2]

void PoleRopeBgCollision::set ( Actor * owner,
const PoleRopeInitArg & arg,
s32 line_num,
sead::Heap * heap = nullptr )

◆ getPoints()

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

◆ getRange()

f32 PoleRopeBgCollision::getRange ( ) const
inline

Member Data Documentation

◆ mPlayerBcList

LineNodeMgr<ActorBgCollisionPlayerCheck> PoleRopeBgCollision::mPlayerBcList
protected

◆ _164

sead::UnsafeArray<s32, 4> PoleRopeBgCollision::_164
protected

◆ _174

sead::UnsafeArray<sead::BitFlag32, 4> PoleRopeBgCollision::_174
protected

◆ mLineAngle

sead::Buffer<Angle> PoleRopeBgCollision::mLineAngle
protected

◆ mPoint

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

◆ mPointPrev

sead::Buffer<sead::Vector2f> PoleRopeBgCollision::mPointPrev
protected

◆ mBaseStartPoint

sead::Vector2f PoleRopeBgCollision::mBaseStartPoint
protected

◆ _1a4

f32 PoleRopeBgCollision::_1a4
protected

◆ mLineLength

f32 PoleRopeBgCollision::mLineLength
protected

◆ mRange

f32 PoleRopeBgCollision::mRange
protected

◆ mLineLengthTotal

f32 PoleRopeBgCollision::mLineLengthTotal
protected

◆ _1b4

u8 PoleRopeBgCollision::_1b4[0x1B8 - 0x1B4]
protected