SSBM Decomp
Loading...
Searching...
No Matches
eflib.h
Go to the documentation of this file.
1#ifndef MELEE_EF_EFLIB_H
2#define MELEE_EF_EFLIB_H
3
4#include "ef/forward.h"
5#include <baselib/forward.h>
6
7#include <dolphin/mtx.h>
8
9typedef struct EF_ParamEntry {
10 /* 0x0 */ void* gobj;
11 /* 0x4 */ u16 gfx_id;
12 /* 0x6 */ u16 alpha;
13} EF_ParamEntry; /* size = 0x8 */
15
16/* 05B4B8 */ void efLib_Init(void);
17/* 05B704 */ void efLib_SetFlags(HSD_GObj* gobj, s32 expires);
18/* 05B780 */ void efLib_Destroy(HSD_GObj* gobj);
19/* 05B880 */ void efLib_DestroyAll(HSD_GObj* gobj);
20/* 05BA40 */ void efLib_PauseAll(HSD_GObj* gobj);
21/* 05BAC4 */ void efLib_ResumeAll(HSD_GObj* gobj);
22/* 05BB40 */ void efLib_remove_user_data(void* user_data);
23/* 05BBB4 */ void efLib_RemoveLast(void);
24/* 05BC50 */ void efLib_Update(HSD_GObj* gobj);
25
26// Create effects
27
28/* 05BE88 */ EF_Effect* efLib_Create(int gfx_id, HSD_GObj* parent_gobj);
29/* 05C1B4 */ EF_Effect* efLib_Create_Attach(u32 gfx_id, HSD_GObj* gobj,
30 HSD_JObj* jobj);
31/* 05C2BC */ EF_Effect* efLib_Create_AttachChild(u32 gfx_id, HSD_GObj* gobj,
32 HSD_JObj* jobj);
33/* 05C3DC */ EF_Effect* efLib_Create_Attach_Scale(u32 gfx_id, HSD_GObj* gobj,
34 HSD_JObj* jobj);
35/* 05C5C4 */ EF_Effect*
38 HSD_GObj* gobj,
39 HSD_JObj* jobj);
40/* 05C814 */ EF_Effect* efLib_Create_Attach_Pos(u32 gfx_id, HSD_GObj* gobj,
41 Vec3* position);
42
43// Particle processing callbacks
44
45/* 05C9A4 */ void efLib_particles_proc_main(HSD_GObj* gobj);
46/* 05C9D0 */ void efLib_particles_proc_aux(HSD_GObj* gobj);
47
48// Create generators
49
50/* 05C9FC */ HSD_Generator* efLib_CreateGenerator(s32 gfx_id, Vec3* pos);
52/* 05CB34 */ HSD_Generator*
56 HSD_JObj* jobj);
57/* 05CC84 */ HSD_Generator*
59/* 05CD2C */ HSD_Generator*
61/* 05CE48 */ HSD_Generator*
63/* 05CF40 */ HSD_Generator*
65/* 05D044 */ HSD_Generator*
67
68// Called by particles library
69
70/* 05D174 */ void efLib_SpawnParticleEffect(int bank, s32 gfx_id,
71 HSD_JObj* jobj, bool flag);
72
73// Particle-related callbacks
74
75/* 05DB20 */ void efLib_Cb_SPtcl(s32 linkNo, s32 bank, s32 gfx_id,
76 HSD_JObj* jobj);
77/* 05DB70 */ void efLib_Cb_DPtcl(int linkNo, int bank, int gfx_id,
78 HSD_JObj* jobj);
79/* 05DBC0 */ void efLib_Cb_ParticleRender(HSD_Particle* particle);
80/* 05DCD0 */ void efLib_Cb_PtclAppSRTHook(HSD_Particle* particle);
81
82// Effect callbacks
83
84/* 05DDB8 */ void efLib_Cb_SetOffsetY_FromParamY(EF_Effect* effect);
85/* 05DE94 */ void efLib_Cb_SetScale_FromParamX(EF_Effect* effect);
86/* 05E090 */ void efLib_Cb_SetRotYAndTransition(EF_Effect* effect);
87/* 05E1D8 */ void efLib_Cb_SetJObjOffsetZ(EF_Effect* effect);
88/* 05E2B4 */ void efLib_Cb_SetRotY_FromFighterDir(EF_Effect* effect);
89/* 05E3A0 */ void efLib_Cb_SetRotYZ_FromFighter(EF_Effect* effect);
90/* 05E648 */ void efLib_Cb_Fall_FromParamY(EF_Effect* effect);
91/* 05E950 */ void efLib_Cb_SetOffset_FromParams(EF_Effect* effect);
92/* 05EB70 */ void efLib_Cb_LifetimeEndSpawn(EF_Effect* effect);
93/* 05EBC8 */ void efLib_Cb_SetScaleRotY_FromFighter(EF_Effect* effect);
94/* 05EDDC */ void efLib_Cb_SetRotYZ_FromParamZ_FighterDir(EF_Effect* effect);
95/* 05F08C */ void efLib_Cb_ftMr_SpecialLw(EF_Effect* effect);
96/* 05F270 */ void efLib_Cb_ftLg_SpecialLw(EF_Effect* effect);
97/* 05F454 */ void efLib_Cb_ftKp_SpecialHi(EF_Effect* effect);
98/* 05F748 */ void efLib_Cb_ftCo_Bury(EF_Effect* effect);
99
100// Property setting
101
102/* 05F774 */ void efLib_SetTevKonstColor(HSD_JObj* jobj, s32 count, u32 konst,
103 u32 tev0);
104/* 05F864 */ void efLib_SetParamAlpha(HSD_GObj* gobj, u8 alpha);
105/* 05F990 */ void efLib_SetParamGfxId(HSD_GObj* gobj, s32 gfx_id);
106
107// More effect callbacks (?)
108
109/* 05FAB8 */ void efLib_Cb_ApplyStoredAlpha(EF_Effect* effect);
110/* 05FBE4 */ void efLib_Cb_AccumOffset_FromParams(EF_Effect* effect);
111
112// Misplaced generator creation
113
114/* 05FCD8 */ EF_Effect* efLib_CreateGenerator_AppSRT_SetPos(int gfx_id,
115 HSD_GObj* gobj,
116 HSD_JObj* jobj,
117 Vec3* vec);
118
119extern EF_ParamEntry efLib_AnimQueue[0x10];
121
122#endif
EF_ParamEntry efLib_AnimQueue[0x10]
Definition eflib.c:1414
EF_ParamEntry efLib_ParamTable[0x8]
Definition eflib.c:1419
EF_Effect * efLib_Create_AttachChild(u32 gfx_id, HSD_GObj *gobj, HSD_JObj *jobj)
Definition eflib.c:561
void efLib_SetTevKonstColor(HSD_JObj *jobj, s32 count, u32 konst, u32 tev0)
Definition eflib.c:1385
void efLib_particles_proc_aux(HSD_GObj *gobj)
Definition eflib.c:678
void efLib_Cb_SetJObjOffsetZ(EF_Effect *effect)
Definition eflib.c:1136
void efLib_remove_user_data(void *user_data)
Definition eflib.c:341
HSD_Generator * efLib_CreateGenerator(s32 gfx_id, Vec3 *pos)
Definition eflib.c:684
void efLib_Cb_ftMr_SpecialLw(EF_Effect *effect)
Definition eflib.c:1289
void efLib_SetParamAlpha(HSD_GObj *gobj, u8 alpha)
Definition eflib.c:1421
HSD_Generator * efLib_CreateGenerator_Attach_Scale(s32 gfx_id, va_list vlist, HSD_GObj *gobj)
Definition eflib.c:793
void efLib_Cb_SetScaleRotY_FromFighter(EF_Effect *effect)
Definition eflib.c:1238
HSD_Generator * efLib_CreateGenerator_Attach_AddAppSRT(s32 gfx_id, HSD_JObj *jobj)
Definition eflib.c:772
void efLib_Update(HSD_GObj *gobj)
Definition eflib.c:391
HSD_Generator * efLib_CreateGenerator_AppSRT_SetScale(s32 gfx_id, va_list vlist)
Definition eflib.c:811
void efLib_Cb_SetRotYZ_FromFighter(EF_Effect *effect)
Definition eflib.c:1168
EF_Effect * efLib_CreateGenerator_AppSRT_SetPos(int gfx_id, HSD_GObj *gobj, HSD_JObj *jobj, Vec3 *vec)
Definition eflib.c:1523
HSD_Generator * efLib_CreateGenerator_Attach(s32 gfx_id, HSD_JObj *jobj)
Definition eflib.c:763
void efLib_Cb_AccumOffset_FromParams(EF_Effect *effect)
Definition eflib.c:1512
void efLib_Cb_SetRotY_FromFighterDir(EF_Effect *effect)
Definition eflib.c:1152
EF_Effect * efLib_Create_Attach_Pos(u32 gfx_id, HSD_GObj *gobj, Vec3 *position)
Definition eflib.c:632
void efLib_ResumeAll(HSD_GObj *gobj)
Definition eflib.c:316
void efLib_SetParamGfxId(HSD_GObj *gobj, s32 gfx_id)
Definition eflib.c:1446
void efLib_Cb_ParticleRender(HSD_Particle *particle)
Definition eflib.c:1018
void efLib_Cb_ftLg_SpecialLw(EF_Effect *effect)
Definition eflib.c:1319
void efLib_Cb_Fall_FromParamY(EF_Effect *effect)
Definition eflib.c:1186
void efLib_particles_proc_main(HSD_GObj *gobj)
Definition eflib.c:672
void efLib_Cb_SetRotYAndTransition(EF_Effect *effect)
Definition eflib.c:1105
void efLib_Cb_DPtcl(int linkNo, int bank, int gfx_id, HSD_JObj *jobj)
Definition eflib.c:1009
EF_Effect * efLib_Create_Attach(u32 gfx_id, HSD_GObj *gobj, HSD_JObj *jobj)
Definition eflib.c:542
void efLib_SpawnParticleEffect(int bank, s32 gfx_id, HSD_JObj *jobj, bool flag)
Definition eflib.c:859
void efLib_Destroy(HSD_GObj *gobj)
Definition eflib.c:218
HSD_Generator * efLib_CreateGenerator_AddAppSRT(s32 gfx_id)
Definition eflib.c:714
void efLib_Cb_LifetimeEndSpawn(EF_Effect *effect)
Definition eflib.c:1229
void efLib_Cb_ApplyStoredAlpha(EF_Effect *effect)
Definition eflib.c:1471
void efLib_Cb_SPtcl(s32 linkNo, s32 bank, s32 gfx_id, HSD_JObj *jobj)
Definition eflib.c:998
HSD_Generator * efLib_CreateGenerator_Translate_FacingDir(s32 gfx_id, Vec3 *translation, f32 direction)
Definition eflib.c:732
EF_Effect * efLib_Create_Attach_Scale_FacingDir(u32 gfx_id, HSD_GObj *gobj, HSD_JObj *jobj)
Definition eflib.c:609
void efLib_DestroyAll(HSD_GObj *gobj)
Definition eflib.c:241
void efLib_Cb_SetRotYZ_FromParamZ_FighterDir(EF_Effect *effect)
Definition eflib.c:1271
HSD_Generator * efLib_CreateGenerator_AppSRT_SetFacingDirScale(s32 gfx_id, va_list vlist)
Definition eflib.c:839
void efLib_PauseAll(HSD_GObj *gobj)
Definition eflib.c:289
void efLib_Init(void)
Definition eflib.c:158
void efLib_RemoveLast(void)
Definition eflib.c:357
void efLib_Cb_PtclAppSRTHook(HSD_Particle *particle)
Definition eflib.c:1052
void efLib_Cb_ftKp_SpecialHi(EF_Effect *effect)
Definition eflib.c:1350
void efLib_Cb_ftCo_Bury(EF_Effect *effect)
Definition eflib.c:1376
void efLib_Cb_SetOffset_FromParams(EF_Effect *effect)
Definition eflib.c:1210
EF_Effect * efLib_Create(int gfx_id, HSD_GObj *parent_gobj)
Definition eflib.c:437
void efLib_Cb_SetScale_FromParamX(EF_Effect *effect)
Definition eflib.c:1087
HSD_Generator * efLib_CreateGenerator_AppSRT_SetFacingDir(s32 gfx_id, va_list vlist)
Definition eflib.c:824
EF_Effect * efLib_Create_AttachChild_Scale(u32 gfx_id, HSD_GObj *gobj, HSD_JObj *jobj)
Definition eflib.c:585
void efLib_SetFlags(HSD_GObj *gobj, s32 expires)
Definition eflib.c:193
EF_Effect * efLib_Create_Attach_Scale(u32 gfx_id, HSD_GObj *gobj, HSD_JObj *jobj)
Definition eflib.c:571
void efLib_Cb_SetOffsetY_FromParamY(EF_Effect *effect)
Definition eflib.c:1076
struct Vec Vec3
unsigned long u32
Definition types.h:9
float f32
Definition types.h:13
unsigned short int u16
Definition types.h:7
static float direction(float x)
Definition gm_16AE.c:1748
signed long s32
Definition hsd_3B2B.h:1
unsigned char u8
Definition hsd_3B2B.h:2
#define STATIC_ASSERT(cond)
Definition platform.h:132
u8 alpha
Definition state.c:45
__va_list va_list
Definition stdarg.h:11
Definition types.h:63
Definition eflib.h:9
void * gobj
Definition eflib.h:10
u16 alpha
Definition eflib.h:12
u16 gfx_id
Definition eflib.h:11
Definition gobj.h:24
Definition psstructs.h:240
Definition jobj.h:107
Definition psstructs.h:126