diff options
author | orwell96 <orwell@bleipb.de> | 2023-05-24 20:35:18 +0200 |
---|---|---|
committer | orwell96 <orwell@bleipb.de> | 2023-05-27 12:26:16 +0200 |
commit | 7ca8ac8d00ed8b6e707f932cc012c1eb4ace1932 (patch) | |
tree | 7889e29bb728d162ea59096127f0a0b66a10ecec /advtrains_trackmap/fsrender.lua | |
parent | 8371d8496a0423d992c29f38c59265a5d6f8517a (diff) | |
download | advtrains-7ca8ac8d00ed8b6e707f932cc012c1eb4ace1932.tar.gz advtrains-7ca8ac8d00ed8b6e707f932cc012c1eb4ace1932.tar.bz2 advtrains-7ca8ac8d00ed8b6e707f932cc012c1eb4ace1932.zip |
Improve map formspec rendering
Diffstat (limited to 'advtrains_trackmap/fsrender.lua')
-rw-r--r-- | advtrains_trackmap/fsrender.lua | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/advtrains_trackmap/fsrender.lua b/advtrains_trackmap/fsrender.lua index 607f3cd..340b08c 100644 --- a/advtrains_trackmap/fsrender.lua +++ b/advtrains_trackmap/fsrender.lua @@ -3,15 +3,32 @@ local tm = advtrains.trackmap
-function tm.render_grid(grid, origin_pos, width, height)
- local s = {"label[0,0;"}
+function tm.render_grid_formspec(formsize_x, formsize_y, gridtbl, origin_pos, width, height)
+ local grid = gridtbl.grid
+ local gcolor = gridtbl.gcolor
+ local s = {
+ "formspec_version[3]",
+ "size["..formsize_x..","..formsize_y.."]",
+ "no_prepend[]",
+ "bgcolor[white;false;white]",
+ "style_type[label;font=mono]",
+ "label[0,0;",
+ minetest.get_color_escape_sequence("black")
+ }
+ local last_color = nil
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 = "░"
+ local chr = " "
if grid[apos_x] and grid[apos_x][apos_z] then
+ local color = gcolor[apos_x][apos_z]
+ if color ~= last_color then
+ -- change the color of the text
+ table.insert(s, minetest.get_color_escape_sequence(color or "black"))
+ last_color = color
+ end
chr = grid[apos_x][apos_z]
end
table.insert(s, chr)
@@ -19,5 +36,6 @@ function tm.render_grid(grid, origin_pos, width, height) table.insert(s,"\n")
end
table.insert(s, "]")
+ table.insert(s, "style_type[label;font=]") -- reset font style
return table.concat(s)
end
\ No newline at end of file |