From 6ed676f681ac6eb8e2aa601a10508b360c716756 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Thu, 22 Apr 2021 11:04:04 -0400 Subject: Add notebook mode. --- assets/fonts/old-fax.ttf | Bin 0 -> 31388 bytes assets/images/notebook-background.png | Bin 0 -> 1698 bytes assets/images/notebook-background.xcf | Bin 0 -> 14323 bytes assets/images/notebook.png | Bin 0 -> 1280 bytes assets/images/notebook.xcf | Bin 0 -> 2008 bytes assets/images/pin-entry-background.png | Bin 0 -> 2881 bytes assets/images/pin-entry-background.xcf | Bin 0 -> 24591 bytes game.scm | 357 ++++++++++++++++++++++----------- 8 files changed, 237 insertions(+), 120 deletions(-) create mode 100644 assets/fonts/old-fax.ttf create mode 100644 assets/images/notebook-background.png create mode 100644 assets/images/notebook-background.xcf create mode 100644 assets/images/notebook.png create mode 100644 assets/images/notebook.xcf create mode 100644 assets/images/pin-entry-background.png create mode 100644 assets/images/pin-entry-background.xcf diff --git a/assets/fonts/old-fax.ttf b/assets/fonts/old-fax.ttf new file mode 100644 index 0000000..2762ac4 Binary files /dev/null and b/assets/fonts/old-fax.ttf differ diff --git a/assets/images/notebook-background.png b/assets/images/notebook-background.png new file mode 100644 index 0000000..9b9916e Binary files /dev/null and b/assets/images/notebook-background.png differ diff --git a/assets/images/notebook-background.xcf b/assets/images/notebook-background.xcf new file mode 100644 index 0000000..4f82eef Binary files /dev/null and b/assets/images/notebook-background.xcf differ diff --git a/assets/images/notebook.png b/assets/images/notebook.png new file mode 100644 index 0000000..aa93b20 Binary files /dev/null and b/assets/images/notebook.png differ diff --git a/assets/images/notebook.xcf b/assets/images/notebook.xcf new file mode 100644 index 0000000..db99898 Binary files /dev/null and b/assets/images/notebook.xcf differ diff --git a/assets/images/pin-entry-background.png b/assets/images/pin-entry-background.png new file mode 100644 index 0000000..d2b85de Binary files /dev/null and b/assets/images/pin-entry-background.png differ diff --git a/assets/images/pin-entry-background.xcf b/assets/images/pin-entry-background.xcf new file mode 100644 index 0000000..3b665d7 Binary files /dev/null and b/assets/images/pin-entry-background.xcf differ diff --git a/game.scm b/game.scm index 83d2cc0..7c23916 100644 --- a/game.scm +++ b/game.scm @@ -40,14 +40,18 @@ (define-asset darkness (load-image "assets/images/darkness.png")) (define-asset room-background (load-image "assets/images/room.png")) (define-asset door-lock-texture (load-image "assets/images/door-lock.png")) +(define-asset pin-entry-background (load-image "assets/images/pin-entry-background.png")) (define-asset door-texture (load-image "assets/images/door.png")) (define-asset terminal-texture (load-image "assets/images/terminal.png")) (define-asset terminal-background (load-image "assets/images/terminal-background.png")) (define-asset control-panel-texture (load-image "assets/images/control-panel.png")) (define-asset fridge-texture (load-image "assets/images/fridge.png")) (define-asset window-texture (load-image "assets/images/window.png")) +(define-asset notebook-texture (load-image "assets/images/notebook.png")) +(define-asset notebook-background (load-image "assets/images/notebook-background.png")) (define-asset monogram-font (load-font "assets/fonts/monogram_extended.ttf" 12)) (define-asset monogram-font-big (load-font "assets/fonts/monogram_extended.ttf" 24)) +(define-asset old-fax-font (load-font "assets/fonts/old-fax.ttf" 12)) ;;; @@ -249,80 +253,79 @@ (lambda () (input n)))))))) (define (input n) - (let ((pin (& game pin-pad display pin))) + (let ((pin (pin))) (when (< (string-length (text pin)) 6) (set! (text pin) (string-append (text pin) (number->string n)))))) + (define (pin) + (& game pin-entry-group pin-pad display pin)) (define (clear) - (set! (text (& game pin-pad display pin)) "")) + (set! (text (pin)) "")) (define (submit) - (channel-put! pin-channel (text (& game pin-pad display pin)))) + (channel-put! pin-channel (text (pin)))) (set! (state game) 'pin-entry) (parameterize ((current-theme gui-theme)) (attach-to game - ;; Hack to block clicks on devices in the room. Not working! - (make - #:name 'blocker - #:rank 98 - #:width game-width - #:height game-height - #:listeners - `((click . ,(lambda (widget button) - (pk 'hi) - #t)))) - (make - #:name 'pin-pad - #:rank 99 - #:position (vec2 (- (/ game-width 2.0) - (/ (* 5.0 32.0) 2.0)) - (- (/ game-height 2.0) - (/ (* 3.0 32.0) 2.0))) + (make + #:name 'pin-entry-group #:children - (list (make - #:name 'display - #:children - (list (make