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

#include <ActorCircleBgCollision.h>

Inherits BgCollision.

Public Member Functions

 ActorCircleBgCollision ()
virtual ~ActorCircleBgCollision ()
bool vf24 (u32 *, u32) override
u32 vf2C (u32 *) override
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 set (Actor *owner, const CircleInitArg &arg)
void set (Actor *owner, const CircleInitArg &arg, Angle angle_start, Angle angle_end)
f32 getCenterPosX () const
f32 getCenterPosY () const
sead::Vector2f getCenterPos () const
f32 getRadius () const
Angle getArcStart () const
Angle getArcEnd () const
Public Member Functions inherited from BgCollision
 BgCollision ()
virtual ~BgCollision ()
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 ()

Private Member Functions

void setCommon_ (const FollowArg &follow_arg, const CircleInitArg &init_arg)

Private Attributes

sead::Vector2f mBaseCenterOffset
sead::Vector2f mCenterOffset
sead::Vector2f mCenterOffsetPrev
f32 mRadius
f32 mRadiusPrev
Angle mBaseArcStart
Angle mBaseArcEnd
Angle mArcStart
Angle mArcEnd
Angle mArcStartPrev
Angle mArcEndPrev

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
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

Constructor & Destructor Documentation

◆ ActorCircleBgCollision()

ActorCircleBgCollision::ActorCircleBgCollision ( )

◆ ~ActorCircleBgCollision()

virtual ActorCircleBgCollision::~ActorCircleBgCollision ( )
inlinevirtual

Member Function Documentation

◆ vf24()

bool ActorCircleBgCollision::vf24 ( u32 * ,
u32  )
overridevirtual

Reimplemented from BgCollision.

◆ vf2C()

u32 ActorCircleBgCollision::vf2C ( u32 * )
overridevirtual

Reimplemented from BgCollision.

◆ vf34()

void ActorCircleBgCollision::vf34 ( )
overridevirtual

Implements BgCollision.

◆ execute()

void ActorCircleBgCollision::execute ( )
overridevirtual

Implements BgCollision.

◆ checkAreaBasic()

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

Implements BgCollision.

◆ checkAreaActor()

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

Implements BgCollision.

◆ checkPointInside()

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

Implements BgCollision.

◆ vf5C()

bool ActorCircleBgCollision::vf5C ( u32 * )
overridevirtual

Implements BgCollision.

◆ vf64()

void ActorCircleBgCollision::vf64 ( )
overridevirtual

Reimplemented from BgCollision.

◆ vf6C()

void ActorCircleBgCollision::vf6C ( )
overridevirtual

Implements BgCollision.

◆ onBgCheckDataChange()

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

Implements BgCollision.

◆ checkPointInsideOrWithinDistance()

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

Implements BgCollision.

◆ setCommon_()

void ActorCircleBgCollision::setCommon_ ( const FollowArg & follow_arg,
const CircleInitArg & init_arg )
private

◆ set() [1/2]

void ActorCircleBgCollision::set ( Actor * owner,
const CircleInitArg & arg )

◆ set() [2/2]

void ActorCircleBgCollision::set ( Actor * owner,
const CircleInitArg & arg,
Angle angle_start,
Angle angle_end )

◆ getCenterPosX()

f32 ActorCircleBgCollision::getCenterPosX ( ) const
inline

◆ getCenterPosY()

f32 ActorCircleBgCollision::getCenterPosY ( ) const
inline

◆ getCenterPos()

sead::Vector2f ActorCircleBgCollision::getCenterPos ( ) const
inline

◆ getRadius()

f32 ActorCircleBgCollision::getRadius ( ) const
inline

◆ getArcStart()

Angle ActorCircleBgCollision::getArcStart ( ) const
inline

◆ getArcEnd()

Angle ActorCircleBgCollision::getArcEnd ( ) const
inline

Member Data Documentation

◆ mBaseCenterOffset

sead::Vector2f ActorCircleBgCollision::mBaseCenterOffset
private

◆ mCenterOffset

sead::Vector2f ActorCircleBgCollision::mCenterOffset
private

◆ mCenterOffsetPrev

sead::Vector2f ActorCircleBgCollision::mCenterOffsetPrev
private

◆ mRadius

f32 ActorCircleBgCollision::mRadius
private

◆ mRadiusPrev

f32 ActorCircleBgCollision::mRadiusPrev
private

◆ mBaseArcStart

Angle ActorCircleBgCollision::mBaseArcStart
private

◆ mBaseArcEnd

Angle ActorCircleBgCollision::mBaseArcEnd
private

◆ mArcStart

Angle ActorCircleBgCollision::mArcStart
private

◆ mArcEnd

Angle ActorCircleBgCollision::mArcEnd
private

◆ mArcStartPrev

Angle ActorCircleBgCollision::mArcStartPrev
private

◆ mArcEndPrev

Angle ActorCircleBgCollision::mArcEndPrev
private