mirror of
https://github.com/Shpoike/Quakespasm.git
synced 2024-11-09 23:11:39 +00:00
Update extras menu to provide prediction/player-physics options.
This commit is contained in:
parent
89d027979a
commit
4f38ff97c2
1 changed files with 24 additions and 2 deletions
26
Quake/menu.c
26
Quake/menu.c
|
@ -1713,6 +1713,7 @@ static enum extras_e
|
|||
EXTRAS_QCEXTENSIONS,
|
||||
EXTRAS_CLASSICPARTICLES,
|
||||
EXTRAS_AUDIORATE,
|
||||
EXTRAS_PREDICTION,
|
||||
EXTRAS_ITEMS
|
||||
} extras_cursor;
|
||||
|
||||
|
@ -1728,7 +1729,7 @@ void M_Menu_Extras_f (void)
|
|||
|
||||
static void M_Extras_AdjustSliders (int dir)
|
||||
{
|
||||
extern cvar_t pr_checkextension, r_replacemodels, gl_load24bit, cl_nopext, r_lerpmodels, r_lerpmove, host_maxfps, sys_throttle, r_particles;
|
||||
extern cvar_t pr_checkextension, r_replacemodels, gl_load24bit, cl_nopext, r_lerpmodels, r_lerpmove, host_maxfps, sys_throttle, r_particles, sv_nqplayerphysics, cl_nopred;
|
||||
int m;
|
||||
S_LocalSound ("misc/menu3.wav");
|
||||
|
||||
|
@ -1820,6 +1821,15 @@ static void M_Extras_AdjustSliders (int dir)
|
|||
Cvar_SetValueQuick (&snd_mixspeed, (snd_mixspeed.value==48000)?44100:48000);
|
||||
Cbuf_AddText("\nsnd_restart\n");
|
||||
break;
|
||||
case EXTRAS_PREDICTION:
|
||||
m = ((!!cl_nopred.value)<<1)|(!!sv_nqplayerphysics.value);
|
||||
m += dir;
|
||||
if ((m&3)==2)
|
||||
m += dir; //boo! don't like that combo. skip it
|
||||
m &= 3;
|
||||
Cvar_SetValueQuick (&cl_nopred, (m>>1)&1);
|
||||
Cvar_SetValueQuick (&sv_nqplayerphysics, (m>>0)&1);
|
||||
break;
|
||||
case EXTRAS_ITEMS: //not a real option
|
||||
break;
|
||||
}
|
||||
|
@ -1827,7 +1837,7 @@ static void M_Extras_AdjustSliders (int dir)
|
|||
|
||||
void M_Extras_Draw (void)
|
||||
{
|
||||
extern cvar_t pr_checkextension, r_replacemodels, gl_load24bit, cl_nopext, r_lerpmodels, r_lerpmove, host_maxfps, sys_throttle, r_particles;
|
||||
extern cvar_t pr_checkextension, r_replacemodels, gl_load24bit, cl_nopext, r_lerpmodels, r_lerpmove, host_maxfps, sys_throttle, r_particles, sv_nqplayerphysics, cl_nopred;
|
||||
int m;
|
||||
qpic_t *p;
|
||||
enum extras_e i;
|
||||
|
@ -1933,6 +1943,18 @@ void M_Extras_Draw (void)
|
|||
M_Print (220, y, va("%i hz", (int)snd_mixspeed.value));
|
||||
break;
|
||||
|
||||
case EXTRAS_PREDICTION:
|
||||
M_Print (16, y, " Prediction/Physics");
|
||||
if (!cl_nopred.value && !sv_nqplayerphysics.value)
|
||||
M_Print (220, y, "on (override ssqc)"); //deathmatch! will break quirky mods like quakerally.
|
||||
else if (!cl_nopred.value && sv_nqplayerphysics.value)
|
||||
M_Print (220, y, "on (compatible physics)"); //conservative / default setting.
|
||||
else if (cl_nopred.value && !sv_nqplayerphysics.value)
|
||||
M_Print (220, y, "off (but override ssqc)"); //silly setting (skipped when changing in menu)
|
||||
else
|
||||
M_Print (220, y, "off"); //honest/oldskool setting.
|
||||
break;
|
||||
|
||||
case EXTRAS_ITEMS: //unreachable.
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue