SSBM Decomp
Loading...
Searching...
No Matches
inlines.h
Go to the documentation of this file.
1#ifndef MELEE_EF_INLINES_H
2#define MELEE_EF_INLINES_H
3
4#include <melee/ef/types.h>
8
9#ifdef M2C
10#define GET_EFFECT(gobj) ((EF_Effect*) HSD_GObjGetUserData((HSD_GObj*) gobj))
11#else
12#define GET_EFFECT(gobj) ((EF_Effect*) HSD_GObjGetUserData(gobj))
13#endif
14
15static inline f32 Effect_GetFacingRotationY(f32 facing_dir)
16{
17 f64 rotation;
18
19 if (facing_dir < 0.0f) {
20 rotation = -M_PI_2;
21 } else {
22 rotation = M_PI_2;
23 }
24 return rotation;
25}
26
27static inline void Effect_SetFacingDir(EF_Effect* effect, f32 facing_dir)
28{
30 Effect_GetFacingRotationY(facing_dir));
31}
32
33static inline void Effect_SetGeneratorPos(HSD_Generator* generator, Vec3* pos)
34{
35 generator->appsrt->translate = *pos;
36}
37
38static inline void Effect_SetGeneratorScale(HSD_Generator* generator,
39 f32 scale)
40{
41 generator->appsrt->scale.x = generator->appsrt->scale.y =
42 generator->appsrt->scale.z = scale;
43}
44
45static inline void Effect_SetRotationZ(EF_Effect* effect, f32 rotation)
46{
47 HSD_JObjSetRotationZ(GET_JOBJ(effect->gobj), rotation);
48}
49
50#endif
static f32 Effect_GetFacingRotationY(f32 facing_dir)
Definition inlines.h:15
static void Effect_SetGeneratorScale(HSD_Generator *generator, f32 scale)
Definition inlines.h:38
static void Effect_SetGeneratorPos(HSD_Generator *generator, Vec3 *pos)
Definition inlines.h:33
static void Effect_SetRotationZ(EF_Effect *effect, f32 rotation)
Definition inlines.h:45
static void Effect_SetFacingDir(EF_Effect *effect, f32 facing_dir)
Definition inlines.h:27
#define GET_JOBJ(gobj)
Definition gobj.h:134
static float const scale
Definition itlgunray.c:21
static void HSD_JObjSetRotationZ(HSD_JObj *jobj, f32 z)
Definition jobj.h:337
static void HSD_JObjSetRotationY(HSD_JObj *jobj, f32 y)
Definition jobj.h:317
struct Vec Vec3
float f32
Definition types.h:18
double f64
Definition types.h:19
#define M_PI_2
Definition platform.h:157
Definition types.h:61
HSD_GObj * gobj
Definition types.h:63
Definition psstructs.h:243
HSD_psAppSRT * appsrt
Definition psstructs.h:266
Vec3 translate
Definition psstructs.h:96
Vec3 scale
Definition psstructs.h:98
f32 z
Definition mtx.h:15
f32 x
Definition mtx.h:15
f32 y
Definition mtx.h:15