]> git.lizzy.rs Git - signs_lib.git/commitdiff
allow custom nodes to define the text entity's size
authorVanessa Ezekowitz <vanessaezekowitz@gmail.com>
Thu, 15 Sep 2016 10:57:38 +0000 (06:57 -0400)
committerVanessa Ezekowitz <vanessaezekowitz@gmail.com>
Thu, 15 Sep 2016 11:20:34 +0000 (07:20 -0400)
in your node def, add:

text_size = {x=foo, y=bar},

Size defaults to x=0.8 and y=0.5, respectively.

init.lua

index 6afe495921db95f40502b80621f3a47a8125b234..f8ab30bb68adb535445aec92122d4c87d59e10a1 100644 (file)
--- a/init.lua
+++ b/init.lua
@@ -31,6 +31,8 @@ end
 
 signs_lib.modpath = minetest.get_modpath("signs_lib")
 
+local DEFAULT_TEXT_SCALE = {x=0.8, y=0.5}
+
 signs_lib.regular_wall_sign_model = {
        nodebox = {
                type = "wallmounted",
@@ -179,8 +181,6 @@ local FONT_FMT_SIMPLE = "hdf_%02x.png"
 -- Path to the textures.
 local TP = MP.."/textures"
 
-local TEXT_SCALE = {x=0.8, y=0.5}
-
 -- Lots of overkill here. KISS advocates, go away, shoo! ;) -- kaeza
 
 local PNG_HDR = string.char(0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A)
@@ -409,9 +409,11 @@ end
 
 local function set_obj_text(obj, text, new, pos)
        local split = new and split_lines_and_words or split_lines_and_words_old
+       local n = minetest.registered_nodes[minetest.get_node(pos).name]
+       local text_scale = n.text_scale or DEFAULT_TEXT_SCALE
        obj:set_properties({
                textures={make_sign_texture(split(text), pos)},
-               visual_size = TEXT_SCALE,
+               visual_size = text_scale,
        })
 end