summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/main.scm50
-rw-r--r--scripts/prompt.scm2
2 files changed, 30 insertions, 22 deletions
diff --git a/scripts/main.scm b/scripts/main.scm
index af6b550..5dcbe10 100644
--- a/scripts/main.scm
+++ b/scripts/main.scm
@@ -4,29 +4,37 @@
(load "./scripts/gol.scm")
(define camera-offset (make-point))
+(define space-pressed #f)
(define (update)
- ;; (prompt-update) ;; it's eating the input!
- (if (rl-is-key-down KEY_DOWN)
- (set! (point-y camera-offset) (+ (point-y camera-offset) 2))
- )
-
- (if (rl-is-key-down KEY_UP)
- (set! (point-y camera-offset) (+ (point-y camera-offset) -2))
- )
-
- (if (rl-is-key-down KEY_LEFT)
- (set! (point-x camera-offset) (+ (point-x camera-offset) -2))
- )
-
- (if (rl-is-key-down KEY_RIGHT)
- (set! (point-x camera-offset) (+ (point-x camera-offset) 2))
- )
-
- (if (eq? (rl-get-key-pressed) KEY_SPACE)
- (run-step)
- )
-
+ (prompt-update)
+
+ (cond ((not prompt-active)
+ (if (rl-is-key-down KEY_DOWN)
+ (set! (point-y camera-offset) (+ (point-y camera-offset) 2))
+ )
+
+ (if (rl-is-key-down KEY_UP)
+ (set! (point-y camera-offset) (+ (point-y camera-offset) -2))
+ )
+
+ (if (rl-is-key-down KEY_LEFT)
+ (set! (point-x camera-offset) (+ (point-x camera-offset) -2))
+ )
+
+ (if (rl-is-key-down KEY_RIGHT)
+ (set! (point-x camera-offset) (+ (point-x camera-offset) 2))
+ )
+
+ (cond ((and (rl-is-key-down KEY_SPACE) (not space-pressed))
+ (set! space-pressed #t)
+ (run-step))
+ )
+
+ (if (not (rl-is-key-down KEY_SPACE))
+ (set! space-pressed #f)
+ )
+ ))
)
(define (draw)
diff --git a/scripts/prompt.scm b/scripts/prompt.scm
index f3fe6c9..3440b28 100644
--- a/scripts/prompt.scm
+++ b/scripts/prompt.scm
@@ -6,7 +6,7 @@
(let ((key-pressed (rl-get-key-pressed)))
- (if (or (eq? key-pressed 161) (eq? key-pressed 96))
+ (if (eq? key-pressed KEY_F1)
(set! prompt-active (not prompt-active))
)