From 305f58077d13b39ba9e9fca91b69f6aecf6cb8ed Mon Sep 17 00:00:00 2001
From: James R <justsomejames2@gmail.com>
Date: Sat, 24 Oct 2020 15:29:31 -0700
Subject: [PATCH] Fix objectplace -silent

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

diff --git a/src/m_cheat.c b/src/m_cheat.c
index 349f00c485..88f6aaf4ae 100644
--- a/src/m_cheat.c
+++ b/src/m_cheat.c
@@ -1440,14 +1440,21 @@ void Command_Writethings_f(void)
 
 void Command_ObjectPlace_f(void)
 {
+	size_t thingarg;
+	size_t silent;
+
 	REQUIRE_INLEVEL;
 	REQUIRE_SINGLEPLAYER;
 	REQUIRE_NOULTIMATE;
 
 	G_SetGameModified(multiplayer);
 
+	silent = COM_CheckParm("-silent");
+
+	thingarg = 2 - ( silent > 1 );
+
 	// Entering objectplace?
-	if (!objectplacing || COM_Argc() > 1)
+	if (!objectplacing || thingarg < COM_Argc())
 	{
 		if (!objectplacing)
 		{
@@ -1456,7 +1463,7 @@ void Command_ObjectPlace_f(void)
 			if (players[0].powers[pw_carry] == CR_NIGHTSMODE)
 				return;
 
-			if (!COM_CheckParm("-silent"))
+			if (! silent)
 			{
 				HU_SetCEchoFlags(V_RETURN8|V_MONOSPACE|V_AUTOFADEOUT);
 				HU_SetCEchoDuration(10);
@@ -1507,9 +1514,9 @@ void Command_ObjectPlace_f(void)
 				op_oldstate = (statenum_t)(players[0].mo->state-states);
 		}
 
-		if (COM_Argc() > 1)
+		if (thingarg < COM_Argc())
 		{
-			UINT16 mapthingnum = atoi(COM_Argv(1));
+			UINT16 mapthingnum = atoi(COM_Argv(thingarg));
 			mobjtype_t type = P_GetMobjtype(mapthingnum);
 			if (type == MT_UNKNOWN)
 				CONS_Printf(M_GetText("No mobj type delegated to thing type %d.\n"), mapthingnum);
-- 
GitLab