|
SSBM Decomp
|
Go to the source code of this file.
Enumerations | |
| enum | itFlipper_MotionState { FLIPPER_MS_RESTING , FLIPPER_MS_FALLING , FLIPPER_MS_HELD , FLIPPER_MS_INFLIGHT , FLIPPER_MS_AIRBORNE , FLIPPER_MS_ACTIVE , FLIPPER_MS_SPINNING } |
Functions | |
| HSD_GObj * | itFlipper_Spawn (HSD_JObj *) |
Spawns a flipper pinned to a stage joint jobj (Break-the-Targets obstacles): stores it in xDEC_stageAnchor, sets xDE8_isStageFixed, and settles it. | |
| void | itFlipper_Spawned (Item_GObj *) |
| Logic-20 spawn callback: zero-initializes the itemVars and enters the falling state. | |
| void | itFlipper_UpdateSpin (Item_GObj *) |
Advances the paddle spin one frame: decays xDE4_spinVel toward 0, adds it into xDE0_spinAngle, and applies that as an X rotation. | |
| void | itFlipper_AddSpinImpulse (Item_GObj *, Vec3 *, f32) |
Adds a spin impulse directed by the contact point pos, clamped to +/- x24_maxSpinVel. | |
| void | itFlipper_SpinFromFighter (Item_GObj *) |
Derives the spin impulse from the striking fighter's speed and applies it via itFlipper_AddSpinImpulse(), reading the fighter from xCF4_fighterGObjUnk (the dealt-damage side). | |
| void | itFlipper_Repel (Item_GObj *gobj, s32 kind, Vec3 *pos) |
Pushes the flipper away from pos with a fixed 0.2 impulse, only when kind is It_Kind_Flipper (0x14). | |
| void | itFlipper_EnterResting (Item_GObj *) |
| Resets the flipper's velocity and enters the resting state (motion state 0). | |
| bool | itFlipper_Resting_Anim (Item_GObj *gobj) |
| Animate callback for the resting state (motion state 0). | |
| void | itFlipper_Resting_Phys (Item_GObj *gobj) |
| Physics callback for the resting state (motion state 0). | |
| bool | itFlipper_Resting_Coll (Item_GObj *gobj) |
| Collision callback for the resting state (motion state 0): falls again if the ground vanishes. | |
| void | itFlipper_EnterFalling (Item_GObj *gobj) |
| Enters the falling state (motion state 1). | |
| bool | itFlipper_Falling_Anim (Item_GObj *gobj) |
| Animate callback for the falling state (motion state 1). | |
| void | itFlipper_Falling_Phys (Item_GObj *gobj) |
| Physics callback for the falling state (motion state 1): applies gravity toward terminal speed. | |
| bool | itFlipper_Falling_Coll (Item_GObj *gobj) |
| Collision callback for the falling state (motion state 1): rests on landing. | |
| void | itFlipper_PickedUp (Item_GObj *) |
| Logic-20 pickup callback: enters the held state (motion state 2). | |
| bool | itFlipper_Held_Anim (Item_GObj *gobj) |
| Animate callback for the held state (motion state 2). | |
| void | itFlipper_Held_Phys (Item_GObj *gobj) |
| Physics callback for the held state (motion state 2). | |
| void | itFlipper_Dropped (Item_GObj *) |
| Logic-20 drop callback: forwards to itFlipper_Thrown() – a drop is handled as a throw. | |
| void | itFlipper_Thrown (Item_GObj *) |
Logic-20 throw callback: loads xDD4_flightTimer from x4_smashThrowDuration (smash) or x0_throwDuration (normal) and enters the in-flight state. | |
| bool | itFlipper_Inflight_Anim (Item_GObj *gobj) |
Animate callback for the in-flight state (motion state 3): decrements xDD4_flightTimer and settles the flipper at 0. | |
| void | itFlipper_Inflight_Phys (Item_GObj *gobj) |
| Physics callback for the in-flight state (motion state 3): gravity plus end-of-flight velocity damping. | |
| bool | itFlipper_Inflight_Coll (Item_GObj *gobj) |
Collision callback for the in-flight state (motion state 3): bounces off walls/ceiling by xC_wallBounce and the floor by x10_floorBounce. | |
| void | itFlipper_Settle (Item_GObj *) |
Settles a thrown flipper into a stationary hazard: stops it, sets xDD8_isSettled, loads xD44_lifeTimer from x8_lifetime, and enters the active state. | |
| void | itFlipper_EnterActive (Item_GObj *gobj) |
| Enters the active (settled, hitbox-armed) state (motion state 5). | |
| bool | itFlipper_UpdateActive (Item_GObj *gobj) |
Per-frame update for the active flipper: advances the spin, damps leftover velocity, ticks xDDC_hitboxTimer, and expires the item by lifetime unless stage-fixed. | |
| bool | itFlipper_Active_Anim (Item_GObj *gobj) |
Animate callback for the active state (motion state 5): switches to spinning while xDE4_spinVel is nonzero. | |
| bool | itFlipper_Spinning_Anim (Item_GObj *gobj) |
Animate callback for the spinning state (motion state 6): returns to active once xDE4_spinVel reaches 0. | |
| void | itFlipper_Spinning_Phys (Item_GObj *gobj) |
Physics callback for the spinning state (motion state 6): re-pins a stage-fixed flipper to xDEC_stageAnchor each frame. | |
| bool | itFlipper_Spinning_Coll (Item_GObj *gobj) |
| Collision callback for the spinning state (motion state 6). | |
| bool | itFlipper_DmgDealt (Item_GObj *) |
Logic-20 "dealt damage" callback: bounces while airborne, or (once settled) arms xDDC_hitboxTimer and kicks spin from the fighter via xCF4_fighterGObjUnk. | |
| bool | itFlipper_Clanked (Item_GObj *) |
| Logic-20 clank callback: same handling as itFlipper_DmgDealt(). | |
| bool | itFlipper_HitShield (Item_GObj *) |
| Logic-20 shield-hit callback: same handling as itFlipper_DmgDealt(). | |
| bool | itFlipper_Reflected (Item_GObj *) |
| Logic-20 reflected callback. | |
| bool | itFlipper_ShieldBounced (Item_GObj *) |
| Logic-20 shield-bounce callback. | |
| bool | itFlipper_DmgReceived (Item_GObj *) |
Logic-20 "received damage" callback: when settled, arms xDDC_hitboxTimer and kicks spin from the attacking fighter via xCEC_fighterGObj (mirrors itFlipper_DmgDealt()'s xCF4). | |
| void | itFlipper_EnteredAir (Item_GObj *) |
| Logic-20 entered-air callback: enters the airborne state (motion state 4). | |
| bool | itFlipper_Airborne_Anim (Item_GObj *gobj) |
| Animate callback for the airborne state (motion state 4). | |
| void | itFlipper_Airborne_Phys (Item_GObj *gobj) |
| Physics callback for the airborne state (motion state 4). | |
| bool | itFlipper_Airborne_Coll (Item_GObj *gobj) |
| Collision callback for the airborne state (motion state 4): rests or falls on contact. | |
| void | itFlipper_EvtUnk (Item_GObj *, Item_GObj *) |
| Logic-20 event callback (purpose not yet identified). | |
Variables | |
| ItemStateTable | ItemStateTable_Flipper [] |
| void itFlipper_Spawned | ( | Item_GObj * | gobj | ) |
Logic-20 spawn callback: zero-initializes the itemVars and enters the falling state.
| void itFlipper_UpdateSpin | ( | Item_GObj * | gobj | ) |
| void itFlipper_SpinFromFighter | ( | Item_GObj * | gobj | ) |
Derives the spin impulse from the striking fighter's speed and applies it via itFlipper_AddSpinImpulse(), reading the fighter from xCF4_fighterGObjUnk (the dealt-damage side).
[E4]
| void itFlipper_EnterResting | ( | Item_GObj * | gobj | ) |
Animate callback for the resting state (motion state 0).
| void itFlipper_Resting_Phys | ( | Item_GObj * | gobj | ) |
Physics callback for the resting state (motion state 0).
Collision callback for the resting state (motion state 0): falls again if the ground vanishes.
| void itFlipper_EnterFalling | ( | Item_GObj * | gobj | ) |
Animate callback for the falling state (motion state 1).
| void itFlipper_Falling_Phys | ( | Item_GObj * | gobj | ) |
Physics callback for the falling state (motion state 1): applies gravity toward terminal speed.
Collision callback for the falling state (motion state 1): rests on landing.
| void itFlipper_PickedUp | ( | Item_GObj * | gobj | ) |
Animate callback for the held state (motion state 2).
| void itFlipper_Held_Phys | ( | Item_GObj * | gobj | ) |
Physics callback for the held state (motion state 2).
| void itFlipper_Dropped | ( | Item_GObj * | gobj | ) |
Logic-20 drop callback: forwards to itFlipper_Thrown() – a drop is handled as a throw.
| void itFlipper_Thrown | ( | Item_GObj * | gobj | ) |
| void itFlipper_Inflight_Phys | ( | Item_GObj * | gobj | ) |
Physics callback for the in-flight state (motion state 3): gravity plus end-of-flight velocity damping.
| void itFlipper_Settle | ( | Item_GObj * | gobj | ) |
| void itFlipper_EnterActive | ( | Item_GObj * | gobj | ) |
Animate callback for the active state (motion state 5): switches to spinning while xDE4_spinVel is nonzero.
Animate callback for the spinning state (motion state 6): returns to active once xDE4_spinVel reaches 0.
| void itFlipper_Spinning_Phys | ( | Item_GObj * | gobj | ) |
Collision callback for the spinning state (motion state 6).
Logic-20 clank callback: same handling as itFlipper_DmgDealt().
Logic-20 shield-hit callback: same handling as itFlipper_DmgDealt().
Logic-20 reflected callback.
Logic-20 shield-bounce callback.
Logic-20 "received damage" callback: when settled, arms xDDC_hitboxTimer and kicks spin from the attacking fighter via xCEC_fighterGObj (mirrors itFlipper_DmgDealt()'s xCF4).
[E1]
| void itFlipper_EnteredAir | ( | Item_GObj * | gobj | ) |
Logic-20 entered-air callback: enters the airborne state (motion state 4).
Animate callback for the airborne state (motion state 4).
| void itFlipper_Airborne_Phys | ( | Item_GObj * | gobj | ) |
Physics callback for the airborne state (motion state 4).
Collision callback for the airborne state (motion state 4): rests or falls on contact.
Logic-20 event callback (purpose not yet identified).
|
extern |