SSBM Decomp
Loading...
Searching...
No Matches
itflipper.h
Go to the documentation of this file.
1
12
13#ifndef GALE01_290938
14#define GALE01_290938
15
16#include <Runtime/platform.h>
17
18#include <melee/it/forward.h>
19
21
40
47/* 290938 */ HSD_GObj* itFlipper_Spawn(HSD_JObj*);
48
54/* 290A20 */ void itFlipper_Spawned(Item_GObj*);
55
62/* 290A7C */ void itFlipper_UpdateSpin(Item_GObj*);
63
69/* 290C38 */ void itFlipper_AddSpinImpulse(Item_GObj*, Vec3*, f32);
70
77/* 290CE8 */ void itFlipper_SpinFromFighter(Item_GObj*);
78
84/* 290DD4 */ void itFlipper_Repel(Item_GObj* gobj, s32 kind, Vec3* pos);
85
91/* 290E78 */ void itFlipper_EnterResting(Item_GObj*);
92
97/* 290EC8 */ bool itFlipper_Resting_Anim(Item_GObj* gobj);
98
103/* 290ED0 */ void itFlipper_Resting_Phys(Item_GObj* gobj);
104
110/* 290ED4 */ bool itFlipper_Resting_Coll(Item_GObj* gobj);
111
116/* 290F00 */ void itFlipper_EnterFalling(Item_GObj* gobj);
117
122/* 290F28 */ bool itFlipper_Falling_Anim(Item_GObj* gobj);
123
129/* 290F30 */ void itFlipper_Falling_Phys(Item_GObj* gobj);
130
136/* 290F60 */ bool itFlipper_Falling_Coll(Item_GObj* gobj);
137
143/* 290F8C */ void itFlipper_PickedUp(Item_GObj*);
144
149/* 290FB4 */ bool itFlipper_Held_Anim(Item_GObj* gobj);
150
155/* 290FBC */ void itFlipper_Held_Phys(Item_GObj* gobj);
156
162/* 290FC0 */ void itFlipper_Dropped(Item_GObj*);
163
170/* 290FE0 */ void itFlipper_Thrown(Item_GObj*);
171
178/* 291068 */ bool itFlipper_Inflight_Anim(Item_GObj* gobj);
179
185/* 2910A8 */ void itFlipper_Inflight_Phys(Item_GObj* gobj);
186
193/* 291188 */ bool itFlipper_Inflight_Coll(Item_GObj* gobj);
194
201/* 291254 */ void itFlipper_Settle(Item_GObj*);
202
208/* 29131C */ void itFlipper_EnterActive(Item_GObj* gobj);
209
216/* 291344 */ bool itFlipper_UpdateActive(Item_GObj* gobj);
217
223/* 2914C8 */ bool itFlipper_Active_Anim(Item_GObj* gobj);
224
230/* 29151C */ bool itFlipper_Spinning_Anim(Item_GObj* gobj);
231
238/* 291570 */ void itFlipper_Spinning_Phys(Item_GObj* gobj);
239
244/* 2915B4 */ bool itFlipper_Spinning_Coll(Item_GObj* gobj);
245
253/* 2915E8 */ bool itFlipper_DmgDealt(Item_GObj*);
254
259/* 2917C8 */ bool itFlipper_Clanked(Item_GObj*);
260
265/* 2918A0 */ bool itFlipper_HitShield(Item_GObj*);
266
271/* 291978 */ bool itFlipper_Reflected(Item_GObj*);
272
277/* 291998 */ bool itFlipper_ShieldBounced(Item_GObj*);
278
285/* 2919B8 */ bool itFlipper_DmgReceived(Item_GObj*);
286
291/* 291B58 */ void itFlipper_EnteredAir(Item_GObj*);
292
297/* 291B80 */ bool itFlipper_Airborne_Anim(Item_GObj* gobj);
298
303/* 291B88 */ void itFlipper_Airborne_Phys(Item_GObj* gobj);
304
310/* 291B8C */ bool itFlipper_Airborne_Coll(Item_GObj* gobj);
311
316/* 291BC0 */ void itFlipper_EvtUnk(Item_GObj*, Item_GObj*);
317
323/* 3F5EA8 */ extern ItemStateTable ItemStateTable_Flipper[];
324
325#endif
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
struct Vec Vec3
signed int s32
Definition types.h:12
float f32
Definition types.h:18
HSD_GObj Item_GObj
Definition forward.h:64
Definition gobj.h:16
Definition jobj.h:106
Definition types.h:10