void V_TF_FlashSettings (qbool flashed) { static float old_gamma, old_contrast; // remove read only flag if it was set if (Cvar_GetFlags(&v_gamma) & CVAR_ROM) Cvar_SetFlags(&v_gamma, Cvar_GetFlags(&v_gamma) & ~CVAR_ROM); if (Cvar_GetFlags(&v_contrast) & CVAR_ROM) Cvar_SetFlags(&v_contrast, Cvar_GetFlags(&v_contrast) & ~CVAR_ROM); if (flashed) { // store normal settings old_gamma = v_gamma.value; old_contrast = v_contrast.value; // set MTFL flash settings Cvar_SetValue (&v_gamma, flash_gamma); Cvar_SetValue (&v_contrast, flash_contrast); // made gamma&contrast read only Cvar_SetFlags(&v_gamma, Cvar_GetFlags(&v_gamma) | CVAR_ROM); Cvar_SetFlags(&v_contrast, Cvar_GetFlags(&v_contrast) | CVAR_ROM); } else { // restore old settings Cvar_SetValue (&v_gamma, old_gamma); Cvar_SetValue (&v_contrast, old_contrast); } return; }
static void Rulesets_Smackdown (qbool enable) { extern cvar_t cl_independentPhysics, cl_c2spps; extern cvar_t cl_hud; extern cvar_t cl_rollalpha; extern cvar_t r_shiftbeam; #ifndef GLQUAKE extern cvar_t r_aliasstats; #endif int i; locked_cvar_t disabled_cvars[] = { {&cl_hud, "0"}, // allows you place any text on the screen & filter incoming messages (hud strings) {&cl_rollalpha, "20"}, // allows you to not dodge while seeing enemies dodging {&r_shiftbeam, "0"}, // perphaps some people would think this allows you to aim better (maybe should be added for demo playback and spectating only) #ifndef GLQUAKE {&r_aliasstats, "0"} #endif }; if (enable) { for (i = 0; i < (sizeof(disabled_cvars) / sizeof(disabled_cvars[0])); i++) { Cvar_RulesetSet(disabled_cvars[i].var, disabled_cvars[i].value, 2); Cvar_Set(disabled_cvars[i].var, disabled_cvars[i].value); Cvar_SetFlags(disabled_cvars[i].var, Cvar_GetFlags(disabled_cvars[i].var) | CVAR_ROM); } if (cl_independentPhysics.value) { Cvar_Set(&cl_c2spps, "0"); // people were complaining that player move is jerky with this. however this has not much to do with independent physics, but people are too paranoid about it Cvar_SetFlags(&cl_c2spps, Cvar_GetFlags(&cl_c2spps) | CVAR_ROM); } rulesetDef.maxfps = 77; rulesetDef.restrictTriggers = true; rulesetDef.restrictPacket = true; // packet command could have been exploited for external timers rulesetDef.restrictParticles = true; rulesetDef.ruleset = rs_smackdown; } else { for (i = 0; i < (sizeof(disabled_cvars) / sizeof(disabled_cvars[0])); i++) Cvar_SetFlags(disabled_cvars[i].var, Cvar_GetFlags(disabled_cvars[i].var) & ~CVAR_ROM); if (cl_independentPhysics.value) Cvar_SetFlags(&cl_c2spps, Cvar_GetFlags(&cl_c2spps) & ~CVAR_ROM); rulesetDef.maxfps = 72.0; rulesetDef.restrictTriggers = false; rulesetDef.restrictPacket = false; rulesetDef.restrictParticles = false; rulesetDef.ruleset = rs_default; } }
static void qtv_memory_init (void) { int mem_size; void *mem_base; qtv_mem_size = Cvar_Get ("qtv_mem_size", "8", CVAR_NONE, NULL, "Amount of memory (in MB) to allocate for the " PACKAGE_NAME " heap"); Cvar_SetFlags (qtv_mem_size, qtv_mem_size->flags | CVAR_ROM); mem_size = (int) (qtv_mem_size->value * 1024 * 1024); mem_base = malloc (mem_size); if (!mem_base) Sys_Error ("Can't allocate %d", mem_size); Memory_Init (mem_base, mem_size); }
static void Rulesets_MTFL (qbool enable) { /* TODO: f_flashout trigger block all other ways to made textures flat(simple) ?disable external textures for detpacks, grenades, sentry, disp, etc? */ extern cvar_t cl_c2spps, r_fullbrightSkins; #ifdef GLQUAKE extern cvar_t amf_detpacklights; extern cvar_t gl_picmip, gl_max_size, r_drawflat; extern cvar_t vid_hwgammacontrol; extern cvar_t gl_textureless; #endif int i = 0; locked_cvar_t disabled_cvars[] = { #ifdef GLQUAKE {&r_drawflat, "0"}, {&amf_detpacklights, "0"}, {&vid_hwgammacontrol, "2"}, {&gl_textureless, "0"}, #endif {&r_fullbrightSkins, "0"}, {&cl_c2spps, "0"}, }; #ifdef GLQUAKE limited_cvar_max_t limited_max_cvars[] = { {&gl_picmip, "3"}, }; limited_cvar_min_t limited_min_cvars[] = { {&gl_max_size, "512"}, }; #endif if (enable) { for (; i < (sizeof(disabled_cvars) / sizeof(disabled_cvars[0])); i++) { Cvar_RulesetSet(disabled_cvars[i].var, disabled_cvars[i].value, 2); Cvar_Set(disabled_cvars[i].var, disabled_cvars[i].value); Cvar_SetFlags(disabled_cvars[i].var, Cvar_GetFlags(disabled_cvars[i].var) | CVAR_ROM); } #ifdef GLQUAKE for (i = 0; i < (sizeof(limited_max_cvars) / sizeof(limited_max_cvars[0])); i++) { Cvar_RulesetSet(limited_max_cvars[i].var, limited_max_cvars[i].maxrulesetvalue, 1); Cvar_SetFlags(limited_max_cvars[i].var, Cvar_GetFlags(limited_max_cvars[i].var) | CVAR_RULESET_MAX); } for (i = 0; i < (sizeof(limited_min_cvars) / sizeof(limited_min_cvars[0])); i++) { Cvar_RulesetSet(limited_min_cvars[i].var, limited_min_cvars[i].minrulesetvalue, 0); Cvar_SetFlags(limited_min_cvars[i].var, Cvar_GetFlags(limited_min_cvars[i].var) | CVAR_RULESET_MIN); } #endif rulesetDef.ruleset = rs_mtfl; } else { for (i = 0; i < (sizeof(disabled_cvars) / sizeof(disabled_cvars[0])); i++) Cvar_SetFlags(disabled_cvars[i].var, Cvar_GetFlags(disabled_cvars[i].var) & ~CVAR_ROM); #ifdef GLQUAKE for (i = 0; i < (sizeof(limited_max_cvars) / sizeof(limited_max_cvars[0])); i++) Cvar_SetFlags(limited_max_cvars[i].var, Cvar_GetFlags(limited_max_cvars[i].var) & ~CVAR_RULESET_MAX); for (i = 0; i < (sizeof(limited_min_cvars) / sizeof(limited_min_cvars[0])); i++) Cvar_SetFlags(limited_min_cvars[i].var, Cvar_GetFlags(limited_min_cvars[i].var) & ~CVAR_RULESET_MIN); #endif rulesetDef.ruleset = rs_default; } }