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*
36efLib_Create_AttachChild_Scale(u32 gfx_id, HSD_GObj* gobj, HSD_JObj* jobj);
37/* 05C6F4 */ EF_Effect* efLib_Create_Attach_Scale_FacingDir(u32 gfx_id,
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*
53efLib_CreateGenerator_Translate_FacingDir(s32 gfx_id, Vec3* translation,
54 f32 direction);
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, f32 unused1,
105 f32 unused2);
106/* 05F990 */ void efLib_SetParamGfxId(HSD_GObj* gobj, s32 gfx_id);
107
108// More effect callbacks (?)
109
110/* 05FAB8 */ void efLib_Cb_ApplyStoredAlpha(EF_Effect* effect);
111/* 05FBE4 */ void efLib_Cb_AccumOffset_FromParams(EF_Effect* effect);
112
113// Misplaced generator creation
114
115/* 05FCD8 */ EF_Effect* efLib_CreateGenerator_AppSRT_SetPos(int gfx_id,
116 HSD_GObj* gobj,
117 HSD_JObj* jobj,
118 Vec3* vec);
119
120extern EF_ParamEntry efLib_AnimQueue[0x10];
122
123#endif
static char unused1[]
Definition class.c:69
static char unused2[]
Definition class.c:70
EF_Effect * efLib_Create_AttachChild(u32 gfx_id, HSD_GObj *gobj, HSD_JObj *jobj)
Definition eflib.c:555
void efLib_SetTevKonstColor(HSD_JObj *jobj, s32 count, u32 konst, u32 tev0)
Definition eflib.c:1365
void efLib_particles_proc_aux(HSD_GObj *gobj)
Definition eflib.c:664
void efLib_Cb_SetJObjOffsetZ(EF_Effect *effect)
Definition eflib.c:1116
void efLib_remove_user_data(void *user_data)
Definition eflib.c:337
HSD_Generator * efLib_CreateGenerator(s32 gfx_id, Vec3 *pos)
Definition eflib.c:670
void efLib_Cb_ftMr_SpecialLw(EF_Effect *effect)
Definition eflib.c:1269
HSD_Generator * efLib_CreateGenerator_Attach_Scale(s32 gfx_id, va_list vlist, HSD_GObj *gobj)
Definition eflib.c:777
void efLib_Cb_SetScaleRotY_FromFighter(EF_Effect *effect)
Definition eflib.c:1218
HSD_Generator * efLib_CreateGenerator_Attach_AddAppSRT(s32 gfx_id, HSD_JObj *jobj)
Definition eflib.c:757
void efLib_Update(HSD_GObj *gobj)
Definition eflib.c:387
HSD_Generator * efLib_CreateGenerator_AppSRT_SetScale(s32 gfx_id, va_list vlist)
Definition eflib.c:793
void efLib_Cb_SetRotYZ_FromFighter(EF_Effect *effect)
Definition eflib.c:1148
EF_Effect * efLib_CreateGenerator_AppSRT_SetPos(int gfx_id, HSD_GObj *gobj, HSD_JObj *jobj, Vec3 *vec)
Definition eflib.c:1502
HSD_Generator * efLib_CreateGenerator_Attach(s32 gfx_id, HSD_JObj *jobj)
Definition eflib.c:747
void efLib_Cb_AccumOffset_FromParams(EF_Effect *effect)
Definition eflib.c:1491
void efLib_Cb_SetRotY_FromFighterDir(EF_Effect *effect)
Definition eflib.c:1132
EF_Effect * efLib_Create_Attach_Pos(u32 gfx_id, HSD_GObj *gobj, Vec3 *position)
Definition eflib.c:619
void efLib_ResumeAll(HSD_GObj *gobj)
Definition eflib.c:312
void efLib_SetParamGfxId(HSD_GObj *gobj, s32 gfx_id)
Definition eflib.c:1425
void efLib_Cb_ParticleRender(HSD_Particle *particle)
Definition eflib.c:998
void efLib_Cb_ftLg_SpecialLw(EF_Effect *effect)
Definition eflib.c:1299
void efLib_SetParamAlpha(HSD_GObj *gobj, u8 alpha, f32 unused1, f32 unused2)
Definition eflib.c:1400
void efLib_Cb_Fall_FromParamY(EF_Effect *effect)
Definition eflib.c:1166
EF_ParamEntry efLib_AnimQueue[0x10]
Definition eflib.c:1393
void efLib_particles_proc_main(HSD_GObj *gobj)
Definition eflib.c:658
void efLib_Cb_SetRotYAndTransition(EF_Effect *effect)
Definition eflib.c:1085
void efLib_Cb_DPtcl(int linkNo, int bank, int gfx_id, HSD_JObj *jobj)
Definition eflib.c:989
EF_Effect * efLib_Create_Attach(u32 gfx_id, HSD_GObj *gobj, HSD_JObj *jobj)
Definition eflib.c:536
void efLib_SpawnParticleEffect(int bank, s32 gfx_id, HSD_JObj *jobj, bool flag)
Definition eflib.c:839
void efLib_Destroy(HSD_GObj *gobj)
Definition eflib.c:216
HSD_Generator * efLib_CreateGenerator_AddAppSRT(s32 gfx_id)
Definition eflib.c:700
void efLib_Cb_LifetimeEndSpawn(EF_Effect *effect)
Definition eflib.c:1209
void efLib_Cb_ApplyStoredAlpha(EF_Effect *effect)
Definition eflib.c:1450
void efLib_Cb_SPtcl(s32 linkNo, s32 bank, s32 gfx_id, HSD_JObj *jobj)
Definition eflib.c:978
HSD_Generator * efLib_CreateGenerator_Translate_FacingDir(s32 gfx_id, Vec3 *translation, f32 direction)
Definition eflib.c:718
EF_Effect * efLib_Create_Attach_Scale_FacingDir(u32 gfx_id, HSD_GObj *gobj, HSD_JObj *jobj)
Definition eflib.c:598
void efLib_DestroyAll(HSD_GObj *gobj)
Definition eflib.c:239
void efLib_Cb_SetRotYZ_FromParamZ_FighterDir(EF_Effect *effect)
Definition eflib.c:1251
HSD_Generator * efLib_CreateGenerator_AppSRT_SetFacingDirScale(s32 gfx_id, va_list vlist)
Definition eflib.c:819
void efLib_PauseAll(HSD_GObj *gobj)
Definition eflib.c:287
void efLib_Init(void)
Definition eflib.c:156
void efLib_RemoveLast(void)
Definition eflib.c:353
void efLib_Cb_PtclAppSRTHook(HSD_Particle *particle)
Definition eflib.c:1032
EF_ParamEntry efLib_ParamTable[0x8]
Definition eflib.c:1398
void efLib_Cb_ftKp_SpecialHi(EF_Effect *effect)
Definition eflib.c:1330
void efLib_Cb_ftCo_Bury(EF_Effect *effect)
Definition eflib.c:1356
void efLib_Cb_SetOffset_FromParams(EF_Effect *effect)
Definition eflib.c:1190
EF_Effect * efLib_Create(int gfx_id, HSD_GObj *parent_gobj)
Definition eflib.c:432
void efLib_Cb_SetScale_FromParamX(EF_Effect *effect)
Definition eflib.c:1067
HSD_Generator * efLib_CreateGenerator_AppSRT_SetFacingDir(s32 gfx_id, va_list vlist)
Definition eflib.c:805
EF_Effect * efLib_Create_AttachChild_Scale(u32 gfx_id, HSD_GObj *gobj, HSD_JObj *jobj)
Definition eflib.c:576
void efLib_SetFlags(HSD_GObj *gobj, s32 expires)
Definition eflib.c:191
EF_Effect * efLib_Create_Attach_Scale(u32 gfx_id, HSD_GObj *gobj, HSD_JObj *jobj)
Definition eflib.c:564
void efLib_Cb_SetOffsetY_FromParamY(EF_Effect *effect)
Definition eflib.c:1056
static float direction(float x)
Definition gm_16AE.c:1677
signed long s32
Definition hsd_3B2B.h:1
unsigned char u8
Definition hsd_3B2B.h:2
#define STATIC_ASSERT(cond)
Definition platform.h:110
u8 alpha
Definition state.c:45
Definition types.h:51
Definition eflib.h:9
void * gobj
Definition eflib.h:10
u16 alpha
Definition eflib.h:12
u16 gfx_id
Definition eflib.h:11
was using this to try and fix some matches, unsuccessfully
Definition gobj.h:26
Definition psstructs.h:229
Definition jobj.h:107
Definition psstructs.h:115
Definition stdarg.h:4