diff --git a/game.scm b/game.scm index fc56b42..493aa18 100644 --- a/game.scm +++ b/game.scm @@ -742,7 +742,7 @@ ;; + the y padding again (let* ((padding-y 1) (text-offset-y (* 0.75 tile-height)) - (width 8) + (width 8.0) (num-items (vector-length (menu-items (current-menu)))) (height (+ 2 ;; Menu title + back/ellipses (* 2 padding-y) ;; Padding @@ -773,31 +773,34 @@ (r-end (- (+ r-start height) padding-y)) ;; r will not take into account which page you are on (r-page-offset (- (* (current-menu-page) menu:max-items) (current-menu-page))) - (gutter-x (+ tile-width x-start)) - (text-x (+ tile-width gutter-x))) + (x-gutter (+ tile-width x-start)) + (x-text (+ tile-width x-gutter))) (do ((r r-start (1+ r)) (y y-start (+ tile-height y))) ((or (>= r r-end) (>= (+ r r-page-offset) num-items))) - ;; Draw menu title - (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") - ;; indicator - (when (= (+ r r-page-offset) (current-menu-index)) - (fill-text context "▸" gutter-x (+ y text-offset-y))) - ;; Menu items - (when (>= r -1) - (fill-text context - (cond - ((= (+ r r-page-offset) -1) "Back") - ((or (= r -1) (and (= r (1- r-end)) - (< (+ r r-page-offset) (1- num-items)))) - "...") - (else - (car (vector-ref (menu-items (current-menu)) - (+ r r-page-offset))))) - text-x (+ y text-offset-y))))))) + (let ((y-text (+ y text-offset-y)) + (r-page (+ r r-page-offset))) + ;; Draw menu title + (when (= r r-start) + (set-text-align! context "center") + (fill-text context (menu-name (current-menu)) + (vec2-x center) y-text)) + (set-text-align! context "left") + ;; indicator + (when (= (+ r r-page-offset) (current-menu-index)) + (fill-text context "▸" x-gutter y-text)) + ;; Menu items + (when (>= r -1) + (fill-text + context + (cond + ((= r-page -1) "Back") + ((or (= r -1) (and (= r (1- r-end)) + (< r-page (1- num-items)))) + "...") + (else + (car (vector-ref (menu-items (current-menu)) + r-page)))) + x-text y-text))))))) (define (draw-controls) (let ((cx1 (/ game-width 4.0))