File: ParticleEmitterEffect.cpp

package info (click to toggle)
freespace2 24.0.2%2Brepack-1
  • links: PTS, VCS
  • area: non-free
  • in suites: trixie
  • size: 43,188 kB
  • sloc: cpp: 583,107; ansic: 21,729; python: 1,174; sh: 464; makefile: 248; xml: 181
file content (39 lines) | stat: -rw-r--r-- 1,047 bytes parent folder | download | duplicates (4)
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

#include "particle/ParticleSource.h"
#include "particle/effects/ParticleEmitterEffect.h"
#include "bmpman/bmpman.h"
#include "parse/parselo.h"

namespace particle {
namespace effects {
ParticleEmitterEffect::ParticleEmitterEffect() : ParticleEffect("") {
	memset(&m_emitter, 0, sizeof(m_emitter));
}

bool ParticleEmitterEffect::processSource(ParticleSource* source) {
	particle_emitter emitter = m_emitter;
	source->getOrigin()->getGlobalPosition(&emitter.pos);
	emitter.normal = source->getOrientation()->getDirectionVector(source->getOrigin());

	emit(&emitter, PARTICLE_BITMAP, m_particleBitmap, m_range);

	return false;
}

void ParticleEmitterEffect::parseValues(bool) {
	error_display(1, "Parsing not implemented for this effect because I'm lazy...");
}

void ParticleEmitterEffect::pageIn() {
	bm_page_in_texture(m_particleBitmap);
}

void ParticleEmitterEffect::setValues(const particle_emitter& emitter, int bitmap, float range) {
	Assert(bm_is_valid(bitmap));

	m_emitter = emitter;
	m_particleBitmap = bitmap;
	m_range = range;
}
}
}