From 1d799630af754e7aec7aa01745c21e1d152f0e49 Mon Sep 17 00:00:00 2001
From: toaster <rollerorbital@gmail.com>
Date: Sun, 28 Jul 2019 22:45:20 +0100
Subject: [PATCH] Made it possible to just call `EV_CrumbleChain(rover)` in Lua

---
 src/lua_baselib.c | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/src/lua_baselib.c b/src/lua_baselib.c
index 712bc40458..97d2fdc243 100644
--- a/src/lua_baselib.c
+++ b/src/lua_baselib.c
@@ -2047,12 +2047,19 @@ static int lib_pStartQuake(lua_State *L)
 
 static int lib_evCrumbleChain(lua_State *L)
 {
-	sector_t *sec = *((sector_t **)luaL_checkudata(L, 1, META_SECTOR));
-	ffloor_t *rover = *((ffloor_t **)luaL_checkudata(L, 2, META_FFLOOR));
+	sector_t *sec = NULL;
+	ffloor_t *rover = NULL;
 	NOHUD
 	INLEVEL
-	/*if (!sec)
-		return LUA_ErrInvalid(L, "sector_t");*/
+	if (lua_isuserdata(L, 2))
+	{
+		sec = *((sector_t **)luaL_checkudata(L, 1, META_SECTOR));
+		rover = *((ffloor_t **)luaL_checkudata(L, 2, META_FFLOOR));
+		if (!sec)
+			return LUA_ErrInvalid(L, "sector_t");
+	}
+	else
+		rover = *((ffloor_t **)luaL_checkudata(L, 1, META_FFLOOR));
 	if (!rover)
 		return LUA_ErrInvalid(L, "ffloor_t");
 	EV_CrumbleChain(sec, rover);
-- 
GitLab