summaryrefslogtreecommitdiffstats
path: root/games/open-invaders/skippable_intro.diff
diff options
context:
space:
mode:
Diffstat (limited to 'games/open-invaders/skippable_intro.diff')
-rw-r--r--games/open-invaders/skippable_intro.diff63
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;
+ }