diff options
Diffstat (limited to 'advtrains_trackmap/fsrender.lua')
-rw-r--r-- | advtrains_trackmap/fsrender.lua | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/advtrains_trackmap/fsrender.lua b/advtrains_trackmap/fsrender.lua new file mode 100644 index 0000000..607f3cd --- /dev/null +++ b/advtrains_trackmap/fsrender.lua @@ -0,0 +1,23 @@ +-- fsrender.lua
+-- Rendering of a grid of characters into a formspec
+
+local tm = advtrains.trackmap
+
+function tm.render_grid(grid, origin_pos, width, height)
+ local s = {"label[0,0;"}
+ for z=height-1, 0, -1 do
+ -- render a row
+ for x=0,width-1 do
+ local apos_x = origin_pos.x + x
+ local apos_z = origin_pos.z + z
+ local chr = "░"
+ if grid[apos_x] and grid[apos_x][apos_z] then
+ chr = grid[apos_x][apos_z]
+ end
+ table.insert(s, chr)
+ end
+ table.insert(s,"\n")
+ end
+ table.insert(s, "]")
+ return table.concat(s)
+end
\ No newline at end of file |