diff options
| author | Gene Pasquet <dev@etenil.net> | 2026-04-05 17:02:33 +0100 |
|---|---|---|
| committer | Gene Pasquet <dev@etenil.net> | 2026-04-05 17:02:33 +0100 |
| commit | 1a9b07beea46e610801c7b2e0f2db188b3c4bdf1 (patch) | |
| tree | ff83791dfff19ead2a4c07a835727e83b6ed289d | |
| parent | 9e225caf11bece721f15c0ae68d22d6df53607ee (diff) | |
fix: engine.scm defstruct naming, add game-camera test, add simple-logger import
| -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") |
