mirror of
https://github.com/korenkonder/ReDIVA.git
synced 2026-10-13 01:28:10 +03:00
Glitter Editor: Fixed crash after 2nd launch
This commit is contained in:
@@ -343,9 +343,9 @@ namespace Glitter {
|
||||
};
|
||||
|
||||
enum ParticleInstFlag {
|
||||
PARTICLE_INST_NONE = 0x00,
|
||||
PARTICLE_INST_ENDED = 0x01,
|
||||
PARTICLE_INST_NO_CHILD = 0x02,
|
||||
PARTICLE_INST_NONE = 0x00,
|
||||
PARTICLE_INST_ENDED = 0x01,
|
||||
PARTICLE_INST_LOCUS = 0x02,
|
||||
};
|
||||
|
||||
enum ParticleManagerFlag {
|
||||
|
||||
@@ -53,7 +53,7 @@ namespace Glitter {
|
||||
}
|
||||
}
|
||||
else
|
||||
enum_or(data.flags, PARTICLE_INST_NO_CHILD);
|
||||
enum_or(data.flags, PARTICLE_INST_LOCUS);
|
||||
}
|
||||
|
||||
F2ParticleInst::F2ParticleInst(F2ParticleInst* parent, float_t emission) {
|
||||
@@ -87,7 +87,7 @@ namespace Glitter {
|
||||
}
|
||||
|
||||
if (data.data.type == PARTICLE_LOCUS)
|
||||
enum_or(data.flags, PARTICLE_INST_NO_CHILD);
|
||||
enum_or(data.flags, PARTICLE_INST_LOCUS);
|
||||
}
|
||||
|
||||
F2ParticleInst::~F2ParticleInst() {
|
||||
@@ -154,7 +154,7 @@ namespace Glitter {
|
||||
return;
|
||||
|
||||
F2ParticleInst* ptcl = this;
|
||||
while (!ptcl->data.parent && ptcl->data.flags & PARTICLE_INST_NO_CHILD) {
|
||||
while (!ptcl->data.parent && ptcl->data.flags & PARTICLE_INST_LOCUS) {
|
||||
F2ParticleInst* particle = new F2ParticleInst(ptcl, emission);
|
||||
if (particle)
|
||||
ptcl->data.children.push_back(particle);
|
||||
@@ -415,7 +415,7 @@ namespace Glitter {
|
||||
else if (!a2)
|
||||
return true;
|
||||
|
||||
if (!(data.flags & PARTICLE_INST_NO_CHILD) || data.parent) {
|
||||
if (!(data.flags & PARTICLE_INST_LOCUS) || data.parent) {
|
||||
if (data.render_group && data.render_group->ctrl > 0)
|
||||
return false;
|
||||
return true;
|
||||
@@ -428,7 +428,7 @@ namespace Glitter {
|
||||
}
|
||||
|
||||
void F2ParticleInst::RenderGroupCtrl(GLT, float_t delta_frame) {
|
||||
if (data.parent || !(data.flags & PARTICLE_INST_NO_CHILD)) {
|
||||
if (data.parent || !(data.flags & PARTICLE_INST_LOCUS)) {
|
||||
if (data.render_group)
|
||||
data.render_group->Ctrl(GLT_VAL, delta_frame, true);
|
||||
return;
|
||||
@@ -520,7 +520,7 @@ namespace Glitter {
|
||||
}
|
||||
}
|
||||
else
|
||||
enum_or(data.flags, PARTICLE_INST_NO_CHILD);
|
||||
enum_or(data.flags, PARTICLE_INST_LOCUS);
|
||||
}
|
||||
|
||||
XParticleInst::XParticleInst(XParticleInst* parent, float_t emission) {
|
||||
@@ -550,7 +550,7 @@ namespace Glitter {
|
||||
}
|
||||
|
||||
if (data.data.type == PARTICLE_LOCUS)
|
||||
enum_or(data.flags, PARTICLE_INST_NO_CHILD);
|
||||
enum_or(data.flags, PARTICLE_INST_LOCUS);
|
||||
}
|
||||
|
||||
XParticleInst::~XParticleInst() {
|
||||
@@ -653,7 +653,7 @@ namespace Glitter {
|
||||
return;
|
||||
|
||||
XParticleInst* ptcl = this;
|
||||
while (!ptcl->data.parent && ptcl->data.flags & PARTICLE_INST_NO_CHILD) {
|
||||
while (!ptcl->data.parent && ptcl->data.flags & PARTICLE_INST_LOCUS) {
|
||||
XParticleInst* particle = new XParticleInst(ptcl, emission);
|
||||
if (particle)
|
||||
ptcl->data.children.push_back(particle);
|
||||
@@ -979,7 +979,7 @@ namespace Glitter {
|
||||
else if (!a2)
|
||||
return true;
|
||||
|
||||
if (!(data.flags & PARTICLE_INST_NO_CHILD) || data.parent) {
|
||||
if (!(data.flags & PARTICLE_INST_LOCUS) || data.parent) {
|
||||
if (data.render_group && data.render_group->ctrl > 0)
|
||||
return false;
|
||||
return true;
|
||||
@@ -992,7 +992,7 @@ namespace Glitter {
|
||||
}
|
||||
|
||||
void XParticleInst::RenderGroupCtrl(float_t delta_frame) {
|
||||
if (data.parent || !(data.flags & PARTICLE_INST_NO_CHILD)) {
|
||||
if (data.parent || !(data.flags & PARTICLE_INST_LOCUS)) {
|
||||
if (data.render_group)
|
||||
data.render_group->Ctrl(delta_frame, true);
|
||||
return;
|
||||
|
||||
@@ -362,6 +362,9 @@ bool GlitterEditor::init() {
|
||||
|
||||
input_reset = true;
|
||||
|
||||
effect_group = 0;
|
||||
scene = 0;
|
||||
|
||||
/*const char* path_vrfl = "VRFL\\";
|
||||
std::vector<std::string> files_vrfl = path_get_files(path_vrfl);
|
||||
auto files_vrfl_begin = files_vrfl.begin();
|
||||
@@ -2066,7 +2069,7 @@ static void glitter_editor_test_window(GlitterEditor* glt_edt) {
|
||||
float_t y;
|
||||
|
||||
float_t w = 280.0f;
|
||||
float_t h = 376.0f;
|
||||
float_t h = 352.0f;
|
||||
|
||||
ImGui::SetNextWindowPos({ 0, 0 }, ImGuiCond_FirstUseEver);
|
||||
ImGui::SetNextWindowSize({ w, h }, ImGuiCond_Always);
|
||||
|
||||
Reference in New Issue
Block a user