aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/script/common/c_converter.cpp13
-rw-r--r--src/script/common/c_converter.h1
-rw-r--r--src/script/lua_api/l_object.cpp10
3 files changed, 15 insertions, 9 deletions
diff --git a/src/script/common/c_converter.cpp b/src/script/common/c_converter.cpp
index fc489ea95..9d6829815 100644
--- a/src/script/common/c_converter.cpp
+++ b/src/script/common/c_converter.cpp
@@ -39,6 +39,19 @@ extern "C" {
#define CHECK_POS_TAB(index) CHECK_TYPE(index, "position", LUA_TTABLE)
+void push_ARGB8(lua_State *L, video::SColor color)
+{
+ lua_newtable(L);
+ lua_pushnumber(L, color.getAlpha());
+ lua_setfield(L, -2, "a");
+ lua_pushnumber(L, color.getRed());
+ lua_setfield(L, -2, "r");
+ lua_pushnumber(L, color.getGreen());
+ lua_setfield(L, -2, "g");
+ lua_pushnumber(L, color.getBlue());
+ lua_setfield(L, -2, "b");
+}
+
void push_v3f(lua_State *L, v3f p)
{
lua_newtable(L);
diff --git a/src/script/common/c_converter.h b/src/script/common/c_converter.h
index 0847f47c9..ff1fcaadf 100644
--- a/src/script/common/c_converter.h
+++ b/src/script/common/c_converter.h
@@ -95,6 +95,7 @@ size_t read_stringlist (lua_State *L, int index,
std::vector<std::string> *result);
void push_v3s16 (lua_State *L, v3s16 p);
+void push_ARGB8 (lua_State *L, video::SColor color);
void pushFloatPos (lua_State *L, v3f p);
void push_v3f (lua_State *L, v3f p);
void push_v2f (lua_State *L, v2f p);
diff --git a/src/script/lua_api/l_object.cpp b/src/script/lua_api/l_object.cpp
index 845aab732..74903df5f 100644
--- a/src/script/lua_api/l_object.cpp
+++ b/src/script/lua_api/l_object.cpp
@@ -1305,15 +1305,7 @@ int ObjectRef::l_get_nametag_attributes(lua_State *L)
video::SColor color = playersao->getNametagColor();
lua_newtable(L);
- lua_newtable(L);
- lua_pushnumber(L, color.getAlpha());
- lua_setfield(L, -2, "a");
- lua_pushnumber(L, color.getRed());
- lua_setfield(L, -2, "r");
- lua_pushnumber(L, color.getGreen());
- lua_setfield(L, -2, "g");
- lua_pushnumber(L, color.getBlue());
- lua_setfield(L, -2, "b");
+ push_ARGB8(L, color);
lua_setfield(L, -2, "color");
return 1;