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

#include <ActorEllipseBgCollision.h>

Inherits BgCollision.

Public Member Functions

 ActorEllipseBgCollision ()
virtual ~ActorEllipseBgCollision ()
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 setCommon (const FollowArg &follow_arg, const EllipseInitArg &init_arg)
void set (Actor *owner, const EllipseInitArg &arg)
f32 getCenterPosX () const
f32 getCenterPosY () const
sead::Vector2f getCenterPos () const
const sead::Vector2fgetHalfSize () 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 Attributes

sead::Vector2f mBaseCenterOffset
sead::Vector2f mCenterOffset
sead::Vector2f mCenterOffsetPrev
sead::Vector2f mHalfSize
sead::Vector2f mHalfSizePrev
u32 _180 [0x10/sizeof(u32)]

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

◆ ActorEllipseBgCollision()

ActorEllipseBgCollision::ActorEllipseBgCollision ( )

◆ ~ActorEllipseBgCollision()

virtual ActorEllipseBgCollision::~ActorEllipseBgCollision ( )
inlinevirtual

Member Function Documentation

◆ vf24()

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

Reimplemented from BgCollision.

◆ vf2C()

u32 ActorEllipseBgCollision::vf2C ( u32 * )
overridevirtual

Reimplemented from BgCollision.

◆ vf34()

void ActorEllipseBgCollision::vf34 ( )
overridevirtual

Implements BgCollision.

◆ execute()

void ActorEllipseBgCollision::execute ( )
overridevirtual

Implements BgCollision.

◆ checkAreaBasic()

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

Implements BgCollision.

◆ checkAreaActor()

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

Implements BgCollision.

◆ checkPointInside()

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

Implements BgCollision.

◆ vf5C()

bool ActorEllipseBgCollision::vf5C ( u32 * )
overridevirtual

Implements BgCollision.

◆ vf64()

void ActorEllipseBgCollision::vf64 ( )
overridevirtual

Reimplemented from BgCollision.

◆ vf6C()

void ActorEllipseBgCollision::vf6C ( )
overridevirtual

Implements BgCollision.

◆ onBgCheckDataChange()

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

Implements BgCollision.

◆ checkPointInsideOrWithinDistance()

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

Implements BgCollision.

◆ setCommon()

void ActorEllipseBgCollision::setCommon ( const FollowArg & follow_arg,
const EllipseInitArg & init_arg )

◆ set()

void ActorEllipseBgCollision::set ( Actor * owner,
const EllipseInitArg & arg )

◆ getCenterPosX()

f32 ActorEllipseBgCollision::getCenterPosX ( ) const
inline

◆ getCenterPosY()

f32 ActorEllipseBgCollision::getCenterPosY ( ) const
inline

◆ getCenterPos()

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

◆ getHalfSize()

const sead::Vector2f & ActorEllipseBgCollision::getHalfSize ( ) const
inline

Member Data Documentation

◆ mBaseCenterOffset

sead::Vector2f ActorEllipseBgCollision::mBaseCenterOffset
private

◆ mCenterOffset

sead::Vector2f ActorEllipseBgCollision::mCenterOffset
private

◆ mCenterOffsetPrev

sead::Vector2f ActorEllipseBgCollision::mCenterOffsetPrev
private

◆ mHalfSize

sead::Vector2f ActorEllipseBgCollision::mHalfSize
private

◆ mHalfSizePrev

sead::Vector2f ActorEllipseBgCollision::mHalfSizePrev
private

◆ _180

u32 ActorEllipseBgCollision::_180[0x10/sizeof(u32)]
private