ItemStateTable ItemStateTable_Flipper[]
The flipper's motion-state table: the per-state {animate, physics, collision} callbacks indexed by it...
Definition itflipper.c:18
void itFlipper_Airborne_Phys(Item_GObj *gobj)
Physics callback for the airborne state (motion state 4).
Definition itflipper.c:607
void itFlipper_Thrown(Item_GObj *)
Logic-20 throw callback: loads xDD4_flightTimer from x4_smashThrowDuration (smash) or x0_throwDuratio...
Definition itflipper.c:301
void itFlipper_Dropped(Item_GObj *)
Logic-20 drop callback: forwards to itFlipper_Thrown() – a drop is handled as a throw.
Definition itflipper.c:296
void itFlipper_Spawned(Item_GObj *)
Logic-20 spawn callback: zero-initializes the itemVars and enters the falling state.
Definition itflipper.c:86
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).
Definition itflipper.c:225
bool itFlipper_Falling_Anim(Item_GObj *gobj)
Animate callback for the falling state (motion state 1).
Definition itflipper.c:266
bool itFlipper_Inflight_Anim(Item_GObj *gobj)
Animate callback for the in-flight state (motion state 3): decrements xDD4_flightTimer and settles th...
Definition itflipper.c:320
void itFlipper_EvtUnk(Item_GObj *, Item_GObj *)
Logic-20 event callback (purpose not yet identified).
Definition itflipper.c:615
bool itFlipper_Active_Anim(Item_GObj *gobj)
Animate callback for the active state (motion state 5): switches to spinning while xDE4_spinVel is no...
Definition itflipper.c:445
bool itFlipper_UpdateActive(Item_GObj *gobj)
Per-frame update for the active flipper: advances the spin, damps leftover velocity,...
Definition itflipper.c:405
bool itFlipper_DmgReceived(Item_GObj *)
Logic-20 "received damage" callback: when settled, arms xDDC_hitboxTimer and kicks spin from the atta...
Definition itflipper.c:577
void itFlipper_SpinFromFighter(Item_GObj *)
Derives the spin impulse from the striking fighter's speed and applies it via itFlipper_AddSpinImpuls...
Definition itflipper.c:191
bool itFlipper_Airborne_Anim(Item_GObj *gobj)
Animate callback for the airborne state (motion state 4).
Definition itflipper.c:602
HSD_GObj * itFlipper_Spawn(HSD_JObj *)
Spawns a flipper pinned to a stage joint jobj (Break-the-Targets obstacles): stores it in xDEC_stageA...
Definition itflipper.c:63
bool itFlipper_Resting_Anim(Item_GObj *gobj)
Animate callback for the resting state (motion state 0).
Definition itflipper.c:248
bool itFlipper_Airborne_Coll(Item_GObj *gobj)
Collision callback for the airborne state (motion state 4): rests or falls on contact.
Definition itflipper.c:609
bool itFlipper_ShieldBounced(Item_GObj *)
Logic-20 shield-bounce callback.
Definition itflipper.c:556
void itFlipper_EnterFalling(Item_GObj *gobj)
Enters the falling state (motion state 1).
Definition itflipper.c:261
void itFlipper_Inflight_Phys(Item_GObj *gobj)
Physics callback for the in-flight state (motion state 3): gravity plus end-of-flight velocity dampin...
Definition itflipper.c:331
void itFlipper_Settle(Item_GObj *)
Settles a thrown flipper into a stationary hazard: stops it, sets xDD8_isSettled, loads xD44_lifeTime...
Definition itflipper.c:369
bool itFlipper_Resting_Coll(Item_GObj *gobj)
Collision callback for the resting state (motion state 0): falls again if the ground vanishes.
Definition itflipper.c:255
bool itFlipper_DmgDealt(Item_GObj *)
Logic-20 "dealt damage" callback: bounces while airborne, or (once settled) arms xDDC_hitboxTimer and...
Definition itflipper.c:505
itFlipper_MotionState
Motion-state ids written to the item's motion state through Item_80268E5C; each value equals the UnkM...
Definition itflipper.h:31
@ FLIPPER_MS_FALLING
Definition itflipper.h:33
@ FLIPPER_MS_ACTIVE
Definition itflipper.h:37
@ FLIPPER_MS_INFLIGHT
Definition itflipper.h:35
@ FLIPPER_MS_HELD
Definition itflipper.h:34
@ FLIPPER_MS_SPINNING
Definition itflipper.h:38
@ FLIPPER_MS_RESTING
Definition itflipper.h:32
@ FLIPPER_MS_AIRBORNE
Definition itflipper.h:36
bool itFlipper_Inflight_Coll(Item_GObj *gobj)
Collision callback for the in-flight state (motion state 3): bounces off walls/ceiling by xC_wallBoun...
Definition itflipper.c:346
bool itFlipper_Held_Anim(Item_GObj *gobj)
Animate callback for the held state (motion state 2).
Definition itflipper.c:289
void itFlipper_Falling_Phys(Item_GObj *gobj)
Physics callback for the falling state (motion state 1): applies gravity toward terminal speed.
Definition itflipper.c:271
bool itFlipper_Spinning_Anim(Item_GObj *gobj)
Animate callback for the spinning state (motion state 6): returns to active once xDE4_spinVel reaches...
Definition itflipper.c:454
void itFlipper_Resting_Phys(Item_GObj *gobj)
Physics callback for the resting state (motion state 0).
Definition itflipper.c:253
bool itFlipper_Spinning_Coll(Item_GObj *gobj)
Collision callback for the spinning state (motion state 6).
Definition itflipper.c:474
void itFlipper_Spinning_Phys(Item_GObj *gobj)
Physics callback for the spinning state (motion state 6): re-pins a stage-fixed flipper to xDEC_stage...
Definition itflipper.c:463
void itFlipper_AddSpinImpulse(Item_GObj *, Vec3 *, f32)
Adds a spin impulse directed by the contact point pos, clamped to +/- x24_maxSpinVel.
Definition itflipper.c:135
void itFlipper_Held_Phys(Item_GObj *gobj)
Physics callback for the held state (motion state 2).
Definition itflipper.c:294
bool itFlipper_Clanked(Item_GObj *)
Logic-20 clank callback: same handling as itFlipper_DmgDealt().
Definition itflipper.c:539
void itFlipper_EnterResting(Item_GObj *)
Resets the flipper's velocity and enters the resting state (motion state 0).
Definition itflipper.c:242
void itFlipper_PickedUp(Item_GObj *)
Logic-20 pickup callback: enters the held state (motion state 2).
Definition itflipper.c:284
void itFlipper_UpdateSpin(Item_GObj *)
Advances the paddle spin one frame: decays xDE4_spinVel toward 0, adds it into xDE0_spinAngle,...
Definition itflipper.c:101
void itFlipper_EnterActive(Item_GObj *gobj)
Enters the active (settled, hitbox-armed) state (motion state 5).
Definition itflipper.c:390
bool itFlipper_HitShield(Item_GObj *)
Logic-20 shield-hit callback: same handling as itFlipper_DmgDealt().
Definition itflipper.c:545
bool itFlipper_Reflected(Item_GObj *)
Logic-20 reflected callback.
Definition itflipper.c:551
bool itFlipper_Falling_Coll(Item_GObj *gobj)
Collision callback for the falling state (motion state 1): rests on landing.
Definition itflipper.c:278
void itFlipper_EnteredAir(Item_GObj *)
Logic-20 entered-air callback: enters the airborne state (motion state 4).
Definition itflipper.c:597
signed int s32
Definition types.h:12
float f32
Definition types.h:18
HSD_GObj Item_GObj
Definition forward.h:64