From 84f251ee6e829d33a4f29aa4043924023a378724 Mon Sep 17 00:00:00 2001 From: Gene Pasquet Date: Sat, 18 Apr 2026 05:59:07 +0100 Subject: Re-format --- scene-loader.scm | 170 +++++++++++++++++++++++++++---------------------------- 1 file changed, 85 insertions(+), 85 deletions(-) (limited to 'scene-loader.scm') diff --git a/scene-loader.scm b/scene-loader.scm index 50ad210..c2e600b 100644 --- a/scene-loader.scm +++ b/scene-loader.scm @@ -1,96 +1,96 @@ (module (downstroke scene-loader) * -(import scheme - (chicken base) - (only srfi-1 filter-map) - (prefix sdl2 "sdl2:") - (prefix sdl2-ttf "ttf:") - defstruct - (downstroke tilemap) - (downstroke world) - (downstroke assets) - (downstroke engine) - (downstroke prefabs)) + (import scheme + (chicken base) + (only srfi-1 filter-map) + (prefix sdl2 "sdl2:") + (prefix sdl2-ttf "ttf:") + defstruct + (downstroke tilemap) + (downstroke world) + (downstroke assets) + (downstroke engine) + (downstroke prefabs)) -;; Convert TMX object list to entities. -;; Object types are strings from XML; convert to symbols before instantiating. -;; Filters out #f results (objects without registered prefabs). -(define (tilemap-objects->entities tilemap registry) - (filter-map - (lambda (obj) - (instantiate-prefab registry - (string->symbol (object-type obj)) - (object-x obj) (object-y obj) - (object-width obj) (object-height obj))) - (tilemap-objects tilemap))) + ;; Convert TMX object list to entities. + ;; Object types are strings from XML; convert to symbols before instantiating. + ;; Filters out #f results (objects without registered prefabs). + (define (tilemap-objects->entities tilemap registry) + (filter-map + (lambda (obj) + (instantiate-prefab registry + (string->symbol (object-type obj)) + (object-x obj) (object-y obj) + (object-width obj) (object-height obj))) + (tilemap-objects tilemap))) -;; Create an SDL2 texture from a tileset's embedded image surface. -(define (create-texture-from-tileset renderer tileset) - (sdl2:create-texture-from-surface renderer (tileset-image tileset))) + ;; Create an SDL2 texture from a tileset's embedded image surface. + (define (create-texture-from-tileset renderer tileset) + (sdl2:create-texture-from-surface renderer (tileset-image tileset))) -;; Create an SDL2 texture from the tileset image embedded in a tilemap. -(define (create-tileset-texture renderer tilemap) - (create-texture-from-tileset renderer (tilemap-tileset tilemap))) + ;; Create an SDL2 texture from the tileset image embedded in a tilemap. + (define (create-tileset-texture renderer tilemap) + (create-texture-from-tileset renderer (tilemap-tileset tilemap))) -;; Load a TMX tilemap file and store it in the game asset registry. -;; Returns the loaded tilemap struct. -(define (game-load-tilemap! game key filename) - (let ((tm (load-tilemap filename))) - (game-asset-set! game key tm) - tm)) + ;; Load a TMX tilemap file and store it in the game asset registry. + ;; Returns the loaded tilemap struct. + (define (game-load-tilemap! game key filename) + (let ((tm (load-tilemap filename))) + (game-asset-set! game key tm) + tm)) -;; Load a TSX tileset file and store it in the game asset registry. -;; Returns the loaded tileset struct. -(define (game-load-tileset! game key filename) - (let ((ts (load-tileset filename))) - (game-asset-set! game key ts) - ts)) + ;; Load a TSX tileset file and store it in the game asset registry. + ;; Returns the loaded tileset struct. + (define (game-load-tileset! game key filename) + (let ((ts (load-tileset filename))) + (game-asset-set! game key ts) + ts)) -;; Load a TTF font file and store it in the game asset registry. -;; size is the point size. Returns the loaded font. -(define (game-load-font! game key filename size) - (let ((font (ttf:open-font filename size))) - (game-asset-set! game key font) - font)) + ;; Load a TTF font file and store it in the game asset registry. + ;; size is the point size. Returns the loaded font. + (define (game-load-font! game key filename size) + (let ((font (ttf:open-font filename size))) + (game-asset-set! game key font) + font)) -;; Load a scene from a TMX tilemap file. -;; 1. Loads the tilemap from the file (and stores in assets) -;; 2. Creates a texture from the tilemap's tileset image -;; 3. Creates a scene with empty entities list -;; 4. Sets the scene on the game -;; Returns the scene. -(define (game-load-scene! game filename) - (let* ((tm (game-load-tilemap! game 'tilemap filename)) - (tex (create-tileset-texture (game-renderer game) tm)) - (scene (make-scene - entities: '() - tilemap: tm - tileset: #f - camera: (make-camera x: 0 y: 0) - tileset-texture: tex - camera-target: #f))) - (game-scene-set! game scene) - scene)) + ;; Load a scene from a TMX tilemap file. + ;; 1. Loads the tilemap from the file (and stores in assets) + ;; 2. Creates a texture from the tilemap's tileset image + ;; 3. Creates a scene with empty entities list + ;; 4. Sets the scene on the game + ;; Returns the scene. + (define (game-load-scene! game filename) + (let* ((tm (game-load-tilemap! game 'tilemap filename)) + (tex (create-tileset-texture (game-renderer game) tm)) + (scene (make-scene + entities: '() + tilemap: tm + tileset: #f + camera: (make-camera x: 0 y: 0) + tileset-texture: tex + camera-target: #f))) + (game-scene-set! game scene) + scene)) -;; Build a tilemap-less scene driven only by a tileset (for sprite-only -;; demos/games that don't need a TMX map). Any keyword accepted by -;; make-scene can be passed via #!rest to override defaults. -(define (make-sprite-scene #!key - (entities '()) - (tileset #f) - (tileset-texture #f) - (camera (make-camera x: 0 y: 0)) - (camera-target #f) - (background #f) - (engine-update #f)) - (make-scene - entities: entities - tilemap: #f - tileset: tileset - camera: camera - tileset-texture: tileset-texture - camera-target: camera-target - background: background - engine-update: engine-update)) + ;; Build a tilemap-less scene driven only by a tileset (for sprite-only + ;; demos/games that don't need a TMX map). Any keyword accepted by + ;; make-scene can be passed via #!rest to override defaults. + (define (make-sprite-scene #!key + (entities '()) + (tileset #f) + (tileset-texture #f) + (camera (make-camera x: 0 y: 0)) + (camera-target #f) + (background #f) + (engine-update #f)) + (make-scene + entities: entities + tilemap: #f + tileset: tileset + camera: camera + tileset-texture: tileset-texture + camera-target: camera-target + background: background + engine-update: engine-update)) -) ;; end module + ) ;; end module -- cgit v1.2.3