mirror of
https://github.com/ZDoom/qzdoom.git
synced 2024-11-24 21:11:39 +00:00
Merge branch 'master' of https://github.com/rheit/zdoom
This commit is contained in:
commit
8465a5f5d7
14 changed files with 119 additions and 100 deletions
|
@ -181,6 +181,7 @@
|
||||||
WarningLevel="3"
|
WarningLevel="3"
|
||||||
Detect64BitPortabilityProblems="true"
|
Detect64BitPortabilityProblems="true"
|
||||||
DebugInformationFormat="3"
|
DebugInformationFormat="3"
|
||||||
|
CallingConvention="1"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCManagedResourceCompilerTool"
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
<?xml version="1.0" encoding="Windows-1252"?>
|
||||||
<VisualStudioProject
|
<VisualStudioProject
|
||||||
ProjectType="Visual C++"
|
ProjectType="Visual C++"
|
||||||
Version="9,00"
|
Version="8,00"
|
||||||
Name="lzmalib"
|
Name="lzmalib"
|
||||||
ProjectGUID="{6EB27E78-7C7A-4F08-8E19-957E8EB3A20F}"
|
ProjectGUID="{6EB27E78-7C7A-4F08-8E19-957E8EB3A20F}"
|
||||||
RootNamespace="lzmalib"
|
RootNamespace="lzmalib"
|
||||||
|
|
|
@ -641,12 +641,14 @@ void C_NewModeAdjust ()
|
||||||
C_AdjustBottom ();
|
C_AdjustBottom ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int consoletic = 0;
|
||||||
void C_Ticker ()
|
void C_Ticker ()
|
||||||
{
|
{
|
||||||
static int lasttic = 0;
|
static int lasttic = 0;
|
||||||
|
consoletic++;
|
||||||
|
|
||||||
if (lasttic == 0)
|
if (lasttic == 0)
|
||||||
lasttic = gametic - 1;
|
lasttic = consoletic - 1;
|
||||||
|
|
||||||
if (con_buffersize > 0)
|
if (con_buffersize > 0)
|
||||||
{
|
{
|
||||||
|
@ -657,7 +659,7 @@ void C_Ticker ()
|
||||||
{
|
{
|
||||||
if (ConsoleState == c_falling)
|
if (ConsoleState == c_falling)
|
||||||
{
|
{
|
||||||
ConBottom += (gametic - lasttic) * (SCREENHEIGHT*2/25);
|
ConBottom += (consoletic - lasttic) * (SCREENHEIGHT * 2 / 25);
|
||||||
if (ConBottom >= SCREENHEIGHT / 2)
|
if (ConBottom >= SCREENHEIGHT / 2)
|
||||||
{
|
{
|
||||||
ConBottom = SCREENHEIGHT / 2;
|
ConBottom = SCREENHEIGHT / 2;
|
||||||
|
@ -666,7 +668,7 @@ void C_Ticker ()
|
||||||
}
|
}
|
||||||
else if (ConsoleState == c_rising)
|
else if (ConsoleState == c_rising)
|
||||||
{
|
{
|
||||||
ConBottom -= (gametic - lasttic) * (SCREENHEIGHT*2/25);
|
ConBottom -= (consoletic - lasttic) * (SCREENHEIGHT * 2 / 25);
|
||||||
if (ConBottom <= 0)
|
if (ConBottom <= 0)
|
||||||
{
|
{
|
||||||
ConsoleState = c_up;
|
ConsoleState = c_up;
|
||||||
|
@ -681,7 +683,7 @@ void C_Ticker ()
|
||||||
CursorTicker = C_BLINKRATE;
|
CursorTicker = C_BLINKRATE;
|
||||||
}
|
}
|
||||||
|
|
||||||
lasttic = gametic;
|
lasttic = consoletic;
|
||||||
|
|
||||||
if (NotifyTopGoal > NotifyTop)
|
if (NotifyTopGoal > NotifyTop)
|
||||||
{
|
{
|
||||||
|
|
|
@ -422,7 +422,7 @@ CVAR (Flag, sv_fastmonsters, dmflags, DF_FAST_MONSTERS);
|
||||||
CVAR (Flag, sv_nojump, dmflags, DF_NO_JUMP);
|
CVAR (Flag, sv_nojump, dmflags, DF_NO_JUMP);
|
||||||
CVAR (Flag, sv_allowjump, dmflags, DF_YES_JUMP);
|
CVAR (Flag, sv_allowjump, dmflags, DF_YES_JUMP);
|
||||||
CVAR (Flag, sv_nofreelook, dmflags, DF_NO_FREELOOK);
|
CVAR (Flag, sv_nofreelook, dmflags, DF_NO_FREELOOK);
|
||||||
CVAR (Flag, sv_respawnsuper, dmflags, DF_RESPAWN_SUPER);
|
CVAR (Flag, sv_allowfreelook, dmflags, DF_YES_FREELOOK);
|
||||||
CVAR (Flag, sv_nofov, dmflags, DF_NO_FOV);
|
CVAR (Flag, sv_nofov, dmflags, DF_NO_FOV);
|
||||||
CVAR (Flag, sv_noweaponspawn, dmflags, DF_NO_COOP_WEAPON_SPAWN);
|
CVAR (Flag, sv_noweaponspawn, dmflags, DF_NO_COOP_WEAPON_SPAWN);
|
||||||
CVAR (Flag, sv_nocrouch, dmflags, DF_NO_CROUCH);
|
CVAR (Flag, sv_nocrouch, dmflags, DF_NO_CROUCH);
|
||||||
|
@ -439,6 +439,7 @@ CVAR (Flag, sv_coophalveammo, dmflags, DF_COOP_HALVE_AMMO);
|
||||||
CVAR (Mask, sv_crouch, dmflags, DF_NO_CROUCH|DF_YES_CROUCH);
|
CVAR (Mask, sv_crouch, dmflags, DF_NO_CROUCH|DF_YES_CROUCH);
|
||||||
CVAR (Mask, sv_jump, dmflags, DF_NO_JUMP|DF_YES_JUMP);
|
CVAR (Mask, sv_jump, dmflags, DF_NO_JUMP|DF_YES_JUMP);
|
||||||
CVAR (Mask, sv_fallingdamage, dmflags, DF_FORCE_FALLINGHX|DF_FORCE_FALLINGZD);
|
CVAR (Mask, sv_fallingdamage, dmflags, DF_FORCE_FALLINGHX|DF_FORCE_FALLINGZD);
|
||||||
|
CVAR (Mask, sv_freelook, dmflags, DF_NO_FREELOOK|DF_YES_FREELOOK);
|
||||||
|
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
//
|
//
|
||||||
|
@ -510,6 +511,8 @@ CVAR (Flag, sv_noautoaim, dmflags2, DF2_NOAUTOAIM);
|
||||||
CVAR (Flag, sv_dontcheckammo, dmflags2, DF2_DONTCHECKAMMO);
|
CVAR (Flag, sv_dontcheckammo, dmflags2, DF2_DONTCHECKAMMO);
|
||||||
CVAR (Flag, sv_killbossmonst, dmflags2, DF2_KILLBOSSMONST);
|
CVAR (Flag, sv_killbossmonst, dmflags2, DF2_KILLBOSSMONST);
|
||||||
CVAR (Flag, sv_nocountendmonst, dmflags2, DF2_NOCOUNTENDMONST);
|
CVAR (Flag, sv_nocountendmonst, dmflags2, DF2_NOCOUNTENDMONST);
|
||||||
|
CVAR (Flag, sv_respawnsuper, dmflags2, DF2_RESPAWN_SUPER);
|
||||||
|
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
//
|
//
|
||||||
// CVAR compatflags
|
// CVAR compatflags
|
||||||
|
@ -1319,7 +1322,7 @@ void D_DoAdvanceDemo (void)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pagename)
|
if (pagename.IsNotEmpty())
|
||||||
{
|
{
|
||||||
if (Page != NULL)
|
if (Page != NULL)
|
||||||
{
|
{
|
||||||
|
@ -2235,7 +2238,7 @@ void D_DoomMain (void)
|
||||||
|
|
||||||
// +logfile gets checked too late to catch the full startup log in the logfile so do some extra check for it here.
|
// +logfile gets checked too late to catch the full startup log in the logfile so do some extra check for it here.
|
||||||
FString logfile = Args->TakeValue("+logfile");
|
FString logfile = Args->TakeValue("+logfile");
|
||||||
if (logfile != NULL)
|
if (logfile.IsNotEmpty())
|
||||||
{
|
{
|
||||||
execLogfile(logfile);
|
execLogfile(logfile);
|
||||||
}
|
}
|
||||||
|
@ -2273,7 +2276,7 @@ void D_DoomMain (void)
|
||||||
|
|
||||||
// The IWAD selection dialogue does not show in fullscreen so if the
|
// The IWAD selection dialogue does not show in fullscreen so if the
|
||||||
// restart is initiated without a defined IWAD assume for now that it's not going to change.
|
// restart is initiated without a defined IWAD assume for now that it's not going to change.
|
||||||
if (iwad.Len() == 0) iwad = lastIWAD;
|
if (iwad.IsEmpty()) iwad = lastIWAD;
|
||||||
|
|
||||||
FIWadManager *iwad_man = new FIWadManager;
|
FIWadManager *iwad_man = new FIWadManager;
|
||||||
const FIWADInfo *iwad_info = iwad_man->FindIWAD(allwads, iwad, basewad);
|
const FIWADInfo *iwad_info = iwad_man->FindIWAD(allwads, iwad, basewad);
|
||||||
|
|
108
src/d_net.cpp
108
src/d_net.cpp
|
@ -1275,6 +1275,55 @@ void NetUpdate (void)
|
||||||
|
|
||||||
// listen for other packets
|
// listen for other packets
|
||||||
GetPackets ();
|
GetPackets ();
|
||||||
|
|
||||||
|
if (!demoplayback)
|
||||||
|
{
|
||||||
|
// ideally nettics[0] should be 1 - 3 tics above lowtic
|
||||||
|
// if we are consistantly slower, speed up time
|
||||||
|
|
||||||
|
// [RH] I had erroneously assumed frameskip[] had 4 entries
|
||||||
|
// because there were 4 players, but that's not the case at
|
||||||
|
// all. The game is comparing the lag behind the master for
|
||||||
|
// four runs of TryRunTics. If our tic count is ahead of the
|
||||||
|
// master all 4 times, the next run of NetUpdate will not
|
||||||
|
// process any new input. If we have less input than the
|
||||||
|
// master, the next run of NetUpdate will process extra tics
|
||||||
|
// (because gametime gets decremented here).
|
||||||
|
|
||||||
|
// the key player does not adapt
|
||||||
|
if (consoleplayer != Net_Arbitrator)
|
||||||
|
{
|
||||||
|
// I'm not sure about this when using a packet server, because
|
||||||
|
// if left unmodified from the P2P version, it can make the game
|
||||||
|
// very jerky. The way I have it written right now basically means
|
||||||
|
// that it won't adapt. Fortunately, player prediction helps
|
||||||
|
// alleviate the lag somewhat.
|
||||||
|
|
||||||
|
if (NetMode != NET_PacketServer)
|
||||||
|
{
|
||||||
|
mastertics = nettics[nodeforplayer[Net_Arbitrator]];
|
||||||
|
}
|
||||||
|
if (nettics[0] <= mastertics)
|
||||||
|
{
|
||||||
|
gametime--;
|
||||||
|
if (debugfile) fprintf(debugfile, "-");
|
||||||
|
}
|
||||||
|
if (NetMode != NET_PacketServer)
|
||||||
|
{
|
||||||
|
frameskip[(maketic / ticdup) & 3] = (oldnettics > mastertics);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
frameskip[(maketic / ticdup) & 3] = (oldnettics - mastertics) > 3;
|
||||||
|
}
|
||||||
|
if (frameskip[0] && frameskip[1] && frameskip[2] && frameskip[3])
|
||||||
|
{
|
||||||
|
skiptics = 1;
|
||||||
|
if (debugfile) fprintf(debugfile, "+");
|
||||||
|
}
|
||||||
|
oldnettics = nettics[0];
|
||||||
|
}
|
||||||
|
}// !demoplayback
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1751,72 +1800,27 @@ void TryRunTics (void)
|
||||||
else
|
else
|
||||||
counts = availabletics;
|
counts = availabletics;
|
||||||
|
|
||||||
|
// Uncapped framerate needs seprate checks
|
||||||
if (counts == 0 && !doWait)
|
if (counts == 0 && !doWait)
|
||||||
{
|
{
|
||||||
// Check possible stall conditions
|
// Check possible stall conditions
|
||||||
Net_CheckLastRecieved(counts);
|
Net_CheckLastRecieved(counts);
|
||||||
|
if (realtics >= 1)
|
||||||
|
{
|
||||||
|
C_Ticker();
|
||||||
|
M_Ticker();
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (counts < 1)
|
if (counts < 1)
|
||||||
counts = 1;
|
counts = 1;
|
||||||
|
|
||||||
frameon++;
|
|
||||||
|
|
||||||
if (debugfile)
|
if (debugfile)
|
||||||
fprintf (debugfile,
|
fprintf (debugfile,
|
||||||
"=======real: %i avail: %i game: %i\n",
|
"=======real: %i avail: %i game: %i\n",
|
||||||
realtics, availabletics, counts);
|
realtics, availabletics, counts);
|
||||||
|
|
||||||
if (!demoplayback)
|
|
||||||
{
|
|
||||||
// ideally nettics[0] should be 1 - 3 tics above lowtic
|
|
||||||
// if we are consistantly slower, speed up time
|
|
||||||
|
|
||||||
// [RH] I had erroneously assumed frameskip[] had 4 entries
|
|
||||||
// because there were 4 players, but that's not the case at
|
|
||||||
// all. The game is comparing the lag behind the master for
|
|
||||||
// four runs of TryRunTics. If our tic count is ahead of the
|
|
||||||
// master all 4 times, the next run of NetUpdate will not
|
|
||||||
// process any new input. If we have less input than the
|
|
||||||
// master, the next run of NetUpdate will process extra tics
|
|
||||||
// (because gametime gets decremented here).
|
|
||||||
|
|
||||||
// the key player does not adapt
|
|
||||||
if (consoleplayer != Net_Arbitrator)
|
|
||||||
{
|
|
||||||
// I'm not sure about this when using a packet server, because
|
|
||||||
// if left unmodified from the P2P version, it can make the game
|
|
||||||
// very jerky. The way I have it written right now basically means
|
|
||||||
// that it won't adapt. Fortunately, player prediction helps
|
|
||||||
// alleviate the lag somewhat.
|
|
||||||
|
|
||||||
if (NetMode != NET_PacketServer)
|
|
||||||
{
|
|
||||||
mastertics = nettics[nodeforplayer[Net_Arbitrator]];
|
|
||||||
}
|
|
||||||
if (nettics[0] <= mastertics)
|
|
||||||
{
|
|
||||||
gametime--;
|
|
||||||
if (debugfile) fprintf (debugfile, "-");
|
|
||||||
}
|
|
||||||
if (NetMode != NET_PacketServer)
|
|
||||||
{
|
|
||||||
frameskip[frameon&3] = (oldnettics > mastertics);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
frameskip[frameon&3] = (oldnettics - mastertics) > 3;
|
|
||||||
}
|
|
||||||
if (frameskip[0] && frameskip[1] && frameskip[2] && frameskip[3])
|
|
||||||
{
|
|
||||||
skiptics = 1;
|
|
||||||
if (debugfile) fprintf (debugfile, "+");
|
|
||||||
}
|
|
||||||
oldnettics = nettics[0];
|
|
||||||
}
|
|
||||||
}// !demoplayback
|
|
||||||
|
|
||||||
// wait for new tics if needed
|
// wait for new tics if needed
|
||||||
while (lowtic < gametic + counts)
|
while (lowtic < gametic + counts)
|
||||||
{
|
{
|
||||||
|
@ -1836,7 +1840,7 @@ void TryRunTics (void)
|
||||||
Net_CheckLastRecieved (counts);
|
Net_CheckLastRecieved (counts);
|
||||||
|
|
||||||
// don't stay in here forever -- give the menu a chance to work
|
// don't stay in here forever -- give the menu a chance to work
|
||||||
if (I_GetTime (false) - entertic >= TICRATE/3)
|
if (I_GetTime (false) - entertic >= 1)
|
||||||
{
|
{
|
||||||
C_Ticker ();
|
C_Ticker ();
|
||||||
M_Ticker ();
|
M_Ticker ();
|
||||||
|
|
|
@ -254,7 +254,7 @@ enum
|
||||||
DF_NO_JUMP = 1 << 16, // Don't allow jumping
|
DF_NO_JUMP = 1 << 16, // Don't allow jumping
|
||||||
DF_YES_JUMP = 2 << 16,
|
DF_YES_JUMP = 2 << 16,
|
||||||
DF_NO_FREELOOK = 1 << 18, // Don't allow freelook
|
DF_NO_FREELOOK = 1 << 18, // Don't allow freelook
|
||||||
DF_RESPAWN_SUPER = 1 << 19, // Respawn invulnerability and invisibility
|
DF_YES_FREELOOK = 2 << 18,
|
||||||
DF_NO_FOV = 1 << 20, // Only let the arbitrator set FOV (for all players)
|
DF_NO_FOV = 1 << 20, // Only let the arbitrator set FOV (for all players)
|
||||||
DF_NO_COOP_WEAPON_SPAWN = 1 << 21, // Don't spawn multiplayer weapons in coop games
|
DF_NO_COOP_WEAPON_SPAWN = 1 << 21, // Don't spawn multiplayer weapons in coop games
|
||||||
DF_NO_CROUCH = 1 << 22, // Don't allow crouching
|
DF_NO_CROUCH = 1 << 22, // Don't allow crouching
|
||||||
|
@ -298,6 +298,7 @@ enum
|
||||||
DF2_DONTCHECKAMMO = 1 << 24, // Don't Check ammo when switching weapons.
|
DF2_DONTCHECKAMMO = 1 << 24, // Don't Check ammo when switching weapons.
|
||||||
DF2_KILLBOSSMONST = 1 << 25, // Kills all monsters spawned by a boss cube when the boss dies
|
DF2_KILLBOSSMONST = 1 << 25, // Kills all monsters spawned by a boss cube when the boss dies
|
||||||
DF2_NOCOUNTENDMONST = 1 << 26, // Do not count monsters in 'end level when dying' sectors towards kill count
|
DF2_NOCOUNTENDMONST = 1 << 26, // Do not count monsters in 'end level when dying' sectors towards kill count
|
||||||
|
DF2_RESPAWN_SUPER = 1 << 27, // Respawn invulnerability and invisibility
|
||||||
};
|
};
|
||||||
|
|
||||||
// [RH] Compatibility flags.
|
// [RH] Compatibility flags.
|
||||||
|
|
|
@ -1835,6 +1835,13 @@ void G_DoLoadGame ()
|
||||||
BYTE *vars_p = (BYTE *)text;
|
BYTE *vars_p = (BYTE *)text;
|
||||||
C_ReadCVars (&vars_p);
|
C_ReadCVars (&vars_p);
|
||||||
delete[] text;
|
delete[] text;
|
||||||
|
if (SaveVersion <= 4509)
|
||||||
|
{
|
||||||
|
// account for the flag shuffling for making freelook a 3-state option
|
||||||
|
INTBOOL flag = dmflags & DF_YES_FREELOOK;
|
||||||
|
dmflags = dmflags & ~DF_YES_FREELOOK;
|
||||||
|
if (flag) dmflags2 = dmflags2 | DF2_RESPAWN_SUPER;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// dearchive all the modifications
|
// dearchive all the modifications
|
||||||
|
|
|
@ -1320,11 +1320,11 @@ bool FLevelLocals::IsCrouchingAllowed() const
|
||||||
|
|
||||||
bool FLevelLocals::IsFreelookAllowed() const
|
bool FLevelLocals::IsFreelookAllowed() const
|
||||||
{
|
{
|
||||||
if (level.flags & LEVEL_FREELOOK_NO)
|
if (dmflags & DF_NO_FREELOOK)
|
||||||
return false;
|
return false;
|
||||||
if (level.flags & LEVEL_FREELOOK_YES)
|
if (dmflags & DF_YES_FREELOOK)
|
||||||
return true;
|
return true;
|
||||||
return !(dmflags & DF_NO_FREELOOK);
|
return !(level.flags & LEVEL_FREELOOK_NO);
|
||||||
}
|
}
|
||||||
|
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
|
|
|
@ -497,7 +497,7 @@ bool AInventory::SpecialDropAction (AActor *dropper)
|
||||||
|
|
||||||
bool AInventory::ShouldRespawn ()
|
bool AInventory::ShouldRespawn ()
|
||||||
{
|
{
|
||||||
if ((ItemFlags & IF_BIGPOWERUP) && !(dmflags & DF_RESPAWN_SUPER)) return false;
|
if ((ItemFlags & IF_BIGPOWERUP) && !(dmflags2 & DF2_RESPAWN_SUPER)) return false;
|
||||||
if (ItemFlags & IF_NEVERRESPAWN) return false;
|
if (ItemFlags & IF_NEVERRESPAWN) return false;
|
||||||
return !!(dmflags & DF_ITEMS_RESPAWN);
|
return !!(dmflags & DF_ITEMS_RESPAWN);
|
||||||
}
|
}
|
||||||
|
|
|
@ -252,7 +252,7 @@ bool P_ActivateLine (line_t *line, AActor *mo, int side, int activationType)
|
||||||
|
|
||||||
if (buttonSuccess)
|
if (buttonSuccess)
|
||||||
{
|
{
|
||||||
if (activationType == SPAC_Use || activationType == SPAC_Impact)
|
if (activationType == SPAC_Use || activationType == SPAC_Impact || activationType == SPAC_Push)
|
||||||
{
|
{
|
||||||
P_ChangeSwitchTexture (line->sidedef[0], repeat, special);
|
P_ChangeSwitchTexture (line->sidedef[0], repeat, special);
|
||||||
}
|
}
|
||||||
|
|
|
@ -189,41 +189,38 @@ static const char *TerrainKeywords[] =
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
// Alternate offsetof macro to shut GCC up
|
|
||||||
#define theoffsetof(type,field) ((size_t)&((type*)1)->field - 1)
|
|
||||||
|
|
||||||
static FGenericParse SplashParser[] =
|
static FGenericParse SplashParser[] =
|
||||||
{
|
{
|
||||||
{ GEN_End, {0} },
|
{ GEN_End, {0} },
|
||||||
{ GEN_Sound, {theoffsetof(FSplashDef, SmallSplashSound)} },
|
{ GEN_Sound, {myoffsetof(FSplashDef, SmallSplashSound)} },
|
||||||
{ GEN_Fixed, {theoffsetof(FSplashDef, SmallSplashClip)} },
|
{ GEN_Fixed, {myoffsetof(FSplashDef, SmallSplashClip)} },
|
||||||
{ GEN_Sound, {theoffsetof(FSplashDef, NormalSplashSound)} },
|
{ GEN_Sound, {myoffsetof(FSplashDef, NormalSplashSound)} },
|
||||||
{ GEN_Class, {theoffsetof(FSplashDef, SmallSplash)} },
|
{ GEN_Class, {myoffsetof(FSplashDef, SmallSplash)} },
|
||||||
{ GEN_Class, {theoffsetof(FSplashDef, SplashBase)} },
|
{ GEN_Class, {myoffsetof(FSplashDef, SplashBase)} },
|
||||||
{ GEN_Class, {theoffsetof(FSplashDef, SplashChunk)} },
|
{ GEN_Class, {myoffsetof(FSplashDef, SplashChunk)} },
|
||||||
{ GEN_Byte, {theoffsetof(FSplashDef, ChunkXVelShift)} },
|
{ GEN_Byte, {myoffsetof(FSplashDef, ChunkXVelShift)} },
|
||||||
{ GEN_Byte, {theoffsetof(FSplashDef, ChunkYVelShift)} },
|
{ GEN_Byte, {myoffsetof(FSplashDef, ChunkYVelShift)} },
|
||||||
{ GEN_Byte, {theoffsetof(FSplashDef, ChunkZVelShift)} },
|
{ GEN_Byte, {myoffsetof(FSplashDef, ChunkZVelShift)} },
|
||||||
{ GEN_Fixed, {theoffsetof(FSplashDef, ChunkBaseZVel)} },
|
{ GEN_Fixed, {myoffsetof(FSplashDef, ChunkBaseZVel)} },
|
||||||
{ GEN_Bool, {theoffsetof(FSplashDef, NoAlert)} }
|
{ GEN_Bool, {myoffsetof(FSplashDef, NoAlert)} }
|
||||||
};
|
};
|
||||||
|
|
||||||
static FGenericParse TerrainParser[] =
|
static FGenericParse TerrainParser[] =
|
||||||
{
|
{
|
||||||
{ GEN_End, {0} },
|
{ GEN_End, {0} },
|
||||||
{ GEN_Splash, {theoffsetof(FTerrainDef, Splash)} },
|
{ GEN_Splash, {myoffsetof(FTerrainDef, Splash)} },
|
||||||
{ GEN_Int, {theoffsetof(FTerrainDef, DamageAmount)} },
|
{ GEN_Int, {myoffsetof(FTerrainDef, DamageAmount)} },
|
||||||
{ GEN_Custom, {(size_t)ParseDamage} },
|
{ GEN_Custom, {(size_t)ParseDamage} },
|
||||||
{ GEN_Int, {theoffsetof(FTerrainDef, DamageTimeMask)} },
|
{ GEN_Int, {myoffsetof(FTerrainDef, DamageTimeMask)} },
|
||||||
{ GEN_Fixed, {theoffsetof(FTerrainDef, FootClip)} },
|
{ GEN_Fixed, {myoffsetof(FTerrainDef, FootClip)} },
|
||||||
{ GEN_Float, {theoffsetof(FTerrainDef, StepVolume)} },
|
{ GEN_Float, {myoffsetof(FTerrainDef, StepVolume)} },
|
||||||
{ GEN_Time, {theoffsetof(FTerrainDef, WalkStepTics)} },
|
{ GEN_Time, {myoffsetof(FTerrainDef, WalkStepTics)} },
|
||||||
{ GEN_Time, {theoffsetof(FTerrainDef, RunStepTics)} },
|
{ GEN_Time, {myoffsetof(FTerrainDef, RunStepTics)} },
|
||||||
{ GEN_Sound, {theoffsetof(FTerrainDef, LeftStepSound)} },
|
{ GEN_Sound, {myoffsetof(FTerrainDef, LeftStepSound)} },
|
||||||
{ GEN_Sound, {theoffsetof(FTerrainDef, RightStepSound)} },
|
{ GEN_Sound, {myoffsetof(FTerrainDef, RightStepSound)} },
|
||||||
{ GEN_Bool, {theoffsetof(FTerrainDef, IsLiquid)} },
|
{ GEN_Bool, {myoffsetof(FTerrainDef, IsLiquid)} },
|
||||||
{ GEN_Custom, {(size_t)ParseFriction} },
|
{ GEN_Custom, {(size_t)ParseFriction} },
|
||||||
{ GEN_Bool, {theoffsetof(FTerrainDef, AllowProtection)} },
|
{ GEN_Bool, {myoffsetof(FTerrainDef, AllowProtection)} },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -51,7 +51,7 @@ const char *GetVersionString();
|
||||||
// Version identifier for network games.
|
// Version identifier for network games.
|
||||||
// Bump it every time you do a release unless you're certain you
|
// Bump it every time you do a release unless you're certain you
|
||||||
// didn't change anything that will affect sync.
|
// didn't change anything that will affect sync.
|
||||||
#define NETGAMEVERSION 229
|
#define NETGAMEVERSION 230
|
||||||
|
|
||||||
// Version stored in the ini's [LastRun] section.
|
// Version stored in the ini's [LastRun] section.
|
||||||
// Bump it if you made some configuration change that you want to
|
// Bump it if you made some configuration change that you want to
|
||||||
|
@ -61,11 +61,11 @@ const char *GetVersionString();
|
||||||
// Protocol version used in demos.
|
// Protocol version used in demos.
|
||||||
// Bump it if you change existing DEM_ commands or add new ones.
|
// Bump it if you change existing DEM_ commands or add new ones.
|
||||||
// Otherwise, it should be safe to leave it alone.
|
// Otherwise, it should be safe to leave it alone.
|
||||||
#define DEMOGAMEVERSION 0x21A
|
#define DEMOGAMEVERSION 0x21B
|
||||||
|
|
||||||
// Minimum demo version we can play.
|
// Minimum demo version we can play.
|
||||||
// Bump it whenever you change or remove existing DEM_ commands.
|
// Bump it whenever you change or remove existing DEM_ commands.
|
||||||
#define MINDEMOVERSION 0x215
|
#define MINDEMOVERSION 0x21B
|
||||||
|
|
||||||
// SAVEVER is the version of the information stored in level snapshots.
|
// SAVEVER is the version of the information stored in level snapshots.
|
||||||
// Note that SAVEVER is not directly comparable to VERSION.
|
// Note that SAVEVER is not directly comparable to VERSION.
|
||||||
|
@ -76,7 +76,7 @@ const char *GetVersionString();
|
||||||
|
|
||||||
// Use 4500 as the base git save version, since it's higher than the
|
// Use 4500 as the base git save version, since it's higher than the
|
||||||
// SVN revision ever got.
|
// SVN revision ever got.
|
||||||
#define SAVEVER 4509
|
#define SAVEVER 4510
|
||||||
|
|
||||||
#define SAVEVERSTRINGIFY2(x) #x
|
#define SAVEVERSTRINGIFY2(x) #x
|
||||||
#define SAVEVERSTRINGIFY(x) SAVEVERSTRINGIFY2(x)
|
#define SAVEVERSTRINGIFY(x) SAVEVERSTRINGIFY2(x)
|
||||||
|
|
|
@ -1157,7 +1157,7 @@ OptionValue FallingDM
|
||||||
3, "Strife"
|
3, "Strife"
|
||||||
}
|
}
|
||||||
|
|
||||||
OptionValue JumpCrouch
|
OptionValue JumpCrouchFreeLook
|
||||||
{
|
{
|
||||||
0, "Default"
|
0, "Default"
|
||||||
1, "Off"
|
1, "Off"
|
||||||
|
@ -1189,9 +1189,9 @@ OptionMenu GameplayOptions
|
||||||
Option "Degeneration", "sv_degeneration", "YesNo"
|
Option "Degeneration", "sv_degeneration", "YesNo"
|
||||||
Option "Allow Autoaim", "sv_noautoaim", "NoYes"
|
Option "Allow Autoaim", "sv_noautoaim", "NoYes"
|
||||||
Option "Allow Suicide", "sv_disallowsuicide", "NoYes"
|
Option "Allow Suicide", "sv_disallowsuicide", "NoYes"
|
||||||
Option "Allow jump", "sv_jump", "JumpCrouch"
|
Option "Allow jump", "sv_jump", "JumpCrouchFreeLook"
|
||||||
Option "Allow crouch", "sv_crouch", "JumpCrouch"
|
Option "Allow crouch", "sv_crouch", "JumpCrouchFreeLook"
|
||||||
Option "Allow freelook", "sv_nofreelook", "NoYes"
|
Option "Allow freelook", "sv_freelook", "JumpCrouchFreeLook"
|
||||||
Option "Allow FOV", "sv_nofov", "NoYes"
|
Option "Allow FOV", "sv_nofov", "NoYes"
|
||||||
Option "Allow BFG aiming", "sv_nobfgaim", "NoYes"
|
Option "Allow BFG aiming", "sv_nobfgaim", "NoYes"
|
||||||
Option "Allow automap", "sv_noautomap", "NoYes"
|
Option "Allow automap", "sv_noautomap", "NoYes"
|
||||||
|
|
|
@ -522,6 +522,10 @@
|
||||||
RelativePath=".\src\c_console.cpp"
|
RelativePath=".\src\c_console.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\c_consolebuffer.cpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\src\c_cvars.cpp"
|
RelativePath=".\src\c_cvars.cpp"
|
||||||
>
|
>
|
||||||
|
|
Loading…
Reference in a new issue