summaryrefslogtreecommitdiff
path: root/src/game/effects.cpp
diff options
context:
space:
mode:
authorPaweł Redman <pawel.redman@gmail.com>2018-03-26 19:45:14 +0200
committerPaweł Redman <pawel.redman@gmail.com>2018-03-26 19:45:14 +0200
commit6105508ba02c2efadbb7901fff6b85beccafd39d (patch)
treedf3181d5e94001cab4176757ee8fb62e7bd8f8bb /src/game/effects.cpp
parent1c1c32fc463110d515cd43d6f149053f26a2672f (diff)
Better effects.
Diffstat (limited to 'src/game/effects.cpp')
-rw-r--r--src/game/effects.cpp25
1 files changed, 24 insertions, 1 deletions
diff --git a/src/game/effects.cpp b/src/game/effects.cpp
index 39a1f1e..96d04d1 100644
--- a/src/game/effects.cpp
+++ b/src/game/effects.cpp
@@ -51,7 +51,7 @@ void fx_tracer_t::render_to(render::state_t *render)
v2f_t x0l, x1l;
float t;
- t = 1.0f - (ttl - game->now) / 0.07f * 0.7f;
+ t = (1.0f - (ttl - game->now) / 0.07f) * 0.7f;
x0l[0] = lerp(x0[0], x1[0], t);
x0l[1] = lerp(x0[1], x1[1], t);
@@ -61,6 +61,29 @@ void fx_tracer_t::render_to(render::state_t *render)
render->render_line(x0l, x1l, sf::Color::Yellow);
}
+
+fx_flash_t::fx_flash_t(state_t *game_, v2f_t x_, float radius_) : effect_t(game_)
+{
+ ttl = game->now + 0.07;
+
+ x = x_;
+ radius = radius_;
+
+ render_bounds[0] = x - v2f_t(radius, radius);
+ render_bounds[1] = x + v2f_t(radius, radius);
+ render_bounds = render_bounds.norm();
+ cmodel.bounds = render_bounds;
+ cmodel.cflags = 0;
+
+ ignore_waking = true;
+ wake();
+}
+
+void fx_flash_t::render_to(render::state_t *render)
+{
+ render->render(0.0f, &assets::fx.flash, render_bounds, sf::Color(255, 170, 50, 80));
+}
+
fx_blood_t::fx_blood_t(state_t *game_, v2f_t x_, bool alien_) : effect_t(game_)
{
ttl = game->now + 0.3f;