mirror of
https://github.com/luanti-org/luanti.git
synced 2025-08-01 17:38:41 +00:00
Add minetest.colorspec_to_colorstring
(#10425)
This commit is contained in:
parent
3e2145d662
commit
074e6a67de
5 changed files with 232 additions and 224 deletions
|
@ -17,6 +17,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
|
||||
#include "irrlichttypes_extrabloated.h"
|
||||
#include "lua_api/l_util.h"
|
||||
#include "lua_api/l_internal.h"
|
||||
#include "lua_api/l_settings.h"
|
||||
|
@ -40,7 +41,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||
#include "util/hex.h"
|
||||
#include "util/sha1.h"
|
||||
#include <algorithm>
|
||||
|
||||
#include <cstdio>
|
||||
|
||||
// log([level,] text)
|
||||
// Writes a line to the logger.
|
||||
|
@ -479,6 +480,23 @@ int ModApiUtil::l_sha1(lua_State *L)
|
|||
return 1;
|
||||
}
|
||||
|
||||
// colorspec_to_colorstring(colorspec)
|
||||
int ModApiUtil::l_colorspec_to_colorstring(lua_State *L)
|
||||
{
|
||||
NO_MAP_LOCK_REQUIRED;
|
||||
|
||||
video::SColor color(0);
|
||||
if (read_color(L, 1, &color)) {
|
||||
char colorstring[10];
|
||||
snprintf(colorstring, 10, "#%02X%02X%02X%02X",
|
||||
color.getRed(), color.getGreen(), color.getBlue(), color.getAlpha());
|
||||
lua_pushstring(L, colorstring);
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void ModApiUtil::Initialize(lua_State *L, int top)
|
||||
{
|
||||
API_FCT(log);
|
||||
|
@ -513,6 +531,7 @@ void ModApiUtil::Initialize(lua_State *L, int top)
|
|||
|
||||
API_FCT(get_version);
|
||||
API_FCT(sha1);
|
||||
API_FCT(colorspec_to_colorstring);
|
||||
|
||||
LuaSettings::create(L, g_settings, g_settings_path);
|
||||
lua_setfield(L, top, "settings");
|
||||
|
@ -537,6 +556,7 @@ void ModApiUtil::InitializeClient(lua_State *L, int top)
|
|||
|
||||
API_FCT(get_version);
|
||||
API_FCT(sha1);
|
||||
API_FCT(colorspec_to_colorstring);
|
||||
}
|
||||
|
||||
void ModApiUtil::InitializeAsync(lua_State *L, int top)
|
||||
|
@ -564,8 +584,8 @@ void ModApiUtil::InitializeAsync(lua_State *L, int top)
|
|||
|
||||
API_FCT(get_version);
|
||||
API_FCT(sha1);
|
||||
API_FCT(colorspec_to_colorstring);
|
||||
|
||||
LuaSettings::create(L, g_settings, g_settings_path);
|
||||
lua_setfield(L, top, "settings");
|
||||
}
|
||||
|
||||
|
|
|
@ -101,6 +101,9 @@ private:
|
|||
// sha1(string, raw)
|
||||
static int l_sha1(lua_State *L);
|
||||
|
||||
// colorspec_to_colorstring(colorspec)
|
||||
static int l_colorspec_to_colorstring(lua_State *L);
|
||||
|
||||
public:
|
||||
static void Initialize(lua_State *L, int top);
|
||||
static void InitializeAsync(lua_State *L, int top);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue