#include "game.hpp" namespace game { effect_t::effect_t(state_t *game_) : world::entity_t(ET_EFFECT) { game = game_; } fx_tracer_t::fx_tracer_t(state_t *game_, v2f_t x0_, v2f_t x1_) : effect_t(game_) { ttl = game->now + 0.07; x0 = x0_; x1 = x1_; render_bounds[0] = x0; render_bounds[1] = x1; render_bounds = render_bounds.norm(); } 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; x0l[0] = lerp(x0[0], x1[0], t); x0l[1] = lerp(x0[1], x1[1], t); x1l[0] = lerp(x0[0], x1[0], t + 0.3f); x1l[1] = lerp(x0[1], x1[1], t + 0.3f); render->render_line(x0l, x1l, sf::Color::Yellow); } } // namespace game