diff --git a/src/logic/scripting/lua/libs/libquat.cpp b/src/logic/scripting/lua/libs/libquat.cpp index 2316360a1..286c6e05a 100644 --- a/src/logic/scripting/lua/libs/libquat.cpp +++ b/src/logic/scripting/lua/libs/libquat.cpp @@ -44,8 +44,18 @@ static int l_tostring(lua::State* L) { return lua::pushstring(L, ss.str()); } +static int l_from_euler(lua::State *L) +{ + uint argc = lua::check_argc(L, 1, 2); + glm::vec3 euler = lua::tovec3(L, 1); + + if (argc == 1) return lua::pushquat(L, glm::quat(euler)); + return lua::setquat(L, 2, glm::quat(euler)); +} + const luaL_Reg quatlib[] = { {"from_mat4", lua::wrap}, + {"from_euler", lua::wrap}, {"slerp", lua::wrap}, {"tostring", lua::wrap}, {nullptr, nullptr}