Make finishgame CCMD net-aware

This commit is contained in:
Randy Heit 2016-01-27 13:19:15 -06:00
parent b22a909829
commit 2d40874cfa
4 changed files with 10 additions and 3 deletions

View file

@ -2668,6 +2668,11 @@ void Net_DoCommand (int type, BYTE **stream, int player)
players[player].camera = players[player].mo;
break;
case DEM_FINISHGAME:
// Simulate an end-of-game action
G_ChangeLevel(NULL, 0, 0);
break;
default:
I_Error ("Unknown net command: %d", type);
break;

View file

@ -164,7 +164,8 @@ enum EDemoCommand
DEM_RUNNAMEDSCRIPT, // 65 String: Script name, Byte: Arg count + Always flag; each arg is a 4-byte int
DEM_REVERTCAMERA, // 66
DEM_SETSLOTPNUM, // 67 Byte: player number, the rest is the same as DEM_SETSLOT
DEM_REMOVE, // 68
DEM_REMOVE, // 68
DEM_FINISHGAME, // 69
};
// The following are implemented by cht_DoCheat in m_cheat.cpp

View file

@ -46,6 +46,7 @@
#include "c_console.h"
#include "d_gui.h"
#include "d_dehacked.h"
#include "d_net.h"
#include "g_game.h"
#include "m_png.h"
#include "m_misc.h"
@ -604,7 +605,7 @@ CCMD(printstats)
CCMD(finishgame)
{
// This CCMD simulates an end-of-game action and exists to end mods that never exit their last level.
G_ChangeLevel(NULL, 0, 0);
Net_WriteByte(DEM_FINISHGAME);
}
ADD_STAT(statistics)

View file

@ -61,7 +61,7 @@ const char *GetVersionString();
// Protocol version used in demos.
// Bump it if you change existing DEM_ commands or add new ones.
// Otherwise, it should be safe to leave it alone.
#define DEMOGAMEVERSION 0x21C
#define DEMOGAMEVERSION 0x21D
// Minimum demo version we can play.
// Bump it whenever you change or remove existing DEM_ commands.