SSBM Decomp
Loading...
Searching...
No Matches
itflipper.h
Go to the documentation of this file.
1#ifndef GALE01_290938
2#define GALE01_290938
3
4#include <Runtime/platform.h>
5
6#include <melee/it/forward.h>
7
9
19
20/* 290938 */ HSD_GObj* itFlipper_Spawn(HSD_JObj*);
21/* 290A20 */ void itFlipper_Spawned(Item_GObj*);
22/* 290A7C */ void itFlipper_UpdateSpin(Item_GObj*);
23/* 290C38 */ void itFlipper_AddSpinImpulse(Item_GObj*, Vec3*, f32);
24/* 290CE8 */ void itFlipper_SpinFromFighter(Item_GObj*);
25/* 290DD4 */ void itFlipper_Repel(Item_GObj* gobj, s32 kind, Vec3* pos);
26/* 290E78 */ void itFlipper_EnterResting(Item_GObj*);
27/* 290EC8 */ bool itFlipper_Resting_Anim(Item_GObj* gobj);
28/* 290ED0 */ void itFlipper_Resting_Phys(Item_GObj* gobj);
29/* 290ED4 */ bool itFlipper_Resting_Coll(Item_GObj* gobj);
30/* 290F00 */ void itFlipper_EnterFalling(Item_GObj* gobj);
31/* 290F28 */ bool itFlipper_Falling_Anim(Item_GObj* gobj);
32/* 290F30 */ void itFlipper_Falling_Phys(Item_GObj* gobj);
33/* 290F60 */ bool itFlipper_Falling_Coll(Item_GObj* gobj);
34/* 290F8C */ void itFlipper_PickedUp(Item_GObj*);
35/* 290FB4 */ bool itFlipper_Held_Anim(Item_GObj* gobj);
36/* 290FBC */ void itFlipper_Held_Phys(Item_GObj* gobj);
37/* 290FC0 */ void itFlipper_Dropped(Item_GObj*);
38/* 290FE0 */ void itFlipper_Thrown(Item_GObj*);
39/* 291068 */ bool itFlipper_Inflight_Anim(Item_GObj* gobj);
40/* 2910A8 */ void itFlipper_Inflight_Phys(Item_GObj* gobj);
41/* 291188 */ bool itFlipper_Inflight_Coll(Item_GObj* gobj);
42/* 291254 */ void itFlipper_Settle(Item_GObj*);
43/* 29131C */ void itFlipper_EnterActive(Item_GObj* gobj);
44/* 291344 */ bool itFlipper_UpdateActive(Item_GObj* gobj);
45/* 2914C8 */ bool itFlipper_Active_Anim(Item_GObj* gobj);
46/* 29151C */ bool itFlipper_Spinning_Anim(Item_GObj* gobj);
47/* 291570 */ void itFlipper_Spinning_Phys(Item_GObj* gobj);
48/* 2915B4 */ bool itFlipper_Spinning_Coll(Item_GObj* gobj);
49/* 2915E8 */ bool itFlipper_DmgDealt(Item_GObj*);
50/* 2917C8 */ bool itFlipper_Clanked(Item_GObj*);
51/* 2918A0 */ bool itFlipper_HitShield(Item_GObj*);
52/* 291978 */ bool itFlipper_Reflected(Item_GObj*);
53/* 291998 */ bool itFlipper_ShieldBounced(Item_GObj*);
54/* 2919B8 */ bool itFlipper_DmgReceived(Item_GObj*);
55/* 291B58 */ void itFlipper_EnteredAir(Item_GObj*);
56/* 291B80 */ bool itFlipper_Airborne_Anim(Item_GObj* gobj);
57/* 291B88 */ void itFlipper_Airborne_Phys(Item_GObj* gobj);
58/* 291B8C */ bool itFlipper_Airborne_Coll(Item_GObj* gobj);
59/* 291BC0 */ void itFlipper_EvtUnk(Item_GObj*, Item_GObj*);
60/* 3F5EA8 */ extern ItemStateTable ItemStateTable_Flipper[];
61
62#endif
struct Vec Vec3
float f32
Definition types.h:13
signed long s32
Definition types.h:8
HSD_GObj * gobj
Definition gm_19EF.c:73
p kind
Finds the GameScene for a given scene kind.
Definition gm_1A45.dox:35
ItemStateTable ItemStateTable_Flipper[]
Definition itflipper.c:17
void itFlipper_Airborne_Phys(Item_GObj *gobj)
Physics callback for the airborne state (motion state 4).
Definition itflipper.c:623
void itFlipper_Thrown(Item_GObj *)
Logic-20 throw callback: loads xDD4_flightTimer from x4_smashThrowDuration (smash) or x0_throwDuratio...
Definition itflipper.c:300
void itFlipper_Dropped(Item_GObj *)
Logic-20 drop callback: forwards to itFlipper_Thrown() – a drop is handled as a throw.
Definition itflipper.c:295
void itFlipper_Spawned(Item_GObj *)
Logic-20 spawn callback: zero-initializes the itemVars and enters the falling state.
Definition itflipper.c:92
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:233
bool itFlipper_Falling_Anim(Item_GObj *gobj)
Animate callback for the falling state (motion state 1).
Definition itflipper.c:265
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:318
void itFlipper_EvtUnk(Item_GObj *, Item_GObj *)
Logic-20 event callback (purpose not yet identified).
Definition itflipper.c:631
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:441
bool itFlipper_UpdateActive(Item_GObj *gobj)
Per-frame update for the active flipper: advances the spin, damps leftover velocity,...
Definition itflipper.c:401
bool itFlipper_DmgReceived(Item_GObj *)
Logic-20 "received damage" callback: when settled, arms xDDC_hitboxTimer and kicks spin from the atta...
Definition itflipper.c:591
void itFlipper_SpinFromFighter(Item_GObj *)
Derives the spin impulse from the striking fighter's speed and applies it via itFlipper_AddSpinImpuls...
Definition itflipper.c:196
bool itFlipper_Airborne_Anim(Item_GObj *gobj)
Animate callback for the airborne state (motion state 4).
Definition itflipper.c:618
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:62
bool itFlipper_Resting_Anim(Item_GObj *gobj)
Animate callback for the resting state (motion state 0).
Definition itflipper.c:247
bool itFlipper_Airborne_Coll(Item_GObj *gobj)
Collision callback for the airborne state (motion state 4): rests or falls on contact.
Definition itflipper.c:625
bool itFlipper_ShieldBounced(Item_GObj *)
Logic-20 shield-bounce callback.
Definition itflipper.c:570
void itFlipper_EnterFalling(Item_GObj *gobj)
Enters the falling state (motion state 1).
Definition itflipper.c:260
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:329
void itFlipper_Settle(Item_GObj *)
Settles a thrown flipper into a stationary hazard: stops it, sets xDD8_isSettled, loads xD44_lifeTime...
Definition itflipper.c:366
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:254
bool itFlipper_DmgDealt(Item_GObj *)
Logic-20 "dealt damage" callback: bounces while airborne, or (once settled) arms xDDC_hitboxTimer and...
Definition itflipper.c:479
itFlipper_MotionState
Definition itflipper.h:10
@ FLIPPER_MS_FALLING
Definition itflipper.h:12
@ FLIPPER_MS_ACTIVE
Definition itflipper.h:16
@ FLIPPER_MS_INFLIGHT
Definition itflipper.h:14
@ FLIPPER_MS_HELD
Definition itflipper.h:13
@ FLIPPER_MS_SPINNING
Definition itflipper.h:17
@ FLIPPER_MS_RESTING
Definition itflipper.h:11
@ FLIPPER_MS_AIRBORNE
Definition itflipper.h:15
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:344
bool itFlipper_Held_Anim(Item_GObj *gobj)
Animate callback for the held state (motion state 2).
Definition itflipper.c:288
void itFlipper_Falling_Phys(Item_GObj *gobj)
Physics callback for the falling state (motion state 1): applies gravity toward terminal speed.
Definition itflipper.c:270
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:450
void itFlipper_Resting_Phys(Item_GObj *gobj)
Physics callback for the resting state (motion state 0).
Definition itflipper.c:252
bool itFlipper_Spinning_Coll(Item_GObj *gobj)
Collision callback for the spinning state (motion state 6).
Definition itflipper.c:470
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:459
void itFlipper_AddSpinImpulse(Item_GObj *, Vec3 *, f32)
Adds a spin impulse directed by the contact point pos, clamped to +/- x24_maxSpinVel.
Definition itflipper.c:140
void itFlipper_Held_Phys(Item_GObj *gobj)
Physics callback for the held state (motion state 2).
Definition itflipper.c:293
bool itFlipper_Clanked(Item_GObj *)
Logic-20 clank callback: same handling as itFlipper_DmgDealt().
Definition itflipper.c:512
void itFlipper_EnterResting(Item_GObj *)
Resets the flipper's velocity and enters the resting state (motion state 0).
Definition itflipper.c:239
void itFlipper_PickedUp(Item_GObj *)
Logic-20 pickup callback: enters the held state (motion state 2).
Definition itflipper.c:283
void itFlipper_UpdateSpin(Item_GObj *)
Advances the paddle spin one frame: decays xDE4_spinVel toward 0, adds it into xDE0_spinAngle,...
Definition itflipper.c:107
void itFlipper_EnterActive(Item_GObj *gobj)
Enters the active (settled, hitbox-armed) state (motion state 5).
Definition itflipper.c:386
bool itFlipper_HitShield(Item_GObj *)
Logic-20 shield-hit callback: same handling as itFlipper_DmgDealt().
Definition itflipper.c:537
bool itFlipper_Reflected(Item_GObj *)
Logic-20 reflected callback.
Definition itflipper.c:565
bool itFlipper_Falling_Coll(Item_GObj *gobj)
Collision callback for the falling state (motion state 1): rests on landing.
Definition itflipper.c:277
void itFlipper_EnteredAir(Item_GObj *)
Logic-20 entered-air callback: enters the airborne state (motion state 4).
Definition itflipper.c:613
HSD_GObj Item_GObj
Definition forward.h:55
Definition gobj.h:28
Definition jobj.h:104
Definition types.h:12