summaryrefslogtreecommitdiff
path: root/src/game/game.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/game.hpp')
-rw-r--r--src/game/game.hpp23
1 files changed, 20 insertions, 3 deletions
diff --git a/src/game/game.hpp b/src/game/game.hpp
index a952576..0a1d0ca 100644
--- a/src/game/game.hpp
+++ b/src/game/game.hpp
@@ -2,7 +2,8 @@
namespace game {
enum {
- ET_UNIT
+ ET_UNIT,
+ ET_EFFECT
};
enum {
@@ -119,7 +120,7 @@ namespace game {
v2f_t last_target_x;
public:
- human_t(game::state_t *game);
+ human_t(game::state_t *game_);
void render_to(render::state_t *render);
void wake(unit_t *by_whom);
@@ -132,7 +133,7 @@ namespace game {
double next_targetting = -INFINITY;
public:
- alien_t(game::state_t *game);
+ alien_t(game::state_t *game_);
void render_to(render::state_t *render);
void wake(unit_t *by_whom);
@@ -140,4 +141,20 @@ namespace game {
void think(void);
void die(void);
};
+
+ class effect_t : public world::entity_t {
+ public:
+ game::state_t *game;
+
+ double ttl = +INFINITY;
+ effect_t(game::state_t *game_);
+ };
+
+ class fx_tracer_t : public effect_t {
+ v2f_t x0, x1;
+
+ public:
+ fx_tracer_t(game::state_t *game_, v2f_t x0_, v2f_t x1_);
+ void render_to(render::state_t *render);
+ };
};