diff options
Diffstat (limited to 'games/open-invaders/skippable_intro.diff')
-rw-r--r-- | games/open-invaders/skippable_intro.diff | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/games/open-invaders/skippable_intro.diff b/games/open-invaders/skippable_intro.diff new file mode 100644 index 0000000000..5e21b12dfb --- /dev/null +++ b/games/open-invaders/skippable_intro.diff @@ -0,0 +1,63 @@ +diff -Naur open-invaders-0.3/src/intro.cc open-invaders-0.3.patched/src/intro.cc +--- open-invaders-0.3/src/intro.cc 2007-11-11 04:30:53.000000000 -0500 ++++ open-invaders-0.3.patched/src/intro.cc 2022-01-12 00:13:31.351070181 -0500 +@@ -99,6 +99,14 @@ + "SCRLOCK", "NUMLOCK", "CAPSLOCK", "MAX" + }; + ++bool interruptible_rest(int ms) { ++ int i, count = ms / 20; ++ for(i = 0; i < count; i++) { ++ if(input_pressed()) return true; ++ rest(20); ++ } ++ return false; ++} + + void intro_sequence() + { +@@ -137,24 +145,24 @@ + + clear_to_color(screen,0); + set_palette(black_palette); +- rest(2000); + +- alt_fade_in(jamyskis,5); +- + blit(jamyskis,screen,0,0,0,0,800,600); + +- rest(2000); +- alt_fade_between(jamyskis,allegro,5); ++ if(!interruptible_rest(2000)) { ++ alt_fade_between(jamyskis,allegro,5); + +- blit(allegro,screen,0,0,0,0,800,600); ++ blit(allegro,screen,0,0,0,0,800,600); + +- rest(2000); +- alt_fade_between(allegro,linuxlogo,5); ++ if(!interruptible_rest(2000)) { ++ alt_fade_between(allegro,linuxlogo,5); + +- blit(linuxlogo,screen,0,0,0,0,800,600); ++ blit(linuxlogo,screen,0,0,0,0,800,600); + +- rest(2000); +- alt_fade_out(linuxlogo,5); ++ if(!interruptible_rest(2000)) { ++ alt_fade_out(linuxlogo,5); ++ } ++ } ++ } + + destroy_bitmap(jamyskis); + destroy_bitmap(allegro); +@@ -494,7 +502,7 @@ + program_active=false; + al_pause_duh(titlesongplayer); + play_sample(goodbye_sound,sfx_volume,128,1000,0); +- alt_fade_out(screen,1); ++ alt_fade_out(screen,3); + title_screen_active=false; + break; + } |