Fix splash screen glitches when launching by double-clicking (or drag-dropping) a file

This commit is contained in:
2015-06-13 23:14:18 -04:00
parent 0798f98523
commit b16c2a40cd
2 changed files with 16 additions and 9 deletions

View File

@@ -237,14 +237,17 @@ void plop_fancy_startup() {
int delay = 220;
if(show_startup_splash){
mainPtr.clear(sf::Color::Black);
intro_from.offset((whole_window.right - intro_from.right) / 2,(whole_window.bottom - intro_from.bottom) / 2);
pict_to_draw.loadFromImage(*ResMgr::get<ImageRsrc>("startsplash"));
from_rect = rectangle(pict_to_draw);
rect_draw_some_item(pict_to_draw, from_rect, mainPtr, intro_from);
for(int k = 0; k < 5; k++) {
mainPtr.clear(sf::Color::Black);
intro_from.offset((whole_window.right - intro_from.right) / 2,(whole_window.bottom - intro_from.bottom) / 2);
pict_to_draw.loadFromImage(*ResMgr::get<ImageRsrc>("startsplash"));
from_rect = rectangle(pict_to_draw);
rect_draw_some_item(pict_to_draw, from_rect, mainPtr, intro_from);
mainPtr.display();
mainPtr.pollEvent(event);
}
} else delay = 60;
delay = time_in_ticks(delay).asMilliseconds();
mainPtr.display();
sf::Clock timer;
if(show_startup_splash) play_sound(-22);

View File

@@ -316,17 +316,21 @@ void Set_up_win () {
}
void run_startup_g() {
sf::Event event;
rectangle pict_rect = {0,0,480,640}, dest_rect;
sf::Texture pict_to_draw;
dest_rect = pict_rect;
dest_rect.offset(-25,-25);
pict_to_draw.loadFromImage(*ResMgr::get<ImageRsrc>("edsplash"));
rect_draw_some_item(pict_to_draw, pict_rect, mainPtr, dest_rect, sf::BlendAlpha);
mainPtr.display();
for(int i = 0; i < 10; i++) {
mainPtr.clear(sf::Color::Black);
rect_draw_some_item(pict_to_draw, pict_rect, mainPtr, dest_rect, sf::BlendAlpha);
mainPtr.display();
mainPtr.pollEvent(event);
}
play_sound(-95);
sf::Clock timer;
sf::Event event;
while(timer.getElapsedTime() < time_in_ticks(120)) {
mainPtr.pollEvent(event);
if(event.type == sf::Event::KeyPressed || event.type == sf::Event::MouseButtonPressed)