Collider ("Collision Check") class - handles collisions between actors.
It also includes logic that handles collisions within a horizontally looping stage (like 2-C).
Definition at line 111 of file d_cc.hpp.
|
| | dCc_c () |
| | Constructs a new collider.
|
| virtual | ~dCc_c () |
| | Destroys the collider.
|
| void | clear () |
| | Clear the data related to previous collisions.
|
| void | entry () |
| | Places this collider in the collider list.
|
| void | release () |
| | Removes this collider from the collider list.
|
| void | set (dActor_c *actor, sCcDatNewF *collInfo) |
| | Registers an owner actor to this collider and sets the collider data.
|
| void | set (dActor_c *actor, sCcDatNewF *collInfo, u8 amiLine) |
| | Registers an owner actor to this collider and sets the collider data.
|
| void | setFriendActor (dActor_c *actor) |
| | Sets a friend actor for this collider.
|
| dActor_c * | getOwner () const |
| | Gets the owner actor of this collider.
|
| u16 | isHit (u16 mask) const |
| | Gets the result of a hit check.
|
| u16 | isHitAtDmg (u16 mask) const |
| | Gets the result of an attack hit check.
|
| float | getTopPos () |
| | Gets the Y position of the top of the collider.
|
| float | getUnderPos () |
| | Gets the Y position of the bottom of the collider.
|
| float | getCenterPosY () |
| | Gets the Y position of the center of the collider.
|
| float | getRightPos () |
| | Gets the X position of the right side of the collider.
|
| float | getLeftPos () |
| | Gets the X position of the left side of the collider.
|
| float | getCenterPosX () |
| | Gets the X position of the center of the collider.
|
| mVec2_c | getCenterVec () |
| | Gets the center of the collider as a vector.
|
| bool | isInside (dCc_c *other) |
| | Checks if this collider is inside another collider.
|
| float | getCollPosX () const |
| float | getCollPosY () const |
|
| dActor_c * | mpOwner |
| | The actor this collider belongs to.
|
| dActor_c * | mFriendActor |
| | A second actor that this collider will not collide with.
|
| u32 | unk2 |
| | [Unused (?)].
|
| dCc_c * | mpNext |
| | The next collider in the list.
|
| dCc_c * | mpPrev |
| | The previous collider in the list.
|
| u32 | unk3 |
| | [Unused (?)].
|
| sCcDatNewF | mCcData |
| | The collision data of this collider.
|
| float | mTrpOffsets [4] |
| | The X or Y offset of the four corners of a trapezoid-shaped collider.
|
| float | mCollOffsetX [8] |
| | The X offset for a collision.
|
| float | mCollOffsetY [8] |
| | The Y offset for a collision.
|
| mVec2_c | mCollPos |
| | The position where the last collision occurred.
|
| u16 | mCollidedWith |
| | The categories of the previously collided with colliders.
|
| u16 | mAttSent |
| | The attack types sent by this collider in the previous collisions.
|
| u16 | mAttReceived |
| | The attack types received by this collider in the previous collisions.
|
| u8 | mShape |
| | The shape of the collider. See CC_SHAPE_e .
|
| u8 | mAmiLine |
| | The non-collide mask for this collider.
|
| u8 | mLayer |
| | The layer this collider is on.
|
| u8 | mInfo |
| | Info flags for this collider. See CC_INFO_e.
|
|
| static bool | _hitCheckSquare (dCc_c *c1, dCc_c *c2, mVec2_c pos1, mVec2_c pos2) |
| | A hit check function for rectangular colliders. Used in _hitCheckNormal and _hitCheckLoop.
|
| static bool | _hitCheckNormal (dCc_c *c1, dCc_c *c2) |
| | Check two rectangular colliders against each other for collisions without stage looping.
|
| static bool | _hitCheckLoop (dCc_c *c1, dCc_c *c2) |
| | Check two rectangular colliders against each other for collisions with stage looping.
|
| static bool | _hitCheckCircle (dCc_c *c1, dCc_c *c2) |
| | Check two circle colliders against each other for collisions.
|
| static bool | _hitCheckBoxCircle (dCc_c *c1, dCc_c *c2) |
| | Check a rectangular and a circle collider against each other for collisions.
|
| static int | _lineCheckUD (mVec2_c p1, mVec2_c p2, float p3, float p4) |
| static bool | _hitCheckDaikeiUD_R (dCc_c *ccBox, dCc_c *ccTrp) |
| | Check a rectangular collider against a trapezoid-shaped collider for collisions.
|
| static bool | _hitCheckDaikeiUD (dCc_c *ccTrp, dCc_c *ccBox) |
| | Check a trapezoid-shaped collider against a rectangular collider for collisions.
|
| static int | _lineCheckLR (mVec2_c p1, mVec2_c p2, float p3, float p4) |
| static bool | _hitCheckDaikeiLR_R (dCc_c *ccBox, dCc_c *ccTrp) |
| | Check a rectangular collider against a trapezoid-shaped collider for collisions.
|
| static bool | _hitCheckDaikeiLR (dCc_c *ccTrp, dCc_c *ccBox) |
| | Check a trapezoid-shaped collider against a rectangular collider for collisions.
|