History

added keyboard mode switching for rave glove effects

Jeffrey Ventrella committed 13 years ago

Commit 9890cf71 parent 1d5bf206 files · +118 −51Browse files

Showing the changes to interface/src/ParticleSystem.cpp (1 of 6 files). Show all

Unified · Split

interface/src/ParticleSystem.cpp+18−17
@@ -25,19 +25,19 @@ ParticleSystem::ParticleSystem() { · 24 unmodified lines
25 25
26 for (unsigned int emitterIndex = 0; emitterIndex < MAX_EMITTERS; emitterIndex++) {26 for (unsigned int emitterIndex = 0; emitterIndex < MAX_EMITTERS; emitterIndex++) {
27 27
28 Emitter e = _emitter[emitterIndex];28 Emitter * e = &_emitter[emitterIndex];
29 29
30 e.position = glm::vec3(0.0f, 0.0f, 0.0f);30 e->position = glm::vec3(0.0f, 0.0f, 0.0f);
31 e.direction = glm::vec3(0.0f, 1.0f, 0.0f);31 e->direction = glm::vec3(0.0f, 1.0f, 0.0f);
32 e.visible = false;32 e->visible = false;
33 e.particleResolution = DEFAULT_PARTICLE_SPHERE_RESOLUTION;33 e->particleResolution = DEFAULT_PARTICLE_SPHERE_RESOLUTION;
34 e.particleLifespan = DEFAULT_PARTICLE_LIFESPAN;34 e->particleLifespan = DEFAULT_PARTICLE_LIFESPAN;
35 e.showingBaseParticle = false;35 e->showingBaseParticle = false;
36 e.emitReserve = 0.0;36 e->emitReserve = 0.0;
37 e.thrust = 0.0f;37 e->thrust = 0.0f;
38 e.rate = 0.0f;38 e->rate = 0.0f;
39 e.currentParticle = 0;39 e->currentParticle = 0;
40 e.particleRenderStyle = PARTICLE_RENDER_STYLE_SPHERE;40 e->particleRenderStyle = PARTICLE_RENDER_STYLE_SPHERE;
41 41
42 for (int lifeStage = 0; lifeStage<NUM_PARTICLE_LIFE_STAGES; lifeStage++) {42 for (int lifeStage = 0; lifeStage<NUM_PARTICLE_LIFE_STAGES; lifeStage++) {
43 43
@@ -102,8 +102,9 @@ void ParticleSystem::simulate(float deltaTime) { · 58 unmodified lines
102 }102 }
103 103
104 // update particles104 // update particles
105
105 for (unsigned int p = 0; p < _numParticles; p++) {106 for (unsigned int p = 0; p < _numParticles; p++) {
106 if (_particle[p].alive) {107 if (_particle[p].alive) {
107 if (_particle[p].age > _emitter[_particle[p].emitterIndex].particleLifespan) {108 if (_particle[p].age > _emitter[_particle[p].emitterIndex].particleLifespan) {
108 killParticle(p);109 killParticle(p);
109 } else {110 } else {
@@ -319,12 +320,12 @@ void ParticleSystem::render() { · 209 unmodified lines
319 }320 }
320 }; 321 };
321 322
322 // render the particles323 // render the particles
323 for (unsigned int p = 0; p < _numParticles; p++) {324 for (unsigned int p = 0; p < _numParticles; p++) {
324 if (_particle[p].alive) {325 if (_particle[p].alive) {
325 if (_emitter[_particle[p].emitterIndex].particleLifespan > 0.0) {326 if (_emitter[_particle[p].emitterIndex].particleLifespan > 0.0) {
326 renderParticle(p);327 renderParticle(p);
327 }328 }
328 }329 }
329 }330 }
330}331}
@@ -363,8 +364,8 @@ void ParticleSystem::renderParticle(int p) { · 32 unmodified lines
363 } else if (_emitter[_particle[p].emitterIndex].particleRenderStyle == PARTICLE_RENDER_STYLE_SPHERE) {364 } else if (_emitter[_particle[p].emitterIndex].particleRenderStyle == PARTICLE_RENDER_STYLE_SPHERE) {
364 365
365 glPushMatrix();366 glPushMatrix();
366 glTranslatef(_particle[p].position.x, _particle[p].position.y, _particle[p].position.z);367 glTranslatef(_particle[p].position.x, _particle[p].position.y, _particle[p].position.z);
367 glutSolidSphere(_particle[p].radius, _emitter[_particle[p].emitterIndex].particleResolution, _emitter[_particle[p].emitterIndex].particleResolution);368 glutSolidSphere(_particle[p].radius, _emitter[_particle[p].emitterIndex].particleResolution, _emitter[_particle[p].emitterIndex].particleResolution);
368 glPopMatrix();369 glPopMatrix();
369 370
370 } else if (_emitter[_particle[p].emitterIndex].particleRenderStyle == PARTICLE_RENDER_STYLE_RIBBON) {371 } else if (_emitter[_particle[p].emitterIndex].particleRenderStyle == PARTICLE_RENDER_STYLE_RIBBON) {