From f416c6a98d78cefc6acd9d94396ce9e438f784c3 Mon Sep 17 00:00:00 2001
From: spherallic <spherallic@gmail.com>
Date: Sun, 11 Jun 2023 12:42:10 +0200
Subject: [PATCH] Add absolute Z flag to MAPTHINGFLAG_LIST

---
 src/deh_lua.c    | 4 ++--
 src/deh_tables.c | 5 +++--
 src/deh_tables.h | 2 +-
 3 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/src/deh_lua.c b/src/deh_lua.c
index 6dabb7e2d9..a8bc633777 100644
--- a/src/deh_lua.c
+++ b/src/deh_lua.c
@@ -271,8 +271,8 @@ static int ScanConstants(lua_State *L, boolean mathlib, const char *word)
 	}
 	else if (fastncmp("MTF_", word, 4)) {
 		p = word+4;
-		for (i = 0; i < 4; i++)
-			if (MAPTHINGFLAG_LIST[i] && fastcmp(p, MAPTHINGFLAG_LIST[i])) {
+		for (i = 0; MAPTHINGFLAG_LIST[i]; i++)
+			if (fastcmp(p, MAPTHINGFLAG_LIST[i])) {
 				CacheAndPushConstant(L, word, ((lua_Integer)1<<i));
 				return 1;
 			}
diff --git a/src/deh_tables.c b/src/deh_tables.c
index c3b2cfccd6..31e5a93f64 100644
--- a/src/deh_tables.c
+++ b/src/deh_tables.c
@@ -4409,11 +4409,12 @@ const char *const MOBJEFLAG_LIST[] = {
 	NULL
 };
 
-const char *const MAPTHINGFLAG_LIST[4] = {
+const char *const MAPTHINGFLAG_LIST[] = {
 	"EXTRA", // Extra flag for objects.
 	"OBJECTFLIP", // Reverse gravity flag for objects.
 	"OBJECTSPECIAL", // Special flag used with certain objects.
-	"AMBUSH" // Deaf monsters/do not react to sound.
+	"AMBUSH", // Deaf monsters/do not react to sound.
+	"ABSOLUTEZ" // Absolute spawn height flag for objects.
 };
 
 const char *const PLAYERFLAG_LIST[] = {
diff --git a/src/deh_tables.h b/src/deh_tables.h
index 8943ab71a4..61452e8acf 100644
--- a/src/deh_tables.h
+++ b/src/deh_tables.h
@@ -61,7 +61,7 @@ extern const char *const MOBJTYPE_LIST[];
 extern const char *const MOBJFLAG_LIST[];
 extern const char *const MOBJFLAG2_LIST[]; // \tMF2_(\S+).*// (.+) --> \t"\1", // \2
 extern const char *const MOBJEFLAG_LIST[];
-extern const char *const MAPTHINGFLAG_LIST[4];
+extern const char *const MAPTHINGFLAG_LIST[];
 extern const char *const PLAYERFLAG_LIST[];
 extern const char *const GAMETYPERULE_LIST[];
 extern const char *const ML_LIST[]; // Linedef flags
-- 
GitLab