summaryrefslogtreecommitdiff
path: root/starling/kernel.scm
diff options
context:
space:
mode:
Diffstat (limited to 'starling/kernel.scm')
-rw-r--r--starling/kernel.scm33
1 files changed, 20 insertions, 13 deletions
diff --git a/starling/kernel.scm b/starling/kernel.scm
index 5a04178..e6658ca 100644
--- a/starling/kernel.scm
+++ b/starling/kernel.scm
@@ -46,7 +46,7 @@
#:use-module (starling config)
#:use-module (starling node)
#:use-module (starling node-2d)
- ;;#:use-module (starling repl)
+ #:use-module (starling repl)
#:use-module (starling repl-server)
#:use-module (starling minibuffer)
#:use-module (starling scene)
@@ -168,6 +168,10 @@
(make <fps-display> #:name 'fps)
;; REPL server
(make <repl-server> #:name 'repl-server))
+ (set! (repl kernel)
+ (make <repl>
+ #:name 'repl
+ #:scene-mux kernel))
(run-script kernel
(forever
(sleep 60)
@@ -175,17 +179,22 @@
(define-method (on-key-press (kernel <kernel>) key modifiers repeat?)
;; Hot keys when in dev mode
- (when developer-mode?
- (unless (& kernel minibuffer)
+ (if (and developer-mode?
+ (not (or (eq? (current-scene kernel) (& kernel minibuffer))
+ (eq? (current-scene kernel) (repl kernel)))))
(match key
+ ('backquote
+ (run-script kernel
+ (sleep 1)
+ (open-repl (repl kernel))))
('x
- (when (or (memq 'left-alt modifiers)
- (memq 'right-alt modifiers))
- (unless (& kernel minibuffer)
- (open-minibuffer kernel))))
+ (if (or (memq 'left-alt modifiers)
+ (memq 'right-alt modifiers))
+ (open-minibuffer kernel)
+ (next-method)))
('escape (abort-game))
- (_ #t))))
- (next-method))
+ (_ (next-method)))
+ (next-method)))
(define-method (update-tree (kernel <kernel>) dt)
(define (invert-y y)
@@ -201,13 +210,11 @@
((keyboard-down-event? event)
(on-key-press kernel
(keyboard-event-key event)
- (keyboard-event-scancode event)
(keyboard-event-modifiers event)
(keyboard-event-repeat? event)))
((keyboard-up-event? event)
(on-key-release kernel
(keyboard-event-key event)
- (keyboard-event-scancode event)
(keyboard-event-modifiers event)))
((text-input-event? event)
(on-text-input kernel
@@ -388,12 +395,12 @@ kernel. A convenient procedure for developers."
(define-meta-command ((debug-game starling) repl)
"debug-game
Enter a debugger for the current game loop error."
- (debugger (& (current-kernel) repl)))
+ (debugger (& (current-kernel) repl-server)))
(define-meta-command ((resume-game starling) repl)
"resume-game
Resume the game loop without entering a debugger."
- (set! (repl-debugging? (& (current-kernel) repl)) #f))
+ (set! (repl-debugging? (& (current-kernel) repl-server)) #f))
(define-meta-command ((reboot starling) repl)
"reboot