#include <BgCollision.h>
Inherits sead::IDisposer.
Inherited by ActorCircleBgCollision, ActorEllipseBgCollision, BasicRideLineBgCollision, LoopRideLineBgCollision, and PoleRopeBgCollision.
|
| 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) |
|
| | BgCollision () |
| virtual | ~BgCollision () |
| virtual bool | vf24 (u32 *, u32) |
| virtual u32 | vf2C (u32 *) |
| virtual void | vf34 ()=0 |
| virtual void | execute ()=0 |
| virtual bool | checkAreaBasic (BgCollisionCheckResultArea *res, const BasicBgCollisionCheck &bc, const sead::Vector2f &p0, const sead::Vector2f &p1, u8 hit_dir_mask)=0 |
| virtual bool | checkAreaActor (ActorBgCollisionCheckResult *, sead::Vector2f *, sead::Vector2f *, u8 direction, ActorBgCollisionCheck *)=0 |
| virtual bool | checkPointInside (bool *on_edge, const sead::Vector2f &p) const =0 |
| virtual bool | vf5C (u32 *)=0 |
| virtual void | vf64 () |
| virtual void | vf6C ()=0 |
| virtual void | onBgCheckDataChange (const u64 &bc_data)=0 |
| virtual bool | checkPointInsideOrWithinDistance (const sead::Vector2f &p, f32 distance) const =0 |
| 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) |
| | IDisposer () |
| virtual | ~IDisposer () |
◆ BcList
◆ Callback
◆ CallbackWall
◆ CheckRev
| typedef bool(* BgCollision::CheckRev) (Actor *, Actor *) |
◆ CheckRevWall
| typedef bool(* BgCollision::CheckRevWall) (Actor *, Actor *, u8 direction) |
◆ List
◆ Type
| Enumerator |
|---|
| cType_Normal | |
| cType_Coin | |
| cType_GreenCoin | |
| cType_BlueCoin | |
| cType_CoinOutline | |
| cType_Fence | |
| cType_Vine | |
| cType_QuestionBlock | |
| cType_BrickBlock | |
| cType_QuestionBlockBig | |
| cType_BrickBlockBig | |
| cType_BlockUsedBig | |
| cType_BlockUsed | |
| cType_WoodBlock | |
| cType_StoneBlock | |
| cType_RedBlock | |
| cType_DonutBlock | |
| cType_BoostBlock | |
| cType_UnknownLiquid | |
| cType_Water | |
| cType_Lava | |
| cType_Poison | |
| cType_Quicksand | |
| cType_Carpet | |
| cType_Leaves | |
| cType_Wood | |
| cType_Cloud | |
| cType_SwingingVine | |
| cType_SwingingChain | |
| cType_RopeLadder | |
| cType_Ice | |
| cType_BreakableIce | |
| cType_BreakableIce2 | |
| cType_GrrrolPassage | |
| cType_SpikesUp | |
| cType_StreamCurrent | |
| cType_AirshipHand | |
| cType_WaterGeyser | |
| cType_Unknown10 | |
| cType_SpineCoaster | |
| cType_Urchin | |
| cType_InvisibleBlock | |
◆ BgCollision()
| BgCollision::BgCollision |
( |
| ) |
|
◆ ~BgCollision()
| virtual BgCollision::~BgCollision |
( |
| ) |
|
|
virtual |
◆ vf24()
| virtual bool BgCollision::vf24 |
( |
u32 * | , |
|
|
u32 | ) |
|
virtual |
◆ vf2C()
| virtual u32 BgCollision::vf2C |
( |
u32 * | | ) |
|
|
virtual |
◆ vf34()
| virtual void BgCollision::vf34 |
( |
| ) |
|
|
pure virtual |
◆ execute()
| virtual void BgCollision::execute |
( |
| ) |
|
|
pure virtual |
◆ checkAreaBasic()
◆ checkAreaActor()
◆ checkPointInside()
| virtual bool BgCollision::checkPointInside |
( |
bool * | on_edge, |
|
|
const sead::Vector2f & | p ) const |
|
pure virtual |
◆ vf5C()
| virtual bool BgCollision::vf5C |
( |
u32 * | | ) |
|
|
pure virtual |
◆ vf64()
| virtual void BgCollision::vf64 |
( |
| ) |
|
|
virtual |
◆ vf6C()
| virtual void BgCollision::vf6C |
( |
| ) |
|
|
pure virtual |
◆ onBgCheckDataChange()
| virtual void BgCollision::onBgCheckDataChange |
( |
const u64 & | bc_data | ) |
|
|
pure virtual |
◆ checkPointInsideOrWithinDistance()
| virtual bool BgCollision::checkPointInsideOrWithinDistance |
( |
const sead::Vector2f & | p, |
|
|
f32 | distance ) const |
|
pure virtual |
◆ getAffectedArea()
◆ getOwner() [1/2]
| Actor * BgCollision::getOwner |
( |
| ) |
const |
|
inline |
◆ getOwner() [2/2]
template<typename T>
| T * BgCollision::getOwner |
( |
| ) |
const |
|
inline |
◆ getIgnoreActor()
| Actor * BgCollision::getIgnoreActor |
( |
| ) |
const |
|
inline |
◆ getFollowArg()
| const FollowArg & BgCollision::getFollowArg |
( |
| ) |
const |
|
inline |
◆ getPosOffset() [1/2]
◆ getPosOffset() [2/2]
◆ getPosOffset2()
◆ getTypeOffset() [1/2]
◆ getTypeOffset() [2/2]
◆ getPosX()
| f32 BgCollision::getPosX |
( |
| ) |
const |
|
inline |
◆ getPosY()
| f32 BgCollision::getPosY |
( |
| ) |
const |
|
inline |
◆ getPos()
◆ getPosPrevX()
| f32 BgCollision::getPosPrevX |
( |
| ) |
const |
|
inline |
◆ getPosPrevY()
| f32 BgCollision::getPosPrevY |
( |
| ) |
const |
|
inline |
◆ getPosPrev()
◆ getTypePosX()
| f32 BgCollision::getTypePosX |
( |
| ) |
const |
|
inline |
◆ getTypePosY()
| f32 BgCollision::getTypePosY |
( |
| ) |
const |
|
inline |
◆ getTypePos()
◆ getTypePosPrevX()
| f32 BgCollision::getTypePosPrevX |
( |
| ) |
const |
|
inline |
◆ getTypePosPrevY()
| f32 BgCollision::getTypePosPrevY |
( |
| ) |
const |
|
inline |
◆ getTypePosPrev()
◆ isInactive()
| bool BgCollision::isInactive |
( |
| ) |
const |
|
inline |
◆ getAngle()
| Angle BgCollision::getAngle |
( |
| ) |
const |
|
inline |
◆ setAngle()
| void BgCollision::setAngle |
( |
Angle | angle | ) |
|
|
inline |
◆ getBcListFoot()
| const BcList & BgCollision::getBcListFoot |
( |
| ) |
const |
|
inline |
◆ getBcListHead()
| const BcList & BgCollision::getBcListHead |
( |
| ) |
const |
|
inline |
◆ getBcListWallR()
| const BcList & BgCollision::getBcListWallR |
( |
| ) |
const |
|
inline |
◆ getBcListWallL()
| const BcList & BgCollision::getBcListWallL |
( |
| ) |
const |
|
inline |
◆ entryBcFoot()
◆ releaseBcFoot()
◆ isEntryBcFoot()
◆ reset()
| void BgCollision::reset |
( |
| ) |
|
◆ clearBcList()
| void BgCollision::clearBcList |
( |
| ) |
|
◆ setType()
| void BgCollision::setType |
( |
Type | type | ) |
|
◆ getType()
| Type BgCollision::getType |
( |
| ) |
const |
|
inline |
◆ setBgCheckData()
| void BgCollision::setBgCheckData |
( |
const u64 & | bc_data | ) |
|
◆ getBgCheckData()
| const u64 & BgCollision::getBgCheckData |
( |
| ) |
const |
|
inline |
◆ setHitType()
◆ setAttr()
◆ setSlipAttr()
◆ update()
| void BgCollision::update |
( |
| ) |
|
◆ addDokanMoveDiff()
◆ setFlag()
| void BgCollision::setFlag |
( |
u32 | flag | ) |
|
|
inline |
◆ resetFlag()
| void BgCollision::resetFlag |
( |
u32 | mask | ) |
|
|
inline |
◆ clearFlag()
| void BgCollision::clearFlag |
( |
| ) |
|
|
inline |
◆ isFlag()
| bool BgCollision::isFlag |
( |
s32 | bit | ) |
const |
|
inline |
◆ setCallback()
Register callbacks for interacting with a sensor of another actor.
- Parameters
-
| callback_foot | Callback for when the foot sensor touches the collider, or nullptr for no callback. |
| callback_head | Callback for when the head sensor touches the collider, or nullptr for no callback. |
| callback_wall | Callback for when the wall sensor touches the collider, or nullptr for no callback. |
◆ setCheckRev()
◆ setDrcTouchCallback()
◆ CheckRevUpperSpeed()
| bool BgCollision::CheckRevUpperSpeed |
( |
Actor * | actor_self, |
|
|
Actor * | actor_other ) |
|
inlinestatic |
◆ CheckRevUnderSpeed()
| bool BgCollision::CheckRevUnderSpeed |
( |
Actor * | actor_self, |
|
|
Actor * | actor_other ) |
|
inlinestatic |
◆ CheckRevSideSpeed()
| bool BgCollision::CheckRevSideSpeed |
( |
Actor * | actor_self, |
|
|
Actor * | actor_other, |
|
|
u8 | direction ) |
|
inlinestatic |
◆ mActiveListNode
| List::Node BgCollision::mActiveListNode |
|
protected |
◆ mSolidListNode
| List::Node BgCollision::mSolidListNode |
|
protected |
◆ mNonSolidListNode
| List::Node BgCollision::mNonSolidListNode |
|
protected |
◆ _34
| List::Node BgCollision::_34 |
|
protected |
◆ mCoinListNode
| List::Node BgCollision::mCoinListNode |
|
protected |
◆ mPoleListNode
| List::Node BgCollision::mPoleListNode |
|
protected |
◆ mTouchDrcCheckNoDamageListNode
| List::Node BgCollision::mTouchDrcCheckNoDamageListNode |
|
protected |
◆ mTouchDrcHoldListNode
| List::Node BgCollision::mTouchDrcHoldListNode |
|
protected |
◆ mAffectedArea
◆ mPosOffset2
◆ mFlag
◆ mCheckRevFlag
◆ mOwner
| Actor* BgCollision::mOwner |
|
protected |
◆ mIgnoreActor
| Actor* BgCollision::mIgnoreActor |
|
protected |
◆ mFollowArg
◆ mPosOffset
◆ mPosOffsetPrev
◆ mRotPivotOffset
◆ mRotPivotOffsetPrev
◆ mTypeOffset
◆ mTypeOffsetPrev
◆ mIsInactive
| bool BgCollision::mIsInactive |
|
protected |
◆ mCategory
◆ mRotMtx
◆ mAngle
| Angle BgCollision::mAngle |
|
protected |
◆ mAnglePrev
| Angle BgCollision::mAnglePrev |
|
protected |
◆ mBcListFoot
| BcList BgCollision::mBcListFoot |
|
protected |
◆ mBcListHead
| BcList BgCollision::mBcListHead |
|
protected |
◆ mBcListWallR
| BcList BgCollision::mBcListWallR |
|
protected |
◆ mBcListWallL
| BcList BgCollision::mBcListWallL |
|
protected |
◆ mType
◆ mBgCheckData
| u64 BgCollision::mBgCheckData |
|
protected |
◆ mCallbackFoot
◆ mCallbackHead
◆ mCallbackWall
◆ mCheckRevFoot
◆ mCheckRevHead
◆ mCheckRevWall
◆ mDrcTouchCallback
◆ _154