mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2025-02-20 19:02:34 +00:00
Merge branch 'skip-same-cvar-value-validation-if-can-change-callback-is-present' into 'next'
Skip unchanged value validation in CV_SetCVar if there is a can_change callback Closes #1312 See merge request STJr/SRB2!2547
This commit is contained in:
commit
3e4279599a
2 changed files with 9 additions and 5 deletions
|
@ -1988,7 +1988,7 @@ static void CV_SetCVar(consvar_t *var, const char *value, boolean stealth)
|
|||
if (!var->string)
|
||||
I_Error("CV_Set: %s no string set!\n", var->name);
|
||||
#endif
|
||||
if (!var || !var->string || !value || !stricmp(var->string, value))
|
||||
if (!var || !var->string || !value || (var->can_change == NULL && !stricmp(var->string, value)))
|
||||
return; // no changes
|
||||
|
||||
if (var->flags & CV_NETVAR)
|
||||
|
|
|
@ -4910,11 +4910,13 @@ static void Name2_OnChange(void)
|
|||
|
||||
static boolean Skin_CanChange(const char *valstr)
|
||||
{
|
||||
(void)valstr;
|
||||
|
||||
if (!Playing())
|
||||
return true; // do whatever you want
|
||||
|
||||
// You already are that skin.
|
||||
if (stricmp(skins[players[consoleplayer].skin]->name, valstr) == 0)
|
||||
return false;
|
||||
|
||||
if (!(multiplayer || netgame)) // In single player.
|
||||
return true;
|
||||
|
||||
|
@ -4929,11 +4931,13 @@ static boolean Skin_CanChange(const char *valstr)
|
|||
|
||||
static boolean Skin2_CanChange(const char *valstr)
|
||||
{
|
||||
(void)valstr;
|
||||
|
||||
if (!Playing() || !splitscreen)
|
||||
return true; // do whatever you want
|
||||
|
||||
// You already are that skin.
|
||||
if (stricmp(skins[players[secondarydisplayplayer].skin]->name, valstr) == 0)
|
||||
return false;
|
||||
|
||||
if (CanChangeSkin(secondarydisplayplayer) && !P_PlayerMoving(secondarydisplayplayer))
|
||||
return true;
|
||||
else
|
||||
|
|
Loading…
Reference in a new issue