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_ParamEntry efLib_AnimQueue[0x10]
Definition eflib.c:1412
EF_ParamEntry efLib_ParamTable[0x8]
Definition eflib.c:1417
EF_Effect * efLib_Create_AttachChild(u32 gfx_id, HSD_GObj *gobj, HSD_JObj *jobj)
Definition eflib.c:559
void efLib_SetTevKonstColor(HSD_JObj *jobj, s32 count, u32 konst, u32 tev0)
Definition eflib.c:1383
void efLib_particles_proc_aux(HSD_GObj *gobj)
Definition eflib.c:676
void efLib_Cb_SetJObjOffsetZ(EF_Effect *effect)
Definition eflib.c:1134
void efLib_remove_user_data(void *user_data)
Definition eflib.c:339
HSD_Generator * efLib_CreateGenerator(s32 gfx_id, Vec3 *pos)
Definition eflib.c:682
void efLib_Cb_ftMr_SpecialLw(EF_Effect *effect)
Definition eflib.c:1287
HSD_Generator * efLib_CreateGenerator_Attach_Scale(s32 gfx_id, va_list vlist, HSD_GObj *gobj)
Definition eflib.c:791
void efLib_Cb_SetScaleRotY_FromFighter(EF_Effect *effect)
Definition eflib.c:1236
HSD_Generator * efLib_CreateGenerator_Attach_AddAppSRT(s32 gfx_id, HSD_JObj *jobj)
Definition eflib.c:770
void efLib_Update(HSD_GObj *gobj)
Definition eflib.c:389
HSD_Generator * efLib_CreateGenerator_AppSRT_SetScale(s32 gfx_id, va_list vlist)
Definition eflib.c:809
void efLib_Cb_SetRotYZ_FromFighter(EF_Effect *effect)
Definition eflib.c:1166
EF_Effect * efLib_CreateGenerator_AppSRT_SetPos(int gfx_id, HSD_GObj *gobj, HSD_JObj *jobj, Vec3 *vec)
Definition eflib.c:1521
HSD_Generator * efLib_CreateGenerator_Attach(s32 gfx_id, HSD_JObj *jobj)
Definition eflib.c:761
void efLib_Cb_AccumOffset_FromParams(EF_Effect *effect)
Definition eflib.c:1510
void efLib_Cb_SetRotY_FromFighterDir(EF_Effect *effect)
Definition eflib.c:1150
EF_Effect * efLib_Create_Attach_Pos(u32 gfx_id, HSD_GObj *gobj, Vec3 *position)
Definition eflib.c:630
void efLib_ResumeAll(HSD_GObj *gobj)
Definition eflib.c:314
void efLib_SetParamGfxId(HSD_GObj *gobj, s32 gfx_id)
Definition eflib.c:1444
void efLib_Cb_ParticleRender(HSD_Particle *particle)
Definition eflib.c:1016
void efLib_Cb_ftLg_SpecialLw(EF_Effect *effect)
Definition eflib.c:1317
void efLib_SetParamAlpha(HSD_GObj *gobj, u8 alpha, f32 unused1, f32 unused2)
Definition eflib.c:1419
void efLib_Cb_Fall_FromParamY(EF_Effect *effect)
Definition eflib.c:1184
void efLib_particles_proc_main(HSD_GObj *gobj)
Definition eflib.c:670
void efLib_Cb_SetRotYAndTransition(EF_Effect *effect)
Definition eflib.c:1103
void efLib_Cb_DPtcl(int linkNo, int bank, int gfx_id, HSD_JObj *jobj)
Definition eflib.c:1007
EF_Effect * efLib_Create_Attach(u32 gfx_id, HSD_GObj *gobj, HSD_JObj *jobj)
Definition eflib.c:540
void efLib_SpawnParticleEffect(int bank, s32 gfx_id, HSD_JObj *jobj, bool flag)
Definition eflib.c:857
void efLib_Destroy(HSD_GObj *gobj)
Definition eflib.c:216
HSD_Generator * efLib_CreateGenerator_AddAppSRT(s32 gfx_id)
Definition eflib.c:712
void efLib_Cb_LifetimeEndSpawn(EF_Effect *effect)
Definition eflib.c:1227
void efLib_Cb_ApplyStoredAlpha(EF_Effect *effect)
Definition eflib.c:1469
void efLib_Cb_SPtcl(s32 linkNo, s32 bank, s32 gfx_id, HSD_JObj *jobj)
Definition eflib.c:996
HSD_Generator * efLib_CreateGenerator_Translate_FacingDir(s32 gfx_id, Vec3 *translation, f32 direction)
Definition eflib.c:730
EF_Effect * efLib_Create_Attach_Scale_FacingDir(u32 gfx_id, HSD_GObj *gobj, HSD_JObj *jobj)
Definition eflib.c:607
void efLib_DestroyAll(HSD_GObj *gobj)
Definition eflib.c:239
void efLib_Cb_SetRotYZ_FromParamZ_FighterDir(EF_Effect *effect)
Definition eflib.c:1269
HSD_Generator * efLib_CreateGenerator_AppSRT_SetFacingDirScale(s32 gfx_id, va_list vlist)
Definition eflib.c:837
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:355
void efLib_Cb_PtclAppSRTHook(HSD_Particle *particle)
Definition eflib.c:1050
void efLib_Cb_ftKp_SpecialHi(EF_Effect *effect)
Definition eflib.c:1348
void efLib_Cb_ftCo_Bury(EF_Effect *effect)
Definition eflib.c:1374
void efLib_Cb_SetOffset_FromParams(EF_Effect *effect)
Definition eflib.c:1208
EF_Effect * efLib_Create(int gfx_id, HSD_GObj *parent_gobj)
Definition eflib.c:435
void efLib_Cb_SetScale_FromParamX(EF_Effect *effect)
Definition eflib.c:1085
HSD_Generator * efLib_CreateGenerator_AppSRT_SetFacingDir(s32 gfx_id, va_list vlist)
Definition eflib.c:822
EF_Effect * efLib_Create_AttachChild_Scale(u32 gfx_id, HSD_GObj *gobj, HSD_JObj *jobj)
Definition eflib.c:583
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:569
void efLib_Cb_SetOffsetY_FromParamY(EF_Effect *effect)
Definition eflib.c:1074
static float direction(float x)
Definition gm_16AE.c:1679
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
__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
was using this to try and fix some matches, unsuccessfully
Definition gobj.h:26
Definition psstructs.h:240
Definition jobj.h:107
Definition psstructs.h:126