Fix bug where instructions pop-in during reset fade-out.

This commit is contained in:
David Thompson 2024-05-26 20:51:13 -04:00
parent 190f234b44
commit a9575c5aa6

View file

@ -223,26 +223,30 @@
;; are collected? ;; are collected?
(when (with-goblins ($ (level-actor *level*) 'gem-collected?)) (when (with-goblins ($ (level-actor *level*) 'gem-collected?))
(set! *gems* (cons *level-idx* *gems*))) (set! *gems* (cons *level-idx* *gems*)))
(set! *level-idx* idx)
(if (< idx (vector-length levels)) (if (< idx (vector-length levels))
(begin (begin
(save-game!)
(run-script (run-script
(lambda () (lambda ()
(set! *state* 'interstitial) (set! *state* 'interstitial)
(yield (yield
(lambda (k) (lambda (k)
(show-effect! (make-fade-out+in-effect 1.0 k)))) (show-effect! (make-fade-out+in-effect 1.0 k))))
(set! *level-idx* idx)
(save-game!)
(load-level! idx)))) (load-level! idx))))
(begin (begin
(run-script (run-script
(lambda () (lambda ()
(set! *level-idx* 0)
(save-game!)
(set! *state* 'interstitial) (set! *state* 'interstitial)
(yield (yield
(lambda (k) (lambda (k)
(show-effect! (make-fade-out+in-effect 2.0 k)))) (show-effect! (make-fade-out+in-effect 2.0 k))))
(set! *level-idx* 0)
(save-game!)
;; HACK: To keep the intro level's control explanation
;; text from showing up when resetting the game, set
;; level idx to non-zero during the credits.
(set! *level-idx* -1)
(load-credits!))))))) (load-credits!)))))))
;; Auto-save/load to local storage. ;; Auto-save/load to local storage.
@ -267,12 +271,11 @@
(define (reset-game!) (define (reset-game!)
(run-script (run-script
(lambda () (lambda ()
(set! *level-idx* 0)
(save-game!)
(set! *state* 'interstitial) (set! *state* 'interstitial)
(yield (yield
(lambda (k) (lambda (k)
(show-effect! (make-fade-out+in-effect 2.0 k)))) (show-effect! (make-fade-out+in-effect 2.0 k))))
(set! *level-idx* 0)
(load-level! 0)))) (load-level! 0))))
(define (emit-pickup-particles x y) (define (emit-pickup-particles x y)