diff options
author | Gene Pasquet <gene@pacerevenue.com> | 2025-05-15 14:34:49 +0200 |
---|---|---|
committer | Gene Pasquet <gene@pacerevenue.com> | 2025-05-15 14:34:49 +0200 |
commit | 4cdee4fda1f0ae05de1dd4f264405505a7c3bacc (patch) | |
tree | 28707d4733677c3d3ce7a3806a5ccb225bd2ac20 | |
parent | d5a454eff8e722c372b42efd476b52a51bba327d (diff) |
Render text from level definition
-rw-r--r-- | assets/level-0.tmx | 10 | ||||
-rw-r--r-- | src/macroknight/game.hy | 17 |
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 |