Just revert the respawn, retry and suicide stuff cuz it's apparently contentious. Who knew?

This commit is contained in:
toaster 2019-10-16 17:31:10 +01:00
parent 3e3ee8717f
commit 036c6aa829
2 changed files with 18 additions and 29 deletions

View file

@ -65,7 +65,7 @@ static void Got_ExitLevelcmd(UINT8 **cp, INT32 playernum);
static void Got_RequestAddfilecmd(UINT8 **cp, INT32 playernum); static void Got_RequestAddfilecmd(UINT8 **cp, INT32 playernum);
static void Got_Addfilecmd(UINT8 **cp, INT32 playernum); static void Got_Addfilecmd(UINT8 **cp, INT32 playernum);
static void Got_Pause(UINT8 **cp, INT32 playernum); static void Got_Pause(UINT8 **cp, INT32 playernum);
static void Got_Respawn(UINT8 **cp, INT32 playernum); static void Got_Suicide(UINT8 **cp, INT32 playernum);
static void Got_RandomSeed(UINT8 **cp, INT32 playernum); static void Got_RandomSeed(UINT8 **cp, INT32 playernum);
static void Got_RunSOCcmd(UINT8 **cp, INT32 playernum); static void Got_RunSOCcmd(UINT8 **cp, INT32 playernum);
static void Got_Teamchange(UINT8 **cp, INT32 playernum); static void Got_Teamchange(UINT8 **cp, INT32 playernum);
@ -117,7 +117,7 @@ static void Command_Addfile(void);
static void Command_ListWADS_f(void); static void Command_ListWADS_f(void);
static void Command_RunSOC(void); static void Command_RunSOC(void);
static void Command_Pause(void); static void Command_Pause(void);
static void Command_Respawn(void); static void Command_Suicide(void);
static void Command_Version_f(void); static void Command_Version_f(void);
#ifdef UPDATE_ALERT #ifdef UPDATE_ALERT
@ -394,7 +394,7 @@ const char *netxcmdnames[MAXNETXCMD - 1] =
"REQADDFILE", "REQADDFILE",
"DELFILE", // replace next time we add an XD "DELFILE", // replace next time we add an XD
"SETMOTD", "SETMOTD",
"RESPAWN", "SUICIDE",
#ifdef HAVE_BLUA #ifdef HAVE_BLUA
"LUACMD", "LUACMD",
"LUAVAR" "LUAVAR"
@ -429,7 +429,7 @@ void D_RegisterServerCommands(void)
RegisterNetXCmd(XD_ADDFILE, Got_Addfilecmd); RegisterNetXCmd(XD_ADDFILE, Got_Addfilecmd);
RegisterNetXCmd(XD_REQADDFILE, Got_RequestAddfilecmd); RegisterNetXCmd(XD_REQADDFILE, Got_RequestAddfilecmd);
RegisterNetXCmd(XD_PAUSE, Got_Pause); RegisterNetXCmd(XD_PAUSE, Got_Pause);
RegisterNetXCmd(XD_RESPAWN, Got_Respawn); RegisterNetXCmd(XD_SUICIDE, Got_Suicide);
RegisterNetXCmd(XD_RUNSOC, Got_RunSOCcmd); RegisterNetXCmd(XD_RUNSOC, Got_RunSOCcmd);
#ifdef HAVE_BLUA #ifdef HAVE_BLUA
RegisterNetXCmd(XD_LUACMD, Got_Luacmd); RegisterNetXCmd(XD_LUACMD, Got_Luacmd);
@ -454,7 +454,7 @@ void D_RegisterServerCommands(void)
COM_AddCommand("map", Command_Map_f); COM_AddCommand("map", Command_Map_f);
COM_AddCommand("exitgame", Command_ExitGame_f); COM_AddCommand("exitgame", Command_ExitGame_f);
//COM_AddCommand("retry", Command_Retry_f); COM_AddCommand("retry", Command_Retry_f);
COM_AddCommand("exitlevel", Command_ExitLevel_f); COM_AddCommand("exitlevel", Command_ExitLevel_f);
COM_AddCommand("showmap", Command_Showmap_f); COM_AddCommand("showmap", Command_Showmap_f);
COM_AddCommand("mapmd5", Command_Mapmd5_f); COM_AddCommand("mapmd5", Command_Mapmd5_f);
@ -464,7 +464,7 @@ void D_RegisterServerCommands(void)
COM_AddCommand("runsoc", Command_RunSOC); COM_AddCommand("runsoc", Command_RunSOC);
COM_AddCommand("pause", Command_Pause); COM_AddCommand("pause", Command_Pause);
COM_AddCommand("respawn", Command_Respawn); COM_AddCommand("suicide", Command_Suicide);
COM_AddCommand("gametype", Command_ShowGametype_f); COM_AddCommand("gametype", Command_ShowGametype_f);
COM_AddCommand("version", Command_Version_f); COM_AddCommand("version", Command_Version_f);
@ -2029,7 +2029,7 @@ static void Got_Pause(UINT8 **cp, INT32 playernum)
} }
// Command for stuck characters in netgames, griefing, etc. // Command for stuck characters in netgames, griefing, etc.
static void Command_Respawn(void) static void Command_Suicide(void)
{ {
UINT8 buf[4]; UINT8 buf[4];
UINT8 *cp = buf; UINT8 *cp = buf;
@ -2046,33 +2046,25 @@ static void Command_Respawn(void)
return; return;
} }
// Retry is quicker. // Retry is quicker. Probably should force people to use it.
if (!(netgame || multiplayer)) if (!(netgame || multiplayer))
{ {
if (!&players[consoleplayer] || players[consoleplayer].lives <= 1) CONS_Printf(M_GetText("You can't use this in Single Player! Use \"retry\" instead.\n"));
CONS_Printf(M_GetText("You can't use this without any lives remaining!\n"));
else if (G_IsSpecialStage(gamemap))
CONS_Printf(M_GetText("You can't retry special stages!\n"));
else
{
M_ClearMenus(true);
G_SetRetryFlag();
}
return; return;
} }
WRITEINT32(cp, consoleplayer); WRITEINT32(cp, consoleplayer);
SendNetXCmd(XD_RESPAWN, &buf, 4); SendNetXCmd(XD_SUICIDE, &buf, 4);
} }
static void Got_Respawn(UINT8 **cp, INT32 playernum) static void Got_Suicide(UINT8 **cp, INT32 playernum)
{ {
INT32 respawnplayer = READINT32(*cp); INT32 suicideplayer = READINT32(*cp);
// You can't respawn someone else. Nice try, there. // You can't suicide someone else. Nice try, there.
if (respawnplayer != playernum || (!G_PlatformGametype())) if (respawnplayer != playernum || (!G_PlatformGametype()))
{ {
CONS_Alert(CONS_WARNING, M_GetText("Illegal respawn command received from %s\n"), player_names[playernum]); CONS_Alert(CONS_WARNING, M_GetText("Illegal suicide command received from %s\n"), player_names[playernum]);
if (server) if (server)
{ {
UINT8 buf[2]; UINT8 buf[2];
@ -2084,8 +2076,8 @@ static void Got_Respawn(UINT8 **cp, INT32 playernum)
return; return;
} }
if (players[respawnplayer].mo) if (players[suicideplayer].mo)
P_DamageMobj(players[respawnplayer].mo, NULL, NULL, 1, DMG_INSTAKILL); P_DamageMobj(players[suicideplayer].mo, NULL, NULL, 1, DMG_INSTAKILL);
} }
/** Deals with an ::XD_RANDOMSEED message in a netgame. /** Deals with an ::XD_RANDOMSEED message in a netgame.
@ -4126,8 +4118,6 @@ void Command_ExitGame_f(void)
D_StartTitle(); D_StartTitle();
} }
// see Command_Respawn()
#if 0
void Command_Retry_f(void) void Command_Retry_f(void)
{ {
if (!(gamestate == GS_LEVEL || gamestate == GS_INTERMISSION)) if (!(gamestate == GS_LEVEL || gamestate == GS_INTERMISSION))
@ -4144,7 +4134,6 @@ void Command_Retry_f(void)
G_SetRetryFlag(); G_SetRetryFlag();
} }
} }
#endif
#ifdef NETGAME_DEVMODE #ifdef NETGAME_DEVMODE
// Allow the use of devmode in netgames. // Allow the use of devmode in netgames.

View file

@ -136,7 +136,7 @@ typedef enum
XD_REQADDFILE, // 17 XD_REQADDFILE, // 17
XD_DELFILE, // 18 - replace next time we add an XD XD_DELFILE, // 18 - replace next time we add an XD
XD_SETMOTD, // 19 XD_SETMOTD, // 19
XD_RESPAWN, // 20 XD_SUICIDE, // 20
XD_DEMOTED, // 21 XD_DEMOTED, // 21
#ifdef HAVE_BLUA #ifdef HAVE_BLUA
XD_LUACMD, // 22 XD_LUACMD, // 22
@ -192,7 +192,7 @@ void D_RegisterServerCommands(void);
void D_RegisterClientCommands(void); void D_RegisterClientCommands(void);
void D_SendPlayerConfig(void); void D_SendPlayerConfig(void);
void Command_ExitGame_f(void); void Command_ExitGame_f(void);
//void Command_Retry_f(void); void Command_Retry_f(void);
void D_GameTypeChanged(INT32 lastgametype); // not a real _OnChange function anymore void D_GameTypeChanged(INT32 lastgametype); // not a real _OnChange function anymore
void D_MapChange(INT32 pmapnum, INT32 pgametype, boolean pultmode, boolean presetplayers, INT32 pdelay, boolean pskipprecutscene, boolean pfromlevelselect); void D_MapChange(INT32 pmapnum, INT32 pgametype, boolean pultmode, boolean presetplayers, INT32 pdelay, boolean pskipprecutscene, boolean pfromlevelselect);
boolean IsPlayerAdmin(INT32 playernum); boolean IsPlayerAdmin(INT32 playernum);