From 89fa09c387a750f64fa545df66168f30f78191d8 Mon Sep 17 00:00:00 2001 From: Amy Grinn Date: Wed, 18 Dec 2024 12:37:19 -0500 Subject: [PATCH] Small logic changes --- game.scm | 47 +++++++++++++++++++++++------------------------ 1 file changed, 23 insertions(+), 24 deletions(-) diff --git a/game.scm b/game.scm index a4a7d2f..38a0c8e 100644 --- a/game.scm +++ b/game.scm @@ -760,36 +760,35 @@ (y (- (vec2-y center) (* tile-height (floor (/ height 2)))))) ;; Draw menu background (when (= r r-start) - (let* ((x (- (vec2-x center) (* tile-width (floor (/ width 2))))) - (w (* tile-width width)) - (h (* tile-height height))) + (let ((x (- (vec2-x center) (* tile-width (floor (/ width 2))))) + (w (* tile-width width)) + (h (* tile-height height))) (set-fill-color! context "#000") (fill-rect context x y w h) (set-stroke-color! context "blue") (stroke-rect context x y w h))) ;; Draw menu text - (set-font! context "normal 16px monogram") - (set-fill-color! context "#fff") - (when (= r r-start) - (set-text-align! context "center") - (fill-text context (menu-name (current-menu)) (vec2-x center) (+ y text-offset-y))) - (let* ((r-index (- (+ r (* (current-menu-page) menu:max-items)) (current-menu-page)))) + (let ((r-menu-index (- (+ r (* (current-menu-page) menu:max-items)) (current-menu-page)))) + (set-font! context "normal 16px monogram") + (set-fill-color! context "#fff") + (when (= r r-start) + (set-text-align! context "center") + (fill-text context (menu-name (current-menu)) (vec2-x center) (+ y text-offset-y))) (set-text-align! context "left") - (if (= r-index (current-menu-index)) - (fill-text context "▸" gutter-x (+ y text-offset-y))) - (if (and (>= r -1) (< r-index num-items) (< r r-end)) - (fill-text context - (if (= r -1) - (if (= (current-menu-page) 0) "Back" "...") - (if (and (= r (1- r-end)) (< r-index (1- num-items))) - "..." - (menu-item-name (vector-ref (menu-items (current-menu)) - r-index)))) - text-x (+ y text-offset-y)))) - ;; Draw next row - (set! r (1+ r)) - (if (< r (+ r-start height)) - (row r (+ y tile-height)))))) + (when (= r-menu-index (current-menu-index)) + (fill-text context "▸" gutter-x (+ y text-offset-y))) + (when (>= r -1) + (fill-text context + (cond + ((= r-menu-index -1) "Back") + ((or (= r -1) (and (= r (1- r-end)) (< r-menu-index (1- num-items)))) + "...") + (else + (menu-item-name (vector-ref (menu-items (current-menu)) r-menu-index)))) + text-x (+ y text-offset-y))) + ;; Draw next row + (when (and (< (1+ r) r-end) (< (1+ r-menu-index) num-items)) + (row (1+ r) (+ y tile-height))))))) (define (draw-level) (draw-background)