diff options
| author | Gene Pasquet <dev@etenil.net> | 2026-04-18 02:47:10 +0100 |
|---|---|---|
| committer | Gene Pasquet <dev@etenil.net> | 2026-04-18 02:47:10 +0100 |
| commit | 38eee24832fe6da4f135cae455881ab97953b23a (patch) | |
| tree | cffc2bb3b45ac11d90f4a2de3e207f65862fb6fd /entity.scm | |
| parent | a02b892e2ad1e1605ff942c63afdd618daa48be4 (diff) | |
Refresh docs and re-indent
Diffstat (limited to 'entity.scm')
| -rw-r--r-- | entity.scm | 50 |
1 files changed, 25 insertions, 25 deletions
@@ -1,54 +1,54 @@ (module downstroke-entity - * - (import scheme - (chicken base) - (only srfi-1 fold alist-delete)) +* +(import scheme + (chicken base) + (only srfi-1 fold alist-delete)) - ;; Entities = alists with shared keys (#:type, #:x, #:y, #:width, #:height, ...). +;; Entities = alists with shared keys (#:type, #:x, #:y, #:width, #:height, ...). (define (make-entity x y w h) `((#:type . none) (#:x . ,x) (#:y . ,y) (#:width . ,w) (#:height . ,h))) (define (entity-ref entity key #!optional default) (cond ((assq key entity) => cdr) - ((procedure? default) (default)) - (else default))) + ((procedure? default) (default)) + (else default))) - (define (entity-type entity) - (entity-ref entity #:type #f)) +(define (entity-type entity) + (entity-ref entity #:type #f)) - (define (entity-set entity key val) - (cons (cons key val) (alist-delete key entity eq?))) +(define (entity-set entity key val) + (cons (cons key val) (alist-delete key entity eq?))) (define (entity-set-many entity pairs) (fold (lambda (pair working-ent) - (entity-set working-ent (car pair) (cdr pair))) - entity - pairs)) + (entity-set working-ent (car pair) (cdr pair))) + entity + pairs)) (define (entity-update entity key proc #!optional default) (entity-set entity key (proc (entity-ref entity key default)))) - ;; #:skip-pipelines — list of symbols naming frame pipeline steps to skip for this - ;; entity. Physics documents the built-in step names (see docs/physics.org). Other - ;; subsystems (e.g. animation, rendering) may reserve additional symbols later and - ;; use the same predicate and define-pipeline macro. +;; #:skip-pipelines — list of symbols naming frame pipeline steps to skip for this +;; entity. Physics documents the built-in step names (see docs/physics.org). Other +;; subsystems (e.g. animation, rendering) may reserve additional symbols later and +;; use the same predicate and define-pipeline macro. - (define (entity-skips-pipeline? entity step) - (let ((skips (entity-ref entity #:skip-pipelines '()))) - (and (pair? skips) (memq step skips)))) +(define (entity-skips-pipeline? entity step) + (let ((skips (entity-ref entity #:skip-pipelines '()))) + (and (pair? skips) (memq step skips)))) (define-syntax define-pipeline (syntax-rules () ((define-pipeline (identifier name) (scene entity dt) :guard guard (body ...)) (define (identifier scene entity dt) (if (or (not guard) (entity-skips-pipeline? entity (quote name))) - entity - (body ...)))) + entity + (body ...)))) ((define-pipeline (identifier name) (scene entity dt) (body ...)) (define (identifier scene entity dt) (if (entity-skips-pipeline? entity (quote name)) - entity - (body ...)))))) + entity + (body ...)))))) ) ;; End of entity |
