removed com_machinespec cvar

- all HMD specific configuration to be done through the quest_default config files
- made sure that some of the video cvars aren't declared as CVAR_ROM
This commit is contained in:
Simon 2021-01-05 23:29:18 +00:00
parent c68b7e1373
commit 8d0cf340fc
8 changed files with 12 additions and 257 deletions

View file

@ -85,7 +85,6 @@ idCVar vr_msaa( "vr_msaa", "1", CVAR_FLOAT | CVAR_ARCHIVE, "MSAA" );
idCVar com_version( "si_version", version.string, CVAR_SYSTEM|CVAR_ROM|CVAR_SERVERINFO, "engine version" );
idCVar com_skipRenderer( "com_skipRenderer", "0", CVAR_BOOL|CVAR_SYSTEM, "skip the renderer completely" );
idCVar com_machineSpec( "com_machineSpec", "-1", CVAR_INTEGER | CVAR_ARCHIVE | CVAR_SYSTEM, "hardware classification, -1 = not detected, 0 = low quality, 1 = medium quality, 2 = high quality, 3 = ultra quality" );
idCVar com_purgeAll( "com_purgeAll", "1", CVAR_BOOL | CVAR_ARCHIVE | CVAR_SYSTEM, "purge everything between level loads" );
idCVar com_memoryMarker( "com_memoryMarker", "-1", CVAR_INTEGER | CVAR_SYSTEM | CVAR_INIT, "used as a marker for memory stats" );
idCVar com_preciseTic( "com_preciseTic", "1", CVAR_BOOL|CVAR_SYSTEM, "run one game tick every async thread update" );
@ -199,8 +198,6 @@ public:
void LocalizeMapData( const char *fileName, idLangDict &langDict );
void LocalizeSpecificMapData( const char *fileName, idLangDict &langDict, const idLangDict &replaceArgs );
void SetMachineSpec( void );
private:
void InitCommands( void );
void InitRenderSystem( void );
@ -1382,136 +1379,6 @@ void Com_WriteConfig_f( const idCmdArgs &args ) {
commonLocal.WriteConfigToFile( filename );
}
/*
=================
Com_SetMachineSpecs_f
=================
*/
//Unused on Quest
/*
void Com_SetMachineSpec_f( const idCmdArgs &args ) {
commonLocal.SetMachineSpec();
}
*/
/*
=================
Com_ExecMachineSpecs_f
=================
*/
#ifdef MACOS_X
void OSX_GetVideoCard( int& outVendorId, int& outDeviceId );
bool OSX_GetCPUIdentification( int& cpuId, bool& oldArchitecture );
#endif
//Unused on Quest
/*
void Com_ExecMachineSpec_f( const idCmdArgs &args ) {
if ( com_machineSpec.GetInteger() == 3 ) {
cvarSystem->SetCVarInteger( "image_anisotropy", 1, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_lodbias", 0, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_forceDownSize", 0, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_roundDown", 1, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_preload", 1, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_useAllFormats", 1, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_downSizeSpecular", 0, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_downSizeBump", 0, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_downSizeSpecularLimit", 64, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_downSizeBumpLimit", 256, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_usePrecompressedTextures", 0, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_downsize", 0 , CVAR_ARCHIVE );
cvarSystem->SetCVarString( "image_filter", "GL_LINEAR_MIPMAP_LINEAR", CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_anisotropy", 8, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_useCompression", 0, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_ignoreHighQuality", 0, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "s_maxSoundsPerShader", 0, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "r_mode", 5, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_useNormalCompression", 0, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "r_multiSamples", 0, CVAR_ARCHIVE );
} else if ( com_machineSpec.GetInteger() == 2 ) {
cvarSystem->SetCVarString( "image_filter", "GL_LINEAR_MIPMAP_LINEAR", CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_anisotropy", 1, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_lodbias", 0, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_forceDownSize", 0, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_roundDown", 1, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_preload", 1, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_useAllFormats", 1, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_downSizeSpecular", 0, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_downSizeBump", 0, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_downSizeSpecularLimit", 64, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_downSizeBumpLimit", 256, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_usePrecompressedTextures", 1, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_downsize", 0, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_anisotropy", 8, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_useCompression", 1, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_ignoreHighQuality", 0, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "s_maxSoundsPerShader", 0, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_useNormalCompression", 0, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "r_mode", 4, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "r_multiSamples", 0, CVAR_ARCHIVE );
} else if ( com_machineSpec.GetInteger() == 1 ) {
cvarSystem->SetCVarString( "image_filter", "GL_LINEAR_MIPMAP_LINEAR", CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_anisotropy", 1, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_lodbias", 0, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_downSize", 0, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_forceDownSize", 0, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_roundDown", 1, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_preload", 1, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_useCompression", 1, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_useAllFormats", 1, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_usePrecompressedTextures", 1, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_downSizeSpecular", 0, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_downSizeBump", 0, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_downSizeSpecularLimit", 64, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_downSizeBumpLimit", 256, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_useNormalCompression", 2, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "r_mode", 3, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "r_multiSamples", 0, CVAR_ARCHIVE );
} else {
cvarSystem->SetCVarString( "image_filter", "GL_LINEAR_MIPMAP_LINEAR", CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_anisotropy", 1, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_lodbias", 0, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_roundDown", 1, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_preload", 1, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_useAllFormats", 1, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_usePrecompressedTextures", 1, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_downSize", 0, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_anisotropy", 0, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_useCompression", 1, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_ignoreHighQuality", 1, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "s_maxSoundsPerShader", 1, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_downSizeSpecular", 1, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_downSizeBump", 1, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_downSizeSpecularLimit", 64, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_downSizeBumpLimit", 256, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "r_mode", 3 , CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "image_useNormalCompression", 2, CVAR_ARCHIVE );
cvarSystem->SetCVarInteger( "r_multiSamples", 0, CVAR_ARCHIVE );
}
cvarSystem->SetCVarBool( "com_purgeAll", true, CVAR_ARCHIVE );
cvarSystem->SetCVarBool( "r_forceLoadImages", false, CVAR_ARCHIVE );
cvarSystem->SetCVarBool( "g_decals", true, CVAR_ARCHIVE );
//cvarSystem->SetCVarBool( "g_projectileLights", true, CVAR_ARCHIVE );
//cvarSystem->SetCVarBool( "g_doubleVision", false, CVAR_ARCHIVE );
cvarSystem->SetCVarBool( "g_muzzleFlash", true, CVAR_ARCHIVE );
#if MACOS_X
// On low settings, G4 systems & 64MB FX5200/NV34 Systems should default shadows off
bool oldArch;
int vendorId, deviceId, cpuId;
OSX_GetVideoCard( vendorId, deviceId );
OSX_GetCPUIdentification( cpuId, oldArch );
bool isFX5200 = vendorId == 0x10DE && ( deviceId & 0x0FF0 ) == 0x0320;
if ( oldArch && ( com_machineSpec.GetInteger() == 0 ) ) {
cvarSystem->SetCVarBool( "r_shadows", false, CVAR_ARCHIVE );
} else {
cvarSystem->SetCVarBool( "r_shadows", true, CVAR_ARCHIVE );
}
#endif
}
*/
/*
=================
Com_ReloadEngine_f
@ -2302,8 +2169,6 @@ void idCommonLocal::InitCommands( void ) {
cmdSystem->AddCommand( "exit", Com_Quit_f, CMD_FL_SYSTEM, "exits the game" );
cmdSystem->AddCommand( "writeConfig", Com_WriteConfig_f, CMD_FL_SYSTEM, "writes a config file" );
cmdSystem->AddCommand( "reloadEngine", Com_ReloadEngine_f, CMD_FL_SYSTEM, "reloads the engine down to including the file system" );
// cmdSystem->AddCommand( "setMachineSpec", Com_SetMachineSpec_f, CMD_FL_SYSTEM, "detects system capabilities and sets com_machineSpec to appropriate value" );
// cmdSystem->AddCommand( "execMachineSpec", Com_ExecMachineSpec_f, CMD_FL_SYSTEM, "execs the appropriate config files and sets cvars based on com_machineSpec" );
#if !defined( ID_DEDICATED ) && !defined( __ANDROID__ )
// compilers
@ -2818,35 +2683,7 @@ bool idCommonLocal::IsInitialized( void ) const {
return com_fullyInitialized;
}
/*
=================
idCommonLocal::SetMachineSpec
=================
*/
void idCommonLocal::SetMachineSpec( void ) {
int sysRam = Sys_GetSystemRam();
Printf( "Detected\n\t%i MB of System memory\n\n", sysRam );
#ifdef __ANDROID__
Printf( "Forcing to Low quality as default.\n" );
com_machineSpec.SetInteger( 0 );
return;
#endif
if ( sysRam >= 1024 ) {
Printf( "This system qualifies for Ultra quality!\n" );
com_machineSpec.SetInteger( 3 );
} else if ( sysRam >= 512 ) {
Printf( "This system qualifies for High quality!\n" );
com_machineSpec.SetInteger( 2 );
} else if ( sysRam >= 384 ) {
Printf( "This system qualifies for Medium quality.\n" );
com_machineSpec.SetInteger( 1 );
} else {
Printf( "This system qualifies for Low quality.\n" );
com_machineSpec.SetInteger( 0 );
}
}
static unsigned int AsyncTimer(unsigned int interval, void *) {
common->Async();
@ -3178,11 +3015,6 @@ void idCommonLocal::InitGame( void ) {
fileSystem->CloseFile( file );
}
idCmdArgs args;
// if ( sysDetect ) {
// SetMachineSpec();
// Com_ExecMachineSpec_f( args );
// }
// initialize the renderSystem data structures, but don't start OpenGL yet
renderSystem->Init();
@ -3270,18 +3102,6 @@ void idCommonLocal::InitGame( void ) {
// init the session
session->Init();
// have to do this twice.. first one sets the correct r_mode for the renderer init
// this time around the backend is all setup correct.. a bit fugly but do not want
// to mess with all the gl init at this point.. an old vid card will never qualify for
/* if ( sysDetect ) {
SetMachineSpec();
Com_ExecMachineSpec_f( args );
cvarSystem->SetCVarInteger( "s_numberOfSpeakers", 6 );
cmdSystem->BufferCommandText( CMD_EXEC_NOW, "s_restart\n" );
cmdSystem->ExecuteCommandBuffer();
}
*/
}
/*

View file

@ -67,7 +67,6 @@ extern idCVar com_version;
extern idCVar com_skipRenderer;
extern idCVar com_asyncInput;
extern idCVar com_asyncSound;
extern idCVar com_machineSpec;
extern idCVar com_purgeAll;
extern idCVar com_developer;
extern idCVar com_allowConsole;

View file

@ -41,7 +41,7 @@ If you have questions concerning this license or the applicable additional terms
#define GAME_NAME "Doom3Quest" // appears on window titles and errors
#endif
#define ENGINE_VERSION "Doom3Quest 0.2.0" // printed in console
#define ENGINE_VERSION "Doom3Quest 0.5.1" // printed in console
#ifdef ID_REPRODUCIBLE_BUILD
// for reproducible builds we hardcode values that would otherwise come from __DATE__ and __TIME__

View file

@ -1497,13 +1497,9 @@ int idSessionLocal::GetBytesNeededForMapLoad( const char *mapName ) {
const idDecl *mapDecl = declManager->FindType( DECL_MAPDEF, mapName, false );
const idDeclEntityDef *mapDef = static_cast<const idDeclEntityDef *>( mapDecl );
if ( mapDef ) {
return mapDef->dict.GetInt( va("size%d", Max( 0, com_machineSpec.GetInteger() ) ) );
return mapDef->dict.GetInt( va("size%d", 3 ) );
} else {
if ( com_machineSpec.GetInteger() < 2 ) {
return 200 * 1024 * 1024;
} else {
return 400 * 1024 * 1024;
}
return 400 * 1024 * 1024;
}
}
@ -1519,7 +1515,7 @@ void idSessionLocal::SetBytesNeededForMapLoad( const char *mapName, int bytesNee
if ( com_updateLoadSize.GetBool() && mapDef ) {
// we assume that if com_updateLoadSize is true then the file is writable
mapDef->dict.SetInt( va("size%d", com_machineSpec.GetInteger()), bytesNeeded );
mapDef->dict.SetInt( va("size%d", 0), bytesNeeded );
idStr declText = "\nmapDef ";
declText += mapDef->GetName();

View file

@ -298,7 +298,7 @@ void idSessionLocal::SetMainMenuGuiVars( void ) {
guiMainMenu->SetStateString( "serverlist_sel_0", "-1" );
guiMainMenu->SetStateString( "serverlist_selid_0", "-1" );
guiMainMenu->SetStateInt( "com_machineSpec", com_machineSpec.GetInteger() );
guiMainMenu->SetStateInt( "com_machineSpec", 0 );
// "inetGame" will hold a hand-typed inet address, which is not archived to a cvar
guiMainMenu->SetStateString( "inetGame", "" );
@ -943,26 +943,6 @@ void idSessionLocal::HandleMainMenuCommands( const char *menuCommand ) {
vcmd = args.Argv( icmd++ );
}
int oldSpec = com_machineSpec.GetInteger();
if ( idStr::Icmp( vcmd, "low" ) == 0 ) {
com_machineSpec.SetInteger( 0 );
} else if ( idStr::Icmp( vcmd, "medium" ) == 0 ) {
com_machineSpec.SetInteger( 1 );
} else if ( idStr::Icmp( vcmd, "high" ) == 0 ) {
com_machineSpec.SetInteger( 2 );
} else if ( idStr::Icmp( vcmd, "ultra" ) == 0 ) {
com_machineSpec.SetInteger( 3 );
} else if ( idStr::Icmp( vcmd, "recommended" ) == 0 ) {
cmdSystem->BufferCommandText( CMD_EXEC_NOW, "setMachineSpec\n" );
}
if ( oldSpec != com_machineSpec.GetInteger() ) {
guiActive->SetStateInt( "com_machineSpec", com_machineSpec.GetInteger() );
guiActive->StateChanged( com_frameTime );
cmdSystem->BufferCommandText( CMD_EXEC_NOW, "execMachineSpec\n" );
}
if ( idStr::Icmp( vcmd, "restart" ) == 0) {
guiActive->HandleNamedEvent( "cvar write render" );
cmdSystem->BufferCommandText( CMD_EXEC_NOW, "vid_restart\n" );
@ -995,7 +975,6 @@ void idSessionLocal::HandleMainMenuCommands( const char *menuCommand ) {
cmdSystem->BufferCommandText( CMD_EXEC_NOW, args.Argv( icmd++ ) );
if ( idStr::Icmp( "cvar_restart", args.Argv( icmd - 1 ) ) == 0 ) {
cmdSystem->BufferCommandText( CMD_EXEC_NOW, "exec default.cfg" );
cmdSystem->BufferCommandText( CMD_EXEC_NOW, "setMachineSpec\n" );
//Make sure that any r_brightness changes take effect
float bright = cvarSystem->GetCVarFloat("r_brightness");
@ -1005,7 +984,7 @@ void idSessionLocal::HandleMainMenuCommands( const char *menuCommand ) {
//Force user info modified after a reset to defaults
cvarSystem->SetModifiedFlags(CVAR_USERINFO);
guiActive->SetStateInt( "com_machineSpec", com_machineSpec.GetInteger() );
guiActive->SetStateInt( "com_machineSpec", 0 );
//Restore the language
cvarSystem->SetCVarString("sys_lang", lang);

View file

@ -174,7 +174,7 @@ void idMultiplayerGame::Reset() {
// set this GUI so that our Draw function is still called when it becomes the active/fullscreen GUI
mainGui->SetStateBool( "gameDraw", true );
mainGui->SetKeyBindingNames();
mainGui->SetStateInt( "com_machineSpec", cvarSystem->GetCVarInteger( "com_machineSpec" ) );
mainGui->SetStateInt( "com_machineSpec", 0 );
SetMenuSkin();
msgmodeGui = uiManager->FindGui( "guis/mpmsgmode.gui", true, false, true );
msgmodeGui->SetStateBool( "gameDraw", true );
@ -1640,32 +1640,6 @@ const char* idMultiplayerGame::HandleGuiCommands( const char *_menuCommand ) {
if ( args.Argc() - icmd >= 1 ) {
vcmd = args.Argv( icmd++ );
}
//Do nothing for this on Quest
/* int oldSpec = cvarSystem->GetCVarInteger( "com_machineSpec" );
if ( idStr::Icmp( vcmd, "low" ) == 0 ) {
cvarSystem->SetCVarInteger( "com_machineSpec", 0 );
} else if ( idStr::Icmp( vcmd, "medium" ) == 0 ) {
cvarSystem->SetCVarInteger( "com_machineSpec", 1 );
} else if ( idStr::Icmp( vcmd, "high" ) == 0 ) {
cvarSystem->SetCVarInteger( "com_machineSpec", 2 );
} else if ( idStr::Icmp( vcmd, "ultra" ) == 0 ) {
cvarSystem->SetCVarInteger( "com_machineSpec", 3 );
} else if ( idStr::Icmp( vcmd, "recommended" ) == 0 ) {
cmdSystem->BufferCommandText( CMD_EXEC_NOW, "setMachineSpec\n" );
}
if ( oldSpec != cvarSystem->GetCVarInteger( "com_machineSpec" ) ) {
currentGui->SetStateInt( "com_machineSpec", cvarSystem->GetCVarInteger( "com_machineSpec" ) );
currentGui->StateChanged( gameLocal.realClientTime );
cmdSystem->BufferCommandText( CMD_EXEC_NOW, "execMachineSpec\n" );
}
if ( idStr::Icmp( vcmd, "restart" ) == 0) {
cmdSystem->BufferCommandText( CMD_EXEC_APPEND, "vid_restart\n" );
}
*/
continue;
} else if ( !idStr::Icmp( cmd, "play" ) ) {
if ( args.Argc() - icmd >= 1 ) {

View file

@ -54,31 +54,18 @@ idCVar idImageManager::image_anisotropy( "image_anisotropy", "1", CVAR_RENDERER
idCVar idImageManager::image_colorMipLevels( "image_colorMipLevels", "0", CVAR_RENDERER | CVAR_BOOL, "development aid to see texture mip usage" );
idCVar idImageManager::image_preload( "image_preload", "1", CVAR_RENDERER | CVAR_BOOL | CVAR_ARCHIVE, "if 0, dynamically load all images" );
idCVar idImageManager::image_showBackgroundLoads( "image_showBackgroundLoads", "0", CVAR_RENDERER | CVAR_BOOL, "1 = print number of outstanding background loads" );
#if 1
idCVar idImageManager::image_downSize( "image_downSize", "0", CVAR_RENDERER | CVAR_ROM, "controls texture downsampling" );
idCVar idImageManager::image_forceDownSize( "image_forceDownSize", "0", CVAR_RENDERER | CVAR_ROM | CVAR_BOOL, "" );
idCVar idImageManager::image_roundDown( "image_roundDown", "0", CVAR_RENDERER | CVAR_ROM | CVAR_BOOL, "round bad sizes down to nearest power of two" );
idCVar idImageManager::image_writeNormalTGA( "image_writeNormalTGA", "0", CVAR_RENDERER | CVAR_ROM | CVAR_BOOL, "write .tgas of the final normal maps for debugging" );
idCVar idImageManager::image_writeNormalTGAPalletized( "image_writeNormalTGAPalletized", "0", CVAR_RENDERER | CVAR_ROM | CVAR_BOOL, "write .tgas of the final palletized normal maps for debugging" );
idCVar idImageManager::image_writeTGA( "image_writeTGA", "0", CVAR_RENDERER | CVAR_ROM | CVAR_BOOL, "write .tgas of the non normal maps for debugging" );
idCVar idImageManager::image_downSizeSpecular( "image_downSizeSpecular", "0", CVAR_RENDERER | CVAR_ROM | CVAR_ARCHIVE, "controls specular downsampling" );
idCVar idImageManager::image_downSizeBump( "image_downSizeBump", "0", CVAR_RENDERER | CVAR_ROM, "controls normal map downsampling" );
idCVar idImageManager::image_downSizeSpecularLimit( "image_downSizeSpecularLimit", "64", CVAR_RENDERER | CVAR_ROM, "controls specular downsampled limit" );
idCVar idImageManager::image_downSizeBumpLimit( "image_downSizeBumpLimit", "128", CVAR_RENDERER | CVAR_ROM, "controls normal map downsample limit" );
idCVar idImageManager::image_downSizeLimit( "image_downSizeLimit", "256", CVAR_RENDERER | CVAR_ROM, "controls diffuse map downsample limit" );
#else
idCVar idImageManager::image_downSize( "image_downSize", "0", CVAR_RENDERER | CVAR_ARCHIVE, "controls texture downsampling" );
idCVar idImageManager::image_forceDownSize( "image_forceDownSize", "0", CVAR_RENDERER | CVAR_ARCHIVE | CVAR_BOOL, "" );
idCVar idImageManager::image_roundDown( "image_roundDown", "1", CVAR_RENDERER | CVAR_ARCHIVE | CVAR_BOOL, "round bad sizes down to nearest power of two" );
idCVar idImageManager::image_writeNormalTGA( "image_writeNormalTGA", "0", CVAR_RENDERER | CVAR_BOOL, "write .tgas of the final normal maps for debugging" );
idCVar idImageManager::image_writeNormalTGAPalletized( "image_writeNormalTGAPalletized", "0", CVAR_RENDERER | CVAR_BOOL, "write .tgas of the final palletized normal maps for debugging" );
idCVar idImageManager::image_writeTGA( "image_writeTGA", "0", CVAR_RENDERER | CVAR_BOOL, "write .tgas of the non normal maps for debugging" );
idCVar idImageManager::image_downSizeSpecular( "image_downSizeSpecular", "0", CVAR_RENDERER | CVAR_ARCHIVE, "controls specular downsampling" );
idCVar idImageManager::image_downSizeBump( "image_downSizeBump", "0", CVAR_RENDERER | CVAR_ARCHIVE, "controls normal map downsampling" );
idCVar idImageManager::image_downSizeSpecular( "image_downSizeSpecular", "1", CVAR_RENDERER | CVAR_ARCHIVE, "controls specular downsampling" );
idCVar idImageManager::image_downSizeBump( "image_downSizeBump", "1", CVAR_RENDERER | CVAR_ARCHIVE, "controls normal map downsampling" );
idCVar idImageManager::image_downSizeSpecularLimit( "image_downSizeSpecularLimit", "64", CVAR_RENDERER | CVAR_ARCHIVE, "controls specular downsampled limit" );
idCVar idImageManager::image_downSizeBumpLimit( "image_downSizeBumpLimit", "128", CVAR_RENDERER | CVAR_ARCHIVE, "controls normal map downsample limit" );
idCVar idImageManager::image_downSizeBumpLimit( "image_downSizeBumpLimit", "256", CVAR_RENDERER | CVAR_ARCHIVE, "controls normal map downsample limit" );
idCVar idImageManager::image_downSizeLimit( "image_downSizeLimit", "256", CVAR_RENDERER | CVAR_ARCHIVE, "controls diffuse map downsample limit" );
#endif
// do this with a pointer, in case we want to make the actual manager
// a private virtual subclass
idImageManager imageManager;

View file

@ -49,7 +49,7 @@ glconfig_t glConfig;
idCVar r_useLightPortalFlow( "r_useLightPortalFlow", "1", CVAR_RENDERER | CVAR_BOOL, "use a more precise area reference determination" );
idCVar r_multiSamples( "r_multiSamples", "0", CVAR_RENDERER | CVAR_ARCHIVE | CVAR_INTEGER, "number of antialiasing samples" );
idCVar r_mode( "r_mode", "5", CVAR_ARCHIVE | CVAR_RENDERER | CVAR_INTEGER, "video mode number" );
idCVar r_mode( "r_mode", "3", CVAR_ARCHIVE | CVAR_RENDERER | CVAR_INTEGER, "video mode number" );
idCVar r_displayRefresh( "r_displayRefresh", "0", CVAR_RENDERER | CVAR_INTEGER | CVAR_NOCHEAT, "optional display refresh rate option for vid mode", 0.0f, 200.0f );
idCVar r_fullscreen( "r_fullscreen", "0", CVAR_RENDERER | CVAR_ARCHIVE | CVAR_BOOL | CVAR_ROM, "0 = windowed, 1 = full screen" );
idCVar r_customWidth( "r_customWidth", "720", CVAR_RENDERER | CVAR_ARCHIVE | CVAR_INTEGER, "custom screen width. set r_mode to -1 to activate" );