Fix queue being unset

This commit is contained in:
BirDt_ 2026-04-02 14:18:45 +08:00
parent 213dfc67b6
commit ac6ae74781

View file

@ -371,10 +371,12 @@
(define (evaluate-render-queue queue-name mode)
(assert (symbol? queue-name))
(assert (symbol? mode) (member mode '(screen 2d 3d)))
(when (or (eq? mode 'screen)
(and (eq? mode '2d) (not (null? (*active-camera-2d*))))
(and (eq? mode '3d) (not (null? (*active-camera-3d*)))))
(let ((queue (hash-table-ref render-queues queue-name)))
(let ((queue (hash-table-ref render-queues queue-name)))
(when (or (eq? mode 'screen)
(and (eq? mode '2d)
(not (null? (*active-camera-2d*))))
(and (eq? mode '3d)
(not (null? (*active-camera-3d*)))))
(when (eq? mode '2d)
(begin-mode-2d (*active-camera-2d*)))
(when (eq? mode '3d)
@ -388,8 +390,8 @@
(when (eq? mode '2d)
(end-mode-2d))
(when (eq? mode '3d)
(end-mode-3d))))
(set! queue '()))
(end-mode-3d)))
(set! queue '())))
;; Frame generation and game loop
(export resolve-queues next-frame *clear-color* perform-render)