Example #1
0
void game::draw_explosion( const tripoint &p, const int r, const nc_color &col )
{
    if( test_mode ) {
        return; // avoid segfault from null tilecontext in tests
    }

    if( !use_tiles ) {
        draw_explosion_curses( *this, p, r, col );
        return;
    }

    if( !is_radius_visible( p, r ) ) {
        return;
    }

    explosion_animation anim;

    const bool visible = is_radius_visible( p, r );
    for( int i = 1; i <= r; i++ ) {
        tilecontext->init_explosion( p, i ); // TODO: not xpos ypos?
        if( visible ) {
            anim.progress();
        }
    }

    if( r > 0 ) {
        tilecontext->void_explosion();
    }
}
void game::draw_explosion( const tripoint &p, int const r, nc_color const col )
{
    if (!use_tiles) {
        draw_explosion_curses(*this, p, r, col);
        return;
    }

    for (int i = 1; i <= r; i++) {
        tilecontext->init_explosion( p, i ); // TODO not xpos ypos?
        wrefresh(w_terrain);
        draw_animation_delay(EXPLOSION_MULTIPLIER);
    }

    if (r > 0) {
        tilecontext->void_explosion();
    }
}
void game::draw_explosion( const tripoint &p, int const r, nc_color const col )
{
    draw_explosion_curses(*this, p, r, col);
}
Example #4
0
void game::draw_explosion( const tripoint &p, const int r, const nc_color &col )
{
    draw_explosion_curses( *this, p, r, col );
}