NSMBW-Decomp
A decompilation of New Super Mario Bros. Wii
Loading...
Searching...
No Matches
m_effect.hpp
1#pragma once
2#include <lib/nw4r/ef.h>
3#include <lib/egg/util/eggEffect.hpp>
4#include <game/mLib/m_vec.hpp>
5#include <game/mLib/m_mtx.hpp>
6
7namespace mEf {
8
9class effect_c : public EGG::Effect {
10public:
11 effect_c() {}
12
13 virtual void reset();
14 virtual void createEffect(const char *, int);
15 virtual void createEffect(const char *, ulong, const mVec3_c *, const mAng3_c *, const mVec3_c *);
16 virtual void createEffect(const char *, ulong, const mMtx_c *);
17 virtual void vfa8();
18 virtual void vfac();
19 virtual bool follow(const mVec3_c *, const mAng3_c *, const mVec3_c *);
20 virtual bool follow(const mMtx_c *);
21
22 void copyExEffectParam();
23};
24
25class levelEffect_c : public effect_c {
26public:
27 levelEffect_c() : m_114(0), m_118(0), m_11c(0), m_11d(0), m_120(0), m_124(0) {}
28 virtual ~levelEffect_c() { cleanup(); }
29
30 virtual void fade();
31 virtual void kill();
32 virtual void update();
33 virtual void createEffect(const char *, int);
34 virtual void createEffect(const char *, ulong, const mVec3_c *, const mAng3_c *, const mVec3_c *);
35 virtual void createEffect(const char *, ulong, const mMtx_c *);
36 virtual void vfa8();
37 virtual void vfac();
38 virtual bool follow(const mVec3_c *, const mAng3_c *, const mVec3_c *);
39 virtual bool follow(const mMtx_c *);
40 virtual bool isActive();
41
42 void cleanup();
43
44 u32 m_114, m_118;
45 u8 m_11c, m_11d;
46 u32 m_120, m_124;
47};
48
49class levelOneEffect_c : public levelEffect_c {
50public:
51 levelOneEffect_c() { reset(); }
52 ~levelOneEffect_c() {}
53
54 virtual void reset();
55 virtual void createEffect(const char *, int);
56 virtual void createEffect(const char *, ulong, const mVec3_c *, const mAng3_c *, const mVec3_c *);
57 virtual void createEffect(const char *, ulong, const mMtx_c *);
58
59 float mEmissionRateMaybe;
60 nw4r::ef::EmitterInheritSetting mSetting;
61};
62
63void createEffect(const char *, unsigned long, const mVec3_c *, const mAng3_c *, const mVec3_c *);
64
65}; // namespace mEf
A three-dimensional short angle vector.
Definition m_angle.hpp:68
A 3x4 matrix.
Definition m_mtx.hpp:9
A three-dimensional floating point vector.
Definition m_vec.hpp:122