diff options
author | Paweł Redman <pawel.redman@gmail.com> | 2018-03-26 19:45:14 +0200 |
---|---|---|
committer | Paweł Redman <pawel.redman@gmail.com> | 2018-03-26 19:45:14 +0200 |
commit | 6105508ba02c2efadbb7901fff6b85beccafd39d (patch) | |
tree | df3181d5e94001cab4176757ee8fb62e7bd8f8bb /src/game/effects.cpp | |
parent | 1c1c32fc463110d515cd43d6f149053f26a2672f (diff) |
Better effects.
Diffstat (limited to 'src/game/effects.cpp')
-rw-r--r-- | src/game/effects.cpp | 25 |
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; |