Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStijn Buys <ingar@osirion.org>2008-12-20 21:32:51 +0000
committerStijn Buys <ingar@osirion.org>2008-12-20 21:32:51 +0000
commitda4b99de2cf290ccdd22587a8c50aeeadd5ac957 (patch)
treebe6f4f215bfb104833fbb69051d5ced6e1263ba6 /src/render/particles.h
parent988d88a366329d99794e9271b648dccef451efbc (diff)
single file particle scripts
Diffstat (limited to 'src/render/particles.h')
-rw-r--r--src/render/particles.h23
1 files changed, 18 insertions, 5 deletions
diff --git a/src/render/particles.h b/src/render/particles.h
index 9c9d44b..88789a5 100644
--- a/src/render/particles.h
+++ b/src/render/particles.h
@@ -45,7 +45,7 @@ protected:
class ParticleScript {
public:
- enum Type {Jet=0, Trail=1, Flame=2 };
+ enum Type {Jet=0, Trail=1, Flame=2, Spray=3 };
inline const Type type() const { return particles_type; }
@@ -66,15 +66,16 @@ public:
inline float alpha() const { return particles_alpha; }
inline float offset() const { return particles_offset; }
-
- static ParticleScript *find(const std::string &label);
- static void init();
+ static ParticleScript *load(const std::string &label);
static void clear();
+ static void list();
private:
- ParticleScript();
+ static ParticleScript *find(const std::string &label);
+
+ ParticleScript(const std::string label);
~ParticleScript();
std::string particles_label;
@@ -171,6 +172,18 @@ public:
virtual void draw(float elapsed);
};
+/* ---- class Spray ----------------------------------------------- */
+
+/// spray style particles
+class Spray : public ParticleSystem
+{
+public:
+ Spray(ParticleScript *script, core::Entity *entity, model::Particles *modelclass);
+ virtual ~Spray();
+
+ virtual void draw(float elapsed);
+};
+
/* ---- class Trail ------------------------------------------------ */
/// trail style particles, like an engine trail