diff options
author | Paweł Redman <pawel.redman@gmail.com> | 2018-04-20 12:35:21 +0200 |
---|---|---|
committer | Paweł Redman <pawel.redman@gmail.com> | 2018-04-20 12:35:21 +0200 |
commit | f4fe2c7f10a8d2e253de27f1a540ca68184d5d29 (patch) | |
tree | 4916ce9f704aa2df7a71b6186c08fea2543090fe /src/game/effects.cpp | |
parent | fade55e67e1a6944461c16c1495dea9546243756 (diff) |
Pseudo 3D firing and misc. fixes.
Diffstat (limited to 'src/game/effects.cpp')
-rw-r--r-- | src/game/effects.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/game/effects.cpp b/src/game/effects.cpp index da045ef..501b296 100644 --- a/src/game/effects.cpp +++ b/src/game/effects.cpp @@ -182,4 +182,28 @@ void fx_explosion_t::render_to(render::state_t *render) render->render(phase, &assets::fx.explosion, render_bounds, sf::Color::White); } +fx_ricochet_t::fx_ricochet_t(state_t *game_, v2f_t x_) : effect_t(game_) +{ + ttl = game->now + 0.3; + + x = x_; + + render_bounds[0] = x - v2f_t(0.12f, 0.12f); + render_bounds[1] = x + v2f_t(0.12f, 0.12f); + render_bounds = render_bounds.norm(); + cmodel.bounds = render_bounds; + cmodel.cflags = 0; + + ignore_waking = true; + wake(); + + assets::fx.ricochet_sound.play_3d(x); +} + +void fx_ricochet_t::render_to(render::state_t *render) +{ + double phase = (game->now - ttl) / 0.3f; + render->render(phase, &assets::fx.ricochet, render_bounds, sf::Color::White); +} + } // namespace game |