Rotate logic gate sprites based on direction.

This commit is contained in:
Juliana Sims 2024-05-23 16:08:25 -04:00 committed by David Thompson
parent 00df10dc12
commit bb4d2df5f5
5 changed files with 33 additions and 5 deletions

View file

@ -31,8 +31,11 @@
fill-rect
fill-text
draw-image
restore!
save!
scale!
translate!
rotate!
set-transform!
set-image-smoothing-enabled!))
@ -66,12 +69,21 @@
(define-foreign draw-image
"canvas" "drawImage"
(ref extern) (ref extern) f64 f64 f64 f64 f64 f64 f64 f64 -> none)
(define-foreign restore!
"canvas" "restore"
(ref extern) -> none)
(define-foreign save!
"canvas" "save"
(ref extern) -> none)
(define-foreign scale!
"canvas" "scale"
(ref extern) f64 f64 -> none)
(define-foreign translate!
"canvas" "translate"
(ref extern) f64 f64 -> none)
(define-foreign rotate!
"canvas" "rotate"
(ref extern) f64 -> none)
(define-foreign set-transform!
"canvas" "setTransform"
(ref extern) f64 f64 f64 f64 f64 f64 -> none)

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.8" tiledversion="1.8.6" orientation="orthogonal" renderorder="right-down" width="20" height="15" tilewidth="16" tileheight="16" infinite="0" nextlayerid="3" nextobjectid="27">
<map version="1.8" tiledversion="1.8.6" orientation="orthogonal" renderorder="right-down" width="20" height="15" tilewidth="16" tileheight="16" infinite="0" nextlayerid="3" nextobjectid="30">
<tileset firstgid="1" source="tiles.tsx"/>
<layer id="1" name="background" width="20" height="15">
<data encoding="csv">

View file

@ -19,15 +19,15 @@
;;; Code:
(define-module (math)
#:pure
#:use-module (scheme base)
#:use-module (hoot ffi)
#:export (random clamp))
#:export (random pi clamp))
(define-foreign random
"math" "random"
-> f64)
(define pi (* 4.0 (atan 1.0)))
(define (clamp x min max)
(cond ((< x min) min)
((> x max) max)