Fix desync between fade out/in and level loading when game is lagging.

This commit is contained in:
David Thompson 2024-05-26 12:35:46 -04:00
parent 78ce020fcb
commit eeb95785c7
4 changed files with 33 additions and 18 deletions

View file

@ -231,8 +231,9 @@
(run-script
(lambda ()
(set! *state* 'interstitial)
(show-effect! (make-fade-out+in-effect 1.0))
(wait 30) ; ~half the effect time
(yield
(lambda (k)
(show-effect! (make-fade-out+in-effect 1.0 k))))
(load-level! idx))))
(begin
(run-script
@ -240,8 +241,9 @@
(set! *level-idx* 0)
(save-game!)
(set! *state* 'interstitial)
(show-effect! (make-fade-out+in-effect 2.0))
(wait 60)
(yield
(lambda (k)
(show-effect! (make-fade-out+in-effect 2.0 k))))
(load-credits!)))))))
;; Auto-save/load to local storage.
@ -270,8 +272,9 @@
(set! *level-idx* 0)
(save-game!)
(set! *state* 'interstitial)
(show-effect! (make-fade-out+in-effect 2.0))
(wait 60)
(yield
(lambda (k)
(show-effect! (make-fade-out+in-effect 2.0 k))))
(load-level! 0))))
;; Update loop