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 | 
