mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-10 14:51:40 +00:00
- Fixed: You couldn't easily play with the compatibility options menu during
the title screen, because the demo loop reset the server cvars after each attempt to play a demo, even though the demos never actually played. The proper long-term solution would be to make shadow copies of all cvars touched by demos and use those for the demo and the real things for everything else, but this should do for now and is a lot easier. SVN r1463 (trunk)
This commit is contained in:
parent
e9121b607d
commit
ee1806e9b2
4 changed files with 20 additions and 2 deletions
|
@ -1,4 +1,10 @@
|
|||
March 4, 2009
|
||||
- Fixed: You couldn't easily play with the compatibility options menu during
|
||||
the title screen, because the demo loop reset the server cvars after each
|
||||
attempt to play a demo, even though the demos never actually played. The
|
||||
proper long-term solution would be to make shadow copies of all cvars
|
||||
touched by demos and use those for the demo and the real things for
|
||||
everything else, but this should do for now and is a lot easier.
|
||||
- Fixed: When using BOOM-style sector flags and specials together, the
|
||||
special was ignored unless it was "secret".
|
||||
- Fixed: One byte is too short for DUMB_IT_SIGRENDERER to store song tempo.
|
||||
|
|
|
@ -1299,6 +1299,17 @@ void C_RestoreCVars (void)
|
|||
for (i = numbackedup; i; i--, backup++)
|
||||
{
|
||||
cvar_set (backup->name, backup->string);
|
||||
}
|
||||
C_ForgetCVars();
|
||||
}
|
||||
|
||||
void C_ForgetCVars (void)
|
||||
{
|
||||
struct backup_s *backup = CVarBackups;
|
||||
int i;
|
||||
|
||||
for (i = numbackedup; i; i--, backup++)
|
||||
{
|
||||
delete[] backup->name;
|
||||
delete[] backup->string;
|
||||
backup->name = backup->string = NULL;
|
||||
|
|
|
@ -387,6 +387,8 @@ inline FBaseCVar *cvar_forceset (const char *var_name, const BYTE *value) { retu
|
|||
// that might possibly have been changed during the course of demo playback.
|
||||
void C_RestoreCVars (void);
|
||||
|
||||
void C_ForgetCVars (void);
|
||||
|
||||
|
||||
#define CUSTOM_CVAR(type,name,def,flags) \
|
||||
static void cvarfunc_##name(F##type##CVar &); \
|
||||
|
|
|
@ -2400,7 +2400,7 @@ void G_DoPlayDemo (void)
|
|||
{
|
||||
const char *eek = "Cannot play non-ZDoom demos.\n(They would go out of sync badly.)\n";
|
||||
|
||||
C_RestoreCVars();
|
||||
C_ForgetCVars();
|
||||
M_Free(demobuffer);
|
||||
demo_p = demobuffer = NULL;
|
||||
if (singledemo)
|
||||
|
@ -2421,7 +2421,6 @@ void G_DoPlayDemo (void)
|
|||
}
|
||||
else
|
||||
{
|
||||
|
||||
// don't spend a lot of time in loadlevel
|
||||
precache = false;
|
||||
demonew = true;
|
||||
|
|
Loading…
Reference in a new issue