mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-23 04:22:34 +00:00
Merge branch 'master' of https://github.com/rheit/zdoom
This commit is contained in:
commit
1a4b3bbe11
6 changed files with 29 additions and 3 deletions
|
@ -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;
|
||||
|
|
|
@ -165,6 +165,7 @@ enum EDemoCommand
|
|||
DEM_REVERTCAMERA, // 66
|
||||
DEM_SETSLOTPNUM, // 67 Byte: player number, the rest is the same as DEM_SETSLOT
|
||||
DEM_REMOVE, // 68
|
||||
DEM_FINISHGAME, // 69
|
||||
};
|
||||
|
||||
// The following are implemented by cht_DoCheat in m_cheat.cpp
|
||||
|
|
|
@ -138,6 +138,17 @@ void AFastProjectile::Tick ()
|
|||
}
|
||||
}
|
||||
}
|
||||
if ((flags7 & MF7_HANDLENODELAY) && !(flags2 & MF2_DORMANT))
|
||||
{
|
||||
flags7 &= ~MF7_HANDLENODELAY;
|
||||
if (state->GetNoDelay())
|
||||
{
|
||||
// For immediately spawned objects with the NoDelay flag set for their
|
||||
// Spawn state, explicitly call the current state's function.
|
||||
if (state->CallAction(this, this) && (ObjectFlags & OF_EuthanizeMe))
|
||||
return; // freed itself
|
||||
}
|
||||
}
|
||||
// Advance the state
|
||||
if (tics != -1)
|
||||
{
|
||||
|
|
|
@ -945,6 +945,14 @@ public:
|
|||
{
|
||||
return mMaxValid >= 0;
|
||||
}
|
||||
|
||||
void Ticker()
|
||||
{
|
||||
if (Selectable() && mSelection > mMaxValid)
|
||||
{
|
||||
mSelection = mMaxValid;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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.
|
||||
|
|
Loading…
Reference in a new issue