Add CV_GUARD flag
This commit is contained in:
parent
3a7fe7f7ed
commit
459f0d9da7
9 changed files with 190 additions and 155 deletions
|
|
@ -1534,6 +1534,9 @@ void CV_RegisterVar(consvar_t *variable)
|
|||
}
|
||||
}
|
||||
|
||||
if ((variable->flags & (CV_NETVAR|CV_GUARD)) == CV_GUARD)
|
||||
I_Error("%s has CV_GUARD but not CV_NETVAR", variable->name);
|
||||
|
||||
// link the variable in
|
||||
if (!(variable->flags & CV_HIDEN))
|
||||
{
|
||||
|
|
@ -2322,6 +2325,34 @@ void CV_AddValue(consvar_t *var, INT32 increment)
|
|||
var->changed = 1; // user has changed it now
|
||||
}
|
||||
|
||||
// a GETTER for cvars!?
|
||||
// used along with CV_GUARD to protect cvar values
|
||||
INT32 CV_Get(consvar_t *cvar)
|
||||
{
|
||||
if (!(cvar->flags & CV_GUARD))
|
||||
I_Error("CV_Get used with non-CV_GUARD variable %s", cvar->name);
|
||||
|
||||
if (modeattacking != ATTACKING_NONE /*|| !K_CanChangeRules()*/)
|
||||
{
|
||||
const char *string = cvar->defaultvalue;
|
||||
INT32 value;
|
||||
if (CV_CompleteValue(cvar, &string, &value))
|
||||
return value;
|
||||
else
|
||||
I_Error("CV_Get oops");
|
||||
}
|
||||
|
||||
return cvar->value;
|
||||
}
|
||||
|
||||
// reset all CV_GUARD cvars to defaults
|
||||
void CV_ResetGuardVars(void)
|
||||
{
|
||||
for (consvar_t *cvar = consvar_vars; cvar; cvar = cvar->next)
|
||||
if (cvar->flags & CV_GUARD)
|
||||
Setvalue(cvar, cvar->defaultvalue, true);
|
||||
}
|
||||
|
||||
void CV_InitFilterVar(void)
|
||||
{
|
||||
#if 0
|
||||
|
|
|
|||
|
|
@ -129,6 +129,7 @@ typedef enum
|
|||
// used on menus
|
||||
CV_CHEAT = 2048, // Don't let this be used in multiplayer unless cheats are on.
|
||||
CV_NOLUA = 4096,/* don't let this be called from Lua */
|
||||
CV_GUARD = 8192, // protect this cvar's value in singleplayer modes
|
||||
} cvflags_t;
|
||||
|
||||
struct CV_PossibleValue_t
|
||||
|
|
@ -232,6 +233,12 @@ void CV_StealthSet(consvar_t *var, const char *value);
|
|||
// it a setvalue but with a modulo at the maximum
|
||||
void CV_AddValue(consvar_t *var, INT32 increment);
|
||||
|
||||
// returns the filtered value of a variable
|
||||
INT32 CV_Get(consvar_t *cvar);
|
||||
|
||||
// reset all guarded vars to default
|
||||
void CV_ResetGuardVars(void);
|
||||
|
||||
// write all CV_SAVE variables to config file
|
||||
void CV_SaveVariables(FILE *f);
|
||||
|
||||
|
|
|
|||
114
src/d_netcmd.c
114
src/d_netcmd.c
|
|
@ -457,7 +457,7 @@ consvar_t cv_kartbot_basetrackcomplexity = CVAR_INIT ("kartbot_basetrackcomplexi
|
|||
consvar_t cv_karteliminatelast = CVAR_INIT ("karteliminatelast", "Yes", CV_NETVAR|CV_CALL, CV_YesNo, KartEliminateLast_OnChange);
|
||||
|
||||
// Toggles for new features
|
||||
consvar_t cv_kartrings = CVAR_INIT ("kartrings", "No", CV_NETVAR|CV_CALL|CV_NOINIT, CV_YesNo, KartRings_OnChange);
|
||||
consvar_t cv_kartrings = CVAR_INIT ("kartrings", "No", CV_NETVAR|CV_CALL|CV_NOINIT|CV_GUARD, CV_YesNo, KartRings_OnChange);
|
||||
|
||||
static CV_PossibleValue_t ringsmin_cons_t[] = {{INT8_MIN, "MIN"}, {0, "MAX"}, {0, NULL}};
|
||||
static CV_PossibleValue_t ringsmax_cons_t[] = {{0, "MIN"}, {INT8_MAX, "MAX"}, {0, NULL}};
|
||||
|
|
@ -469,71 +469,71 @@ static CV_PossibleValue_t ringsstart_cons_t[] = {{INT8_MIN, "MIN"}, {INT8_MAX, "
|
|||
consvar_t cv_kartringsstart = CVAR_INIT ("kartringsstart", "5", CV_NETVAR, ringsstart_cons_t, NULL);
|
||||
|
||||
// Stacking related
|
||||
consvar_t cv_kartstacking = CVAR_INIT ("kartstacking", "No", CV_NETVAR|CV_CALL|CV_NOINIT, CV_YesNo, KartStacking_OnChange);
|
||||
consvar_t cv_kartstacking_diminishparam = CVAR_INIT ("kartstacking_diminishparam", "0.32", CV_NETVAR|CV_CHEAT|CV_FLOAT, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_maxvanillaboost = CVAR_INIT ("kartstacking_maxvanillaboost", "0.375", CV_NETVAR|CV_CHEAT|CV_FLOAT, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_speedboostdropoff = CVAR_INIT ("kartstacking_speedboostdropoff", "0.01", CV_NETVAR|CV_CHEAT|CV_FLOAT, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_speedboostdropoff_brake = CVAR_INIT ("kartstacking_speedboostdropoff_brake", "0.05", CV_NETVAR|CV_CHEAT|CV_FLOAT, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking = CVAR_INIT ("kartstacking", "No", CV_NETVAR|CV_CALL|CV_NOINIT|CV_GUARD, CV_YesNo, KartStacking_OnChange);
|
||||
consvar_t cv_kartstacking_diminishparam = CVAR_INIT ("kartstacking_diminishparam", "0.32", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_maxvanillaboost = CVAR_INIT ("kartstacking_maxvanillaboost", "0.375", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_speedboostdropoff = CVAR_INIT ("kartstacking_speedboostdropoff", "0.01", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_speedboostdropoff_brake = CVAR_INIT ("kartstacking_speedboostdropoff_brake", "0.05", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
// V recreates neptunes old ass misread of stacking code lmao
|
||||
consvar_t cv_kartstacking_accelstack = CVAR_INIT ("kartstacking_accelstack", "Off", CV_NETVAR, CV_OnOff, NULL);
|
||||
consvar_t cv_kartstacking_accelstack = CVAR_INIT ("kartstacking_accelstack", "Off", CV_NETVAR|CV_GUARD, CV_OnOff, NULL);
|
||||
|
||||
// Vanilla Stacking boosts.
|
||||
consvar_t cv_kartstacking_sneaker_easyspeedboost = CVAR_INIT ("vanillaboost_sneaker_easyspeedboost", "0.8317", CV_NETVAR|CV_CHEAT|CV_FLOAT, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_sneaker_normalspeedboost = CVAR_INIT ("vanillaboost_sneaker_normalspeedboost", "0.5", CV_NETVAR|CV_CHEAT|CV_FLOAT, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_sneaker_hardspeedboost = CVAR_INIT ("vanillaboost_sneaker_hardspeedboost", "0.2756", CV_NETVAR|CV_CHEAT|CV_FLOAT, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_sneaker_expertspeedboost = CVAR_INIT ("vanillaboost_sneaker_expertspeedboost", "0.25", CV_NETVAR|CV_CHEAT|CV_FLOAT, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_sneaker_accelboost = CVAR_INIT ("vanillaboost_sneaker_accelboost", "8.0", CV_NETVAR|CV_CHEAT|CV_FLOAT, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_sneaker_maxgrade = CVAR_INIT ("vanillaboost_sneaker_maxgrade", "3", CV_NETVAR|CV_CHEAT, CV_Natural, NULL);
|
||||
consvar_t cv_kartstacking_sneaker_stackable = CVAR_INIT ("vanillaboost_sneaker_stackable", "On", CV_NETVAR, CV_OnOff, NULL);
|
||||
consvar_t cv_kartstacking_sneaker_easyspeedboost = CVAR_INIT ("vanillaboost_sneaker_easyspeedboost", "0.8317", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_sneaker_normalspeedboost = CVAR_INIT ("vanillaboost_sneaker_normalspeedboost", "0.5", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_sneaker_hardspeedboost = CVAR_INIT ("vanillaboost_sneaker_hardspeedboost", "0.2756", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_sneaker_expertspeedboost = CVAR_INIT ("vanillaboost_sneaker_expertspeedboost", "0.25", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_sneaker_accelboost = CVAR_INIT ("vanillaboost_sneaker_accelboost", "8.0", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_sneaker_maxgrade = CVAR_INIT ("vanillaboost_sneaker_maxgrade", "3", CV_NETVAR|CV_CHEAT|CV_GUARD, CV_Natural, NULL);
|
||||
consvar_t cv_kartstacking_sneaker_stackable = CVAR_INIT ("vanillaboost_sneaker_stackable", "On", CV_NETVAR|CV_GUARD, CV_OnOff, NULL);
|
||||
|
||||
consvar_t cv_kartstacking_invincibility_legacyspeedboost = CVAR_INIT ("vanillaboost_invincibility_legacyspeedboost", "0.375", CV_NETVAR|CV_CHEAT|CV_FLOAT, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_invincibility_legacyaccelboost = CVAR_INIT ("vanillaboost_invincibility_legacyaccelboost", "3.0", CV_NETVAR|CV_CHEAT|CV_FLOAT, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_invincibility_alternatespeedboost = CVAR_INIT ("vanillaboost_invincibility_alternatespeedboost", "0.68", CV_NETVAR|CV_CHEAT|CV_FLOAT, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_invincibility_alternateaccelboost = CVAR_INIT ("vanillaboost_invincibility_alternateaccelboost", "3.0", CV_NETVAR|CV_CHEAT|CV_FLOAT, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_invincibility_stackable = CVAR_INIT ("vanillaboost_invincibility_stackable", "Off", CV_NETVAR, CV_OnOff, NULL);
|
||||
consvar_t cv_kartstacking_invincibility_legacyspeedboost = CVAR_INIT ("vanillaboost_invincibility_legacyspeedboost", "0.375", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_invincibility_legacyaccelboost = CVAR_INIT ("vanillaboost_invincibility_legacyaccelboost", "3.0", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_invincibility_alternatespeedboost = CVAR_INIT ("vanillaboost_invincibility_alternatespeedboost", "0.68", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_invincibility_alternateaccelboost = CVAR_INIT ("vanillaboost_invincibility_alternateaccelboost", "3.0", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_invincibility_stackable = CVAR_INIT ("vanillaboost_invincibility_stackable", "Off", CV_NETVAR|CV_GUARD, CV_OnOff, NULL);
|
||||
|
||||
consvar_t cv_kartstacking_grow_speedboost = CVAR_INIT ("vanillaboost_grow_speedboost", "0.2", CV_NETVAR|CV_CHEAT|CV_FLOAT, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_grow_accelboost = CVAR_INIT ("vanillaboost_grow_accelboost", "0", CV_NETVAR|CV_CHEAT|CV_FLOAT, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_grow_stackable = CVAR_INIT ("vanillaboost_grow_stackable", "Off", CV_NETVAR, CV_OnOff, NULL);
|
||||
consvar_t cv_kartstacking_grow_speedboost = CVAR_INIT ("vanillaboost_grow_speedboost", "0.2", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_grow_accelboost = CVAR_INIT ("vanillaboost_grow_accelboost", "0", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_grow_stackable = CVAR_INIT ("vanillaboost_grow_stackable", "Off", CV_NETVAR|CV_GUARD, CV_OnOff, NULL);
|
||||
|
||||
consvar_t cv_kartstacking_bubble_speedboost = CVAR_INIT ("vanillaboost_bubble_speedboost", "0.3", CV_NETVAR|CV_CHEAT|CV_FLOAT, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_bubble_accelboost = CVAR_INIT ("vanillaboost_bubble_accelboost", "4.0", CV_NETVAR|CV_CHEAT|CV_FLOAT, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_bubble_stackable = CVAR_INIT ("vanillaboost_bubble_stackable", "Off", CV_NETVAR, CV_OnOff, NULL);
|
||||
consvar_t cv_kartstacking_bubble_speedboost = CVAR_INIT ("vanillaboost_bubble_speedboost", "0.3", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_bubble_accelboost = CVAR_INIT ("vanillaboost_bubble_accelboost", "4.0", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_bubble_stackable = CVAR_INIT ("vanillaboost_bubble_stackable", "Off", CV_NETVAR|CV_GUARD, CV_OnOff, NULL);
|
||||
|
||||
consvar_t cv_kartstacking_flame_speedval = CVAR_INIT ("vanillaboost_flame_speedval", "0.25", CV_NETVAR|CV_CHEAT|CV_FLOAT, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_flame_accelboost = CVAR_INIT ("vanillaboost_flame_accelboost", "6.0", CV_NETVAR|CV_CHEAT|CV_FLOAT, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_flame_stackable = CVAR_INIT ("vanillaboost_flame_stackable", "Off", CV_NETVAR, CV_OnOff, NULL);
|
||||
consvar_t cv_kartstacking_flame_speedval = CVAR_INIT ("vanillaboost_flame_speedval", "0.25", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_flame_accelboost = CVAR_INIT ("vanillaboost_flame_accelboost", "6.0", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_flame_stackable = CVAR_INIT ("vanillaboost_flame_stackable", "Off", CV_NETVAR|CV_GUARD, CV_OnOff, NULL);
|
||||
|
||||
consvar_t cv_kartstacking_start_speedboost = CVAR_INIT ("vanillaboost_start_speedboost", "0.25", CV_NETVAR|CV_CHEAT|CV_FLOAT, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_start_accelboost = CVAR_INIT ("vanillaboost_start_accelboost", "6.0", CV_NETVAR|CV_CHEAT|CV_FLOAT, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_start_stackable = CVAR_INIT ("vanillaboost_start_stackable", "On", CV_NETVAR, CV_OnOff, NULL);
|
||||
consvar_t cv_kartstacking_start_speedboost = CVAR_INIT ("vanillaboost_start_speedboost", "0.25", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_start_accelboost = CVAR_INIT ("vanillaboost_start_accelboost", "6.0", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_start_stackable = CVAR_INIT ("vanillaboost_start_stackable", "On", CV_NETVAR|CV_GUARD, CV_OnOff, NULL);
|
||||
|
||||
consvar_t cv_kartstacking_walltransfer_speedboost = CVAR_INIT ("vanillaboost_walltransfer_speedboost", "0.10", CV_NETVAR|CV_CHEAT|CV_FLOAT, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_walltransfer_accelboost = CVAR_INIT ("vanillaboost_walltransfer_accelboost", "5.0", CV_NETVAR|CV_CHEAT|CV_FLOAT, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_walltransfer_stackable = CVAR_INIT ("vanillaboost_walltransfer_stackable", "On", CV_NETVAR, CV_OnOff, NULL);
|
||||
consvar_t cv_kartstacking_walltransfer_speedboost = CVAR_INIT ("vanillaboost_walltransfer_speedboost", "0.10", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_walltransfer_accelboost = CVAR_INIT ("vanillaboost_walltransfer_accelboost", "5.0", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_walltransfer_stackable = CVAR_INIT ("vanillaboost_walltransfer_stackable", "On", CV_NETVAR|CV_GUARD, CV_OnOff, NULL);
|
||||
|
||||
consvar_t cv_kartstacking_drift_speedboost = CVAR_INIT ("vanillaboost_drift_speedboost", "0.25", CV_NETVAR|CV_CHEAT|CV_FLOAT, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_drift_accelboost = CVAR_INIT ("vanillaboost_drift_accelboost", "4.0", CV_NETVAR|CV_CHEAT|CV_FLOAT, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_drift_stackable = CVAR_INIT ("vanillaboost_drift_stackable", "On", CV_NETVAR, CV_OnOff, NULL);
|
||||
consvar_t cv_kartstacking_drift_speedboost = CVAR_INIT ("vanillaboost_drift_speedboost", "0.25", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_drift_accelboost = CVAR_INIT ("vanillaboost_drift_accelboost", "4.0", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_drift_stackable = CVAR_INIT ("vanillaboost_drift_stackable", "On", CV_NETVAR|CV_GUARD, CV_OnOff, NULL);
|
||||
|
||||
consvar_t cv_kartstacking_ring_speedboost = CVAR_INIT ("vanillaboost_ring_speedboost", "0.2", CV_NETVAR|CV_CHEAT|CV_FLOAT, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_ring_accelboost = CVAR_INIT ("vanillaboost_ring_accelboost", "4.0", CV_NETVAR|CV_CHEAT|CV_FLOAT, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_ring_stackable = CVAR_INIT ("vanillaboost_ring_stackable", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL);
|
||||
consvar_t cv_kartstacking_ring_speedboost = CVAR_INIT ("vanillaboost_ring_speedboost", "0.2", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_ring_accelboost = CVAR_INIT ("vanillaboost_ring_accelboost", "4.0", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_ring_stackable = CVAR_INIT ("vanillaboost_ring_stackable", "On", CV_NETVAR|CV_CHEAT|CV_GUARD, CV_OnOff, NULL);
|
||||
|
||||
consvar_t cv_kartstacking_slope_decay = CVAR_INIT ("vanillaboost_slope_decay", "0.004", CV_NETVAR|CV_CHEAT|CV_FLOAT, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_slope_brakemod = CVAR_INIT ("vanillaboost_slope_brakemod", "0.01", CV_NETVAR|CV_CHEAT|CV_FLOAT, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_slope_speedboost_max = CVAR_INIT ("vanillaboost_slope_speedboost_max", "3.0", CV_NETVAR|CV_CHEAT|CV_FLOAT, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_slope_speedboost_cap = CVAR_INIT ("vanillaboost_slope_speedboost_cap", "1.0", CV_NETVAR|CV_CHEAT|CV_FLOAT, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_slope_accelboost = CVAR_INIT ("vanillaboost_slope_accelboost", "3.0", CV_NETVAR|CV_CHEAT|CV_FLOAT, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_slope_stackable = CVAR_INIT ("vanillaboost_slope_stackable", "On", CV_NETVAR, CV_OnOff, NULL);
|
||||
consvar_t cv_kartstacking_slope_decay = CVAR_INIT ("vanillaboost_slope_decay", "0.004", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_slope_brakemod = CVAR_INIT ("vanillaboost_slope_brakemod", "0.01", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_slope_speedboost_max = CVAR_INIT ("vanillaboost_slope_speedboost_max", "3.0", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_slope_speedboost_cap = CVAR_INIT ("vanillaboost_slope_speedboost_cap", "1.0", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_slope_accelboost = CVAR_INIT ("vanillaboost_slope_accelboost", "3.0", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_slope_stackable = CVAR_INIT ("vanillaboost_slope_stackable", "On", CV_NETVAR|CV_GUARD, CV_OnOff, NULL);
|
||||
|
||||
// Max speed for high speeds
|
||||
consvar_t cv_kartstacking_drafting_minspeed = CVAR_INIT ("vanillaboost_draft_minspeed", "0.16", CV_NETVAR|CV_CHEAT|CV_FLOAT, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_drafting_minspeed = CVAR_INIT ("vanillaboost_draft_minspeed", "0.16", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
|
||||
// Max speed for low speeds
|
||||
consvar_t cv_kartstacking_drafting_maxspeed = CVAR_INIT ("vanillaboost_draft_maxspeed", "0.26", CV_NETVAR|CV_CHEAT|CV_FLOAT, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_drafting_maxspeed = CVAR_INIT ("vanillaboost_draft_maxspeed", "0.26", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
|
||||
consvar_t cv_kartchaining = CVAR_INIT ("kartchaining", "No", CV_NETVAR|CV_CALL|CV_NOINIT, CV_YesNo, KartChaining_OnChange);
|
||||
consvar_t cv_kartchaining = CVAR_INIT ("kartchaining", "No", CV_NETVAR|CV_CALL|CV_NOINIT|CV_GUARD, CV_YesNo, KartChaining_OnChange);
|
||||
consvar_t cv_kartchainingoffroad = CVAR_INIT ("kartchaining_chainoffroad", "No", CV_NETVAR, CV_YesNo, NULL);
|
||||
|
||||
consvar_t cv_kartitembreaker = CVAR_INIT ("kartitembreaker", "No", CV_NETVAR|CV_CALL|CV_NOINIT, CV_YesNo, KartItemBreaker_OnChange);
|
||||
|
|
@ -542,7 +542,7 @@ consvar_t cv_kartitembreaker = CVAR_INIT ("kartitembreaker", "No", CV_NETVAR|CV_
|
|||
|
||||
consvar_t cv_kartusepwrlv = CVAR_INIT ("kartusepwrlv", "Yes", CV_NETVAR, CV_YesNo, NULL);
|
||||
|
||||
consvar_t cv_kartpurpledrift = CVAR_INIT ("kartpurpledrift", "No", CV_NETVAR, CV_YesNo, KartPurpleDrift_OnChange);
|
||||
consvar_t cv_kartpurpledrift = CVAR_INIT ("kartpurpledrift", "No", CV_NETVAR|CV_CALL|CV_NOINIT|CV_GUARD, CV_YesNo, KartPurpleDrift_OnChange);
|
||||
|
||||
static CV_PossibleValue_t bumpspark_cons_t[] = {{BUMPSPARK_NONE, "Off"},
|
||||
{BUMPSPARK_NOCHARGE, "Remove Charge Only"},
|
||||
|
|
@ -552,33 +552,33 @@ static CV_PossibleValue_t bumpspark_cons_t[] = {{BUMPSPARK_NONE, "Off"},
|
|||
|
||||
consvar_t cv_kartbumpspark = CVAR_INIT("kartbumpspark",
|
||||
"Remove Charge Only",
|
||||
CV_NETVAR | CV_CALL,
|
||||
CV_NETVAR | CV_CALL | CV_NOINIT | CV_GUARD,
|
||||
bumpspark_cons_t,
|
||||
KartBumpSpark_OnChange);
|
||||
|
||||
consvar_t cv_kartbumpspring = CVAR_INIT ("kartbumpspring", "Yes", CV_NETVAR, CV_YesNo, NULL);
|
||||
|
||||
consvar_t cv_kartslipdash = CVAR_INIT ("kartslipdash", "No", CV_NETVAR|CV_CALL|CV_NOINIT, CV_YesNo, KartSlipdash_OnChange);
|
||||
consvar_t cv_kartslipdash = CVAR_INIT ("kartslipdash", "No", CV_NETVAR|CV_CALL|CV_NOINIT|CV_GUARD, CV_YesNo, KartSlipdash_OnChange);
|
||||
|
||||
consvar_t cv_kartslopeboost = CVAR_INIT ("kartslopeboost", "No", CV_NETVAR|CV_CALL|CV_NOINIT, CV_YesNo, KartSlopeBoost_OnChange);
|
||||
|
||||
consvar_t cv_kartdrafting = CVAR_INIT ("kartdrafting", "No", CV_NETVAR|CV_CALL|CV_NOINIT, CV_YesNo, KartDrafting_OnChange);
|
||||
consvar_t cv_kartdrafting = CVAR_INIT ("kartdrafting", "No", CV_NETVAR|CV_CALL|CV_NOINIT|CV_GUARD, CV_YesNo, KartDrafting_OnChange);
|
||||
consvar_t cv_kartdrafting_closedraft = CVAR_INIT ("kartdrafting_closedraft", "Off", CV_NETVAR, CV_OnOff, NULL);
|
||||
consvar_t cv_kartdrafting_closedeadzone = CVAR_INIT ("kartdrafting_closedeadzone", "640", CV_NETVAR|CV_CHEAT, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartdrafting_basedistance = CVAR_INIT ("kartdrafting_basedistance", "2560", CV_NETVAR|CV_CHEAT, CV_Unsigned, NULL);
|
||||
|
||||
consvar_t cv_kartairdrop = CVAR_INIT ("kartairdrop", "No", CV_NETVAR|CV_CALL|CV_NOINIT, CV_YesNo, KartAirDrop_OnChange);
|
||||
consvar_t cv_kartairdrop = CVAR_INIT ("kartairdrop", "No", CV_NETVAR|CV_CALL|CV_NOINIT|CV_GUARD, CV_YesNo, KartAirDrop_OnChange);
|
||||
consvar_t cv_kartitemlitter = CVAR_INIT ("kartitemlitter", "On", CV_NETVAR|CV_CALL|CV_NOINIT, CV_OnOff, KartItemLitter_OnChange);
|
||||
|
||||
// Odds distancing
|
||||
#define MAXODDSDIST ((INT32_MAX / FRACUNIT) / 2)
|
||||
static CV_PossibleValue_t distvar_cons_t[] = {{1, "MIN"}, {MAXODDSDIST, "MAX"}, {0, NULL}};
|
||||
consvar_t cv_kartoddsdist = CVAR_INIT ("kartoddsdist", "1024", CV_NETVAR|CV_CHEAT, distvar_cons_t, NULL);
|
||||
consvar_t cv_kartlegacyoddsdist = CVAR_INIT ("kartlegacyoddsdist", "1472", CV_NETVAR|CV_CHEAT, distvar_cons_t, NULL);
|
||||
consvar_t cv_kartoddsdist = CVAR_INIT ("kartoddsdist", "1024", CV_NETVAR|CV_CHEAT|CV_GUARD, distvar_cons_t, NULL);
|
||||
consvar_t cv_kartlegacyoddsdist = CVAR_INIT ("kartlegacyoddsdist", "1472", CV_NETVAR|CV_CHEAT|CV_GUARD, distvar_cons_t, NULL);
|
||||
|
||||
// SPB distance; no legacy modifiers currently (lazy)
|
||||
static CV_PossibleValue_t spbdist_cons_t[] = {{1, "MIN"}, {32000, "MAX"}, {0, NULL}};
|
||||
consvar_t cv_kartspbdist = CVAR_INIT ("kartspbdist", "6144", CV_NETVAR|CV_CHEAT, spbdist_cons_t, NULL);
|
||||
consvar_t cv_kartspbdist = CVAR_INIT ("kartspbdist", "6144", CV_NETVAR|CV_CHEAT|CV_GUARD, spbdist_cons_t, NULL);
|
||||
#undef MAXODDSDIST
|
||||
|
||||
// Invincibility modifiers
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@
|
|||
#include "k_color.h"
|
||||
#include "k_follower.h"
|
||||
#include "k_grandprix.h"
|
||||
#include "g_party.h"
|
||||
#include "strbuf.h"
|
||||
|
||||
static CV_PossibleValue_t recordmultiplayerdemos_cons_t[] = {{0, "Disabled"}, {1, "Manual Save"}, {2, "Auto Save"}, {0, NULL}};
|
||||
consvar_t cv_recordmultiplayerdemos = CVAR_INIT ("netdemo_record", "Manual Save", CV_SAVE, recordmultiplayerdemos_cons_t, NULL);
|
||||
|
|
@ -3697,7 +3697,11 @@ void G_DoPlayDemo(char *defdemoname)
|
|||
{
|
||||
strbuf_t *pv = G_GetRecordPresetVersionForDemo(&header);
|
||||
if (pv)
|
||||
G_SetPresetCvars(pv);
|
||||
{
|
||||
const char *faulted = G_CheckPresetCvars(pv);
|
||||
if (faulted)
|
||||
M_StartMessage(va("Demo cvar %s doesn't match the preset! This may be a mistake, or the demo is cheated!\n", faulted), NULL, MM_NOTHING);
|
||||
}
|
||||
else
|
||||
CONS_Alert(CONS_WARNING, "Couldn't find record preset '%s' version %d\n", header.rapreset, header.rapresetversion);
|
||||
}
|
||||
|
|
|
|||
44
src/g_game.c
44
src/g_game.c
|
|
@ -550,17 +550,43 @@ strbuf_t *G_GetRecordPresetVersion(const char *name, UINT8 version)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
const char *G_CheckPresetCvars(strbuf_t *pv)
|
||||
{
|
||||
for (consvar_t *cvar = consvar_vars; cvar; cvar = cvar->next)
|
||||
{
|
||||
if (!(cvar->flags & CV_GUARD))
|
||||
continue;
|
||||
|
||||
// if the cvar is listed in the preset, its value must match
|
||||
const char *s = pv->buf + 1;
|
||||
while (s - pv->buf < strbuf_len(pv))
|
||||
{
|
||||
const char *name = s;
|
||||
s += strlen(s)+1;
|
||||
const char *value = s;
|
||||
s += strlen(s)+1;
|
||||
|
||||
if (!strcmp(name, cvar->name))
|
||||
{
|
||||
if (!strcmp(value, cvar->string))
|
||||
goto next;
|
||||
else
|
||||
return cvar->name;
|
||||
}
|
||||
}
|
||||
|
||||
// otherwise, the cvar must be set to its default value
|
||||
if (strcmp(cvar->string, cvar->defaultvalue))
|
||||
return cvar->name;
|
||||
next:;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void G_SetPresetCvars(strbuf_t *pv)
|
||||
{
|
||||
// TODO: CV_RAGUARD flag
|
||||
CV_SetValue(&cv_kartrings, 0);
|
||||
CV_SetValue(&cv_kartstacking, 0);
|
||||
CV_SetValue(&cv_kartchaining, 0);
|
||||
CV_SetValue(&cv_kartslipdash, 0);
|
||||
CV_SetValue(&cv_kartpurpledrift, 0);
|
||||
CV_SetValue(&cv_kartslopeboost, 0);
|
||||
CV_SetValue(&cv_kartairdrop, 0);
|
||||
CV_SetValue(&cv_kartbumpspark, 0);
|
||||
CV_ResetGuardVars();
|
||||
|
||||
// maximum memory efficiency, am i right?
|
||||
const char *s = pv->buf + 1;
|
||||
|
|
|
|||
|
|
@ -288,6 +288,7 @@ recordpreset_t *G_AddRecordPreset(const char *name, const char *realname);
|
|||
const char *G_GetRecordPresetName(const char *name);
|
||||
strbuf_t *G_AddRecordPresetVersion(recordpreset_t *preset, UINT8 version);
|
||||
strbuf_t *G_GetRecordPresetVersion(const char *name, UINT8 version);
|
||||
const char *G_CheckPresetCvars(strbuf_t *pv);
|
||||
void G_SetPresetCvars(strbuf_t *pv);
|
||||
boolean G_CompareRecordPresetVersions(strbuf_t *pre1, strbuf_t *pre2);
|
||||
|
||||
|
|
|
|||
31
src/k_kart.c
31
src/k_kart.c
|
|
@ -2083,37 +2083,6 @@ boolean K_PlayerCanPunt(const player_t *player)
|
|||
(player->flamestore > 0 && K_GetShieldFromPlayer(player) == KSHIELD_FLAME);
|
||||
}
|
||||
|
||||
// Safe guard cvars to prevent cheating in RA.
|
||||
INT32 K_RAGuard(consvar_t cvar)
|
||||
{
|
||||
if (modeattacking != ATTACKING_NONE)
|
||||
{
|
||||
if (cvar.flags & CV_FLOAT)
|
||||
{
|
||||
// This is a float, atof the value and run it through FloatToFixed
|
||||
return FloatToFixed(atof(cvar.defaultvalue));
|
||||
}
|
||||
else
|
||||
{
|
||||
// Handle string bools first.
|
||||
if (!strcmp(cvar.defaultvalue, "On") || !strcmp(cvar.defaultvalue, "Yes"))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!strcmp(cvar.defaultvalue, "Off") || !strcmp(cvar.defaultvalue, "No"))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// This is a int, just use atoi the value normally.
|
||||
return atoi(cvar.defaultvalue);
|
||||
}
|
||||
}
|
||||
|
||||
return cvar.value;
|
||||
}
|
||||
|
||||
boolean K_ItemMobjAllowedtoWaterRun(mobj_t *item)
|
||||
{
|
||||
switch (item->type)
|
||||
|
|
|
|||
102
src/k_kart.h
102
src/k_kart.h
|
|
@ -82,71 +82,71 @@ extern vector3_t clusterpoint, clusterdtf;
|
|||
#define BUBBLEITMDAMAGE (MAXBUBBLEHEALTH)
|
||||
|
||||
// Invincibility-related constants
|
||||
#define INVINDIST K_RAGuard(cv_kartinvindist)
|
||||
#define INVINDISTMUL K_RAGuard(cv_kartinvindistmul)
|
||||
#define INVINMIDTIME K_RAGuard(cv_kartinvin_midtime)
|
||||
#define INVINMAXTIME K_RAGuard(cv_kartinvin_maxtime)
|
||||
#define INVINDIST CV_Get(&cv_kartinvindist)
|
||||
#define INVINDISTMUL CV_Get(&cv_kartinvindistmul)
|
||||
#define INVINMIDTIME CV_Get(&cv_kartinvin_midtime)
|
||||
#define INVINMAXTIME CV_Get(&cv_kartinvin_maxtime)
|
||||
|
||||
// Precalculated constants for stacked boost diminishing
|
||||
// *Somewhat* matches old calc but doesn't use arrays, which makes it faster and more memory efficent
|
||||
#define DIMINISHPARAM K_RAGuard(cv_kartstacking_diminishparam)
|
||||
#define MAXVANILLABOOST K_RAGuard(cv_kartstacking_maxvanillaboost)
|
||||
#define SPEEDBOOSTDROPOFF K_RAGuard(cv_kartstacking_speedboostdropoff)
|
||||
#define SPEEDBOOSTDROPOFF_BRAKE K_RAGuard(cv_kartstacking_speedboostdropoff_brake)
|
||||
#define ACCELSTACK K_RAGuard(cv_kartstacking_accelstack)
|
||||
#define DIMINISHPARAM CV_Get(&cv_kartstacking_diminishparam)
|
||||
#define MAXVANILLABOOST CV_Get(&cv_kartstacking_maxvanillaboost)
|
||||
#define SPEEDBOOSTDROPOFF CV_Get(&cv_kartstacking_speedboostdropoff)
|
||||
#define SPEEDBOOSTDROPOFF_BRAKE CV_Get(&cv_kartstacking_speedboostdropoff_brake)
|
||||
#define ACCELSTACK CV_Get(&cv_kartstacking_accelstack)
|
||||
|
||||
// Vanilla Boosts
|
||||
#define EASYSNEAKERSPEEDBOOST K_RAGuard(cv_kartstacking_sneaker_easyspeedboost)
|
||||
#define NORMALSNEAKERSPEEDBOOST K_RAGuard(cv_kartstacking_sneaker_normalspeedboost)
|
||||
#define HARDSNEAKERSPEEDBOOST K_RAGuard(cv_kartstacking_sneaker_hardspeedboost)
|
||||
#define EXPERTSNEAKERSPEEDBOOST K_RAGuard(cv_kartstacking_sneaker_expertspeedboost)
|
||||
#define SNEAKERACCELBOOST K_RAGuard(cv_kartstacking_sneaker_accelboost)
|
||||
#define MAXSNEAKERSTACK K_RAGuard(cv_kartstacking_sneaker_maxgrade)
|
||||
#define SNEAKERSTACKABLE K_RAGuard(cv_kartstacking_sneaker_stackable)
|
||||
#define EASYSNEAKERSPEEDBOOST CV_Get(&cv_kartstacking_sneaker_easyspeedboost)
|
||||
#define NORMALSNEAKERSPEEDBOOST CV_Get(&cv_kartstacking_sneaker_normalspeedboost)
|
||||
#define HARDSNEAKERSPEEDBOOST CV_Get(&cv_kartstacking_sneaker_hardspeedboost)
|
||||
#define EXPERTSNEAKERSPEEDBOOST CV_Get(&cv_kartstacking_sneaker_expertspeedboost)
|
||||
#define SNEAKERACCELBOOST CV_Get(&cv_kartstacking_sneaker_accelboost)
|
||||
#define MAXSNEAKERSTACK CV_Get(&cv_kartstacking_sneaker_maxgrade)
|
||||
#define SNEAKERSTACKABLE CV_Get(&cv_kartstacking_sneaker_stackable)
|
||||
|
||||
#define INVINSPEEDBOOSTLGC K_RAGuard(cv_kartstacking_invincibility_legacyspeedboost)
|
||||
#define INVINACCELBOOSTLGC K_RAGuard(cv_kartstacking_invincibility_legacyaccelboost)
|
||||
#define INVINSPEEDBOOSTALT K_RAGuard(cv_kartstacking_invincibility_alternatespeedboost)
|
||||
#define INVINACCELBOOSTALT K_RAGuard(cv_kartstacking_invincibility_alternateaccelboost)
|
||||
#define INVINSTACKABLE K_RAGuard(cv_kartstacking_invincibility_stackable)
|
||||
#define INVINSPEEDBOOSTLGC CV_Get(&cv_kartstacking_invincibility_legacyspeedboost)
|
||||
#define INVINACCELBOOSTLGC CV_Get(&cv_kartstacking_invincibility_legacyaccelboost)
|
||||
#define INVINSPEEDBOOSTALT CV_Get(&cv_kartstacking_invincibility_alternatespeedboost)
|
||||
#define INVINACCELBOOSTALT CV_Get(&cv_kartstacking_invincibility_alternateaccelboost)
|
||||
#define INVINSTACKABLE CV_Get(&cv_kartstacking_invincibility_stackable)
|
||||
|
||||
#define GROWSPEEDBOOST K_RAGuard(cv_kartstacking_grow_speedboost)
|
||||
#define GROWACCELBOOST K_RAGuard(cv_kartstacking_grow_accelboost)
|
||||
#define GROWSTACKABLE K_RAGuard(cv_kartstacking_grow_stackable)
|
||||
#define GROWSPEEDBOOST CV_Get(&cv_kartstacking_grow_speedboost)
|
||||
#define GROWACCELBOOST CV_Get(&cv_kartstacking_grow_accelboost)
|
||||
#define GROWSTACKABLE CV_Get(&cv_kartstacking_grow_stackable)
|
||||
|
||||
#define BUBBLESPEEDBOOST K_RAGuard(cv_kartstacking_bubble_speedboost)
|
||||
#define BUBBLEACCELBOOST K_RAGuard(cv_kartstacking_bubble_accelboost)
|
||||
#define BUBBLESTACKABLE K_RAGuard(cv_kartstacking_bubble_stackable)
|
||||
#define BUBBLESPEEDBOOST CV_Get(&cv_kartstacking_bubble_speedboost)
|
||||
#define BUBBLEACCELBOOST CV_Get(&cv_kartstacking_bubble_accelboost)
|
||||
#define BUBBLESTACKABLE CV_Get(&cv_kartstacking_bubble_stackable)
|
||||
|
||||
#define FLAMESPEEDVAL K_RAGuard(cv_kartstacking_flame_speedval)
|
||||
#define FLAMEACCELBOOST K_RAGuard(cv_kartstacking_flame_accelboost)
|
||||
#define FLAMESTACKABLE K_RAGuard(cv_kartstacking_flame_stackable)
|
||||
#define FLAMESPEEDVAL CV_Get(&cv_kartstacking_flame_speedval)
|
||||
#define FLAMEACCELBOOST CV_Get(&cv_kartstacking_flame_accelboost)
|
||||
#define FLAMESTACKABLE CV_Get(&cv_kartstacking_flame_stackable)
|
||||
|
||||
#define STARTSPEEDBOOST K_RAGuard(cv_kartstacking_start_speedboost)
|
||||
#define STARTACCELBOOST K_RAGuard(cv_kartstacking_start_accelboost)
|
||||
#define STARTSTACKABLE K_RAGuard(cv_kartstacking_start_stackable)
|
||||
#define STARTSPEEDBOOST CV_Get(&cv_kartstacking_start_speedboost)
|
||||
#define STARTACCELBOOST CV_Get(&cv_kartstacking_start_accelboost)
|
||||
#define STARTSTACKABLE CV_Get(&cv_kartstacking_start_stackable)
|
||||
|
||||
#define WALLTRANSFERSPEEDBOOST K_RAGuard(cv_kartstacking_walltransfer_speedboost)
|
||||
#define WALLTRANSFERACCELBOOST K_RAGuard(cv_kartstacking_walltransfer_accelboost)
|
||||
#define WALLTRANSFERSTACKABLE K_RAGuard(cv_kartstacking_walltransfer_stackable)
|
||||
#define WALLTRANSFERSPEEDBOOST CV_Get(&cv_kartstacking_walltransfer_speedboost)
|
||||
#define WALLTRANSFERACCELBOOST CV_Get(&cv_kartstacking_walltransfer_accelboost)
|
||||
#define WALLTRANSFERSTACKABLE CV_Get(&cv_kartstacking_walltransfer_stackable)
|
||||
|
||||
#define DRIFTSPEEDBOOST K_RAGuard(cv_kartstacking_drift_speedboost)
|
||||
#define DRIFTACCELBOOST K_RAGuard(cv_kartstacking_drift_accelboost)
|
||||
#define DRIFTSTACKABLE K_RAGuard(cv_kartstacking_drift_stackable)
|
||||
#define DRIFTSPEEDBOOST CV_Get(&cv_kartstacking_drift_speedboost)
|
||||
#define DRIFTACCELBOOST CV_Get(&cv_kartstacking_drift_accelboost)
|
||||
#define DRIFTSTACKABLE CV_Get(&cv_kartstacking_drift_stackable)
|
||||
|
||||
#define RINGSPEEDBOOST K_RAGuard(cv_kartstacking_ring_speedboost)
|
||||
#define RINGACCELBOOST K_RAGuard(cv_kartstacking_ring_accelboost)
|
||||
#define RINGSTACKABLE K_RAGuard(cv_kartstacking_ring_stackable)
|
||||
#define RINGSPEEDBOOST CV_Get(&cv_kartstacking_ring_speedboost)
|
||||
#define RINGACCELBOOST CV_Get(&cv_kartstacking_ring_accelboost)
|
||||
#define RINGSTACKABLE CV_Get(&cv_kartstacking_ring_stackable)
|
||||
|
||||
#define SLOPEDECAY K_RAGuard(cv_kartstacking_slope_decay)
|
||||
#define SLOPEBRAKEMOD K_RAGuard(cv_kartstacking_slope_brakemod)
|
||||
#define SLOPESPEEDBOOSTMAX K_RAGuard(cv_kartstacking_slope_speedboost_max)
|
||||
#define SLOPESPEEDBOOSTCAP K_RAGuard(cv_kartstacking_slope_speedboost_cap)
|
||||
#define SLOPEACCELBOOST K_RAGuard(cv_kartstacking_slope_accelboost)
|
||||
#define SLOPESTACKABLE K_RAGuard(cv_kartstacking_slope_stackable)
|
||||
#define SLOPEDECAY CV_Get(&cv_kartstacking_slope_decay)
|
||||
#define SLOPEBRAKEMOD CV_Get(&cv_kartstacking_slope_brakemod)
|
||||
#define SLOPESPEEDBOOSTMAX CV_Get(&cv_kartstacking_slope_speedboost_max)
|
||||
#define SLOPESPEEDBOOSTCAP CV_Get(&cv_kartstacking_slope_speedboost_cap)
|
||||
#define SLOPEACCELBOOST CV_Get(&cv_kartstacking_slope_accelboost)
|
||||
#define SLOPESTACKABLE CV_Get(&cv_kartstacking_slope_stackable)
|
||||
|
||||
#define DRAFTMINSPEED K_RAGuard(cv_kartstacking_drafting_minspeed)
|
||||
#define DRAFTMAXSPEED K_RAGuard(cv_kartstacking_drafting_maxspeed)
|
||||
#define DRAFTMINSPEED CV_Get(&cv_kartstacking_drafting_minspeed)
|
||||
#define DRAFTMAXSPEED CV_Get(&cv_kartstacking_drafting_maxspeed)
|
||||
|
||||
#define CANTCHAINOFFROAD (cv_kartchaining.value && !cv_kartchainingoffroad.value)
|
||||
|
||||
|
|
@ -183,8 +183,6 @@ typedef enum
|
|||
#define RINGVOLUMEREGEN 1
|
||||
#define RINGTRANSPARENCYREGEN 3
|
||||
|
||||
INT32 K_RAGuard(consvar_t cvar);
|
||||
|
||||
angle_t K_ReflectAngle(angle_t angle, angle_t against, fixed_t maxspeed, fixed_t yourspeed);
|
||||
|
||||
void K_RegisterKartStuff(void);
|
||||
|
|
|
|||
|
|
@ -20,7 +20,6 @@
|
|||
#include "d_player.h" // Need for player_t
|
||||
#include "d_ticcmd.h"
|
||||
#include "m_fixed.h"
|
||||
#include "k_kart.h" // K_RAGuard
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
|
|
@ -30,9 +29,9 @@ extern "C" {
|
|||
#define MAXODDS 16
|
||||
|
||||
// Distance variables
|
||||
#define DISTVAR K_RAGuard(cv_kartoddsdist)
|
||||
#define DISTVAR_LEGACY K_RAGuard(cv_kartlegacyoddsdist)
|
||||
#define SPBDISTVAR K_RAGuard(cv_kartspbdist)
|
||||
#define DISTVAR CV_Get(&cv_kartoddsdist)
|
||||
#define DISTVAR_LEGACY CV_Get(&cv_kartlegacyoddsdist)
|
||||
#define SPBDISTVAR CV_Get(&cv_kartspbdist)
|
||||
|
||||
extern consvar_t *KartItemCVars[NUMKARTRESULTS-1];
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue