diff options
author | Foghrye4 <foghrye4@gmail.com> | 2016-11-14 18:09:59 +0400 |
---|---|---|
committer | Zeno- <kde.psych@gmail.com> | 2016-11-15 00:09:59 +1000 |
commit | 93e3555eae2deaeca69ee252cfa9cc9c3e0e49ef (patch) | |
tree | 9b9b665b97c01f0b281652a85088b336cc4cefde /src/script/common/c_converter.cpp | |
parent | 649448a2a91fbf3e944b2f2e739f4e2292af1df0 (diff) | |
download | minetest-93e3555eae2deaeca69ee252cfa9cc9c3e0e49ef.tar.gz minetest-93e3555eae2deaeca69ee252cfa9cc9c3e0e49ef.tar.bz2 minetest-93e3555eae2deaeca69ee252cfa9cc9c3e0e49ef.zip |
Adding particle blend, glow and animation (#4705)
Diffstat (limited to 'src/script/common/c_converter.cpp')
-rw-r--r-- | src/script/common/c_converter.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/script/common/c_converter.cpp b/src/script/common/c_converter.cpp index f36298915..cfb5e26db 100644 --- a/src/script/common/c_converter.cpp +++ b/src/script/common/c_converter.cpp @@ -513,6 +513,28 @@ int getintfield_default(lua_State *L, int table, return result; } +int check_material_type_param(lua_State *L, int table, + const char *fieldname, int default_) +{ + int material_type_param = + getintfield_default(L, table, fieldname, default_); + u32 alphaSource = (material_type_param & 0x0000F000) >> 12; + u32 modulo = (material_type_param & 0x00000F00) >> 8; + u32 srcFact = (material_type_param & 0x000000F0) >> 4; + u32 dstFact = material_type_param & 0x0000000F; + if (alphaSource <= 3 && modulo <= 4 && srcFact <= 10 && dstFact <= 10) { + return material_type_param; + } else { + std::ostringstream error_text; + error_text << "Incorrect material_type_param value "; + error_text << "for particle or particle spawner."; + error_text << std::endl; + throw LuaError(error_text.str()); + return 0; + } +} + + float getfloatfield_default(lua_State *L, int table, const char *fieldname, float default_) { |