Up-in-the-Air – commitdiff

You can use Git to clone the repository via the web URL. Download snapshot (zip)
Can pause during opening and ending cutscene
authorJulian Fietkau <git@fietkau.software>
Thu, 26 Sep 2024 23:29:25 +0000 (01:29 +0200)
committerJulian Fietkau <git@fietkau.software>
Thu, 26 Sep 2024 23:29:25 +0000 (01:29 +0200)
index.html
main.js

index d5066a669c658a633578293162ef61e3df3197f8..1f02c943bd867a4da864055a26fc90301e17e5f3 100644 (file)
 <input type="range" min="0" max="100" value="50" step="1" class="sounds"></label>
 <span>50</span>
 </div>
-<button class="goto gameplay">Continue</button>
+<button class="goto previous">Continue</button>
 <button class="goto title small">Exit</button>
 </div>
 <div class="ui-page gameplay">
diff --git a/main.js b/main.js
index 1118be2624f0d9499f5f6293500b425fd1d185e4..1f5f076989d71d36900c6f1f7926e2fbbdd1b930 100644 (file)
--- a/main.js
+++ b/main.js
@@ -1324,8 +1324,12 @@ game.ui.root.querySelectorAll('button.goto').forEach((btn) => {
       game.view.music.setBuffer(game.assets['audio']['music-' + game.settings['audio']['theme']]);
       game.view.music.setVolume(game.settings['audio']['music']);
     }
-    let target = e.target.closest('button');
-    game.ui.moveToPage(Array.from(target.classList).filter(c => c != 'goto')[0]);
+    let btn = e.target.closest('button');
+    let target = Array.from(btn.classList).filter(c => c != 'goto')[0];
+    if(target == 'previous') {
+      target = game.ui.previousPage;
+    }
+    game.ui.moveToPage(target);
   });
 });
 game.ui.root.querySelectorAll('.options .controls input, .options .graphics input, .options .feather input, .options .accessibility input, .options .accessibility select').forEach((elem) => {
@@ -1462,6 +1466,7 @@ game.ui.moveToPage = (target, skipFade = false) => {
     game.view.music.offset = (game.timeProgress / (game.settings['difficulty']['speed'] / 100)) % game.assets['audio']['music-' + game.settings['audio']['theme']].duration;
     game.view.music.play();
   }
+  game.ui.previousPage = game.ui.currentPage;
   game.ui.currentPage = target;
   if(game.view) {
     game.startTime = game.view.clock.getElapsedTime();
@@ -1500,10 +1505,10 @@ document.addEventListener('keydown', (e) => {
     return;
   }
   if(e.key == 'Escape') {
-    if(game.ui.currentPage == 'gameplay') {
+    if(['gameplay', 'openingcutscene', 'endingcutscene'].includes(game.ui.currentPage)) {
       game.ui.moveToPage('pause', true);
     } else if(game.ui.currentPage == 'pause') {
-      game.ui.moveToPage('gameplay', true);
+      game.ui.moveToPage(game.ui.previousPage, true);
     }
   }
 });