New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
SnakeBlock::Piece Class Reference

#include <SnakeBlock.h>

Inherits ActorBoxBgCollision.

Inherited by SnakeBlock::EdgePiece.

Public Member Functions

 Piece ()
 ~Piece () override
AnimModel * getModel () const
u32 getPathIdx () const
const sead::Vector3f & getWorldPos () const
void init (SnakeBlock *parent, const sead::Vector3f &pos, SnakeType type)
void drawModel () const
Public Member Functions inherited from ActorBoxBgCollision
void setOfs (const sead::Vector2f &p0, const sead::Vector2f &p1)
void setCommon (const FollowArg &follow_arg, const BoxInitArg &init_arg)
void set (Actor *owner, const BoxInitArg &arg)
Public Member Functions inherited from SimpleBoxBgCollision
 SimpleBoxBgCollision ()
Public Member Functions inherited from SimpleShapeBgCollision
 SimpleShapeBgCollision ()
 SimpleShapeBgCollision (s32 point_num, sead::Vector2f *point_buf, BasicRideLine *line_buf, BasicRideLine *line_prev_buf)
bool checkPointInside (bool *on_edge, const sead::Vector2f &p) const override
Public Member Functions inherited from LoopRideLineBgCollision
 LoopRideLineBgCollision ()
 LoopRideLineBgCollision (s32 point_num, sead::Vector2f *point_buf, BasicRideLine *line_buf, BasicRideLine *line_prev_buf)
virtual ~LoopRideLineBgCollision ()
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 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
virtual void vf84 ()
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
Public Member Functions inherited from BgCollision
 BgCollision ()
virtual ~BgCollision ()
virtual bool vf24 (u32 *, u32)
virtual u32 vf2C (u32 *)
const sead::BoundBox2f getAffectedArea () const
Actor * getOwner () const
template<typename T>
T * getOwner () const
Actor * getIgnoreActor () const
const FollowArg & getFollowArg () const
sead::Vector2f & getPosOffset ()
const sead::Vector2f & getPosOffset () const
const sead::Vector2f & getPosOffset2 () const
sead::Vector2f & getTypeOffset ()
const sead::Vector2f & getTypeOffset () 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 BcList & getBcListFoot () const
const BcList & getBcListHead () const
const BcList & getBcListWallR () const
const BcList & getBcListWallL () 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 ()

Static Public Member Functions

static void callbackFoot (BgCollision *bc_self, ActorBgCollisionCheck *cc_other)
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 Attributes

u32 mPieceIdx
u32 _294
AnimModel * mModel
sead::Vector3f mWorldPos
sead::Vector3f _2a8
sead::Vector3f _2b4
sead::Vector3f _2c0
u32 mPathIdx
SnakeBlock * mParent
u16 _2d4
sead::Vector3f mModelScale
SnakeBlockBoyoMgr mBoyoMgr
u32 _308
u32 _30c
Protected Attributes inherited from SimpleBoxBgCollision
sead::Vector2f mPointArray [4]
BasicRideLine mRideLineArray [4]
BasicRideLine mRideLinePrevArray [4]
Protected Attributes inherited from LoopRideLineBgCollision
sead::Buffer< sead::Vector2f > mPoint
sead::Buffer< BasicRideLine > mRideLine
sead::Buffer< BasicRideLine > mRideLinePrev
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
Actor * mOwner
Actor * mIgnoreActor
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
ActorCollisionDrcTouchCallback * mDrcTouchCallback
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< ActorBgCollisionCheck > BcList
typedef void(* Callback) (BgCollision *, ActorBgCollisionCheck *)
typedef void(* CallbackWall) (BgCollision *, ActorBgCollisionCheck *, u8 direction)
typedef bool(* CheckRev) (Actor *, Actor *)
typedef bool(* CheckRevWall) (Actor *, Actor *, u8 direction)
Protected Types inherited from BgCollision
typedef LineNodeMgr< BgCollision > List

Constructor & Destructor Documentation

◆ Piece()

SnakeBlock::Piece::Piece ( )
inline

◆ ~Piece()

SnakeBlock::Piece::~Piece ( )
override

Member Function Documentation

◆ getModel()

AnimModel * SnakeBlock::Piece::getModel ( ) const
inline

◆ getPathIdx()

u32 SnakeBlock::Piece::getPathIdx ( ) const
inline

◆ getWorldPos()

const sead::Vector3f & SnakeBlock::Piece::getWorldPos ( ) const
inline

◆ init()

void SnakeBlock::Piece::init ( SnakeBlock * parent,
const sead::Vector3f & pos,
SnakeType type )

◆ drawModel()

void SnakeBlock::Piece::drawModel ( ) const

◆ callbackFoot()

void SnakeBlock::Piece::callbackFoot ( BgCollision * bc_self,
ActorBgCollisionCheck * cc_other )
static

Member Data Documentation

◆ mPieceIdx

u32 SnakeBlock::Piece::mPieceIdx
protected

◆ _294

u32 SnakeBlock::Piece::_294
protected

◆ mModel

AnimModel* SnakeBlock::Piece::mModel
protected

◆ mWorldPos

sead::Vector3f SnakeBlock::Piece::mWorldPos
protected

◆ _2a8

sead::Vector3f SnakeBlock::Piece::_2a8
protected

◆ _2b4

sead::Vector3f SnakeBlock::Piece::_2b4
protected

◆ _2c0

sead::Vector3f SnakeBlock::Piece::_2c0
protected

◆ mPathIdx

u32 SnakeBlock::Piece::mPathIdx
protected

◆ mParent

SnakeBlock* SnakeBlock::Piece::mParent
protected

◆ _2d4

u16 SnakeBlock::Piece::_2d4
protected

◆ mModelScale

sead::Vector3f SnakeBlock::Piece::mModelScale
protected

◆ mBoyoMgr

SnakeBlockBoyoMgr SnakeBlock::Piece::mBoyoMgr
protected

◆ _308

u32 SnakeBlock::Piece::_308
protected

◆ _30c

u32 SnakeBlock::Piece::_30c
protected