diff options
author | Mattes D <github@xoft.cz> | 2016-06-12 07:57:47 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-06-12 07:57:47 +0200 |
commit | b403ad4d68eb1e730d5b514d3bfceea0de932bfa (patch) | |
tree | 2c332eef23ae5eb816d08786fb2f87535b289ca5 /src/Bindings/DeprecatedBindings.cpp | |
parent | Merge pull request #3225 from cuberite/FixAutoAPI (diff) | |
parent | Normalized Vector3 API to use the same capitalization as all else. (diff) | |
download | cuberite-b403ad4d68eb1e730d5b514d3bfceea0de932bfa.tar cuberite-b403ad4d68eb1e730d5b514d3bfceea0de932bfa.tar.gz cuberite-b403ad4d68eb1e730d5b514d3bfceea0de932bfa.tar.bz2 cuberite-b403ad4d68eb1e730d5b514d3bfceea0de932bfa.tar.lz cuberite-b403ad4d68eb1e730d5b514d3bfceea0de932bfa.tar.xz cuberite-b403ad4d68eb1e730d5b514d3bfceea0de932bfa.tar.zst cuberite-b403ad4d68eb1e730d5b514d3bfceea0de932bfa.zip |
Diffstat (limited to 'src/Bindings/DeprecatedBindings.cpp')
-rw-r--r-- | src/Bindings/DeprecatedBindings.cpp | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/src/Bindings/DeprecatedBindings.cpp b/src/Bindings/DeprecatedBindings.cpp index 25fba5d9d..0ffc58cbb 100644 --- a/src/Bindings/DeprecatedBindings.cpp +++ b/src/Bindings/DeprecatedBindings.cpp @@ -340,6 +340,49 @@ static int tolua_cWorld_SetSignLines(lua_State * tolua_S) +template <typename T> +int tolua_Vector3_Abs(lua_State * a_LuaState) +{ + // Retrieve the params, including self: + cLuaState L(a_LuaState); + Vector3<T> * self; + if (!L.GetStackValues(1, self)) + { + tolua_error(a_LuaState, "invalid 'self' in function 'Vector3<T>:Abs'", nullptr); + return 0; + } + + // Absolutize the vector: + self->Abs(); + return 0; +} + + + + + +template <typename T> +int tolua_Vector3_Clamp(lua_State * a_LuaState) +{ + // Retrieve the params, including self: + cLuaState L(a_LuaState); + Vector3<T> * self; + T min, max; + if (!L.GetStackValues(1, self, min, max)) + { + tolua_error(a_LuaState, "invalid parameters for function 'Vector3<T>:Clamp', expected a Vector3 and two numbers", nullptr); + return 0; + } + + // Clamp the vector: + self->Clamp(min, max); + return 0; +} + + + + + void DeprecatedBindings::Bind(lua_State * tolua_S) { tolua_beginmodule(tolua_S, nullptr); @@ -359,6 +402,21 @@ void DeprecatedBindings::Bind(lua_State * tolua_S) tolua_function(tolua_S, "UpdateSign", tolua_cWorld_SetSignLines); tolua_endmodule(tolua_S); + tolua_beginmodule(tolua_S, "Vector3i"); + tolua_function(tolua_S,"abs", tolua_Vector3_Abs<int>); + tolua_function(tolua_S,"clamp", tolua_Vector3_Clamp<int>); + tolua_endmodule(tolua_S); + + tolua_beginmodule(tolua_S, "Vector3f"); + tolua_function(tolua_S,"abs", tolua_Vector3_Abs<float>); + tolua_function(tolua_S,"clamp", tolua_Vector3_Clamp<float>); + tolua_endmodule(tolua_S); + + tolua_beginmodule(tolua_S, "Vector3d"); + tolua_function(tolua_S,"abs", tolua_Vector3_Abs<double>); + tolua_function(tolua_S,"clamp", tolua_Vector3_Clamp<double>); + tolua_endmodule(tolua_S); + tolua_endmodule(tolua_S); } |