Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/render/renderext.cc')
-rw-r--r--src/render/renderext.cc14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/render/renderext.cc b/src/render/renderext.cc
index 5f24e85..049b3de 100644
--- a/src/render/renderext.cc
+++ b/src/render/renderext.cc
@@ -54,15 +54,14 @@ RenderExt::RenderExt(core::Entity *entity) : core::Extension(core::Extension::Re
flare->set_texture(Textures::load(flarename.str()));
}
- for (model::Model::ParticleSystems::iterator pit = model->particles().begin(); pit != model->particles().end(); pit++) {
- model::Particles *particlesystem = (*pit);
+ for (model::Model::ParticleSystems::const_iterator pit = model->particles().begin(); pit != model->particles().end(); pit++) {
+ // model attachment location tag
+ const model::Particles *particlesystem = (*pit);
- // TODO multiple particlesystems per script
-
// load particle systems
- ParticleScript *script = ParticleScript::load(particlesystem->script());
- if (script) {
- if (script->type() == render::ParticleScript::Trail) {
+ const ParticleScript *script = ParticleScript::load(particlesystem->script());
+ while (script) {
+ if ( script->type() == render::ParticleScript::Trail) {
Trail *trail = new Trail(script, entity, particlesystem);
state_particles.push_back(trail);
} else if (script->type() == render::ParticleScript::Jet) {
@@ -75,6 +74,7 @@ RenderExt::RenderExt(core::Entity *entity) : core::Extension(core::Extension::Re
Flame *flame = new Flame(script, entity, particlesystem);
state_particles.push_back(flame);
}
+ script = script->next();
}
}