/* =============== GLimp_HandleCvars Responsible for handling cvars that change the window or GL state Should only be called by the main thread =============== */ void GLimp_HandleCvars( void ) { #if SDL_VERSION_ATLEAST( 2, 0, 0 ) if ( r_swapInterval->modified ) { AssertCvarRange( r_swapInterval, -1, 1, qtrue ); R_SyncRenderThread(); SDL_GL_SetSwapInterval( r_swapInterval->integer ); r_swapInterval->modified = qfalse; } #endif if ( r_fullscreen->modified ) { qboolean fullscreen; qboolean needToToggle = qtrue; int sdlToggled = qfalse; fullscreen = !!( SDL_GetWindowFlags( window ) & SDL_WINDOW_FULLSCREEN ); if ( r_fullscreen->integer && ri.Cvar_VariableIntegerValue( "in_nograb" ) ) { ri.Printf( PRINT_ALL, "Fullscreen not allowed with in_nograb 1\n" ); ri.Cvar_Set( "r_fullscreen", "0" ); r_fullscreen->modified = qfalse; } // Is the state we want different from the current state? needToToggle = !!r_fullscreen->integer != fullscreen; if ( needToToggle ) { sdlToggled = SDL_SetWindowFullscreen( window, r_fullscreen->integer ); if ( sdlToggled < 0 ) { ri.Cmd_ExecuteText( EXEC_APPEND, "vid_restart\n" ); } ri.IN_Restart(); } r_fullscreen->modified = qfalse; } }
/* =============== GLimp_HandleCvars Responsible for handling cvars that change the window or GL state Should only be called by the main thread =============== */ void GLimp_HandleCvars() { if ( r_swapInterval->modified ) { AssertCvarRange( r_swapInterval, -1, 1, true ); R_SyncRenderThread(); SDL_GL_SetSwapInterval( r_swapInterval->integer ); r_swapInterval->modified = false; } if ( r_fullscreen->modified ) { bool fullscreen; bool needToToggle = true; int sdlToggled = false; fullscreen = !!( SDL_GetWindowFlags( window ) & SDL_WINDOW_FULLSCREEN ); if ( r_fullscreen->integer && ri.Cvar_VariableIntegerValue( "in_nograb" ) ) { ri.Printf( PRINT_ALL, "Fullscreen not allowed with in_nograb 1\n" ); ri.Cvar_Set( "r_fullscreen", "0" ); r_fullscreen->modified = false; } // Is the state we want different from the current state? needToToggle = !!r_fullscreen->integer != fullscreen; if ( needToToggle ) { sdlToggled = SDL_SetWindowFullscreen( window, r_fullscreen->integer ); if ( sdlToggled < 0 ) { Cmd::BufferCommandText("vid_restart"); } ri.IN_Restart(); } r_fullscreen->modified = false; } }
/* =============== R_Register =============== */ void R_Register( void ) { int i; extern void VID_Restart_f (void); Cvar_SetCurrentGroup(CVAR_GROUP_VIDEO); // // latched and archived variables // Cvar_Register (&r_glDriver); Cvar_Register (&r_allowExtensions); // Cvar_Register (&r_texturebits); Cvar_Register (&r_colorbits); // Cvar_Register (&r_stereo); // qqshka: unused but saved Cvar_Register (&r_stencilbits); Cvar_Register (&r_depthbits); // Cvar_Register (&r_overBrightBits); Cvar_Register (&r_mode); Cvar_Register (&r_fullscreen); Cvar_Register (&r_customwidth); Cvar_Register (&r_customheight); // Cvar_Register (&r_customaspect); // qqshka: unused even in q3, but I keep cvar, just do not register it // // temporary latched variables that can only change over a restart // Cvar_Register (&r_displayRefresh); AssertCvarRange( &r_displayRefresh, 0, 300, true ); // useless in most cases thought Cvar_Register (&vid_borderless); // Cvar_Register (&r_intensity); // // archived variables that can change at any time // Cvar_Register (&r_ignoreGLErrors); // Cvar_Register (&r_textureMode); Cvar_Register (&r_swapInterval); // Cvar_Register (&r_gamma); Cvar_Register (&vid_hwgammacontrol); Cvar_Register (&r_verbose); // Cvar_Register (&r_logFile); Cvar_Register (&vid_xpos); Cvar_Register (&vid_ypos); Cvar_Register (&vid_minpos); Cvar_Register (&r_conwidth); Cvar_Register (&r_conheight); Cvar_Register (&vid_wideaspect); Cvar_Register (&vid_wideaspect_verbose); Cvar_Register (&r_conaspect); if ( !host_initialized ) // compatibility with retarded cmd line, and actually this still needed for some other reasons { int w = 0, h = 0; if (COM_CheckParm("-window") || COM_CheckParm("-startwindowed")) Cvar_LatchedSetValue(&r_fullscreen, 0); if ((i = COM_CheckParm("-freq")) && i + 1 < COM_Argc()) Cvar_LatchedSetValue(&r_displayRefresh, Q_atoi(COM_Argv(i + 1))); if ((i = COM_CheckParm("-bpp")) && i + 1 < COM_Argc()) Cvar_LatchedSetValue(&r_colorbits, Q_atoi(COM_Argv(i + 1))); w = ((i = COM_CheckParm("-width")) && i + 1 < COM_Argc()) ? Q_atoi(COM_Argv(i + 1)) : 0; h = ((i = COM_CheckParm("-height")) && i + 1 < COM_Argc()) ? Q_atoi(COM_Argv(i + 1)) : 0; #ifdef _WIN32 if (!( // no! strcmp (r_displayRefresh.defaultvalue, r_displayRefresh.string) || // refresh rate wasnt changed strcmp (r_colorbits.defaultvalue, r_colorbits.string ) || // bpp wasnt changed strcmp (r_mode.defaultvalue, r_mode.string ) || // bpp wasnt changed w || h) // width and height wasnt changed ) { // ok, pseudo current int freq = 0; DEVMODE dm; memset( &dm, 0, sizeof( dm ) ); dm.dmSize = sizeof( dm ); if ( EnumDisplaySettings( NULL, ENUM_CURRENT_SETTINGS, &dm ) ) // FIXME: Do we need to care about which device we get this? With several monitors we might... freq = dm.dmDisplayFrequency; // get actual frequency w = GetSystemMetrics (SM_CXSCREEN); h = GetSystemMetrics (SM_CYSCREEN); Cvar_LatchedSetValue(&r_displayRefresh, freq); // current mean current Cvar_LatchedSetValue(&r_colorbits, 0); // use desktop bpp } #endif // _WIN32 if ( w || h ) { int m = R_MatchMode( w, h ); if (m == -1) { // ok, mode not found, trying custom w = w ? w : h * 4 / 3; // guessing width from height may cause some problems thought, because 4/3 uneven h = h ? h : w * 3 / 4; Cvar_LatchedSetValue(&r_customwidth, w); Cvar_LatchedSetValue(&r_customheight, h); } Cvar_LatchedSetValue(&r_mode, m); } if ((i = COM_CheckParm("-conwidth")) && i + 1 < COM_Argc()) Cvar_SetValue(&r_conwidth, (float)Q_atoi(COM_Argv(i + 1))); else // this is ether +set vid_con... or just default value which we select in cvar initialization Cvar_SetValue(&r_conwidth, r_conwidth.value); // must trigger callback which validate value if ((i = COM_CheckParm("-conheight")) && i + 1 < COM_Argc()) Cvar_SetValue(&r_conheight, (float)Q_atoi(COM_Argv(i + 1))); else // this is ether +set vid_con... or just default value which we select in cvar initialization // also select r_conheight with proper aspect ratio if user omit it Cvar_SetValue(&r_conheight, r_conheight.value ? r_conheight.value : r_conwidth.value * 3 / 4); // must trigger callback which validate value } Cvar_Register (&vid_ref); #ifdef _WIN32 Cvar_Register (&vid_flashonactivity); Cvar_Register (&_windowed_mouse); //that more like an input, but i have serious reason to register it here #endif Cvar_Register (&r_showextensions); Cvar_ResetCurrentGroup(); if ( !host_initialized ) { #ifdef _WIN32 void VID_ShowFreq_f(void); Cmd_AddCommand( "vid_showfreq", VID_ShowFreq_f ); #endif Cmd_AddCommand( "vid_modelist", R_ModeList_f ); Cmd_AddCommand( "vid_gfxinfo", GfxInfo_f ); Cmd_AddCommand( "vid_restart", VID_Restart_f ); } }
/* =============== R_Register =============== */ void R_Register( void ) { // // latched and archived variables // r_allowExtensions = Cvar_Get( "r_allowExtensions", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_ext_compressed_textures = Cvar_Get( "r_ext_compress_textures", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_ext_compressed_lightmaps = Cvar_Get( "r_ext_compress_lightmaps", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_ext_preferred_tc_method = Cvar_Get( "r_ext_preferred_tc_method", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_ext_gamma_control = Cvar_Get( "r_ext_gamma_control", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_ext_multitexture = Cvar_Get( "r_ext_multitexture", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_ext_compiled_vertex_array = Cvar_Get( "r_ext_compiled_vertex_array", "1", CVAR_ARCHIVE | CVAR_LATCH); #ifdef __linux__ // broken on linux r_ext_texture_env_add = Cvar_Get( "r_ext_texture_env_add", "0", CVAR_ARCHIVE | CVAR_LATCH); #else r_ext_texture_env_add = Cvar_Get( "r_ext_texture_env_add", "1", CVAR_ARCHIVE | CVAR_LATCH); #endif r_ext_texture_filter_anisotropic = Cvar_Get( "r_ext_texture_filter_anisotropic", "16", CVAR_ARCHIVE ); r_DynamicGlow = Cvar_Get( "r_DynamicGlow", "0", CVAR_ARCHIVE ); r_DynamicGlowPasses = Cvar_Get( "r_DynamicGlowPasses", "5", CVAR_CHEAT ); r_DynamicGlowDelta = Cvar_Get( "r_DynamicGlowDelta", "0.8f", CVAR_CHEAT ); r_DynamicGlowIntensity = Cvar_Get( "r_DynamicGlowIntensity", "1.13f", CVAR_CHEAT ); r_DynamicGlowSoft = Cvar_Get( "r_DynamicGlowSoft", "1", CVAR_CHEAT ); r_DynamicGlowWidth = Cvar_Get( "r_DynamicGlowWidth", "320", CVAR_CHEAT | CVAR_LATCH ); r_DynamicGlowHeight = Cvar_Get( "r_DynamicGlowHeight", "240", CVAR_CHEAT | CVAR_LATCH ); r_picmip = Cvar_Get ("r_picmip", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_colorMipLevels = Cvar_Get ("r_colorMipLevels", "0", CVAR_LATCH ); AssertCvarRange( r_picmip, 0, 16, qtrue ); r_detailTextures = Cvar_Get( "r_detailtextures", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_texturebits = Cvar_Get( "r_texturebits", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_texturebitslm = Cvar_Get( "r_texturebitslm", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_colorbits = Cvar_Get( "r_colorbits", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_stereo = Cvar_Get( "r_stereo", "0", CVAR_ARCHIVE | CVAR_LATCH ); #ifdef __linux__ r_stencilbits = Cvar_Get( "r_stencilbits", "0", CVAR_ARCHIVE | CVAR_LATCH ); #else r_stencilbits = Cvar_Get( "r_stencilbits", "8", CVAR_ARCHIVE | CVAR_LATCH ); #endif r_depthbits = Cvar_Get( "r_depthbits", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_overBrightBits = Cvar_Get ("r_overBrightBits", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_ignorehwgamma = Cvar_Get( "r_ignorehwgamma", "0", CVAR_ARCHIVE | CVAR_LATCH); r_mode = Cvar_Get( "r_mode", "4", CVAR_ARCHIVE | CVAR_LATCH ); r_fullscreen = Cvar_Get( "r_fullscreen", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_customwidth = Cvar_Get( "r_customwidth", "1600", CVAR_ARCHIVE | CVAR_LATCH ); r_customheight = Cvar_Get( "r_customheight", "1024", CVAR_ARCHIVE | CVAR_LATCH ); r_simpleMipMaps = Cvar_Get( "r_simpleMipMaps", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_vertexLight = Cvar_Get( "r_vertexLight", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_uiFullScreen = Cvar_Get( "r_uifullscreen", "0", 0); r_subdivisions = Cvar_Get ("r_subdivisions", "4", CVAR_ARCHIVE | CVAR_LATCH); // // temporary latched variables that can only change over a restart // r_displayRefresh = Cvar_Get( "r_displayRefresh", "0", CVAR_LATCH ); AssertCvarRange( r_displayRefresh, 0, 200, qtrue ); r_fullbright = Cvar_Get ("r_fullbright", "0", CVAR_CHEAT ); r_intensity = Cvar_Get ("r_intensity", "1", CVAR_LATCH ); r_singleShader = Cvar_Get ("r_singleShader", "0", CVAR_CHEAT | CVAR_LATCH ); // // archived variables that can change at any time // r_lodCurveError = Cvar_Get( "r_lodCurveError", "250", CVAR_ARCHIVE ); r_lodbias = Cvar_Get( "r_lodbias", "0", CVAR_ARCHIVE ); r_autolodscalevalue = Cvar_Get( "r_autolodscalevalue", "0", CVAR_ROM ); r_flares = Cvar_Get ("r_flares", "1", CVAR_ARCHIVE ); r_znear = Cvar_Get( "r_znear", "4", CVAR_CHEAT ); AssertCvarRange( r_znear, 0.001f, 200, qtrue ); r_ignoreGLErrors = Cvar_Get( "r_ignoreGLErrors", "1", CVAR_ARCHIVE ); r_fastsky = Cvar_Get( "r_fastsky", "0", CVAR_ARCHIVE ); r_inGameVideo = Cvar_Get( "r_inGameVideo", "1", CVAR_ARCHIVE ); r_drawSun = Cvar_Get( "r_drawSun", "0", CVAR_ARCHIVE ); r_dynamiclight = Cvar_Get( "r_dynamiclight", "1", CVAR_ARCHIVE ); // rjr - removed for hacking r_dlightBacks = Cvar_Get( "r_dlightBacks", "1", CVAR_CHEAT ); r_finish = Cvar_Get ("r_finish", "0", CVAR_ARCHIVE); r_textureMode = Cvar_Get( "r_textureMode", "GL_LINEAR_MIPMAP_NEAREST", CVAR_ARCHIVE ); r_swapInterval = Cvar_Get( "r_swapInterval", "0", CVAR_ARCHIVE ); r_markcount = Cvar_Get( "r_markcount", "100", CVAR_ARCHIVE ); #ifdef __MACOS__ r_gamma = Cvar_Get( "r_gamma", "1.2", CVAR_ARCHIVE ); #else r_gamma = Cvar_Get( "r_gamma", "1", CVAR_ARCHIVE ); #endif r_facePlaneCull = Cvar_Get ("r_facePlaneCull", "1", CVAR_ARCHIVE ); r_cullRoofFaces = Cvar_Get ("r_cullRoofFaces", "0", CVAR_CHEAT ); //attempted smart method of culling out upwards facing surfaces on roofs for automap shots -rww r_roofCullCeilDist = Cvar_Get ("r_roofCullCeilDist", "256", CVAR_CHEAT ); //attempted smart method of culling out upwards facing surfaces on roofs for automap shots -rww r_roofCullFloorDist = Cvar_Get ("r_roofCeilFloorDist", "128", CVAR_CHEAT ); //attempted smart method of culling out upwards facing surfaces on roofs for automap shots -rww r_primitives = Cvar_Get( "r_primitives", "0", CVAR_ARCHIVE ); r_ambientScale = Cvar_Get( "r_ambientScale", "0.6", CVAR_CHEAT ); r_directedScale = Cvar_Get( "r_directedScale", "1", CVAR_CHEAT ); r_autoMap = Cvar_Get( "r_autoMap", "0", CVAR_ARCHIVE ); //automap renderside toggle for debugging -rww r_autoMapBackAlpha = Cvar_Get( "r_autoMapBackAlpha", "0", 0 ); //alpha of automap bg -rww r_autoMapDisable = Cvar_Get( "r_autoMapDisable", "1", 0 ); // // temporary variables that can change at any time // r_showImages = Cvar_Get( "r_showImages", "0", CVAR_CHEAT ); r_debugLight = Cvar_Get( "r_debuglight", "0", CVAR_TEMP ); r_debugSort = Cvar_Get( "r_debugSort", "0", CVAR_CHEAT ); r_dlightStyle = Cvar_Get ("r_dlightStyle", "1", CVAR_TEMP); r_surfaceSprites = Cvar_Get ("r_surfaceSprites", "1", CVAR_TEMP); r_surfaceWeather = Cvar_Get ("r_surfaceWeather", "0", CVAR_TEMP); r_windSpeed = Cvar_Get ("r_windSpeed", "0", 0); r_windAngle = Cvar_Get ("r_windAngle", "0", 0); r_windGust = Cvar_Get ("r_windGust", "0", 0); r_windDampFactor = Cvar_Get ("r_windDampFactor", "0.1", 0); r_windPointForce = Cvar_Get ("r_windPointForce", "0", 0); r_windPointX = Cvar_Get ("r_windPointX", "0", 0); r_windPointY = Cvar_Get ("r_windPointY", "0", 0); r_nocurves = Cvar_Get ("r_nocurves", "0", CVAR_CHEAT ); r_drawworld = Cvar_Get ("r_drawworld", "1", CVAR_CHEAT ); r_drawfog = Cvar_Get ("r_drawfog", "2", CVAR_CHEAT ); r_lightmap = Cvar_Get ("r_lightmap", "0", CVAR_CHEAT ); r_portalOnly = Cvar_Get ("r_portalOnly", "0", CVAR_CHEAT ); r_skipBackEnd = Cvar_Get ("r_skipBackEnd", "0", CVAR_CHEAT); r_measureOverdraw = Cvar_Get( "r_measureOverdraw", "0", CVAR_CHEAT ); r_lodscale = Cvar_Get( "r_lodscale", "5", 0 ); r_norefresh = Cvar_Get ("r_norefresh", "0", CVAR_CHEAT); r_drawentities = Cvar_Get ("r_drawentities", "1", CVAR_CHEAT ); r_ignore = Cvar_Get( "r_ignore", "1", CVAR_CHEAT ); r_nocull = Cvar_Get ("r_nocull", "0", CVAR_CHEAT); r_novis = Cvar_Get ("r_novis", "0", CVAR_CHEAT); r_showcluster = Cvar_Get ("r_showcluster", "0", CVAR_CHEAT); r_speeds = Cvar_Get ("r_speeds", "0", CVAR_CHEAT); r_verbose = Cvar_Get( "r_verbose", "0", CVAR_CHEAT ); r_logFile = Cvar_Get( "r_logFile", "0", CVAR_CHEAT ); r_debugSurface = Cvar_Get ("r_debugSurface", "0", CVAR_CHEAT); r_nobind = Cvar_Get ("r_nobind", "0", CVAR_CHEAT); r_showtris = Cvar_Get ("r_showtris", "0", CVAR_CHEAT); r_showsky = Cvar_Get ("r_showsky", "0", CVAR_CHEAT); r_shownormals = Cvar_Get ("r_shownormals", "0", CVAR_CHEAT); r_clear = Cvar_Get ("r_clear", "0", CVAR_CHEAT); r_offsetFactor = Cvar_Get( "r_offsetfactor", "-1", CVAR_CHEAT ); r_offsetUnits = Cvar_Get( "r_offsetunits", "-2", CVAR_CHEAT ); r_lockpvs = Cvar_Get ("r_lockpvs", "0", CVAR_CHEAT); r_noportals = Cvar_Get ("r_noportals", "0", CVAR_CHEAT); r_shadows = Cvar_Get( "cg_shadows", "1", 0 ); r_shadowRange = Cvar_Get( "r_shadowRange", "1000", 0 ); r_maxpolys = Cvar_Get( "r_maxpolys", va("%d", MAX_POLYS), 0); r_maxpolyverts = Cvar_Get( "r_maxpolyverts", va("%d", MAX_POLYVERTS), 0); /* Ghoul2 Insert Start */ #ifdef _DEBUG r_noPrecacheGLA = Cvar_Get( "r_noPrecacheGLA", "0", CVAR_CHEAT); #endif r_noServerGhoul2 = Cvar_Get( "r_noserverghoul2", "0", CVAR_CHEAT); r_Ghoul2AnimSmooth = Cvar_Get( "r_ghoul2animsmooth", "0.3", 0 ); r_Ghoul2UnSqashAfterSmooth = Cvar_Get( "r_ghoul2unsqashaftersmooth", "1", 0 ); broadsword = Cvar_Get( "broadsword", "0", 0); broadsword_kickbones = Cvar_Get( "broadsword_kickbones", "1", 0); broadsword_kickorigin = Cvar_Get( "broadsword_kickorigin", "1", 0); broadsword_dontstopanim = Cvar_Get( "broadsword_dontstopanim", "0", 0); broadsword_waitforshot = Cvar_Get( "broadsword_waitforshot", "0", 0); broadsword_playflop = Cvar_Get( "broadsword_playflop", "1", 0); broadsword_smallbbox = Cvar_Get( "broadsword_smallbbox", "0", 0); broadsword_extra1 = Cvar_Get( "broadsword_extra1", "0", 0); broadsword_extra2 = Cvar_Get( "broadsword_extra2", "0", 0); broadsword_effcorr = Cvar_Get( "broadsword_effcorr", "1", 0); broadsword_ragtobase = Cvar_Get( "broadsword_ragtobase", "2", 0); broadsword_dircap = Cvar_Get( "broadsword_dircap", "64", 0); /* Ghoul2 Insert End */ extern qboolean Sys_LowPhysicalMemory(); r_modelpoolmegs = Cvar_Get("r_modelpoolmegs", "20", CVAR_ARCHIVE); if (Sys_LowPhysicalMemory() ) { Cvar_Set("r_modelpoolmegs", "0"); } // make sure all the commands added here are also // removed in R_Shutdown #ifndef DEDICATED Cmd_AddCommand( "imagelist", R_ImageList_f ); Cmd_AddCommand( "shaderlist", R_ShaderList_f ); Cmd_AddCommand( "skinlist", R_SkinList_f ); Cmd_AddCommand( "fontlist", R_FontList_f ); Cmd_AddCommand( "screenshot", R_ScreenShot_f ); Cmd_AddCommand( "screenshot_tga", R_ScreenShotTGA_f ); Cmd_AddCommand( "gfxinfo", GfxInfo_f ); Cmd_AddCommand( "r_atihack", R_AtiHackToggle_f ); Cmd_AddCommand( "r_we", R_WorldEffect_f); Cmd_AddCommand( "imagecacheinfo", RE_RegisterImages_Info_f); #endif Cmd_AddCommand( "modellist", R_Modellist_f ); Cmd_AddCommand( "modelist", R_ModeList_f ); Cmd_AddCommand( "modelcacheinfo", RE_RegisterModels_Info_f); }
/* =============== R_Register =============== */ void R_Register( void ) { // // latched and archived variables // r_allowExtensions = ri.Cvar_Get( "r_allowExtensions", "1", CVAR_ARCHIVE | CVAR_LATCH | CVAR_UNSAFE ); r_ext_compressed_textures = ri.Cvar_Get( "r_ext_compressed_textures", "1", CVAR_ARCHIVE | CVAR_LATCH | CVAR_UNSAFE ); // (SA) ew, a spelling change I missed from the missionpack r_ext_gamma_control = ri.Cvar_Get( "r_ext_gamma_control", "1", CVAR_ARCHIVE | CVAR_LATCH | CVAR_UNSAFE ); r_ext_multitexture = ri.Cvar_Get( "r_ext_multitexture", "1", CVAR_ARCHIVE | CVAR_LATCH | CVAR_UNSAFE ); r_ext_compiled_vertex_array = ri.Cvar_Get( "r_ext_compiled_vertex_array", "1", CVAR_ARCHIVE | CVAR_LATCH | CVAR_UNSAFE ); //----(SA) added r_ext_ATI_pntriangles = ri.Cvar_Get( "r_ext_ATI_pntriangles", "0", CVAR_ARCHIVE | CVAR_LATCH | CVAR_UNSAFE ); //----(SA) default to '0' r_ati_truform_tess = ri.Cvar_Get( "r_ati_truform_tess", "1", CVAR_ARCHIVE | CVAR_UNSAFE ); r_ati_truform_normalmode = ri.Cvar_Get( "r_ati_truform_normalmode", "GL_PN_TRIANGLES_NORMAL_MODE_LINEAR", CVAR_ARCHIVE | CVAR_UNSAFE ); r_ati_truform_pointmode = ri.Cvar_Get( "r_ati_truform_pointmode", "GL_PN_TRIANGLES_POINT_MODE_LINEAR", CVAR_ARCHIVE | CVAR_UNSAFE ); r_ati_fsaa_samples = ri.Cvar_Get( "r_ati_fsaa_samples", "1", CVAR_ARCHIVE | CVAR_UNSAFE ); //DAJ valids are 1, 2, 4 r_ext_texture_filter_anisotropic = ri.Cvar_Get( "r_ext_texture_filter_anisotropic", "0", CVAR_ARCHIVE | CVAR_LATCH | CVAR_UNSAFE ); r_ext_NV_fog_dist = ri.Cvar_Get( "r_ext_NV_fog_dist", "0", CVAR_ARCHIVE | CVAR_LATCH | CVAR_UNSAFE ); r_nv_fogdist_mode = ri.Cvar_Get( "r_nv_fogdist_mode", "GL_EYE_RADIAL_NV", CVAR_ARCHIVE | CVAR_UNSAFE ); // default to 'looking good' //----(SA) end #ifdef __linux__ // broken on linux r_ext_texture_env_add = ri.Cvar_Get( "r_ext_texture_env_add", "0", CVAR_ARCHIVE | CVAR_LATCH | CVAR_UNSAFE ); #else r_ext_texture_env_add = ri.Cvar_Get( "r_ext_texture_env_add", "1", CVAR_ARCHIVE | CVAR_LATCH | CVAR_UNSAFE ); #endif r_clampToEdge = ri.Cvar_Get( "r_clampToEdge", "1", CVAR_ARCHIVE | CVAR_LATCH | CVAR_UNSAFE ); // ydnar: opengl 1.2 GL_CLAMP_TO_EDGE support r_picmip = ri.Cvar_Get( "r_picmip", "1", CVAR_ARCHIVE | CVAR_LATCH ); //----(SA) mod for DM and DK for id build. was "1" // JPW NERVE pushed back to 1 r_roundImagesDown = ri.Cvar_Get( "r_roundImagesDown", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_rmse = ri.Cvar_Get( "r_rmse", "0.0", CVAR_ARCHIVE | CVAR_LATCH ); r_colorMipLevels = ri.Cvar_Get( "r_colorMipLevels", "0", CVAR_LATCH ); AssertCvarRange( r_picmip, 0, 3, qtrue ); r_detailTextures = ri.Cvar_Get( "r_detailtextures", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_texturebits = ri.Cvar_Get( "r_texturebits", "0", CVAR_ARCHIVE | CVAR_LATCH | CVAR_UNSAFE ); r_colorbits = ri.Cvar_Get( "r_colorbits", "0", CVAR_ARCHIVE | CVAR_LATCH | CVAR_UNSAFE ); r_alphabits = ri.Cvar_Get( "r_alphabits", "0", CVAR_ARCHIVE | CVAR_LATCH | CVAR_UNSAFE ); r_stereo = ri.Cvar_Get( "r_stereo", "0", CVAR_ARCHIVE | CVAR_LATCH | CVAR_UNSAFE ); r_stencilbits = ri.Cvar_Get( "r_stencilbits", "0", CVAR_ARCHIVE | CVAR_LATCH | CVAR_UNSAFE ); r_depthbits = ri.Cvar_Get( "r_depthbits", "0", CVAR_ARCHIVE | CVAR_LATCH | CVAR_UNSAFE ); r_ext_multisample = ri.Cvar_Get( "r_ext_multisample", "0", CVAR_ARCHIVE | CVAR_LATCH | CVAR_UNSAFE ); r_overBrightBits = ri.Cvar_Get( "r_overBrightBits", "0", CVAR_ARCHIVE | CVAR_LATCH ); // Arnout: disable overbrightbits by default AssertCvarRange( r_overBrightBits, 0, 1, qtrue ); // ydnar: limit to overbrightbits 1 (sorry 1337 players) r_ignorehwgamma = ri.Cvar_Get( "r_ignorehwgamma", "1", CVAR_ARCHIVE | CVAR_LATCH ); // use software gamma by default r_mode = ri.Cvar_Get( "r_mode", "6", CVAR_ARCHIVE | CVAR_LATCH | CVAR_UNSAFE ); r_oldMode = ri.Cvar_Get( "r_oldMode", "", CVAR_ARCHIVE ); // ydnar: previous "good" video mode r_fullscreen = ri.Cvar_Get( "r_fullscreen", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_customwidth = ri.Cvar_Get( "r_customwidth", "1600", CVAR_ARCHIVE | CVAR_LATCH ); r_customheight = ri.Cvar_Get( "r_customheight", "1024", CVAR_ARCHIVE | CVAR_LATCH ); r_customaspect = ri.Cvar_Get( "r_customaspect", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_simpleMipMaps = ri.Cvar_Get( "r_simpleMipMaps", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_subdivisions = ri.Cvar_Get( "r_subdivisions", "4", CVAR_ARCHIVE | CVAR_LATCH ); #ifdef MACOS_X // debe: r_smp doesn't work on MACOS_X yet... r_smp = ri.Cvar_Get( "r_smp", "0", CVAR_ARCHIVE | CVAR_LATCH | CVAR_UNSAFE | CVAR_ROM ); ri.Cvar_Set( "r_smp", "0" ); #elif defined WIN32 // ydnar: r_smp is nonfunctional on windows r_smp = ri.Cvar_Get( "r_smp", "0", CVAR_ARCHIVE | CVAR_LATCH | CVAR_UNSAFE | CVAR_ROM ); ri.Cvar_Set( "r_smp", "0" ); #else r_smp = ri.Cvar_Get( "r_smp", "0", CVAR_ARCHIVE | CVAR_LATCH | CVAR_UNSAFE ); #endif r_ignoreFastPath = ri.Cvar_Get( "r_ignoreFastPath", "0", CVAR_ARCHIVE | CVAR_LATCH ); // ydnar: use fast path by default #if MAC_STVEF_HM || MAC_WOLF2_MP r_ati_fsaa_samples = ri.Cvar_Get( "r_ati_fsaa_samples", "1", CVAR_ARCHIVE ); //DAJ valids are 1, 2, 4 #endif // // temporary latched variables that can only change over a restart // r_displayRefresh = ri.Cvar_Get( "r_displayRefresh", "0", CVAR_LATCH | CVAR_UNSAFE ); AssertCvarRange( r_displayRefresh, 0, 200, qtrue ); r_mapOverBrightBits = ri.Cvar_Get( "r_mapOverBrightBits", "2", CVAR_LATCH ); AssertCvarRange( r_mapOverBrightBits, 0, 3, qtrue ); r_intensity = ri.Cvar_Get( "r_intensity", "1", CVAR_LATCH ); AssertCvarRange( r_intensity, 0, 1.5, qfalse ); r_singleShader = ri.Cvar_Get( "r_singleShader", "0", CVAR_CHEAT | CVAR_LATCH ); // // archived variables that can change at any time // r_lodCurveError = ri.Cvar_Get( "r_lodCurveError", "250", CVAR_ARCHIVE ); r_lodbias = ri.Cvar_Get( "r_lodbias", "0", CVAR_ARCHIVE ); r_flares = ri.Cvar_Get( "r_flares", "1", CVAR_ARCHIVE ); r_znear = ri.Cvar_Get( "r_znear", "3", CVAR_CHEAT ); // ydnar: changed it to 3 (from 4) because of lean/fov cheats AssertCvarRange( r_znear, 0.001f, 200, qtrue ); //----(SA) added r_zfar = ri.Cvar_Get( "r_zfar", "0", CVAR_CHEAT ); //----(SA) end r_ignoreGLErrors = ri.Cvar_Get( "r_ignoreGLErrors", "1", CVAR_ARCHIVE ); r_fastsky = ri.Cvar_Get( "r_fastsky", "0", CVAR_ARCHIVE ); r_inGameVideo = ri.Cvar_Get( "r_inGameVideo", "1", CVAR_ARCHIVE ); r_drawSun = ri.Cvar_Get( "r_drawSun", "1", CVAR_ARCHIVE ); r_dynamiclight = ri.Cvar_Get( "r_dynamiclight", "1", CVAR_ARCHIVE ); r_dlightBacks = ri.Cvar_Get( "r_dlightBacks", "1", CVAR_ARCHIVE ); r_finish = ri.Cvar_Get( "r_finish", "0", CVAR_ARCHIVE ); r_textureMode = ri.Cvar_Get( "r_textureMode", "GL_LINEAR_MIPMAP_NEAREST", CVAR_ARCHIVE ); r_ext_texture_filter_anisotropic = ri.Cvar_Get( "r_ext_texture_filter_anisotropic", "1.0", CVAR_ARCHIVE ); r_swapInterval = ri.Cvar_Get( "r_swapInterval", "0", CVAR_ARCHIVE ); r_gamma = ri.Cvar_Get( "r_gamma", "1.3", CVAR_ARCHIVE ); r_facePlaneCull = ri.Cvar_Get( "r_facePlaneCull", "1", CVAR_ARCHIVE ); r_railWidth = ri.Cvar_Get( "r_railWidth", "16", CVAR_ARCHIVE ); r_railCoreWidth = ri.Cvar_Get( "r_railCoreWidth", "1", CVAR_ARCHIVE ); r_railSegmentLength = ri.Cvar_Get( "r_railSegmentLength", "32", CVAR_ARCHIVE ); r_primitives = ri.Cvar_Get( "r_primitives", "0", CVAR_ARCHIVE ); r_ambientScale = ri.Cvar_Get( "r_ambientScale", "0.5", CVAR_CHEAT ); r_lightScale = ri.Cvar_Get( "r_lightScale", "2", CVAR_CHEAT ); r_directedScale = ri.Cvar_Get( "r_directedScale", "1", CVAR_CHEAT ); // // temporary variables that can change at any time // r_showImages = ri.Cvar_Get( "r_showImages", "0", CVAR_TEMP ); r_debugLight = ri.Cvar_Get( "r_debuglight", "0", CVAR_TEMP ); r_debugSort = ri.Cvar_Get( "r_debugSort", "0", CVAR_CHEAT ); r_printShaders = ri.Cvar_Get( "r_printShaders", "0", 0 ); r_fontScale = ri.Cvar_Get( "r_fontScale", "36", CVAR_ARCHIVE | CVAR_LATCH); // Ridah // TTimo show_bug.cgi?id=440 // with r_cache enabled, non-win32 OSes were leaking 24Mb per R_Init.. r_cache = ri.Cvar_Get( "r_cache", "1", CVAR_LATCH ); // leaving it as this for backwards compability. but it caches models and shaders also // (SA) disabling cacheshaders // ri.Cvar_Set( "r_cacheShaders", "0"); // Gordon: enabling again.. r_cacheShaders = ri.Cvar_Get( "r_cacheShaders", "1", CVAR_LATCH ); //----(SA) end r_cacheModels = ri.Cvar_Get( "r_cacheModels", "1", CVAR_LATCH ); r_cacheGathering = ri.Cvar_Get( "cl_cacheGathering", "0", 0 ); r_bonesDebug = ri.Cvar_Get( "r_bonesDebug", "0", CVAR_CHEAT ); // done. // Rafael - wolf fog r_wolffog = ri.Cvar_Get( "r_wolffog", "1", CVAR_CHEAT ); // JPW NERVE cheat protected per id request // done r_nocurves = ri.Cvar_Get( "r_nocurves", "0", CVAR_CHEAT ); r_drawworld = ri.Cvar_Get( "r_drawworld", "1", CVAR_CHEAT ); r_drawfoliage = ri.Cvar_Get( "r_drawfoliage", "1", CVAR_CHEAT ); // ydnar r_showLightMaps = ri.Cvar_Get( "r_showLightMaps", "0", CVAR_CHEAT ); // DHM - NERVE :: cheat protect r_portalOnly = ri.Cvar_Get( "r_portalOnly", "0", CVAR_CHEAT ); r_flareSize = ri.Cvar_Get( "r_flareSize", "40", CVAR_CHEAT ); ri.Cvar_Set( "r_flareFade", "5" ); // to force this when people already have "7" in their config r_flareFade = ri.Cvar_Get( "r_flareFade", "5", CVAR_CHEAT ); r_showSmp = ri.Cvar_Get( "r_showSmp", "0", CVAR_CHEAT ); r_skipBackEnd = ri.Cvar_Get( "r_skipBackEnd", "0", CVAR_CHEAT ); r_measureOverdraw = ri.Cvar_Get( "r_measureOverdraw", "0", CVAR_CHEAT ); r_lodscale = ri.Cvar_Get( "r_lodscale", "5", CVAR_CHEAT ); r_norefresh = ri.Cvar_Get( "r_norefresh", "0", CVAR_CHEAT ); r_drawentities = ri.Cvar_Get( "r_drawentities", "1", CVAR_CHEAT ); r_ignore = ri.Cvar_Get( "r_ignore", "1", CVAR_CHEAT ); r_nocull = ri.Cvar_Get( "r_nocull", "0", CVAR_CHEAT ); r_novis = ri.Cvar_Get( "r_novis", "0", CVAR_CHEAT ); r_showcluster = ri.Cvar_Get( "r_showcluster", "0", CVAR_CHEAT ); r_speeds = ri.Cvar_Get( "r_speeds", "0", CVAR_CHEAT ); r_verbose = ri.Cvar_Get( "r_verbose", "0", CVAR_CHEAT ); r_logFile = ri.Cvar_Get( "r_logFile", "0", CVAR_CHEAT ); r_debugSurface = ri.Cvar_Get( "r_debugSurface", "0", CVAR_CHEAT ); r_nobind = ri.Cvar_Get( "r_nobind", "0", CVAR_CHEAT ); r_showtris = ri.Cvar_Get( "r_showtris", "0", CVAR_CHEAT ); r_trisColor = ri.Cvar_Get( "r_trisColor", "1.0 1.0 1.0 1.0", CVAR_ARCHIVE ); r_showsky = ri.Cvar_Get( "r_showsky", "0", CVAR_CHEAT ); r_shownormals = ri.Cvar_Get( "r_shownormals", "0", CVAR_CHEAT ); r_normallength = ri.Cvar_Get( "r_normallength", "0.5", CVAR_ARCHIVE ); r_showmodelbounds = ri.Cvar_Get( "r_showmodelbounds", "0", CVAR_CHEAT ); r_clear = ri.Cvar_Get( "r_clear", "0", CVAR_CHEAT ); r_offsetFactor = ri.Cvar_Get( "r_offsetfactor", "-1", CVAR_CHEAT ); r_offsetUnits = ri.Cvar_Get( "r_offsetunits", "-2", CVAR_CHEAT ); r_drawBuffer = ri.Cvar_Get( "r_drawBuffer", "GL_BACK", CVAR_CHEAT ); r_lockpvs = ri.Cvar_Get( "r_lockpvs", "0", CVAR_CHEAT ); r_noportals = ri.Cvar_Get( "r_noportals", "0", CVAR_CHEAT ); r_shadows = ri.Cvar_Get( "cg_shadows", "1", 0 ); r_portalsky = ri.Cvar_Get( "cg_skybox", "1", 0 ); r_maxpolys = ri.Cvar_Get( "r_maxpolys", va( "%d", MAX_POLYS ), 0 ); r_maxpolyverts = ri.Cvar_Get( "r_maxpolyverts", va( "%d", MAX_POLYVERTS ), 0 ); r_highQualityVideo = ri.Cvar_Get( "r_highQualityVideo", "1", CVAR_ARCHIVE ); // make sure all the commands added here are also // removed in R_Shutdown ri.Cmd_AddCommand( "imagelist", R_ImageList_f ); ri.Cmd_AddCommand( "shaderlist", R_ShaderList_f ); ri.Cmd_AddCommand( "skinlist", R_SkinList_f ); ri.Cmd_AddCommand( "modellist", R_Modellist_f ); ri.Cmd_AddCommand( "modelist", R_ModeList_f ); ri.Cmd_AddCommand( "screenshot", R_ScreenShot_f ); ri.Cmd_AddCommand( "screenshotJPEG", R_ScreenShot_f ); ri.Cmd_AddCommand( "screenshotPNG", R_ScreenShot_f ); ri.Cmd_AddCommand( "gfxinfo", GfxInfo_f ); ri.Cmd_AddCommand( "taginfo", R_TagInfo_f ); }
/* =============== R_Register =============== */ void R_Register( void ) { // // latched and archived variables // r_allowExtensions = ri.Cvar_Get( "r_allowExtensions", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_ext_compressed_textures = ri.Cvar_Get( "r_ext_compress_textures", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_ext_compressed_lightmaps = ri.Cvar_Get( "r_ext_compress_lightmaps", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_ext_preferred_tc_method = ri.Cvar_Get( "r_ext_preferred_tc_method", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_ext_gamma_control = ri.Cvar_Get( "r_ext_gamma_control", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_ext_multitexture = ri.Cvar_Get( "r_ext_multitexture", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_ext_compiled_vertex_array = ri.Cvar_Get( "r_ext_compiled_vertex_array", "1", CVAR_ARCHIVE | CVAR_LATCH); #ifdef __linux__ // broken on linux r_ext_texture_env_add = ri.Cvar_Get( "r_ext_texture_env_add", "0", CVAR_ARCHIVE | CVAR_LATCH); #else r_ext_texture_env_add = ri.Cvar_Get( "r_ext_texture_env_add", "1", CVAR_ARCHIVE | CVAR_LATCH); #endif r_ext_texture_filter_anisotropic = ri.Cvar_Get( "r_ext_texture_filter_anisotropic", "1", CVAR_ARCHIVE ); r_picmip = ri.Cvar_Get ("r_picmip", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_colorMipLevels = ri.Cvar_Get ("r_colorMipLevels", "0", CVAR_LATCH ); AssertCvarRange( r_picmip, 0, 16, qtrue ); r_detailTextures = ri.Cvar_Get( "r_detailtextures", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_texturebits = ri.Cvar_Get( "r_texturebits", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_texturebitslm = ri.Cvar_Get( "r_texturebitslm", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_colorbits = ri.Cvar_Get( "r_colorbits", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_stereo = ri.Cvar_Get( "r_stereo", "0", CVAR_ARCHIVE | CVAR_LATCH ); #ifdef __linux__ r_stencilbits = ri.Cvar_Get( "r_stencilbits", "0", CVAR_ARCHIVE | CVAR_LATCH ); #else r_stencilbits = ri.Cvar_Get( "r_stencilbits", "8", CVAR_ARCHIVE | CVAR_LATCH ); #endif r_depthbits = ri.Cvar_Get( "r_depthbits", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_overBrightBits = ri.Cvar_Get ("r_overBrightBits", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_ignorehwgamma = ri.Cvar_Get( "r_ignorehwgamma", "0", CVAR_ARCHIVE | CVAR_LATCH); r_mode = ri.Cvar_Get( "r_mode", "3", CVAR_ARCHIVE | CVAR_LATCH ); r_fullscreen = ri.Cvar_Get( "r_fullscreen", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_customwidth = ri.Cvar_Get( "r_customwidth", "1600", CVAR_ARCHIVE | CVAR_LATCH ); r_customheight = ri.Cvar_Get( "r_customheight", "1024", CVAR_ARCHIVE | CVAR_LATCH ); r_customaspect = ri.Cvar_Get( "r_customaspect", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_simpleMipMaps = ri.Cvar_Get( "r_simpleMipMaps", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_vertexLight = ri.Cvar_Get( "r_vertexLight", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_uiFullScreen = ri.Cvar_Get( "r_uifullscreen", "0", 0); r_subdivisions = ri.Cvar_Get ("r_subdivisions", "4", CVAR_ARCHIVE | CVAR_LATCH); #ifdef MACOS_X // Default to using SMP on Mac OS X if we have multiple processors // r_smp = ri.Cvar_Get( "r_smp", Sys_ProcessorCount() > 1 ? "1" : "0", CVAR_ARCHIVE | CVAR_LATCH); #else // r_smp = ri.Cvar_Get( "r_smp", "0", CVAR_ARCHIVE | CVAR_LATCH); #endif r_smp = ri.Cvar_Get( "r_smp", "0", CVAR_ROM); r_ignoreFastPath = ri.Cvar_Get( "r_ignoreFastPath", "1", CVAR_ARCHIVE | CVAR_LATCH ); // // temporary latched variables that can only change over a restart // r_displayRefresh = ri.Cvar_Get( "r_displayRefresh", "0", CVAR_LATCH ); AssertCvarRange( r_displayRefresh, 0, 200, qtrue ); r_fullbright = ri.Cvar_Get ("r_fullbright", "0", CVAR_CHEAT ); r_intensity = ri.Cvar_Get ("r_intensity", "1", CVAR_LATCH ); r_singleShader = ri.Cvar_Get ("r_singleShader", "0", CVAR_CHEAT | CVAR_LATCH ); // // archived variables that can change at any time // r_lodCurveError = ri.Cvar_Get( "r_lodCurveError", "250", CVAR_ARCHIVE ); r_lodbias = ri.Cvar_Get( "r_lodbias", "0", CVAR_ARCHIVE ); r_autolodscalevalue = ri.Cvar_Get( "r_autolodscalevalue", "0", CVAR_ROM ); r_flares = ri.Cvar_Get ("r_flares", "0", CVAR_ARCHIVE ); r_znear = ri.Cvar_Get( "r_znear", "4", CVAR_CHEAT ); AssertCvarRange( r_znear, 0.001f, 200, qtrue ); r_ignoreGLErrors = ri.Cvar_Get( "r_ignoreGLErrors", "1", CVAR_ARCHIVE ); r_fastsky = ri.Cvar_Get( "r_fastsky", "0", CVAR_ARCHIVE ); r_inGameVideo = ri.Cvar_Get( "r_inGameVideo", "1", CVAR_ARCHIVE ); r_drawSun = ri.Cvar_Get( "r_drawSun", "0", CVAR_ARCHIVE ); r_dynamiclight = ri.Cvar_Get( "r_dynamiclight", "1", CVAR_ARCHIVE ); r_dlightBacks = ri.Cvar_Get( "r_dlightBacks", "1", CVAR_ARCHIVE ); r_finish = ri.Cvar_Get ("r_finish", "0", CVAR_ARCHIVE); r_textureMode = ri.Cvar_Get( "r_textureMode", "GL_LINEAR_MIPMAP_NEAREST", CVAR_ARCHIVE ); r_swapInterval = ri.Cvar_Get( "r_swapInterval", "0", CVAR_ARCHIVE ); #ifdef __MACOS__ r_gamma = ri.Cvar_Get( "r_gamma", "1.2", CVAR_ARCHIVE ); #else r_gamma = ri.Cvar_Get( "r_gamma", "1", CVAR_ARCHIVE ); #endif r_facePlaneCull = ri.Cvar_Get ("r_facePlaneCull", "1", CVAR_ARCHIVE ); r_primitives = ri.Cvar_Get( "r_primitives", "0", CVAR_ARCHIVE ); r_ambientScale = ri.Cvar_Get( "r_ambientScale", "0.6", CVAR_CHEAT ); r_directedScale = ri.Cvar_Get( "r_directedScale", "1", CVAR_CHEAT ); // // temporary variables that can change at any time // r_showImages = ri.Cvar_Get( "r_showImages", "0", CVAR_CHEAT ); r_debugLight = ri.Cvar_Get( "r_debuglight", "0", CVAR_TEMP ); r_debugSort = ri.Cvar_Get( "r_debugSort", "0", CVAR_CHEAT ); r_printShaders = ri.Cvar_Get( "r_printShaders", "0", 0 ); r_surfaceSprites = ri.Cvar_Get ("r_surfaceSprites", "1", CVAR_TEMP); r_surfaceWeather = ri.Cvar_Get ("r_surfaceWeather", "0", CVAR_TEMP); r_windSpeed = ri.Cvar_Get ("r_windSpeed", "0", 0); r_windAngle = ri.Cvar_Get ("r_windAngle", "0", 0); r_windGust = ri.Cvar_Get ("r_windGust", "0", 0); r_windDampFactor = ri.Cvar_Get ("r_windDampFactor", "0.1", 0); r_windPointForce = ri.Cvar_Get ("r_windPointForce", "0", 0); r_windPointX = ri.Cvar_Get ("r_windPointX", "0", 0); r_windPointY = ri.Cvar_Get ("r_windPointY", "0", 0); r_nocurves = ri.Cvar_Get ("r_nocurves", "0", CVAR_CHEAT ); r_drawworld = ri.Cvar_Get ("r_drawworld", "1", CVAR_CHEAT ); r_lightmap = ri.Cvar_Get ("r_lightmap", "0", CVAR_CHEAT ); r_portalOnly = ri.Cvar_Get ("r_portalOnly", "0", CVAR_CHEAT ); r_flareSize = ri.Cvar_Get ("r_flareSize", "40", CVAR_CHEAT); r_flareFade = ri.Cvar_Get ("r_flareFade", "7", CVAR_CHEAT); r_showSmp = ri.Cvar_Get ("r_showSmp", "0", CVAR_CHEAT); r_skipBackEnd = ri.Cvar_Get ("r_skipBackEnd", "0", CVAR_CHEAT); r_newDLights = ri.Cvar_Get ("r_newDLights", "0", 0); r_measureOverdraw = ri.Cvar_Get( "r_measureOverdraw", "0", CVAR_CHEAT ); r_lodscale = ri.Cvar_Get( "r_lodscale", "5", 0 ); r_norefresh = ri.Cvar_Get ("r_norefresh", "0", CVAR_CHEAT); r_drawentities = ri.Cvar_Get ("r_drawentities", "1", CVAR_CHEAT ); r_ignore = ri.Cvar_Get( "r_ignore", "1", CVAR_CHEAT ); r_nocull = ri.Cvar_Get ("r_nocull", "0", CVAR_CHEAT); r_novis = ri.Cvar_Get ("r_novis", "0", CVAR_CHEAT); r_showcluster = ri.Cvar_Get ("r_showcluster", "0", CVAR_CHEAT); r_speeds = ri.Cvar_Get ("r_speeds", "0", CVAR_CHEAT); r_verbose = ri.Cvar_Get( "r_verbose", "0", CVAR_CHEAT ); r_logFile = ri.Cvar_Get( "r_logFile", "0", CVAR_CHEAT ); r_debugSurface = ri.Cvar_Get ("r_debugSurface", "0", CVAR_CHEAT); r_nobind = ri.Cvar_Get ("r_nobind", "0", CVAR_CHEAT); r_showtris = ri.Cvar_Get ("r_showtris", "0", CVAR_CHEAT); r_showsky = ri.Cvar_Get ("r_showsky", "0", CVAR_CHEAT); r_shownormals = ri.Cvar_Get ("r_shownormals", "0", CVAR_CHEAT); r_clear = ri.Cvar_Get ("r_clear", "0", CVAR_CHEAT); r_offsetFactor = ri.Cvar_Get( "r_offsetfactor", "-1", CVAR_CHEAT ); r_offsetUnits = ri.Cvar_Get( "r_offsetunits", "-2", CVAR_CHEAT ); r_drawBuffer = ri.Cvar_Get( "r_drawBuffer", "GL_BACK", CVAR_CHEAT ); r_lockpvs = ri.Cvar_Get ("r_lockpvs", "0", CVAR_CHEAT); r_noportals = ri.Cvar_Get ("r_noportals", "0", CVAR_CHEAT); r_shadows = ri.Cvar_Get( "cg_shadows", "1", 0 ); r_maxpolys = ri.Cvar_Get( "r_maxpolys", va("%d", MAX_POLYS), 0); r_maxpolyverts = ri.Cvar_Get( "r_maxpolyverts", va("%d", MAX_POLYVERTS), 0); /* Ghoul2 Insert Start */ r_noServerGhoul2 = ri.Cvar_Get( "r_noserverghoul2", "0", CVAR_CHEAT); r_Ghoul2AnimSmooth = ri.Cvar_Get( "r_ghoul2animsmooth", ".3", 0 ); r_Ghoul2UnSqashAfterSmooth = ri.Cvar_Get( "r_ghoul2unsqashaftersmooth", "1", 0 ); /* Ghoul2 Insert End */ extern qboolean Sys_LowPhysicalMemory(); r_modelpoolmegs = Cvar_Get("r_modelpoolmegs", "10", CVAR_ARCHIVE); if (Sys_LowPhysicalMemory() ) { Cvar_Set("r_modelpoolmegs", "0"); } // make sure all the commands added here are also // removed in R_Shutdown #ifndef DEDICATED ri.Cmd_AddCommand( "imagelist", R_ImageList_f ); ri.Cmd_AddCommand( "shaderlist", R_ShaderList_f ); ri.Cmd_AddCommand( "skinlist", R_SkinList_f ); ri.Cmd_AddCommand( "screenshot", R_ScreenShot_f ); ri.Cmd_AddCommand( "screenshot_tga", R_ScreenShotTGA_f ); ri.Cmd_AddCommand( "gfxinfo", GfxInfo_f ); ri.Cmd_AddCommand("r_we", R_WorldEffect_f); ri.Cmd_AddCommand( "imagecacheinfo", RE_RegisterImages_Info_f); #endif ri.Cmd_AddCommand( "modellist", R_Modellist_f ); ri.Cmd_AddCommand( "modelist", R_ModeList_f ); ri.Cmd_AddCommand( "modelcacheinfo", RE_RegisterModels_Info_f); }
/* =============== R_Register =============== */ void R_Register( void ) { // // latched and archived variables // r_glDriver = ri.Cvar_Get( "r_glDriver", OPENGL_DRIVER_NAME, CVAR_ARCHIVE | CVAR_LATCH ); r_allowExtensions = ri.Cvar_Get( "r_allowExtensions", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_ext_compressed_textures = ri.Cvar_Get( "r_ext_compressed_textures", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_ext_gamma_control = ri.Cvar_Get( "r_ext_gamma_control", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_ext_multitexture = ri.Cvar_Get( "r_ext_multitexture", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_ext_compiled_vertex_array = ri.Cvar_Get( "r_ext_compiled_vertex_array", "1", CVAR_ARCHIVE | CVAR_LATCH); r_ext_texture_env_add = ri.Cvar_Get( "r_ext_texture_env_add", "0", CVAR_ARCHIVE | CVAR_LATCH); r_picmip = ri.Cvar_Get ("r_picmip", GENERIC_HW_R_PICMIP_DEFAULT, CVAR_ARCHIVE | CVAR_LATCH ); r_roundImagesDown = ri.Cvar_Get ("r_roundImagesDown", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_colorMipLevels = ri.Cvar_Get ("r_colorMipLevels", "0", CVAR_LATCH ); AssertCvarRange( r_picmip, 0, 16, qtrue ); r_detailTextures = ri.Cvar_Get( "r_detailtextures", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_texturebits = ri.Cvar_Get( "r_texturebits", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_colorbits = ri.Cvar_Get( "r_colorbits", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_stereo = ri.Cvar_Get( "r_stereo", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_stencilbits = ri.Cvar_Get( "r_stencilbits", "8", CVAR_ARCHIVE | CVAR_LATCH ); r_depthbits = ri.Cvar_Get( "r_depthbits", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_overBrightBits = ri.Cvar_Get ("r_overBrightBits", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_ignorehwgamma = ri.Cvar_Get( "r_ignorehwgamma", "0", CVAR_ARCHIVE | CVAR_LATCH); r_mode = ri.Cvar_Get( "r_mode", "3", CVAR_ARCHIVE | CVAR_LATCH ); #if USE_SDL_VIDEO r_fullscreen = ri.Cvar_Get( "r_fullscreen", "1", CVAR_ARCHIVE ); #else r_fullscreen = ri.Cvar_Get( "r_fullscreen", "1", CVAR_ARCHIVE | CVAR_LATCH ); #endif r_customwidth = ri.Cvar_Get( "r_customwidth", "1600", CVAR_ARCHIVE | CVAR_LATCH ); r_customheight = ri.Cvar_Get( "r_customheight", "1024", CVAR_ARCHIVE | CVAR_LATCH ); r_customaspect = ri.Cvar_Get( "r_customaspect", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_simpleMipMaps = ri.Cvar_Get( "r_simpleMipMaps", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_vertexLight = ri.Cvar_Get( "r_vertexLight", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_uiFullScreen = ri.Cvar_Get( "r_uifullscreen", "0", 0); r_subdivisions = ri.Cvar_Get ("r_subdivisions", "4", CVAR_ARCHIVE | CVAR_LATCH); r_smp = ri.Cvar_Get( "r_smp", "0", CVAR_ARCHIVE | CVAR_LATCH); r_ignoreFastPath = ri.Cvar_Get( "r_ignoreFastPath", "1", CVAR_ARCHIVE | CVAR_LATCH ); // // temporary latched variables that can only change over a restart // r_displayRefresh = ri.Cvar_Get( "r_displayRefresh", "0", CVAR_LATCH ); AssertCvarRange( r_displayRefresh, 0, 200, qtrue ); r_fullbright = ri.Cvar_Get ("r_fullbright", "0", CVAR_LATCH|CVAR_CHEAT ); r_mapOverBrightBits = ri.Cvar_Get ("r_mapOverBrightBits", "2", CVAR_LATCH ); r_intensity = ri.Cvar_Get ("r_intensity", "1", CVAR_LATCH ); r_singleShader = ri.Cvar_Get ("r_singleShader", "0", CVAR_CHEAT | CVAR_LATCH ); // // archived variables that can change at any time // r_lodCurveError = ri.Cvar_Get( "r_lodCurveError", "250", CVAR_ARCHIVE|CVAR_CHEAT ); r_lodbias = ri.Cvar_Get( "r_lodbias", "0", CVAR_ARCHIVE ); r_flares = ri.Cvar_Get ("r_flares", "0", CVAR_ARCHIVE ); r_znear = ri.Cvar_Get( "r_znear", "1", CVAR_CHEAT ); AssertCvarRange( r_znear, 0.001f, 200, qtrue ); r_ignoreGLErrors = ri.Cvar_Get( "r_ignoreGLErrors", "1", CVAR_ARCHIVE ); r_fastsky = ri.Cvar_Get( "r_fastsky", "0", CVAR_ARCHIVE ); r_inGameVideo = ri.Cvar_Get( "r_inGameVideo", "1", CVAR_ARCHIVE ); r_drawSun = ri.Cvar_Get( "r_drawSun", "0", CVAR_ARCHIVE ); r_dynamiclight = ri.Cvar_Get( "r_dynamiclight", "1", CVAR_ARCHIVE ); r_dlightBacks = ri.Cvar_Get( "r_dlightBacks", "1", CVAR_ARCHIVE ); r_finish = ri.Cvar_Get ("r_finish", "0", CVAR_ARCHIVE); r_textureMode = ri.Cvar_Get( "r_textureMode", GENERIC_HW_R_TEXTUREMODE_DEFAULT, CVAR_ARCHIVE ); r_swapInterval = ri.Cvar_Get( "r_swapInterval", "0", CVAR_ARCHIVE ); r_gamma = ri.Cvar_Get( "r_gamma", "1", CVAR_ARCHIVE ); r_facePlaneCull = ri.Cvar_Get ("r_facePlaneCull", "1", CVAR_ARCHIVE ); r_railWidth = ri.Cvar_Get( "r_railWidth", "16", CVAR_ARCHIVE ); r_railCoreWidth = ri.Cvar_Get( "r_railCoreWidth", "6", CVAR_ARCHIVE ); r_railSegmentLength = ri.Cvar_Get( "r_railSegmentLength", "32", CVAR_ARCHIVE ); r_primitives = ri.Cvar_Get( "r_primitives", "0", CVAR_ARCHIVE ); r_ambientScale = ri.Cvar_Get( "r_ambientScale", "0.6", CVAR_CHEAT ); r_directedScale = ri.Cvar_Get( "r_directedScale", "1", CVAR_CHEAT ); // // temporary variables that can change at any time // r_showImages = ri.Cvar_Get( "r_showImages", "0", CVAR_TEMP ); r_debugLight = ri.Cvar_Get( "r_debuglight", "0", CVAR_TEMP ); r_debugSort = ri.Cvar_Get( "r_debugSort", "0", CVAR_CHEAT ); r_printShaders = ri.Cvar_Get( "r_printShaders", "0", 0 ); r_saveFontData = ri.Cvar_Get( "r_saveFontData", "0", 0 ); r_nocurves = ri.Cvar_Get ("r_nocurves", "0", CVAR_CHEAT ); r_drawworld = ri.Cvar_Get ("r_drawworld", "1", CVAR_CHEAT ); r_lightmap = ri.Cvar_Get ("r_lightmap", "0", 0 ); r_portalOnly = ri.Cvar_Get ("r_portalOnly", "0", CVAR_CHEAT ); r_flareSize = ri.Cvar_Get ("r_flareSize", "40", CVAR_CHEAT); r_flareFade = ri.Cvar_Get ("r_flareFade", "7", CVAR_CHEAT); r_showSmp = ri.Cvar_Get ("r_showSmp", "0", CVAR_CHEAT); r_skipBackEnd = ri.Cvar_Get ("r_skipBackEnd", "0", CVAR_CHEAT); r_measureOverdraw = ri.Cvar_Get( "r_measureOverdraw", "0", CVAR_CHEAT ); r_lodscale = ri.Cvar_Get( "r_lodscale", "5", CVAR_CHEAT ); r_norefresh = ri.Cvar_Get ("r_norefresh", "0", CVAR_CHEAT); r_drawentities = ri.Cvar_Get ("r_drawentities", "1", CVAR_CHEAT ); r_ignore = ri.Cvar_Get( "r_ignore", "1", CVAR_CHEAT ); r_nocull = ri.Cvar_Get ("r_nocull", "0", CVAR_CHEAT); r_novis = ri.Cvar_Get ("r_novis", "0", CVAR_CHEAT); r_showcluster = ri.Cvar_Get ("r_showcluster", "0", CVAR_CHEAT); r_speeds = ri.Cvar_Get ("r_speeds", "0", CVAR_CHEAT); r_verbose = ri.Cvar_Get( "r_verbose", "0", CVAR_CHEAT ); r_logFile = ri.Cvar_Get( "r_logFile", "0", CVAR_CHEAT ); r_debugSurface = ri.Cvar_Get ("r_debugSurface", "0", CVAR_CHEAT); r_nobind = ri.Cvar_Get ("r_nobind", "0", CVAR_CHEAT); r_showtris = ri.Cvar_Get ("r_showtris", "0", CVAR_CHEAT); r_showsky = ri.Cvar_Get ("r_showsky", "0", CVAR_CHEAT); r_shownormals = ri.Cvar_Get ("r_shownormals", "0", CVAR_CHEAT); r_clear = ri.Cvar_Get ("r_clear", "0", CVAR_CHEAT); r_offsetFactor = ri.Cvar_Get( "r_offsetfactor", "-1", CVAR_CHEAT ); r_offsetUnits = ri.Cvar_Get( "r_offsetunits", "-2", CVAR_CHEAT ); r_drawBuffer = ri.Cvar_Get( "r_drawBuffer", "GL_BACK", CVAR_CHEAT ); r_lockpvs = ri.Cvar_Get ("r_lockpvs", "0", CVAR_CHEAT); r_noportals = ri.Cvar_Get ("r_noportals", "0", CVAR_CHEAT); r_shadows = ri.Cvar_Get( "cg_shadows", "1", 0 ); r_maxpolys = ri.Cvar_Get( "r_maxpolys", va("%d", MAX_POLYS), 0); r_maxpolyverts = ri.Cvar_Get( "r_maxpolyverts", va("%d", MAX_POLYVERTS), 0); r_GLlibCoolDownMsec = ri.Cvar_Get( "r_GLlibCoolDownMsec", "0", CVAR_ARCHIVE ); // make sure all the commands added here are also // removed in R_Shutdown ri.Cmd_AddCommand( "imagelist", R_ImageList_f ); ri.Cmd_AddCommand( "shaderlist", R_ShaderList_f ); ri.Cmd_AddCommand( "skinlist", R_SkinList_f ); ri.Cmd_AddCommand( "modellist", R_Modellist_f ); ri.Cmd_AddCommand( "modelist", R_ModeList_f ); ri.Cmd_AddCommand( "screenshot", R_ScreenShot_f ); ri.Cmd_AddCommand( "screenshotJPEG", R_ScreenShotJPEG_f ); ri.Cmd_AddCommand( "gfxinfo", GfxInfo_f ); }
/* =============== R_Register =============== */ void R_Register(void) { #ifdef USE_RENDERER_DLOPEN com_altivec = ri.Cvar_Get("com_altivec", "1", CVAR_ARCHIVE); #endif // latched and archived variables r_allowExtensions = ri.Cvar_Get("r_allowExtensions", "1", CVAR_ARCHIVE | CVAR_LATCH | CVAR_UNSAFE); r_ext_compressed_textures = ri.Cvar_Get("r_ext_compressed_textures", "1", CVAR_ARCHIVE | CVAR_LATCH | CVAR_UNSAFE); r_ext_multitexture = ri.Cvar_Get("r_ext_multitexture", "1", CVAR_ARCHIVE | CVAR_LATCH | CVAR_UNSAFE); r_ext_compiled_vertex_array = ri.Cvar_Get("r_ext_compiled_vertex_array", "1", CVAR_ARCHIVE | CVAR_LATCH | CVAR_UNSAFE); r_ext_texture_env_add = ri.Cvar_Get("r_ext_texture_env_add", "1", CVAR_ARCHIVE | CVAR_LATCH); r_ext_texture_filter_anisotropic = ri.Cvar_Get("r_ext_texture_filter_anisotropic", "0", CVAR_ARCHIVE | CVAR_LATCH | CVAR_UNSAFE); r_ext_max_anisotropy = ri.Cvar_Get("r_ext_max_anisotropy", "2", CVAR_ARCHIVE | CVAR_LATCH); r_picmip = ri.Cvar_Get("r_picmip", "1", CVAR_ARCHIVE | CVAR_LATCH); //----(SA) mod for DM and DK for id build. was "1" // JPW NERVE pushed back to 1 r_roundImagesDown = ri.Cvar_Get("r_roundImagesDown", "1", CVAR_ARCHIVE | CVAR_LATCH); r_colorMipLevels = ri.Cvar_Get("r_colorMipLevels", "0", CVAR_LATCH); AssertCvarRange(r_picmip, 0, 3, qtrue); r_detailTextures = ri.Cvar_Get("r_detailtextures", "1", CVAR_ARCHIVE | CVAR_LATCH); r_texturebits = ri.Cvar_Get("r_texturebits", "0", CVAR_ARCHIVE | CVAR_LATCH | CVAR_UNSAFE); r_colorbits = ri.Cvar_Get("r_colorbits", "0", CVAR_ARCHIVE | CVAR_LATCH | CVAR_UNSAFE); r_stencilbits = ri.Cvar_Get("r_stencilbits", "0", CVAR_ARCHIVE | CVAR_LATCH | CVAR_UNSAFE); r_depthbits = ri.Cvar_Get("r_depthbits", "0", CVAR_ARCHIVE | CVAR_LATCH | CVAR_UNSAFE); #if defined(__linux__) // r_depthbits values > 24 are invalid (no visual) - the var is latched so let's adjust it here if (r_depthbits->value > 24) { ri.Cvar_Set("r_depthbits", "24"); r_depthbits->modified = qfalse; ri.Printf(PRINT_ALL, "Invalid value of r_deptphbits set to 24.\n"); } #endif r_ext_multisample = ri.Cvar_Get("r_ext_multisample", "0", CVAR_ARCHIVE | CVAR_LATCH); AssertCvarRange(r_ext_multisample, 0, 4, qtrue); r_overBrightBits = ri.Cvar_Get("r_overBrightBits", "0", CVAR_ARCHIVE | CVAR_LATCH); // disable overbrightbits by default AssertCvarRange(r_overBrightBits, 0, 1, qtrue); // limit to overbrightbits 1 (sorry 1337 players) r_ignorehwgamma = ri.Cvar_Get("r_ignorehwgamma", "0", CVAR_ARCHIVE | CVAR_LATCH); // use hw gamma by default r_mode = ri.Cvar_Get("r_mode", "4", CVAR_ARCHIVE | CVAR_LATCH | CVAR_UNSAFE); r_oldMode = ri.Cvar_Get("r_oldMode", "", CVAR_ARCHIVE); // previous "good" video mode r_fullscreen = ri.Cvar_Get("r_fullscreen", "1", CVAR_ARCHIVE | CVAR_LATCH); r_noborder = ri.Cvar_Get("r_noborder", "0", CVAR_ARCHIVE); r_customwidth = ri.Cvar_Get("r_customwidth", "1600", CVAR_ARCHIVE | CVAR_LATCH); r_customheight = ri.Cvar_Get("r_customheight", "1024", CVAR_ARCHIVE | CVAR_LATCH); r_customPixelAspect = ri.Cvar_Get("r_customPixelAspect", "1", CVAR_ARCHIVE | CVAR_LATCH); r_simpleMipMaps = ri.Cvar_Get("r_simpleMipMaps", "1", CVAR_ARCHIVE | CVAR_LATCH); r_uiFullScreen = ri.Cvar_Get("r_uifullscreen", "0", 0); r_subdivisions = ri.Cvar_Get("r_subdivisions", "4", CVAR_ARCHIVE | CVAR_LATCH); r_stereoEnabled = ri.Cvar_Get("r_stereoEnabled", "0", CVAR_ARCHIVE | CVAR_LATCH); r_ignoreFastPath = ri.Cvar_Get("r_ignoreFastPath", "0", CVAR_ARCHIVE | CVAR_LATCH); // use fast path by default r_greyscale = ri.Cvar_Get("r_greyscale", "0", CVAR_ARCHIVE | CVAR_LATCH); // temporary latched variables that can only change over a restart r_mapOverBrightBits = ri.Cvar_Get("r_mapOverBrightBits", "2", CVAR_LATCH); AssertCvarRange(r_mapOverBrightBits, 0, 3, qtrue); r_intensity = ri.Cvar_Get("r_intensity", "1", CVAR_LATCH); AssertCvarRange(r_intensity, 0, 1.5, qfalse); r_singleShader = ri.Cvar_Get("r_singleShader", "0", CVAR_CHEAT | CVAR_LATCH); // archived variables that can change at any time r_lodCurveError = ri.Cvar_Get("r_lodCurveError", "250", CVAR_ARCHIVE); r_lodbias = ri.Cvar_Get("r_lodbias", "0", CVAR_ARCHIVE); r_flares = ri.Cvar_Get("r_flares", "1", CVAR_ARCHIVE); r_znear = ri.Cvar_Get("r_znear", "3", CVAR_CHEAT); // changed it to 3 (from 4) because of lean/fov cheats AssertCvarRange(r_znear, 0.001f, 200, qtrue); r_zfar = ri.Cvar_Get("r_zfar", "0", CVAR_CHEAT); r_ignoreGLErrors = ri.Cvar_Get("r_ignoreGLErrors", "1", CVAR_ARCHIVE); r_fastsky = ri.Cvar_Get("r_fastsky", "0", CVAR_ARCHIVE); r_inGameVideo = ri.Cvar_Get("r_inGameVideo", "1", CVAR_ARCHIVE); r_drawSun = ri.Cvar_Get("r_drawSun", "1", CVAR_ARCHIVE); r_dynamiclight = ri.Cvar_Get("r_dynamiclight", "1", CVAR_ARCHIVE); r_finish = ri.Cvar_Get("r_finish", "0", CVAR_ARCHIVE); r_textureMode = ri.Cvar_Get("r_textureMode", "GL_LINEAR_MIPMAP_NEAREST", CVAR_ARCHIVE); r_swapInterval = ri.Cvar_Get("r_swapInterval", "0", CVAR_ARCHIVE); r_gamma = ri.Cvar_Get("r_gamma", "1.3", CVAR_ARCHIVE); r_facePlaneCull = ri.Cvar_Get("r_facePlaneCull", "1", CVAR_ARCHIVE); r_railWidth = ri.Cvar_Get("r_railWidth", "16", CVAR_ARCHIVE); r_railSegmentLength = ri.Cvar_Get("r_railSegmentLength", "32", CVAR_ARCHIVE); r_primitives = ri.Cvar_Get("r_primitives", "0", CVAR_ARCHIVE); r_ambientScale = ri.Cvar_Get("r_ambientScale", "0.5", CVAR_CHEAT); r_directedScale = ri.Cvar_Get("r_directedScale", "1", CVAR_CHEAT); // temporary variables that can change at any time r_showImages = ri.Cvar_Get("r_showImages", "0", CVAR_TEMP); r_debugLight = ri.Cvar_Get("r_debuglight", "0", CVAR_TEMP); r_debugSort = ri.Cvar_Get("r_debugSort", "0", CVAR_CHEAT); r_printShaders = ri.Cvar_Get("r_printShaders", "0", 0); r_saveFontData = ri.Cvar_Get("r_saveFontData", "0", 0); // with r_cache enabled, non-win32 OSes were leaking 24Mb per R_Init.. r_cache = ri.Cvar_Get("r_cache", "1", CVAR_LATCH); // leaving it as this for backwards compability. but it caches models and shaders also r_cacheShaders = ri.Cvar_Get("r_cacheShaders", "1", CVAR_LATCH); r_cacheModels = ri.Cvar_Get("r_cacheModels", "1", CVAR_LATCH); r_cacheGathering = ri.Cvar_Get("cl_cacheGathering", "0", 0); r_bonesDebug = ri.Cvar_Get("r_bonesDebug", "0", CVAR_CHEAT); r_wolffog = ri.Cvar_Get("r_wolffog", "1", CVAR_ARCHIVE); r_nocurves = ri.Cvar_Get("r_nocurves", "0", CVAR_CHEAT); r_drawworld = ri.Cvar_Get("r_drawworld", "1", CVAR_CHEAT); r_drawfoliage = ri.Cvar_Get("r_drawfoliage", "1", CVAR_CHEAT); r_lightmap = ri.Cvar_Get("r_lightmap", "0", CVAR_CHEAT); r_portalOnly = ri.Cvar_Get("r_portalOnly", "0", CVAR_CHEAT); r_flareSize = ri.Cvar_Get("r_flareSize", "40", CVAR_CHEAT); ri.Cvar_Set("r_flareFade", "5"); // to force this when people already have "7" in their config r_flareFade = ri.Cvar_Get("r_flareFade", "5", CVAR_CHEAT); r_skipBackEnd = ri.Cvar_Get("r_skipBackEnd", "0", CVAR_CHEAT); r_measureOverdraw = ri.Cvar_Get("r_measureOverdraw", "0", CVAR_CHEAT); r_lodscale = ri.Cvar_Get("r_lodscale", "5", CVAR_CHEAT); r_norefresh = ri.Cvar_Get("r_norefresh", "0", CVAR_CHEAT); r_drawentities = ri.Cvar_Get("r_drawentities", "1", CVAR_CHEAT); r_ignore = ri.Cvar_Get("r_ignore", "1", CVAR_CHEAT); r_nocull = ri.Cvar_Get("r_nocull", "0", CVAR_CHEAT); r_novis = ri.Cvar_Get("r_novis", "0", CVAR_CHEAT); r_showcluster = ri.Cvar_Get("r_showcluster", "0", CVAR_CHEAT); r_speeds = ri.Cvar_Get("r_speeds", "0", CVAR_CHEAT); r_logFile = ri.Cvar_Get("r_logFile", "0", CVAR_CHEAT); r_debugSurface = ri.Cvar_Get("r_debugSurface", "0", CVAR_CHEAT); r_nobind = ri.Cvar_Get("r_nobind", "0", CVAR_CHEAT); r_showtris = ri.Cvar_Get("r_showtris", "0", CVAR_CHEAT); r_trisColor = ri.Cvar_Get("r_trisColor", "1.0 1.0 1.0 1.0", CVAR_ARCHIVE); r_showsky = ri.Cvar_Get("r_showsky", "0", CVAR_CHEAT); r_shownormals = ri.Cvar_Get("r_shownormals", "0", CVAR_CHEAT); r_normallength = ri.Cvar_Get("r_normallength", "0.5", CVAR_ARCHIVE); //r_showmodelbounds = ri.Cvar_Get("r_showmodelbounds", "0", CVAR_CHEAT); // see RB_MDM_SurfaceAnim() r_clear = ri.Cvar_Get("r_clear", "0", CVAR_CHEAT); r_offsetFactor = ri.Cvar_Get("r_offsetfactor", "-1", CVAR_CHEAT); r_offsetUnits = ri.Cvar_Get("r_offsetunits", "-2", CVAR_CHEAT); r_drawBuffer = ri.Cvar_Get("r_drawBuffer", "GL_BACK", CVAR_CHEAT); r_lockpvs = ri.Cvar_Get("r_lockpvs", "0", CVAR_CHEAT); r_noportals = ri.Cvar_Get("r_noportals", "0", CVAR_CHEAT); r_shadows = ri.Cvar_Get("cg_shadows", "1", 0); r_screenshotJpegQuality = ri.Cvar_Get("r_screenshotJpegQuality", "90", CVAR_ARCHIVE); r_portalsky = ri.Cvar_Get("cg_skybox", "1", 0); r_maxpolys = ri.Cvar_Get("r_maxpolys", va("%d", MAX_POLYS), 0); r_maxpolyverts = ri.Cvar_Get("r_maxpolyverts", va("%d", MAX_POLYVERTS), 0); r_highQualityVideo = ri.Cvar_Get("r_highQualityVideo", "1", CVAR_ARCHIVE); // make sure all the commands added here are also // removed in R_Shutdown ri.Cmd_AddCommand("imagelist", R_ImageList_f); ri.Cmd_AddCommand("shaderlist", R_ShaderList_f); ri.Cmd_AddCommand("skinlist", R_SkinList_f); ri.Cmd_AddCommand("modellist", R_Modellist_f); ri.Cmd_AddCommand("modelist", R_ModeList_f); ri.Cmd_AddCommand("screenshot", R_ScreenShot_f); ri.Cmd_AddCommand("screenshotJPEG", R_ScreenShotJPEG_f); ri.Cmd_AddCommand("gfxinfo", GfxInfo_f); ri.Cmd_AddCommand("taginfo", R_TagInfo_f); ri.Cmd_AddCommand("minimize", GLimp_Minimize); }
/* =============== GLimp_StartDriverAndSetMode =============== */ static bool GLimp_StartDriverAndSetMode( int mode, bool fullscreen, bool noborder ) { rserr_t err; int numDisplays; if ( !SDL_WasInit( SDL_INIT_VIDEO ) ) { const char *driverName; SDL_version v; SDL_GetVersion( &v ); ri.Printf( PRINT_ALL, "SDL_Init( SDL_INIT_VIDEO )... " ); ri.Printf( PRINT_ALL, "Using SDL Version %u.%u.%u\n", v.major, v.minor, v.patch ); if ( SDL_Init( SDL_INIT_VIDEO | SDL_INIT_NOPARACHUTE ) == -1 ) { ri.Printf( PRINT_ALL, "SDL_Init(SDL_INIT_VIDEO | SDL_INIT_NOPARACHUTE) FAILED (%s)\n", SDL_GetError() ); return false; } driverName = SDL_GetCurrentVideoDriver(); if ( !driverName ) { ri.Error( ERR_FATAL, "No video driver initialized\n" ); } ri.Printf( PRINT_ALL, "SDL using driver \"%s\"\n", driverName ); ri.Cvar_Set( "r_sdlDriver", driverName ); } numDisplays = SDL_GetNumVideoDisplays(); if ( numDisplays <= 0 ) { ri.Error( ERR_FATAL, "SDL_GetNumVideoDisplays FAILED (%s)\n", SDL_GetError() ); } AssertCvarRange( r_displayIndex, 0, numDisplays - 1, true ); if ( fullscreen && ri.Cvar_VariableIntegerValue( "in_nograb" ) ) { ri.Printf( PRINT_ALL, "Fullscreen not allowed with in_nograb 1\n" ); ri.Cvar_Set( "r_fullscreen", "0" ); r_fullscreen->modified = false; fullscreen = false; } err = (rserr_t) GLimp_SetMode( mode, fullscreen, noborder ); switch ( err ) { case RSERR_INVALID_FULLSCREEN: ri.Printf( PRINT_ALL, "...WARNING: fullscreen unavailable in this mode\n" ); return false; case RSERR_INVALID_MODE: ri.Printf( PRINT_ALL, "...WARNING: could not set the given mode (%d)\n", mode ); return false; case RSERR_OLD_GL: ri.Printf( PRINT_ALL, "...WARNING: OpenGL too old\n" ); return false; default: break; } return true; }
/* =============== R_Register =============== */ void R_Register( void ) { // // latched and archived variables // r_ext_compressed_textures = ri.Cvar_Get( "r_ext_compressed_textures", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_ext_gamma_control = ri.Cvar_Get( "r_ext_gamma_control", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_ext_multitexture = ri.Cvar_Get( "r_ext_multitexture", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_ext_compiled_vertex_array = ri.Cvar_Get( "r_ext_compiled_vertex_array", "1", CVAR_ARCHIVE | CVAR_LATCH); #ifdef __linux__ // broken on linux r_ext_texture_env_add = ri.Cvar_Get( "r_ext_texture_env_add", "0", CVAR_ARCHIVE | CVAR_LATCH); #else r_ext_texture_env_add = ri.Cvar_Get( "r_ext_texture_env_add", "1", CVAR_ARCHIVE | CVAR_LATCH); #endif r_roundImagesDown = ri.Cvar_Get ("r_roundImagesDown", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_colorMipLevels = ri.Cvar_Get ("r_colorMipLevels", "0", CVAR_LATCH ); r_detailTextures = ri.Cvar_Get( "r_detailtextures", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_texturebits = ri.Cvar_Get( "r_texturebits", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_colorbits = ri.Cvar_Get( "r_colorbits", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_stereo = ri.Cvar_Get( "r_stereo", "0", CVAR_ARCHIVE | CVAR_LATCH ); #ifdef __linux__ r_stencilbits = ri.Cvar_Get( "r_stencilbits", "0", CVAR_ARCHIVE | CVAR_LATCH ); #else r_stencilbits = ri.Cvar_Get( "r_stencilbits", "8", CVAR_ARCHIVE | CVAR_LATCH ); #endif r_depthbits = ri.Cvar_Get( "r_depthbits", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_overBrightBits = ri.Cvar_Get ("r_overBrightBits", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_ignorehwgamma = ri.Cvar_Get( "r_ignorehwgamma", "0", CVAR_ARCHIVE | CVAR_LATCH); r_customwidth = ri.Cvar_Get( "r_customwidth", "1600", CVAR_ARCHIVE | CVAR_LATCH ); r_customheight = ri.Cvar_Get( "r_customheight", "1024", CVAR_ARCHIVE | CVAR_LATCH ); r_customaspect = ri.Cvar_Get( "r_customaspect", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_vertexLight = ri.Cvar_Get( "r_vertexLight", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_uiFullScreen = ri.Cvar_Get( "r_uifullscreen", "0", 0); r_subdivisions = ri.Cvar_Get ("r_subdivisions", "4", CVAR_ARCHIVE | CVAR_LATCH); // We can't test smp under PPC yet, so disable this //#if (defined(MACOS_X) || defined(__linux__)) && defined(SMP) // Default to using SMP on Mac OS X or Linux if we have multiple processors // r_smp = ri.Cvar_Get( "r_smp", Sys_ProcessorCount() > 1 ? "1" : "0", CVAR_ARCHIVE | CVAR_LATCH); //#else r_smp = ri.Cvar_Get( "r_smp", "0", CVAR_ARCHIVE | CVAR_LATCH); //#endif r_ignoreFastPath = ri.Cvar_Get( "r_ignoreFastPath", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_bloom = ri.Cvar_Get( "r_bloom", "2", CVAR_ARCHIVE ); r_bloomThresh = ri.Cvar_Get( "r_bloomThresh", "0.25", CVAR_ARCHIVE ); r_bloomCombine = ri.Cvar_Get( "r_bloomCombine", "1.25 1 1 1", CVAR_ARCHIVE ); r_depthOfField = ri.Cvar_Get( "r_depthOfField", "1", CVAR_ARCHIVE ); r_x42cacheCtl = ri.Cvar_Get( "r_x42cacheCtl", "3", CVAR_ARCHIVE | CVAR_LATCH ); // // temporary latched variables that can only change over a restart // r_displayRefresh = ri.Cvar_Get( "r_displayRefresh", "0", CVAR_LATCH ); AssertCvarRange( r_displayRefresh, 0, 200, qtrue ); r_fullbright = ri.Cvar_Get ("r_fullbright", "0", CVAR_LATCH|CVAR_CHEAT ); r_mapOverBrightBits = ri.Cvar_Get ("r_mapOverBrightBits", "2", CVAR_LATCH ); r_intensity = ri.Cvar_Get ("r_intensity", "1", CVAR_LATCH ); r_singleShader = ri.Cvar_Get ("r_singleShader", "0", CVAR_CHEAT | CVAR_LATCH ); r_fsaa = ri.Cvar_Get( "r_fsaa", "2", CVAR_ARCHIVE | CVAR_LATCH ); r_skin = ri.Cvar_Get( "r_skin", "st", CVAR_ARCHIVE | CVAR_LATCH ); r_clobberNPOTtex = ri.Cvar_Get( "r_clobberNPOTtex", "1", CVAR_ARCHIVE | CVAR_LATCH ); // // archived variables that can change at any time // r_lodCurveError = ri.Cvar_Get( "r_lodCurveError", "250", CVAR_ARCHIVE|CVAR_CHEAT ); r_lodbias = ri.Cvar_Get( "r_lodbias", "0", CVAR_ARCHIVE ); r_flares = ri.Cvar_Get ("r_flares", "1", CVAR_ARCHIVE ); r_znear = ri.Cvar_Get( "r_znear", "4", CVAR_CHEAT ); r_deluxemap = ri.Cvar_Get( "r_deluxemap", "2", CVAR_ARCHIVE ); AssertCvarRange( r_znear, 0.001f, 200, qtrue ); r_ignoreGLErrors = ri.Cvar_Get( "r_ignoreGLErrors", "1", CVAR_ARCHIVE ); r_fastsky = ri.Cvar_Get( "r_fastsky", "0", CVAR_ARCHIVE ); r_inGameVideo = ri.Cvar_Get( "r_inGameVideo", "1", CVAR_ARCHIVE ); r_drawSun = ri.Cvar_Get( "r_drawSun", "0", CVAR_ARCHIVE ); r_dynamiclight = ri.Cvar_Get( "r_dynamiclight", "1", CVAR_ARCHIVE ); r_dlightBacks = ri.Cvar_Get( "r_dlightBacks", "1", CVAR_ARCHIVE ); r_finish = ri.Cvar_Get ("r_finish", "0", CVAR_ARCHIVE); r_textureMode = ri.Cvar_Get( "r_textureMode", "LinearMipLinear", CVAR_ARCHIVE ); r_textureAniso = ri.Cvar_Get( "r_textureAniso", "1", CVAR_ARCHIVE ); r_textureLod = ri.Cvar_Get( "r_textureLod", "0", CVAR_ARCHIVE ); r_swapInterval = ri.Cvar_Get( "r_swapInterval", "1", CVAR_ARCHIVE ); #ifdef __MACOS__ r_gamma = ri.Cvar_Get( "r_gamma", "1.2", CVAR_ARCHIVE ); #else r_gamma = ri.Cvar_Get( "r_gamma", "1", CVAR_ARCHIVE ); #endif r_facePlaneCull = ri.Cvar_Get ("r_facePlaneCull", "1", CVAR_ARCHIVE ); r_railWidth = ri.Cvar_Get( "r_railWidth", "16", CVAR_ARCHIVE ); r_railCoreWidth = ri.Cvar_Get( "r_railCoreWidth", "6", CVAR_ARCHIVE ); r_railSegmentLength = ri.Cvar_Get( "r_railSegmentLength", "32", CVAR_ARCHIVE ); r_primitives = ri.Cvar_Get( "r_primitives", "0", CVAR_ARCHIVE ); #ifdef _DEBUG r_logLevel = ri.Cvar_Get( "r_logLevel", "2", CVAR_ARCHIVE ); #endif r_ambientScale = ri.Cvar_Get( "r_ambientScale", "0.6", CVAR_CHEAT ); r_directedScale = ri.Cvar_Get( "r_directedScale", "1", CVAR_CHEAT ); // // temporary variables that can change at any time // r_showImages = ri.Cvar_Get( "r_showImages", "0", CVAR_TEMP ); r_debugLight = ri.Cvar_Get( "r_debuglight", "0", CVAR_TEMP ); r_debugSort = ri.Cvar_Get( "r_debugSort", "0", CVAR_CHEAT ); r_printShaders = ri.Cvar_Get( "r_printShaders", "0", 0 ); r_saveFontData = ri.Cvar_Get( "r_saveFontData", "0", 0 ); r_nosse = ri.Cvar_Get( "r_nosse", "0", 0 ); r_nocurves = ri.Cvar_Get ("r_nocurves", "0", CVAR_CHEAT ); r_drawworld = ri.Cvar_Get ("r_drawworld", "1", CVAR_CHEAT ); r_lightmap = ri.Cvar_Get ("r_lightmap", "0", 0 ); r_portalOnly = ri.Cvar_Get ("r_portalOnly", "0", CVAR_CHEAT ); r_showSmp = ri.Cvar_Get ("r_showSmp", "0", CVAR_CHEAT); r_skipBackEnd = ri.Cvar_Get ("r_skipBackEnd", "0", CVAR_CHEAT); r_measureOverdraw = ri.Cvar_Get( "r_measureOverdraw", "0", CVAR_CHEAT ); r_lodscale = ri.Cvar_Get( "r_lodscale", "3", CVAR_CHEAT ); r_norefresh = ri.Cvar_Get ("r_norefresh", "0", CVAR_CHEAT); r_drawentities = ri.Cvar_Get ("r_drawentities", "1", CVAR_CHEAT ); r_ignore = ri.Cvar_Get( "r_ignore", "1", CVAR_CHEAT ); r_nocull = ri.Cvar_Get ("r_nocull", "0", CVAR_CHEAT); r_novis = ri.Cvar_Get ("r_novis", "0", CVAR_CHEAT); r_showcluster = ri.Cvar_Get ("r_showcluster", "0", CVAR_CHEAT); r_speeds = ri.Cvar_Get ("r_speeds", "0", CVAR_CHEAT); r_verbose = ri.Cvar_Get( "r_verbose", "0", CVAR_CHEAT ); r_logFile = ri.Cvar_Get( "r_logFile", "0", CVAR_CHEAT ); r_debugSurface = ri.Cvar_Get ("r_debugSurface", "0", CVAR_CHEAT); r_debugAas = ri.Cvar_Get ("r_debugAas", "0", CVAR_CHEAT); r_nobind = ri.Cvar_Get ("r_nobind", "0", CVAR_CHEAT); r_showtris = ri.Cvar_Get ("r_showtris", "0", CVAR_CHEAT); r_showsky = ri.Cvar_Get ("r_showsky", "0", CVAR_CHEAT); r_shownormals = ri.Cvar_Get ("r_shownormals", "0", CVAR_CHEAT); r_clear = ri.Cvar_Get ("r_clear", "0", CVAR_CHEAT); r_offsetFactor = ri.Cvar_Get( "r_offsetfactor", "-1", CVAR_CHEAT ); r_offsetUnits = ri.Cvar_Get( "r_offsetunits", "-2", CVAR_CHEAT ); r_drawBuffer = ri.Cvar_Get( "r_drawBuffer", "GL_BACK", CVAR_CHEAT ); r_lockpvs = ri.Cvar_Get ("r_lockpvs", "0", CVAR_CHEAT); r_noportals = ri.Cvar_Get ("r_noportals", "0", CVAR_CHEAT); r_maxpolys = ri.Cvar_Get( "r_maxpolys", va("%d", MAX_POLYS), 0); r_maxpolyverts = ri.Cvar_Get( "r_maxpolyverts", va("%d", MAX_POLYVERTS), 0); // make sure all the commands added here are also // removed in R_Shutdown ri.Cmd_AddCommand( "imagelist", R_ImageList_f ); ri.Cmd_AddCommand( "shaderlist", R_ShaderList_f ); ri.Cmd_AddCommand( "skinlist", R_SkinList_f ); ri.Cmd_AddCommand( "modellist", R_Modellist_f ); ri.Cmd_AddCommand( "modelist", R_ModeList_f ); ri.Cmd_AddCommand( "screenshot", R_ScreenShot_f ); ri.Cmd_AddCommand( "gfxinfo", GfxInfo_f ); }
/* =============== R_Register =============== */ void R_Register( void ) { // // latched and archived variables // r_allowExtensions = Cvar_Get( "r_allowExtensions", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_ext_compressed_textures = Cvar_Get( "r_ext_compress_textures", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_ext_compressed_lightmaps = Cvar_Get( "r_ext_compress_lightmaps", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_ext_preferred_tc_method = Cvar_Get( "r_ext_preferred_tc_method", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_ext_gamma_control = Cvar_Get( "r_ext_gamma_control", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_ext_multitexture = Cvar_Get( "r_ext_multitexture", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_ext_compiled_vertex_array = Cvar_Get( "r_ext_compiled_vertex_array", "1", CVAR_ARCHIVE | CVAR_LATCH); r_ext_texture_env_add = Cvar_Get( "r_ext_texture_env_add", "1", CVAR_ARCHIVE | CVAR_LATCH); r_ext_texture_filter_anisotropic = Cvar_Get( "r_ext_texture_filter_anisotropic", "16", CVAR_ARCHIVE ); r_DynamicGlow = Cvar_Get( "r_DynamicGlow", "0", CVAR_ARCHIVE ); r_DynamicGlowPasses = Cvar_Get( "r_DynamicGlowPasses", "5", CVAR_CHEAT ); r_DynamicGlowDelta = Cvar_Get( "r_DynamicGlowDelta", "0.8f", CVAR_CHEAT ); r_DynamicGlowIntensity = Cvar_Get( "r_DynamicGlowIntensity", "1.13f", CVAR_CHEAT ); r_DynamicGlowSoft = Cvar_Get( "r_DynamicGlowSoft", "1", CVAR_CHEAT ); r_DynamicGlowWidth = Cvar_Get( "r_DynamicGlowWidth", "320", CVAR_CHEAT | CVAR_LATCH ); r_DynamicGlowHeight = Cvar_Get( "r_DynamicGlowHeight", "240", CVAR_CHEAT | CVAR_LATCH ); // Register point sprite stuff here. r_ext_point_parameters = Cvar_Get( "r_ext_point_parameters", "1", CVAR_ARCHIVE ); r_ext_nv_point_sprite = Cvar_Get( "r_ext_nv_point_sprite", "1", CVAR_ARCHIVE ); r_picmip = Cvar_Get ("r_picmip", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_colorMipLevels = Cvar_Get ("r_colorMipLevels", "0", CVAR_LATCH ); AssertCvarRange( r_picmip, 0, 16, qtrue, qfalse ); r_detailTextures = Cvar_Get( "r_detailtextures", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_texturebits = Cvar_Get( "r_texturebits", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_texturebitslm = Cvar_Get( "r_texturebitslm", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_colorbits = Cvar_Get( "r_colorbits", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_stereo = Cvar_Get( "r_stereo", "0", CVAR_ARCHIVE | CVAR_LATCH ); #ifdef __linux__ r_stencilbits = Cvar_Get( "r_stencilbits", "0", CVAR_ARCHIVE | CVAR_LATCH ); #else r_stencilbits = Cvar_Get( "r_stencilbits", "8", CVAR_ARCHIVE | CVAR_LATCH ); #endif r_depthbits = Cvar_Get( "r_depthbits", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_overBrightBits = Cvar_Get ("r_overBrightBits", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_ignorehwgamma = Cvar_Get( "r_ignorehwgamma", "0", CVAR_ARCHIVE | CVAR_LATCH); r_mode = Cvar_Get( "r_mode", "4", CVAR_ARCHIVE | CVAR_LATCH ); r_fullscreen = Cvar_Get( "r_fullscreen", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_customwidth = Cvar_Get( "r_customwidth", "1600", CVAR_ARCHIVE | CVAR_LATCH ); r_customheight = Cvar_Get( "r_customheight", "1024", CVAR_ARCHIVE | CVAR_LATCH ); r_simpleMipMaps = Cvar_Get( "r_simpleMipMaps", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_vertexLight = Cvar_Get( "r_vertexLight", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_subdivisions = Cvar_Get ("r_subdivisions", "4", CVAR_ARCHIVE | CVAR_LATCH); r_intensity = Cvar_Get ("r_intensity", "1", CVAR_LATCH|CVAR_ARCHIVE ); // // temporary latched variables that can only change over a restart // r_displayRefresh = Cvar_Get( "r_displayRefresh", "0", CVAR_LATCH ); AssertCvarRange( r_displayRefresh, 0, 200, qtrue, qfalse ); r_fullbright = Cvar_Get ("r_fullbright", "0", CVAR_CHEAT ); r_singleShader = Cvar_Get ("r_singleShader", "0", CVAR_CHEAT | CVAR_LATCH ); // // archived variables that can change at any time // r_lodCurveError = Cvar_Get( "r_lodCurveError", "250", CVAR_ARCHIVE ); r_lodbias = Cvar_Get( "r_lodbias", "0", CVAR_ARCHIVE ); r_flares = Cvar_Get ("r_flares", "1", CVAR_ARCHIVE ); r_lodscale = Cvar_Get( "r_lodscale", "10", CVAR_ARCHIVE ); #ifdef _XBOX r_znear = Cvar_Get( "r_znear", "2", CVAR_CHEAT ); //lose a lot of precision in the distance #else r_znear = Cvar_Get( "r_znear", "4", CVAR_CHEAT ); //if set any lower, you lose a lot of precision in the distance #endif AssertCvarRange( r_znear, 0.001f, 200, qfalse, qfalse ); r_ignoreGLErrors = Cvar_Get( "r_ignoreGLErrors", "1", CVAR_ARCHIVE ); r_fastsky = Cvar_Get( "r_fastsky", "0", CVAR_ARCHIVE ); r_drawSun = Cvar_Get( "r_drawSun", "0", CVAR_ARCHIVE ); r_dynamiclight = Cvar_Get( "r_dynamiclight", "1", CVAR_ARCHIVE ); r_dlightBacks = Cvar_Get( "r_dlightBacks", "0", CVAR_ARCHIVE ); r_finish = Cvar_Get ("r_finish", "0", CVAR_ARCHIVE); r_textureMode = Cvar_Get( "r_textureMode", "GL_LINEAR_MIPMAP_NEAREST", CVAR_ARCHIVE ); r_swapInterval = Cvar_Get( "r_swapInterval", "0", CVAR_ARCHIVE ); #ifdef __MACOS__ r_gamma = Cvar_Get( "r_gamma", "1.2", CVAR_ARCHIVE ); #else r_gamma = Cvar_Get( "r_gamma", "1", CVAR_ARCHIVE ); #endif r_facePlaneCull = Cvar_Get ("r_facePlaneCull", "1", CVAR_ARCHIVE ); r_dlightStyle = Cvar_Get ("r_dlightStyle", "1", CVAR_TEMP); r_surfaceSprites = Cvar_Get ("r_surfaceSprites", "1", CVAR_TEMP); r_surfaceWeather = Cvar_Get ("r_surfaceWeather", "0", CVAR_TEMP); r_windSpeed = Cvar_Get ("r_windSpeed", "0", 0); r_windAngle = Cvar_Get ("r_windAngle", "0", 0); r_windGust = Cvar_Get ("r_windGust", "0", 0); r_windDampFactor = Cvar_Get ("r_windDampFactor", "0.1", 0); r_windPointForce = Cvar_Get ("r_windPointForce", "0", 0); r_windPointX = Cvar_Get ("r_windPointX", "0", 0); r_windPointY = Cvar_Get ("r_windPointY", "0", 0); r_primitives = Cvar_Get( "r_primitives", "0", CVAR_ARCHIVE ); r_ambientScale = Cvar_Get( "r_ambientScale", "0.5", CVAR_CHEAT ); r_directedScale = Cvar_Get( "r_directedScale", "1", CVAR_CHEAT ); // // temporary variables that can change at any time // r_showImages = Cvar_Get( "r_showImages", "0", CVAR_CHEAT ); r_debugLight = Cvar_Get( "r_debuglight", "0", CVAR_TEMP ); r_debugStyle = Cvar_Get( "r_debugStyle", "-1", CVAR_CHEAT ); r_debugSort = Cvar_Get( "r_debugSort", "0", CVAR_CHEAT ); r_nocurves = Cvar_Get ("r_nocurves", "0", CVAR_CHEAT ); r_drawworld = Cvar_Get ("r_drawworld", "1", CVAR_CHEAT ); r_drawfog = Cvar_Get ("r_drawfog", "2", CVAR_CHEAT ); r_lightmap = Cvar_Get ("r_lightmap", "0", CVAR_CHEAT ); r_portalOnly = Cvar_Get ("r_portalOnly", "0", CVAR_CHEAT ); r_skipBackEnd = Cvar_Get ("r_skipBackEnd", "0", CVAR_CHEAT); r_measureOverdraw = Cvar_Get( "r_measureOverdraw", "0", CVAR_CHEAT ); r_norefresh = Cvar_Get ("r_norefresh", "0", CVAR_CHEAT); r_drawentities = Cvar_Get ("r_drawentities", "1", CVAR_CHEAT ); r_ignore = Cvar_Get( "r_ignore", "1", CVAR_TEMP ); r_nocull = Cvar_Get ("r_nocull", "0", CVAR_CHEAT); r_novis = Cvar_Get ("r_novis", "0", CVAR_CHEAT); r_showcluster = Cvar_Get ("r_showcluster", "0", CVAR_CHEAT); r_speeds = Cvar_Get ("r_speeds", "0", CVAR_CHEAT); r_verbose = Cvar_Get( "r_verbose", "0", CVAR_CHEAT ); r_logFile = Cvar_Get( "r_logFile", "0", CVAR_CHEAT ); r_debugSurface = Cvar_Get ("r_debugSurface", "0", CVAR_CHEAT); r_nobind = Cvar_Get ("r_nobind", "0", CVAR_CHEAT); r_showtris = Cvar_Get ("r_showtris", "0", CVAR_CHEAT); r_showtriscolor = Cvar_Get ("r_showtriscolor", "0", CVAR_ARCHIVE); r_showsky = Cvar_Get ("r_showsky", "0", CVAR_CHEAT); r_shownormals = Cvar_Get ("r_shownormals", "0", CVAR_CHEAT); r_clear = Cvar_Get ("r_clear", "0", CVAR_CHEAT); r_offsetFactor = Cvar_Get( "r_offsetfactor", "-1", CVAR_CHEAT ); r_offsetUnits = Cvar_Get( "r_offsetunits", "-2", CVAR_CHEAT ); r_lockpvs = Cvar_Get ("r_lockpvs", "0", CVAR_CHEAT); r_noportals = Cvar_Get ("r_noportals", "0", CVAR_CHEAT); r_shadows = Cvar_Get( "cg_shadows", "1", 0 ); r_shadowRange = Cvar_Get( "r_shadowRange", "1000", CVAR_ARCHIVE ); #ifdef _XBOX r_hdreffect = Cvar_Get( "r_hdreffect", "0", 0 ); r_sundir_x = Cvar_Get( "r_sundir_x", "0.45", 0 ); r_sundir_y = Cvar_Get( "r_sundir_y", "0.3", 0 ); r_sundir_z = Cvar_Get( "r_sundir_z", "0.9", 0 ); r_hdrbloom = Cvar_Get( "r_hdrbloom", "1.0", 0 ); r_hdrcutoff = Cvar_Get( "r_hdrcutoff", "0.5", 0 ); #endif /* Ghoul2 Insert Start */ r_noGhoul2 = Cvar_Get( "r_noghoul2", "0", CVAR_CHEAT); r_Ghoul2AnimSmooth = Cvar_Get( "r_ghoul2animsmooth", "0.25", 0); r_Ghoul2UnSqash = Cvar_Get( "r_ghoul2unsquash", "1", 0); r_Ghoul2TimeBase = Cvar_Get( "r_ghoul2timebase", "2", 0); r_Ghoul2NoLerp = Cvar_Get( "r_ghoul2nolerp", "0", 0); r_Ghoul2NoBlend = Cvar_Get( "r_ghoul2noblend", "0", 0); r_Ghoul2BlendMultiplier = Cvar_Get( "r_ghoul2blendmultiplier", "1", 0); r_Ghoul2UnSqashAfterSmooth = Cvar_Get( "r_ghoul2unsquashaftersmooth", "1", 0); broadsword = Cvar_Get( "broadsword", "1", 0); broadsword_kickbones = Cvar_Get( "broadsword_kickbones", "1", 0); broadsword_kickorigin = Cvar_Get( "broadsword_kickorigin", "1", 0); broadsword_dontstopanim = Cvar_Get( "broadsword_dontstopanim", "0", 0); broadsword_waitforshot = Cvar_Get( "broadsword_waitforshot", "0", 0); broadsword_playflop = Cvar_Get( "broadsword_playflop", "1", 0); broadsword_smallbbox = Cvar_Get( "broadsword_smallbbox", "0", 0); broadsword_extra1 = Cvar_Get( "broadsword_extra1", "0", 0); broadsword_extra2 = Cvar_Get( "broadsword_extra2", "0", 0); broadsword_effcorr = Cvar_Get( "broadsword_effcorr", "1", 0); broadsword_ragtobase = Cvar_Get( "broadsword_ragtobase", "2", 0); broadsword_dircap = Cvar_Get( "broadsword_dircap", "64", 0); /* Ghoul2 Insert End */ extern qboolean Sys_LowPhysicalMemory(); r_modelpoolmegs = Cvar_Get("r_modelpoolmegs", "20", CVAR_ARCHIVE); if (Sys_LowPhysicalMemory() ) { Cvar_Set("r_modelpoolmegs", "0"); } // make sure all the commands added here are also // removed in R_Shutdown Cmd_AddCommand( "imagelist", R_ImageList_f ); Cmd_AddCommand( "shaderlist", R_ShaderList_f ); Cmd_AddCommand( "skinlist", R_SkinList_f ); Cmd_AddCommand( "fontlist", R_FontList_f ); Cmd_AddCommand( "modellist", R_Modellist_f ); #ifndef _XBOX Cmd_AddCommand( "modelist", R_ModeList_f ); Cmd_AddCommand( "r_atihack", R_AtiHackToggle_f ); #endif Cmd_AddCommand( "screenshot", R_ScreenShot_f ); Cmd_AddCommand( "screenshot_tga", R_ScreenShotTGA_f ); Cmd_AddCommand( "gfxinfo", GfxInfo_f ); Cmd_AddCommand( "r_fogDistance", R_FogDistance_f); Cmd_AddCommand( "r_fogColor", R_FogColor_f); Cmd_AddCommand( "modelcacheinfo", RE_RegisterModels_Info_f); Cmd_AddCommand( "imagecacheinfo", RE_RegisterImages_Info_f); extern void R_WorldEffect_f(void); //TR_WORLDEFFECTS.CPP Cmd_AddCommand( "r_we", R_WorldEffect_f ); extern void R_ReloadFonts_f(void); Cmd_AddCommand( "r_reloadfonts", R_ReloadFonts_f ); // make sure all the commands added above are also // removed in R_Shutdown }
/* =============== R_Register =============== */ void R_Register( void ) { // // latched and archived variables // r_allowExtensions = ri.Cvar_Get( "r_allowExtensions", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_ext_compressed_textures = ri.Cvar_Get( "r_ext_compress_textures", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_ext_compressed_lightmaps = ri.Cvar_Get( "r_ext_compress_lightmaps", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_ext_preferred_tc_method = ri.Cvar_Get( "r_ext_preferred_tc_method", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_ext_gamma_control = ri.Cvar_Get( "r_ext_gamma_control", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_ext_multitexture = ri.Cvar_Get( "r_ext_multitexture", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_ext_compiled_vertex_array = ri.Cvar_Get( "r_ext_compiled_vertex_array", "1", CVAR_ARCHIVE | CVAR_LATCH); r_ext_texture_env_add = ri.Cvar_Get( "r_ext_texture_env_add", "1", CVAR_ARCHIVE | CVAR_LATCH); r_ext_texture_filter_anisotropic = ri.Cvar_Get( "r_ext_texture_filter_anisotropic", "1", CVAR_ARCHIVE ); #ifdef _NPATCH r_ati_pn_triangles = ri.Cvar_Get( "r_ati_pn_triangles", "1", CVAR_ARCHIVE | CVAR_LATCH); r_npatches = ri.Cvar_Get( "r_npatches", "3", CVAR_ARCHIVE ); #endif // _NPATCH r_picmip = ri.Cvar_Get ("r_picmip", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_colorMipLevels = ri.Cvar_Get ("r_colorMipLevels", "0", CVAR_LATCH ); AssertCvarRange( r_picmip, 0, 16, qtrue, qfalse ); r_detailTextures = ri.Cvar_Get( "r_detailtextures", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_texturebits = ri.Cvar_Get( "r_texturebits", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_texturebitslm = ri.Cvar_Get( "r_texturebitslm", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_colorbits = ri.Cvar_Get( "r_colorbits", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_stereo = ri.Cvar_Get( "r_stereo", "0", CVAR_ARCHIVE | CVAR_LATCH ); #ifdef __linux__ r_stencilbits = ri.Cvar_Get( "r_stencilbits", "0", CVAR_ARCHIVE | CVAR_LATCH ); #else r_stencilbits = ri.Cvar_Get( "r_stencilbits", "8", CVAR_ARCHIVE | CVAR_LATCH ); #endif r_depthbits = ri.Cvar_Get( "r_depthbits", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_overBrightBits = ri.Cvar_Get ("r_overBrightBits", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_ignorehwgamma = ri.Cvar_Get( "r_ignorehwgamma", "0", CVAR_ARCHIVE | CVAR_LATCH); r_mode = ri.Cvar_Get( "r_mode", "3", CVAR_ARCHIVE | CVAR_LATCH ); r_fullscreen = ri.Cvar_Get( "r_fullscreen", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_customwidth = ri.Cvar_Get( "r_customwidth", "1600", CVAR_ARCHIVE | CVAR_LATCH ); r_customheight = ri.Cvar_Get( "r_customheight", "1024", CVAR_ARCHIVE | CVAR_LATCH ); r_customaspect = ri.Cvar_Get( "r_customaspect", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_simpleMipMaps = ri.Cvar_Get( "r_simpleMipMaps", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_vertexLight = ri.Cvar_Get( "r_vertexLight", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_subdivisions = ri.Cvar_Get ("r_subdivisions", "4", CVAR_ARCHIVE | CVAR_LATCH); // r_smp = ri.Cvar_Get( "r_smp", "0", CVAR_ARCHIVE | CVAR_LATCH); r_smp = ri.Cvar_Get( "r_smp", "0", CVAR_ROM); r_ignoreFastPath = ri.Cvar_Get( "r_ignoreFastPath", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_intensity = ri.Cvar_Get ("r_intensity", "1", CVAR_LATCH|CVAR_ARCHIVE ); // // temporary latched variables that can only change over a restart // r_displayRefresh = ri.Cvar_Get( "r_displayRefresh", "0", CVAR_LATCH ); AssertCvarRange( r_displayRefresh, 0, 200, qtrue, qfalse ); r_fullbright = ri.Cvar_Get ("r_fullbright", "0", CVAR_CHEAT ); r_singleShader = ri.Cvar_Get ("r_singleShader", "0", CVAR_CHEAT | CVAR_LATCH ); // // archived variables that can change at any time // r_lodCurveError = ri.Cvar_Get( "r_lodCurveError", "250", CVAR_ARCHIVE ); r_lodbias = ri.Cvar_Get( "r_lodbias", "0", CVAR_ARCHIVE ); r_flares = ri.Cvar_Get ("r_flares", "1", CVAR_ARCHIVE ); r_lodscale = ri.Cvar_Get( "r_lodscale", "10", CVAR_ARCHIVE ); r_znear = ri.Cvar_Get( "r_znear", "4", CVAR_CHEAT ); //if set any lower, you lose a lot of precision in the distance AssertCvarRange( r_znear, 0.001f, 200, qfalse, qfalse ); r_ignoreGLErrors = ri.Cvar_Get( "r_ignoreGLErrors", "1", CVAR_ARCHIVE ); r_fastsky = ri.Cvar_Get( "r_fastsky", "0", CVAR_ARCHIVE ); r_drawSun = ri.Cvar_Get( "r_drawSun", "0", CVAR_ARCHIVE ); r_dynamiclight = ri.Cvar_Get( "r_dynamiclight", "1", CVAR_ARCHIVE ); r_dlightBacks = ri.Cvar_Get( "r_dlightBacks", "1", CVAR_ARCHIVE ); r_finish = ri.Cvar_Get ("r_finish", "0", CVAR_ARCHIVE); r_textureMode = ri.Cvar_Get( "r_textureMode", "GL_LINEAR_MIPMAP_NEAREST", CVAR_ARCHIVE ); r_swapInterval = ri.Cvar_Get( "r_swapInterval", "0", CVAR_ARCHIVE ); #ifdef __MACOS__ r_gamma = ri.Cvar_Get( "r_gamma", "1.2", CVAR_ARCHIVE ); #else r_gamma = ri.Cvar_Get( "r_gamma", "1", CVAR_ARCHIVE ); #endif r_facePlaneCull = ri.Cvar_Get ("r_facePlaneCull", "1", CVAR_ARCHIVE ); r_surfaceSprites = ri.Cvar_Get ("r_surfaceSprites", "1", CVAR_TEMP); r_surfaceWeather = ri.Cvar_Get ("r_surfaceWeather", "0", CVAR_TEMP); r_windSpeed = ri.Cvar_Get ("r_windSpeed", "0", 0); r_windAngle = ri.Cvar_Get ("r_windAngle", "0", 0); r_windGust = ri.Cvar_Get ("r_windGust", "0", 0); r_windDampFactor = ri.Cvar_Get ("r_windDampFactor", "0.1", 0); r_windPointForce = ri.Cvar_Get ("r_windPointForce", "0", 0); r_windPointX = ri.Cvar_Get ("r_windPointX", "0", 0); r_windPointY = ri.Cvar_Get ("r_windPointY", "0", 0); //r_primitives = ri.Cvar_Get( "r_primitives", "0", CVAR_ARCHIVE ); r_primitives = ri.Cvar_Get( "r_primitives", "2", CVAR_ARCHIVE ); r_ambientScale = ri.Cvar_Get( "r_ambientScale", "0.5", CVAR_CHEAT ); r_directedScale = ri.Cvar_Get( "r_directedScale", "1", CVAR_CHEAT ); // // temporary variables that can change at any time // r_showImages = ri.Cvar_Get( "r_showImages", "0", CVAR_CHEAT ); r_debugLight = ri.Cvar_Get( "r_debuglight", "0", CVAR_TEMP ); r_debugStyle = ri.Cvar_Get( "r_debugStyle", "-1", CVAR_CHEAT ); r_debugSort = ri.Cvar_Get( "r_debugSort", "0", CVAR_CHEAT ); r_printShaders = ri.Cvar_Get( "r_printShaders", "0", 0 ); r_nocurves = ri.Cvar_Get ("r_nocurves", "0", CVAR_CHEAT ); r_drawworld = ri.Cvar_Get ("r_drawworld", "1", CVAR_CHEAT ); r_drawfog = ri.Cvar_Get ("r_drawfog", "1", CVAR_CHEAT ); r_lightmap = ri.Cvar_Get ("r_lightmap", "0", CVAR_CHEAT ); r_portalOnly = ri.Cvar_Get ("r_portalOnly", "0", CVAR_CHEAT ); r_flareSize = ri.Cvar_Get ("r_flareSize", "30", 0); r_flareFade = ri.Cvar_Get ("r_flareFade", "10", 0); r_showSmp = ri.Cvar_Get ("r_showSmp", "0", CVAR_CHEAT); r_skipBackEnd = ri.Cvar_Get ("r_skipBackEnd", "0", CVAR_CHEAT); r_measureOverdraw = ri.Cvar_Get( "r_measureOverdraw", "0", CVAR_CHEAT ); r_norefresh = ri.Cvar_Get ("r_norefresh", "0", CVAR_CHEAT); r_drawentities = ri.Cvar_Get ("r_drawentities", "1", CVAR_CHEAT ); r_ignore = ri.Cvar_Get( "r_ignore", "1", CVAR_TEMP ); r_nocull = ri.Cvar_Get ("r_nocull", "0", CVAR_CHEAT); r_novis = ri.Cvar_Get ("r_novis", "0", CVAR_CHEAT); r_showcluster = ri.Cvar_Get ("r_showcluster", "0", CVAR_CHEAT); r_speeds = ri.Cvar_Get ("r_speeds", "0", CVAR_CHEAT); r_verbose = ri.Cvar_Get( "r_verbose", "0", CVAR_CHEAT ); r_logFile = ri.Cvar_Get( "r_logFile", "0", CVAR_CHEAT ); r_debugSurface = ri.Cvar_Get ("r_debugSurface", "0", CVAR_CHEAT); r_nobind = ri.Cvar_Get ("r_nobind", "0", CVAR_CHEAT); r_showtris = ri.Cvar_Get ("r_showtris", "0", CVAR_CHEAT); r_showtriscolor = ri.Cvar_Get ("r_showtriscolor", "0", CVAR_ARCHIVE); r_showsky = ri.Cvar_Get ("r_showsky", "0", CVAR_CHEAT); r_shownormals = ri.Cvar_Get ("r_shownormals", "0", CVAR_CHEAT); r_clear = ri.Cvar_Get ("r_clear", "0", CVAR_CHEAT); r_offsetFactor = ri.Cvar_Get( "r_offsetfactor", "-1", CVAR_CHEAT ); r_offsetUnits = ri.Cvar_Get( "r_offsetunits", "-2", CVAR_CHEAT ); r_drawBuffer = ri.Cvar_Get( "r_drawBuffer", "GL_BACK", CVAR_CHEAT ); r_lockpvs = ri.Cvar_Get ("r_lockpvs", "0", CVAR_CHEAT); r_noportals = ri.Cvar_Get ("r_noportals", "0", CVAR_CHEAT); r_shadows = ri.Cvar_Get( "cg_shadows", "1", 0 ); r_scissorbroken = ri.Cvar_Get( "r_scissorbroken", "0", 0 ); /* Ghoul2 Insert Start */ r_noGhoul2 = ri.Cvar_Get( "r_noghoul2", "0", CVAR_CHEAT); r_Ghoul2AnimSmooth = ri.Cvar_Get( "r_ghoul2animsmooth", "0.25", 0); r_Ghoul2UnSqash = ri.Cvar_Get( "r_ghoul2unsquash", "1", 0); r_Ghoul2TimeBase = ri.Cvar_Get( "r_ghoul2timebase", "2", 0); r_Ghoul2NoLerp = ri.Cvar_Get( "r_ghoul2nolerp", "0", 0); r_Ghoul2NoBlend = ri.Cvar_Get( "r_ghoul2noblend", "0", 0); r_Ghoul2BlendMultiplier = ri.Cvar_Get( "r_ghoul2blendmultiplier", "1", 0); r_Ghoul2UnSqashAfterSmooth = ri.Cvar_Get( "r_ghoul2unsquashaftersmooth", "1", 0); /* Ghoul2 Insert End */ extern qboolean Sys_LowPhysicalMemory(); r_modelpoolmegs = Cvar_Get("r_modelpoolmegs", "20", CVAR_ARCHIVE); if (Sys_LowPhysicalMemory() ) { Cvar_Set("r_modelpoolmegs", "0"); } // make sure all the commands added here are also // removed in R_Shutdown ri.Cmd_AddCommand( "imagelist", R_ImageList_f ); ri.Cmd_AddCommand( "shaderlist", R_ShaderList_f ); ri.Cmd_AddCommand( "skinlist", R_SkinList_f ); ri.Cmd_AddCommand( "modellist", R_Modellist_f ); ri.Cmd_AddCommand( "modelist", R_ModeList_f ); ri.Cmd_AddCommand( "screenshot", R_ScreenShot_f ); ri.Cmd_AddCommand( "screenshot_tga", R_ScreenShotTGA_f ); ri.Cmd_AddCommand( "gfxinfo", GfxInfo_f ); ri.Cmd_AddCommand( "r_fogDistance", R_FogDistance_f); ri.Cmd_AddCommand( "r_fogColor", R_FogColor_f); ri.Cmd_AddCommand( "modelcacheinfo", RE_RegisterModels_Info_f); ri.Cmd_AddCommand( "imagecacheinfo", RE_RegisterImages_Info_f); // make sure all the commands added above are also // removed in R_Shutdown }
/* =============== R_Register =============== */ void R_Register( void ) { // // latched and archived variables // r_glDriver = ri.Cvar_Get( "r_glDriver", OPENGL_DRIVER_NAME, CVAR_ARCHIVE | CVAR_LATCH ); r_allowExtensions = ri.Cvar_Get( "r_allowExtensions", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_ext_compressed_textures = ri.Cvar_Get( "r_ext_compressed_textures", "1", CVAR_ARCHIVE | CVAR_LATCH ); // (SA) ew, a spelling change I missed from the missionpack r_ext_gamma_control = ri.Cvar_Get( "r_ext_gamma_control", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_ext_multitexture = ri.Cvar_Get( "r_ext_multitexture", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_ext_compiled_vertex_array = ri.Cvar_Get( "r_ext_compiled_vertex_array", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_glIgnoreWicked3D = ri.Cvar_Get( "r_glIgnoreWicked3D", "0", CVAR_ARCHIVE | CVAR_LATCH ); //----(SA) added r_ext_ATI_pntriangles = ri.Cvar_Get( "r_ext_ATI_pntriangles", "0", CVAR_ARCHIVE | CVAR_LATCH ); //----(SA) default to '0' r_ati_truform_tess = ri.Cvar_Get( "r_ati_truform_tess", "1", CVAR_ARCHIVE ); // GR - Change default mode -- linear doesn't do much... r_ati_truform_normalmode = ri.Cvar_Get( "r_ati_truform_normalmode", "QUADRATIC", CVAR_ARCHIVE ); r_ati_truform_pointmode = ri.Cvar_Get( "r_ati_truform_pointmode", "CUBIC", CVAR_ARCHIVE ); r_ati_fsaa_samples = ri.Cvar_Get( "r_ati_fsaa_samples", "1", CVAR_ARCHIVE ); //DAJ valids are 1, 2, 4 r_ext_texture_filter_anisotropic = ri.Cvar_Get( "r_ext_texture_filter_anisotropic", "0", CVAR_ARCHIVE ); r_ext_NV_fog_dist = ri.Cvar_Get( "r_ext_NV_fog_dist", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_nv_fogdist_mode = ri.Cvar_Get( "r_nv_fogdist_mode", "GL_EYE_RADIAL_NV", CVAR_ARCHIVE ); // default to 'looking good' //----(SA) end #if defined( __unix__ ) && !defined( __APPLE__ ) // broken on linux r_ext_texture_env_add = ri.Cvar_Get( "r_ext_texture_env_add", "0", CVAR_ARCHIVE | CVAR_LATCH ); #else r_ext_texture_env_add = ri.Cvar_Get( "r_ext_texture_env_add", "1", CVAR_ARCHIVE | CVAR_LATCH ); #endif r_picmip = ri.Cvar_Get( "r_picmip", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_picmip2 = ri.Cvar_Get( "r_picmip2", "2", CVAR_ARCHIVE | CVAR_LATCH ); // used for character skins picmipping at a different level from the rest of the game r_roundImagesDown = ri.Cvar_Get( "r_roundImagesDown", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_lowMemTextureSize = ri.Cvar_Get( "r_lowMemTextureSize", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_lowMemTextureThreshold = ri.Cvar_Get( "r_lowMemTextureThreshold", "15.0", CVAR_ARCHIVE | CVAR_LATCH ); r_rmse = ri.Cvar_Get( "r_rmse", "0.0", CVAR_ARCHIVE | CVAR_LATCH ); r_colorMipLevels = ri.Cvar_Get( "r_colorMipLevels", "0", CVAR_LATCH ); AssertCvarRange( r_picmip, 0, 16, qtrue ); AssertCvarRange( r_picmip2, 0, 16, qtrue ); r_detailTextures = ri.Cvar_Get( "r_detailtextures", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_texturebits = ri.Cvar_Get( "r_texturebits", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_colorbits = ri.Cvar_Get( "r_colorbits", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_stereo = ri.Cvar_Get( "r_stereo", "0", CVAR_ARCHIVE | CVAR_LATCH ); #if defined ( __unix__ ) && !defined ( __APPLE__ ) r_stencilbits = ri.Cvar_Get( "r_stencilbits", "0", CVAR_ARCHIVE | CVAR_LATCH ); #elif defined ( __MACOS__ ) { // extern long gSystemVersion; // if(gSystemVersion >= 0x1000) // r_stencilbits = ri.Cvar_Get( "r_stencilbits", "8", CVAR_ARCHIVE | CVAR_LATCH ); // else r_stencilbits = ri.Cvar_Get( "r_stencilbits", "0", CVAR_ARCHIVE | CVAR_LATCH ); } #else r_stencilbits = ri.Cvar_Get( "r_stencilbits", "8", CVAR_ARCHIVE | CVAR_LATCH ); #endif r_depthbits = ri.Cvar_Get( "r_depthbits", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_overBrightBits = ri.Cvar_Get( "r_overBrightBits", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_ignorehwgamma = ri.Cvar_Get( "r_ignorehwgamma", "1", CVAR_ARCHIVE | CVAR_LATCH ); //----(SA) changed this to default to '1' for Drew r_mode = ri.Cvar_Get( "r_mode", "3", CVAR_ARCHIVE | CVAR_LATCH ); r_fullscreen = ri.Cvar_Get( "r_fullscreen", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_customwidth = ri.Cvar_Get( "r_customwidth", "1600", CVAR_ARCHIVE | CVAR_LATCH ); r_customheight = ri.Cvar_Get( "r_customheight", "1024", CVAR_ARCHIVE | CVAR_LATCH ); r_customaspect = ri.Cvar_Get( "r_customaspect", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_simpleMipMaps = ri.Cvar_Get( "r_simpleMipMaps", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_vertexLight = ri.Cvar_Get( "r_vertexLight", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_uiFullScreen = ri.Cvar_Get( "r_uifullscreen", "0", 0 ); r_subdivisions = ri.Cvar_Get( "r_subdivisions", "4", CVAR_ARCHIVE | CVAR_LATCH ); #ifdef MACOS_X // Default to using SMP on Mac OS X if we have multiple processors r_smp = ri.Cvar_Get( "r_smp", Sys_ProcessorCount() > 1 ? "1" : "0", CVAR_ARCHIVE | CVAR_LATCH ); #else r_smp = ri.Cvar_Get( "r_smp", "0", CVAR_ARCHIVE | CVAR_LATCH ); #endif r_ignoreFastPath = ri.Cvar_Get( "r_ignoreFastPath", "1", CVAR_ARCHIVE | CVAR_LATCH ); // // temporary latched variables that can only change over a restart // r_displayRefresh = ri.Cvar_Get( "r_displayRefresh", "0", CVAR_LATCH ); AssertCvarRange( r_displayRefresh, 0, 200, qtrue ); r_fullbright = ri.Cvar_Get( "r_fullbright", "0", CVAR_LATCH | CVAR_CHEAT ); r_mapOverBrightBits = ri.Cvar_Get( "r_mapOverBrightBits", "2", CVAR_LATCH ); r_intensity = ri.Cvar_Get( "r_intensity", "1", CVAR_LATCH ); r_singleShader = ri.Cvar_Get( "r_singleShader", "0", CVAR_CHEAT | CVAR_LATCH ); // // archived variables that can change at any time // r_lodCurveError = ri.Cvar_Get( "r_lodCurveError", "250", CVAR_ARCHIVE ); r_lodbias = ri.Cvar_Get( "r_lodbias", "0", CVAR_ARCHIVE ); r_flares = ri.Cvar_Get( "r_flares", "1", CVAR_ARCHIVE ); r_znear = ri.Cvar_Get( "r_znear", "4", CVAR_CHEAT ); AssertCvarRange( r_znear, 0.001f, 200, qtrue ); //----(SA) added r_zfar = ri.Cvar_Get( "r_zfar", "0", CVAR_CHEAT ); //----(SA) end r_ignoreGLErrors = ri.Cvar_Get( "r_ignoreGLErrors", "1", CVAR_ARCHIVE ); r_fastsky = ri.Cvar_Get( "r_fastsky", "0", CVAR_ARCHIVE ); r_inGameVideo = ri.Cvar_Get( "r_inGameVideo", "1", CVAR_ARCHIVE ); r_drawSun = ri.Cvar_Get( "r_drawSun", "1", CVAR_ARCHIVE ); r_dynamiclight = ri.Cvar_Get( "r_dynamiclight", "1", CVAR_ARCHIVE ); r_dlightScale = ri.Cvar_Get( "r_dlightScale", "1.0", CVAR_ARCHIVE ); //----(SA) added r_dlightBacks = ri.Cvar_Get( "r_dlightBacks", "1", CVAR_ARCHIVE ); r_finish = ri.Cvar_Get( "r_finish", "0", CVAR_ARCHIVE ); r_textureMode = ri.Cvar_Get( "r_textureMode", "GL_LINEAR_MIPMAP_NEAREST", CVAR_ARCHIVE ); r_swapInterval = ri.Cvar_Get( "r_swapInterval", "0", CVAR_ARCHIVE ); #ifdef __MACOS__ r_gamma = ri.Cvar_Get( "r_gamma", "1.2", CVAR_ARCHIVE ); #else r_gamma = ri.Cvar_Get( "r_gamma", "1.3", CVAR_ARCHIVE ); #endif r_facePlaneCull = ri.Cvar_Get( "r_facePlaneCull", "1", CVAR_ARCHIVE ); r_railWidth = ri.Cvar_Get( "r_railWidth", "16", CVAR_ARCHIVE ); r_railCoreWidth = ri.Cvar_Get( "r_railCoreWidth", "1", CVAR_ARCHIVE ); r_railSegmentLength = ri.Cvar_Get( "r_railSegmentLength", "32", CVAR_ARCHIVE ); r_waterFogColor = ri.Cvar_Get( "r_waterFogColor", "0", CVAR_ROM ); //----(SA) added r_mapFogColor = ri.Cvar_Get( "r_mapFogColor", "0", CVAR_ROM ); //----(SA) added r_savegameFogColor = ri.Cvar_Get( "r_savegameFogColor", "0", CVAR_ROM ); //----(SA) added r_primitives = ri.Cvar_Get( "r_primitives", "0", CVAR_ARCHIVE ); r_ambientScale = ri.Cvar_Get( "r_ambientScale", "0.5", CVAR_CHEAT ); r_directedScale = ri.Cvar_Get( "r_directedScale", "1", CVAR_CHEAT ); // // temporary variables that can change at any time // r_showImages = ri.Cvar_Get( "r_showImages", "0", CVAR_TEMP ); r_debugLight = ri.Cvar_Get( "r_debuglight", "0", CVAR_TEMP ); r_debugSort = ri.Cvar_Get( "r_debugSort", "0", CVAR_CHEAT ); r_printShaders = ri.Cvar_Get( "r_printShaders", "0", 0 ); r_saveFontData = ri.Cvar_Get( "r_saveFontData", "0", 0 ); // Ridah // show_bug.cgi?id=440 // NOTE TTimo: r_cache is disabled by default in SP ri.Cvar_Set( "r_cache", "0" ); r_cache = ri.Cvar_Get( "r_cache", "1", CVAR_LATCH ); // leaving it as this for backwards compability. but it caches models and shaders also // (SA) disabling cacheshaders ri.Cvar_Set( "r_cacheShaders", "0" ); r_cacheShaders = ri.Cvar_Get( "r_cacheShaders", "0", CVAR_LATCH ); //----(SA) end r_cacheModels = ri.Cvar_Get( "r_cacheModels", "1", CVAR_LATCH ); r_compressModels = ri.Cvar_Get( "r_compressModels", "0", 0 ); // converts MD3 -> MDC at run-time r_exportCompressedModels = ri.Cvar_Get( "r_exportCompressedModels", "0", 0 ); // saves compressed models r_cacheGathering = ri.Cvar_Get( "cl_cacheGathering", "0", 0 ); r_buildScript = ri.Cvar_Get( "com_buildscript", "0", 0 ); r_bonesDebug = ri.Cvar_Get( "r_bonesDebug", "0", CVAR_CHEAT ); // done. // Rafael - wolf fog r_wolffog = ri.Cvar_Get( "r_wolffog", "1", 0 ); // done r_nocurves = ri.Cvar_Get( "r_nocurves", "0", CVAR_CHEAT ); r_drawworld = ri.Cvar_Get( "r_drawworld", "1", CVAR_CHEAT ); r_lightmap = ri.Cvar_Get( "r_lightmap", "0", CVAR_CHEAT ); r_portalOnly = ri.Cvar_Get( "r_portalOnly", "0", CVAR_CHEAT ); r_flareSize = ri.Cvar_Get( "r_flareSize", "40", CVAR_CHEAT ); r_flareFade = ri.Cvar_Get( "r_flareFade", "5", CVAR_CHEAT ); r_showSmp = ri.Cvar_Get( "r_showSmp", "0", CVAR_CHEAT ); r_skipBackEnd = ri.Cvar_Get( "r_skipBackEnd", "0", CVAR_CHEAT ); r_measureOverdraw = ri.Cvar_Get( "r_measureOverdraw", "0", CVAR_CHEAT ); r_lodscale = ri.Cvar_Get( "r_lodscale", "5", CVAR_CHEAT ); r_norefresh = ri.Cvar_Get( "r_norefresh", "0", CVAR_CHEAT ); r_drawentities = ri.Cvar_Get( "r_drawentities", "1", CVAR_CHEAT ); r_ignore = ri.Cvar_Get( "r_ignore", "1", CVAR_CHEAT ); r_nocull = ri.Cvar_Get( "r_nocull", "0", CVAR_CHEAT ); r_novis = ri.Cvar_Get( "r_novis", "0", CVAR_CHEAT ); r_showcluster = ri.Cvar_Get( "r_showcluster", "0", CVAR_CHEAT ); r_speeds = ri.Cvar_Get( "r_speeds", "0", CVAR_CHEAT ); r_verbose = ri.Cvar_Get( "r_verbose", "0", CVAR_CHEAT ); r_logFile = ri.Cvar_Get( "r_logFile", "0", CVAR_CHEAT ); r_debugSurface = ri.Cvar_Get( "r_debugSurface", "0", CVAR_CHEAT ); r_nobind = ri.Cvar_Get( "r_nobind", "0", CVAR_CHEAT ); r_showtris = ri.Cvar_Get( "r_showtris", "0", CVAR_CHEAT ); r_showsky = ri.Cvar_Get( "r_showsky", "0", CVAR_CHEAT ); r_shownormals = ri.Cvar_Get( "r_shownormals", "0", CVAR_CHEAT ); r_clear = ri.Cvar_Get( "r_clear", "0", CVAR_CHEAT ); r_offsetFactor = ri.Cvar_Get( "r_offsetfactor", "-1", CVAR_CHEAT ); r_offsetUnits = ri.Cvar_Get( "r_offsetunits", "-2", CVAR_CHEAT ); r_drawBuffer = ri.Cvar_Get( "r_drawBuffer", "GL_BACK", CVAR_CHEAT ); r_lockpvs = ri.Cvar_Get( "r_lockpvs", "0", CVAR_CHEAT ); r_noportals = ri.Cvar_Get( "r_noportals", "0", CVAR_CHEAT ); r_shadows = ri.Cvar_Get( "cg_shadows", "1", 0 ); r_shadows = ri.Cvar_Get( "cg_shadows", "1", 0 ); r_portalsky = ri.Cvar_Get( "cg_skybox", "1", 0 ); r_maxpolys = ri.Cvar_Get( "r_maxpolys", va( "%d", MAX_POLYS ), 0 ); r_maxpolyverts = ri.Cvar_Get( "r_maxpolyverts", va( "%d", MAX_POLYVERTS ), 0 ); r_highQualityVideo = ri.Cvar_Get( "r_highQualityVideo", "1", CVAR_ARCHIVE ); // make sure all the commands added here are also // removed in R_Shutdown ri.Cmd_AddCommand( "imagelist", R_ImageList_f ); ri.Cmd_AddCommand( "shaderlist", R_ShaderList_f ); ri.Cmd_AddCommand( "skinlist", R_SkinList_f ); ri.Cmd_AddCommand( "modellist", R_Modellist_f ); ri.Cmd_AddCommand( "modelist", R_ModeList_f ); ri.Cmd_AddCommand( "screenshot", R_ScreenShot_f ); ri.Cmd_AddCommand( "screenshotJPEG", R_ScreenShotJPEG_f ); ri.Cmd_AddCommand( "gfxinfo", GfxInfo_f ); ri.Cmd_AddCommand( "taginfo", R_TagInfo_f ); // Ridah ri.Cmd_AddCommand( "cropimages", R_CropImages_f ); // done. }