NSMBW-Decomp
A decompilation of New Super Mario Bros. Wii
Loading...
Searching...
No Matches
ef_drawsmoothstripestrategy.h
1#ifndef NW4R_EF_DRAW_STRATEGY_DRAW_SMOOTH_STRIPE_STRATEGY_H
2#define NW4R_EF_DRAW_STRATEGY_DRAW_SMOOTH_STRIPE_STRATEGY_H
3#include <nw4r/types_nw4r.h>
4
5#include <nw4r/ef/drawstrategy/ef_drawstrategyimpl.h>
6
7#include <nw4r/math.h>
8
9namespace nw4r {
10namespace ef {
11
12// Forward declarations
13class Particle;
14
15class DrawSmoothStripeStrategy : public DrawStrategyImpl {
16public:
18 f32 mCos; // at 0x0
19 f32 mSin; // at 0x4
20 };
21
22 struct Vertex {
23 math::VEC3 mVertex0; // at 0x0
24 math::VEC3 mVertex1; // at 0xC
25 f32 mTexCoord; // at 0x18
26 };
27
28 struct VertexTube {
29 math::VEC3 mCenter; // at 0x0
30 math::VEC3 mX; // at 0xC
31 math::VEC3 mZ; // at 0x18
32 f32 mTexCoord; // at 0x24
33 };
34
35 struct AheadContextStripe : public AheadContext {
36 math::VEC3 mEmitterAxisX; // at 0xBC
37 math::VEC3 mScreenAxisZ; // at 0xC8
38 Trigonometric* mTrigonometric; // at 0xD4
39 };
40
41public:
42 DrawSmoothStripeStrategy();
43
44 virtual void Draw(const DrawInfo& rInfo,
45 ParticleManager* pManager); // at 0xC
46
47 virtual GetFirstDrawParticleFunc
48 GetGetFirstDrawParticleFunc(int drawOrder); // at 0x10
49
50 virtual GetNextDrawParticleFunc
51 GetGetNextDrawParticleFunc(int drawOrder); // at 0x14
52
53 virtual CalcAheadFunc
54 GetCalcAheadFunc(ParticleManager* pManager); // at 0x18
55};
56
57} // namespace ef
58} // namespace nw4r
59
60#endif