Fix splash screen glitches when launching by double-clicking (or drag-dropping) a file
This commit is contained in:
@@ -237,14 +237,17 @@ void plop_fancy_startup() {
|
|||||||
|
|
||||||
int delay = 220;
|
int delay = 220;
|
||||||
if(show_startup_splash){
|
if(show_startup_splash){
|
||||||
|
for(int k = 0; k < 5; k++) {
|
||||||
mainPtr.clear(sf::Color::Black);
|
mainPtr.clear(sf::Color::Black);
|
||||||
intro_from.offset((whole_window.right - intro_from.right) / 2,(whole_window.bottom - intro_from.bottom) / 2);
|
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"));
|
pict_to_draw.loadFromImage(*ResMgr::get<ImageRsrc>("startsplash"));
|
||||||
from_rect = rectangle(pict_to_draw);
|
from_rect = rectangle(pict_to_draw);
|
||||||
rect_draw_some_item(pict_to_draw, from_rect, mainPtr, intro_from);
|
rect_draw_some_item(pict_to_draw, from_rect, mainPtr, intro_from);
|
||||||
|
mainPtr.display();
|
||||||
|
mainPtr.pollEvent(event);
|
||||||
|
}
|
||||||
} else delay = 60;
|
} else delay = 60;
|
||||||
delay = time_in_ticks(delay).asMilliseconds();
|
delay = time_in_ticks(delay).asMilliseconds();
|
||||||
mainPtr.display();
|
|
||||||
sf::Clock timer;
|
sf::Clock timer;
|
||||||
if(show_startup_splash) play_sound(-22);
|
if(show_startup_splash) play_sound(-22);
|
||||||
|
|
||||||
|
@@ -316,17 +316,21 @@ void Set_up_win () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void run_startup_g() {
|
void run_startup_g() {
|
||||||
|
sf::Event event;
|
||||||
rectangle pict_rect = {0,0,480,640}, dest_rect;
|
rectangle pict_rect = {0,0,480,640}, dest_rect;
|
||||||
sf::Texture pict_to_draw;
|
sf::Texture pict_to_draw;
|
||||||
dest_rect = pict_rect;
|
dest_rect = pict_rect;
|
||||||
|
|
||||||
dest_rect.offset(-25,-25);
|
dest_rect.offset(-25,-25);
|
||||||
pict_to_draw.loadFromImage(*ResMgr::get<ImageRsrc>("edsplash"));
|
pict_to_draw.loadFromImage(*ResMgr::get<ImageRsrc>("edsplash"));
|
||||||
|
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);
|
rect_draw_some_item(pict_to_draw, pict_rect, mainPtr, dest_rect, sf::BlendAlpha);
|
||||||
mainPtr.display();
|
mainPtr.display();
|
||||||
|
mainPtr.pollEvent(event);
|
||||||
|
}
|
||||||
play_sound(-95);
|
play_sound(-95);
|
||||||
sf::Clock timer;
|
sf::Clock timer;
|
||||||
sf::Event event;
|
|
||||||
while(timer.getElapsedTime() < time_in_ticks(120)) {
|
while(timer.getElapsedTime() < time_in_ticks(120)) {
|
||||||
mainPtr.pollEvent(event);
|
mainPtr.pollEvent(event);
|
||||||
if(event.type == sf::Event::KeyPressed || event.type == sf::Event::MouseButtonPressed)
|
if(event.type == sf::Event::KeyPressed || event.type == sf::Event::MouseButtonPressed)
|
||||||
|
Reference in New Issue
Block a user