From 6105508ba02c2efadbb7901fff6b85beccafd39d Mon Sep 17 00:00:00 2001 From: Paweł Redman Date: Mon, 26 Mar 2018 19:45:14 +0200 Subject: Better effects. --- src/game/effects.cpp | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'src/game/effects.cpp') 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; -- cgit