1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
|
#ifndef JSTUDIO_JPARTICLE_CONTROL_H
#define JSTUDIO_JPARTICLE_CONTROL_H
#include "JSystem/JParticle/JPAParticle.h"
#include "JSystem/JParticle/JPAEmitter.h"
#include "JSystem/JStage/JSGSystem.h"
#include "JSystem/JStudio/JStudio/jstudio-object.h"
namespace JStudio_JParticle {
struct TCreateObject : public JStudio::TCreateObject {
typedef JStudio::TObject* (*CreateFunc)(JStudio::stb::data::TParse_TBlock_object const&,
JStudio_JParticle::TCreateObject*);
TCreateObject(JPAEmitterManager* p_emitMgr, const JStage::TSystem* p_system) {
pJPAEmitterManager_ = p_emitMgr;
pJSGSystem_ = p_system;
mPermit_onExit_notEnd = false;
}
/* 8028E3A0 */ virtual ~TCreateObject();
/* 8028E400 */ virtual bool create(JStudio::TObject**,
JStudio::stb::data::TParse_TBlock_object const&);
/* 8028E474 */ virtual JPABaseEmitter* emitter_create(u32);
/* 8028E4E4 */ virtual void emitter_destroy(JPABaseEmitter*);
/* 8028E508 */ static JStudio::TObject*
createObject_JPA_PARTICLE_(JStudio::stb::data::TParse_TBlock_object const&,
JStudio_JParticle::TCreateObject*);
const JStage::TSystem* get_pJSGSystem_() { return pJSGSystem_; }
bool isPermit_onExit_notEnd() { return mPermit_onExit_notEnd; }
/* 0x0C */ JPAEmitterManager* pJPAEmitterManager_;
/* 0x10 */ const JStage::TSystem* pJSGSystem_;
/* 0x14 */ bool mPermit_onExit_notEnd;
};
struct TAdaptor_particle : public JStudio::TAdaptor_particle {
typedef JStudio::TObject_particle ObjectType;
struct TJPACallback_emitter_ : public JPAEmitterCallBack {
TJPACallback_emitter_(TAdaptor_particle* param_1) {
pThis_ = param_1;
pOld = NULL;
JUT_ASSERT(113, pThis_!=0);
}
/* 8028E700 */ virtual ~TJPACallback_emitter_() {}
/* 8028ECC0 */ virtual void execute(JPABaseEmitter*);
/* 8028F060 */ virtual void executeAfter(JPABaseEmitter*);
/* 8028F098 */ virtual void draw(JPABaseEmitter*);
/* 8028F0D0 */ virtual void drawAfter(JPABaseEmitter*);
JPAEmitterCallBack* getOld() { return pOld; }
void setOld(JPAEmitterCallBack* cb) { pOld = cb; }
/* 0x4 */ TAdaptor_particle* pThis_;
/* 0x8 */ JPAEmitterCallBack* pOld;
};
struct TJPAEmitter_stopDrawParticle_ {
TJPAEmitter_stopDrawParticle_(JPABaseEmitter* emitter) : pJPAEmitter_(emitter) {}
~TJPAEmitter_stopDrawParticle_() {
if (pJPAEmitter_ != NULL) {
pJPAEmitter_->stopDrawParticle();
}
}
void set(JPABaseEmitter* emitter) { pJPAEmitter_ = emitter; }
/* 0x0 */ JPABaseEmitter* pJPAEmitter_;
};
/* 8028E60C */ TAdaptor_particle(JStudio_JParticle::TCreateObject*);
/* 8028F108 */ void beginParticle_fadeIn_();
/* 8028F1C0 */ void endParticle_fadeOut_(u32);
/* 8028E760 */ virtual ~TAdaptor_particle();
/* 8028E850 */ virtual void adaptor_do_prepare();
/* 8028E97C */ virtual void adaptor_do_end();
/* 8028E980 */ virtual void adaptor_do_update(u32);
/* 8028EA68 */ virtual void adaptor_do_PARTICLE(JStudio::data::TEOperationData, void const*, u32);
/* 8028EA7C */ virtual void adaptor_do_BEGIN(JStudio::data::TEOperationData, void const*, u32);
/* 8028EAB0 */ virtual void adaptor_do_BEGIN_FADE_IN(JStudio::data::TEOperationData, void const*,
u32);
/* 8028EAF8 */ virtual void adaptor_do_END(JStudio::data::TEOperationData, void const*, u32);
/* 8028EB24 */ virtual void adaptor_do_END_FADE_OUT(JStudio::data::TEOperationData, void const*,
u32);
/* 8028EB6C */ virtual void adaptor_do_PARENT(JStudio::data::TEOperationData, void const*, u32);
/* 8028EBD8 */ virtual void adaptor_do_PARENT_NODE(JStudio::data::TEOperationData, void const*,
u32);
/* 8028EC58 */ virtual void adaptor_do_PARENT_ENABLE(JStudio::data::TEOperationData, void const*,
u32);
/* 8028EC74 */ virtual void adaptor_do_PARENT_FUNCTION(JStudio::data::TEOperationData, void const*,
u32);
/* 8028EC88 */ virtual void adaptor_do_REPEAT(JStudio::data::TEOperationData, void const*, u32);
/* 8028ECA4 */ virtual void adaptor_do_ON_EXIT_NOT_END(JStudio::data::TEOperationData, void const*,
u32);
static bool state_isFade_(u8 param_1) {
return param_1 == 1 || param_1 == 3;
}
bool state_isFade_() {
return state_isFade_(field_0x1b8);
}
void beginParticle_fadeIn_(u32 param_1) {
field_0x1c8 = param_1;
beginParticle_fadeIn_();
}
void beginParticle_() {
beginParticle_fadeIn_(0);
}
void endParticle_() {
if (pJPAEmitter_ != NULL) {
pJPAEmitter_->becomeInvalidEmitter();
}
}
void set_bPermit_onExit_notEnd_(bool param_1) { field_0x1b4 = param_1; }
/* 0x1A0 */ TCreateObject* pCreateObject_;
/* 0x1A4 */ JPABaseEmitter* pJPAEmitter_;
/* 0x1A8 */ TJPACallback_emitter_ field_0x1a8;
/* 0x1B4 */ u8 field_0x1b4;
/* 0x1B5 */ u8 field_0x1b5;
/* 0x1B6 */ u8 field_0x1b6;
/* 0x1B7 */ u8 field_0x1b7;
/* 0x1B8 */ u8 field_0x1b8;
/* 0x1BC */ u32 field_0x1bc;
/* 0x1C0 */ u32 u32FadeTime_end;
/* 0x1C4 */ u32 field_0x1c4;
/* 0x1C8 */ u32 field_0x1c8;
/* 0x1CC */ u32 field_0x1cc;
/* 0x1D0 */ JStage::TObject* field_0x1d0;
/* 0x1D4 */ u32 field_0x1d4;
/* 0x1D8 */ u8 field_0x1d8;
};
}; // namespace JStudio_JParticle
#endif /* JSTUDIO_JPARTICLE_CONTROL_H */
|