diff options
author | Muhammad Rifqi Priyo Susanto <muhammadrifqipriyosusanto@gmail.com> | 2017-09-10 00:49:12 +0700 |
---|---|---|
committer | paramat <mat.gregory@virginmedia.com> | 2017-10-23 01:28:13 +0100 |
commit | a1e1a19ac355dbe7e1a2e060fd6b5fe082298eb6 (patch) | |
tree | 871e3058638547b7936a30f661042235110da9b2 /src/script/common/c_converter.cpp | |
parent | c60abb2aeccba2920d55a518fcffd2ad57f9f59a (diff) | |
download | minetest-a1e1a19ac355dbe7e1a2e060fd6b5fe082298eb6.tar.gz minetest-a1e1a19ac355dbe7e1a2e060fd6b5fe082298eb6.tar.bz2 minetest-a1e1a19ac355dbe7e1a2e060fd6b5fe082298eb6.zip |
Improvements/fixes for noise parameter input in advanced settings
Formspec input for each individual noise parameter and flag.
Allow noise flags to be set in advanced settings, previously only settable
in minetest.conf.
Standardise 'group format' for noise parameters set in minetest.conf, as
only these support noise flags. However the older 'single line' format is
still accepted to support existing minetest.conf files.
Therefore auto-generate minetest.conf.example with noise parameters in
'group format'.
Setting 'type' in settingtypes.txt is now either 'noise_params_2D' or
'noise_params_3D', the dimension number is displayed in the advanced
settings edit page.
Diffstat (limited to 'src/script/common/c_converter.cpp')
-rw-r--r-- | src/script/common/c_converter.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/script/common/c_converter.cpp b/src/script/common/c_converter.cpp index 8f88aeb60..e81cecac8 100644 --- a/src/script/common/c_converter.cpp +++ b/src/script/common/c_converter.cpp @@ -51,6 +51,15 @@ if (value < F1000_MIN || value > F1000_MAX) { \ #define CHECK_POS_TAB(index) CHECK_TYPE(index, "position", LUA_TTABLE) +void push_float_string(lua_State *L, float value) +{ + std::stringstream ss; + std::string str; + ss << value; + str = ss.str(); + lua_pushstring(L, str.c_str()); +} + void push_v3f(lua_State *L, v3f p) { lua_newtable(L); @@ -71,6 +80,26 @@ void push_v2f(lua_State *L, v2f p) lua_setfield(L, -2, "y"); } +void push_v3_float_string(lua_State *L, v3f p) +{ + lua_newtable(L); + push_float_string(L, p.X); + lua_setfield(L, -2, "x"); + push_float_string(L, p.Y); + lua_setfield(L, -2, "y"); + push_float_string(L, p.Z); + lua_setfield(L, -2, "z"); +} + +void push_v2_float_string(lua_State *L, v2f p) +{ + lua_newtable(L); + push_float_string(L, p.X); + lua_setfield(L, -2, "x"); + push_float_string(L, p.Y); + lua_setfield(L, -2, "y"); +} + v2s16 read_v2s16(lua_State *L, int index) { v2s16 p; |