From 4173b15c8e71e3614641d50a4bb0220eb280ef45 Mon Sep 17 00:00:00 2001
From: GoldenTails <milestailsprower101n2@gmail.com>
Date: Thu, 13 Aug 2020 23:33:47 -0500
Subject: [PATCH] Expose V_GetStringColormap to Lua via v.getStringColormap().

---
 src/lua_hudlib.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/src/lua_hudlib.c b/src/lua_hudlib.c
index 4aa70574b3..6b87dc9303 100644
--- a/src/lua_hudlib.c
+++ b/src/lua_hudlib.c
@@ -992,6 +992,19 @@ static int libd_getColormap(lua_State *L)
 	return 1;
 }
 
+static int libd_getStringColormap(lua_State *L)
+{
+	INT32 flags = luaL_checkinteger(L, 1);
+	UINT8* colormap = NULL;
+	HUDONLY
+	colormap = V_GetStringColormap(flags & V_CHARCOLORMASK);
+	if (colormap) {
+		LUA_PushUserdata(L, colormap, META_COLORMAP); // push as META_COLORMAP userdata, specifically for patches to use!
+		return 1;
+	}
+	return 0;
+}
+
 static int libd_fadeScreen(lua_State *L)
 {
 	UINT16 color = luaL_checkinteger(L, 1);
@@ -1142,6 +1155,7 @@ static luaL_Reg lib_draw[] = {
 	{"getSpritePatch", libd_getSpritePatch},
 	{"getSprite2Patch", libd_getSprite2Patch},
 	{"getColormap", libd_getColormap},
+	{"getStringColormap", libd_getStringColormap},
 	// drawing
 	{"draw", libd_draw},
 	{"drawScaled", libd_drawScaled},
-- 
GitLab