void Layer::drawPass( Engine& engine, Tile& tile, const Point& offset, Renderer::Pass pass) { Point screenPos = tile.mappos() + offset; switch( pass ) { case Renderer::ground: engine.draw( tile.picture(), screenPos ); break; case Renderer::groundAnimation: { if( tile.animation().isValid() ) { engine.draw( tile.animation().currentFrame(), screenPos ); } } break; case Renderer::overlay: { if( tile.rov().isNull() ) return; engine.draw( tile.rov()->picture(), screenPos ); } break; default: { if( tile.rov().isNull() ) return; engine.draw( tile.rov()->pictures( pass ), screenPos ); } break; } }