diff options
| -rw-r--r-- | engine.scm | 7 | ||||
| -rw-r--r-- | tests/engine-test.scm | 15 |
2 files changed, 18 insertions, 4 deletions
@@ -28,10 +28,11 @@ render-hook ;; (lambda (game) ...) — post-render overlay scene) ;; current scene struct; #f until create: runs -;; Store the auto-generated constructor -(define make-game-raw make-game) +;; Store the auto-generated constructor as make-game* +(define make-game* make-game) ;; ── Public constructor wrapper ───────────────────────────────────────────── +;; Wraps the auto-generated make-game (renamed to make-game*) with default values (define (make-game #!key (title "Downstroke Game") @@ -39,7 +40,7 @@ (frame-delay 16) (input-config *default-input-config*) (preload #f) (create #f) (update #f) (render #f)) - (make-game-raw + (make-game* title: title width: width height: height diff --git a/tests/engine-test.scm b/tests/engine-test.scm index 56b9a04..b026ce4 100644 --- a/tests/engine-test.scm +++ b/tests/engine-test.scm @@ -74,7 +74,8 @@ (defstruct scene entities tilemap camera tileset-texture)) (import downstroke/world) -;; --- Assets module (real) --- +;; --- Real deps --- +(import simple-logger) ;; required by input.scm (include "assets.scm") (import downstroke/assets) @@ -154,4 +155,16 @@ (test-assert "update hook is stored" (procedure? (game-update-hook g))))) +(test-group "game-camera" + (let* ((cam (make-camera x: 10 y: 20)) + (scene (make-scene entities: '() + tilemap: #f + camera: cam + tileset-texture: #f)) + (g (make-game))) + (game-scene-set! g scene) + (test-equal "returns scene camera" + cam + (game-camera g)))) + (test-end "engine") |
