mirror of
https://github.com/Shpoike/Quakespasm.git
synced 2025-03-13 22:34:16 +00:00
wateralpha: add hack in cvar system so setting r_wateralpha (or r_slimealpha, etc) to their current value will still fire the callback, so we switch from using the map's worldspawn value to the cvar value
This commit is contained in:
parent
1fb6a4d24c
commit
d19dc43311
3 changed files with 10 additions and 5 deletions
|
@ -396,7 +396,12 @@ void Cvar_SetQuick (cvar_t *var, const char *value)
|
|||
int len;
|
||||
|
||||
if (!strcmp(var->string, value))
|
||||
{
|
||||
if (var->flags & CVAR_CALLBACK_IF_UNCHANGED && var->callback)
|
||||
var->callback (var);
|
||||
|
||||
return; // no change
|
||||
}
|
||||
|
||||
var->flags |= CVAR_CHANGED;
|
||||
len = Q_strlen (value);
|
||||
|
|
|
@ -73,7 +73,7 @@ interface from being ambiguous.
|
|||
#define CVAR_LOCKED (1U << 8) // locked temporarily
|
||||
#define CVAR_REGISTERED (1U << 10) // the var is added to the list of variables
|
||||
#define CVAR_CALLBACK (1U << 16) // var has a callback
|
||||
|
||||
#define CVAR_CALLBACK_IF_UNCHANGED (1U << 17) // invoke the callback when the cvar is set, even if setting it to the same value
|
||||
|
||||
typedef void (*cvarcallback_t) (struct cvar_s *);
|
||||
|
||||
|
|
|
@ -67,7 +67,7 @@ cvar_t r_speeds = {"r_speeds","0",CVAR_NONE};
|
|||
cvar_t r_fullbright = {"r_fullbright","0",CVAR_NONE};
|
||||
cvar_t r_lightmap = {"r_lightmap","0",CVAR_NONE};
|
||||
cvar_t r_shadows = {"r_shadows","0",CVAR_ARCHIVE};
|
||||
cvar_t r_wateralpha = {"r_wateralpha","1",CVAR_ARCHIVE};
|
||||
cvar_t r_wateralpha = {"r_wateralpha","1",CVAR_ARCHIVE | CVAR_CALLBACK_IF_UNCHANGED};
|
||||
cvar_t r_dynamic = {"r_dynamic","1",CVAR_ARCHIVE};
|
||||
cvar_t r_novis = {"r_novis","0",CVAR_ARCHIVE};
|
||||
|
||||
|
@ -102,9 +102,9 @@ extern cvar_t r_vfog;
|
|||
//johnfitz
|
||||
|
||||
cvar_t gl_zfix = {"gl_zfix", "1", CVAR_ARCHIVE}; // QuakeSpasm z-fighting fix
|
||||
cvar_t r_lavaalpha = {"r_lavaalpha","0",CVAR_NONE};
|
||||
cvar_t r_telealpha = {"r_telealpha","0",CVAR_NONE};
|
||||
cvar_t r_slimealpha = {"r_slimealpha","0",CVAR_NONE};
|
||||
cvar_t r_lavaalpha = {"r_lavaalpha","0",CVAR_NONE | CVAR_CALLBACK_IF_UNCHANGED};
|
||||
cvar_t r_telealpha = {"r_telealpha","0",CVAR_NONE | CVAR_CALLBACK_IF_UNCHANGED};
|
||||
cvar_t r_slimealpha = {"r_slimealpha","0",CVAR_NONE | CVAR_CALLBACK_IF_UNCHANGED};
|
||||
|
||||
qboolean r_drawflat_cheatsafe, r_fullbright_cheatsafe, r_lightmap_cheatsafe, r_drawworld_cheatsafe; //johnfitz
|
||||
|
||||
|
|
Loading…
Reference in a new issue