From f8de0dc3de6d7cf649b2a4258cded3dd4b112e3e Mon Sep 17 00:00:00 2001
From: Lactozilla <jp6781615@gmail.com>
Date: Thu, 23 Nov 2023 12:53:36 -0300
Subject: [PATCH] Remove decimal type

---
 src/d_think.h     |  5 -----
 src/lua_infolib.c |  2 --
 src/p_action.c    | 15 ++-------------
 3 files changed, 2 insertions(+), 20 deletions(-)

diff --git a/src/d_think.h b/src/d_think.h
index 330747e4b8..12d44a8a20 100644
--- a/src/d_think.h
+++ b/src/d_think.h
@@ -27,7 +27,6 @@ enum
 {
 	ACTION_VAL_NULL,
 	ACTION_VAL_INTEGER,
-	ACTION_VAL_DECIMAL,
 	ACTION_VAL_BOOLEAN,
 	ACTION_VAL_STRING
 };
@@ -44,7 +43,6 @@ typedef struct
 	union
 	{
 		INT32 v_integer;
-		INT32 v_decimal;
 		boolean v_bool;
 		action_string_t v_string;
 	};
@@ -52,18 +50,15 @@ typedef struct
 
 #define ACTION_VAL_IS_NULL(val) ((val).type == ACTION_VAL_NULL)
 #define ACTION_VAL_IS_INTEGER(val) ((val).type == ACTION_VAL_INTEGER)
-#define ACTION_VAL_IS_DECIMAL(val) ((val).type == ACTION_VAL_DECIMAL)
 #define ACTION_VAL_IS_BOOLEAN(val) ((val).type == ACTION_VAL_BOOLEAN)
 #define ACTION_VAL_IS_STRING(val) ((val).type == ACTION_VAL_STRING)
 
 #define ACTION_NULL_VAL (action_val_t){ .type = ACTION_VAL_NULL }
 #define ACTION_INTEGER_VAL(val) (action_val_t){ .type = ACTION_VAL_INTEGER, .v_integer = (val) }
-#define ACTION_DECIMAL_VAL(val) (action_val_t){ .type = ACTION_VAL_DECIMAL, .v_decimal = (val) }
 #define ACTION_BOOLEAN_VAL(val) (action_val_t){ .type = ACTION_VAL_BOOLEAN, .v_bool = (val) }
 #define ACTION_STRING_VAL(val) (action_val_t){ .type = ACTION_VAL_STRING, .v_string = (val) }
 
 #define ACTION_VAL_AS_INTEGER(val) ((val).v_integer)
-#define ACTION_VAL_AS_DECIMAL(val) ((val).v_decimal)
 #define ACTION_VAL_AS_BOOLEAN(val) ((val).v_bool)
 #define ACTION_VAL_AS_STRING(val) ((val).v_string)
 
diff --git a/src/lua_infolib.c b/src/lua_infolib.c
index ec77c62eb6..6eba2308c4 100644
--- a/src/lua_infolib.c
+++ b/src/lua_infolib.c
@@ -713,8 +713,6 @@ static void PushActionValue(lua_State *L, action_val_t arg)
 {
 	if (ACTION_VAL_IS_INTEGER(arg))
 		lua_pushinteger(L, ACTION_VAL_AS_INTEGER(arg));
-	else if (ACTION_VAL_IS_DECIMAL(arg))
-		lua_pushfixed(L, ACTION_VAL_AS_DECIMAL(arg));
 	else if (ACTION_VAL_IS_BOOLEAN(arg))
 		lua_pushboolean(L, ACTION_VAL_AS_BOOLEAN(arg));
 	else if (ACTION_VAL_IS_STRING(arg))
diff --git a/src/p_action.c b/src/p_action.c
index 65cf0da5b5..637fdbb20e 100644
--- a/src/p_action.c
+++ b/src/p_action.c
@@ -57,8 +57,6 @@ static const char *Action_GetTypeName(UINT8 type)
 		return "null";
 	case ACTION_VAL_INTEGER:
 		return "integer";
-	case ACTION_VAL_DECIMAL:
-		return "decimal";
 	case ACTION_VAL_BOOLEAN:
 		return "boolean";
 	case ACTION_VAL_STRING:
@@ -86,8 +84,6 @@ INT32 Action_ValueToInteger(action_val_t value)
 {
 	if (ACTION_VAL_IS_INTEGER(value))
 		return ACTION_VAL_AS_INTEGER(value);
-	else if (ACTION_VAL_IS_DECIMAL(value))
-		return FixedInt(ACTION_VAL_AS_DECIMAL(value));
 	else if (ACTION_VAL_IS_BOOLEAN(value))
 		return ACTION_VAL_AS_BOOLEAN(value) ? 1 : 0;
 
@@ -96,20 +92,13 @@ INT32 Action_ValueToInteger(action_val_t value)
 
 char *Action_ValueToString(action_val_t value)
 {
-	size_t bufsize = 128;
-
 	if (ACTION_VAL_IS_INTEGER(value))
 	{
+		size_t bufsize = 128;
 		char *buffer = Z_Malloc(bufsize, PU_STATIC, NULL);
 		snprintf(buffer, bufsize, "<integer> %d", Action_ValueToInteger(value));
 		return buffer;
 	}
-	else if (ACTION_VAL_IS_DECIMAL(value))
-	{
-		char *buffer = Z_Malloc(bufsize, PU_STATIC, NULL);
-		snprintf(buffer, bufsize, "<decimal> %f", FixedToFloat(ACTION_VAL_AS_DECIMAL(value)));
-		return buffer;
-	}
 	else if (ACTION_VAL_IS_BOOLEAN(value))
 		return ACTION_VAL_AS_BOOLEAN(value) ? Z_StrDup("<boolean> true") : Z_StrDup("<boolean> false");
 	else if (ACTION_VAL_IS_STRING(value))
@@ -124,7 +113,7 @@ static INT32 GetInteger(action_val_t *args, unsigned argcount, unsigned argnum,
 {
 	ARGS_CHECK_VALID(0);
 
-	if (ACTION_VAL_IS_INTEGER(args[argnum]) || ACTION_VAL_IS_DECIMAL(args[argnum]) || ACTION_VAL_IS_BOOLEAN(args[argnum]))
+	if (ACTION_VAL_IS_INTEGER(args[argnum]) || ACTION_VAL_IS_BOOLEAN(args[argnum]))
 		return Action_ValueToInteger(args[argnum]);
 
 	ARGS_VALUE_EXPECTED(ACTION_VAL_INTEGER);
-- 
GitLab