aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGene Pasquet <gene@pacerevenue.com>2025-05-15 14:34:49 +0200
committerGene Pasquet <gene@pacerevenue.com>2025-05-15 14:34:49 +0200
commit4cdee4fda1f0ae05de1dd4f264405505a7c3bacc (patch)
tree28707d4733677c3d3ce7a3806a5ccb225bd2ac20
parentd5a454eff8e722c372b42efd476b52a51bba327d (diff)
Render text from level definition
-rw-r--r--assets/level-0.tmx10
-rw-r--r--src/macroknight/game.hy17
2 files changed, 18 insertions, 9 deletions
diff --git a/assets/level-0.tmx b/assets/level-0.tmx
index 6df96ae..f386d93 100644
--- a/assets/level-0.tmx
+++ b/assets/level-0.tmx
@@ -30,15 +30,15 @@
0,0,0,0,0,0,1239,1045,0,0,0,0,0,0,0,0,1043,1044,1044,1240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,1239,1045,0,0,0,0,0,0,0,1092,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,1239,1044,1044,1044,1044,1044,1044,1044,1240,0,0,0,0,0,0,1093,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-1093,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1093,0,0,0,0,1093,0,0,0,0,
-0,0,0,0,1093,0,0,0,0,0,0,0,0,0,0,1093,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+1093,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,1093,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1093,0,0,0,0,0,0,0,0,0,0
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
</data>
</layer>
<objectgroup id="7" name="entities">
- <object id="2" name="player" type="Player" gid="1053" x="176" y="336" width="16" height="16"/>
- <object id="3" name="hint" type="text" x="428.5" y="82" width="197" height="78">
+ <object id="2" name="player" type="Player" gid="1053" x="182" y="350.5" width="16" height="16"/>
+ <object id="3" name="hint" type="Text" x="98.5" y="432.5" width="197" height="78">
<properties>
<property name="text" value="hit space to start a macro"/>
</properties>
diff --git a/src/macroknight/game.hy b/src/macroknight/game.hy
index 160b46a..99dc69f 100644
--- a/src/macroknight/game.hy
+++ b/src/macroknight/game.hy
@@ -20,12 +20,14 @@
(setv tileset (TileSet "assets/monochrome-transparent.png" TILE_SCALING TILE_SIZE TILE_SIZE 1))
(setv sprites-group [])
(setv level (load_pygame "assets/level-0.tmx"))
+(defn abs-to-tile-index [abs-id]
+ (int (floor (/ abs-id TILE_SIZE))))
(setv player-pos
(let [player-objects (lfor ent (get level.layers 1) :if (= ent.type "Player") ent)]
(if (any player-objects)
(let [player-object (get player-objects 0)]
- #((int (floor (/ player-object.x TILE_SIZE)))
- (int (floor (/ player-object.y TILE_SIZE)))))
+ #((abs-to-tile-index player-object.x)
+ (abs-to-tile-index player-object.y)))
#(5 5))))
(setv player (Player 1 (get tileset.tiles 28) TILE_SIZE #* player-pos))
(.append sprites-group player)
@@ -54,8 +56,15 @@
(.fill screen "#000000")
- (render-text screen tileset "USE A MACRO MOVE TO JUMP HIGHER" 1 10)
- (render-text screen tileset "HIT SPACE AND ENTER A COMBO" 1 11)
+ ;; Render text objects
+ (for [item (get level.layers 1)]
+ (when (= item.type "Text")
+ (render-text screen
+ tileset
+ (.upper item.text)
+ (abs-to-tile-index item.x)
+ (abs-to-tile-index item.y))))
+
(if macro-input-mode
;; If the commands list is full