// //--------------------------------------------------------------------------- // // Copyright(C) 2005-2016 Christoph Oelckers // All rights reserved. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU Lesser General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public License // along with this program. If not, see http://www.gnu.org/licenses/ // //-------------------------------------------------------------------------- // #include "gl/system/gl_system.h" #include "c_cvars.h" #include "c_dispatch.h" #include "v_video.h" #include "version.h" #include "gl/system/gl_interface.h" #include "gl/system/gl_cvars.h" #include "gl/renderer/gl_renderer.h" #include "menu/menu.h" // OpenGL stuff moved here // GL related CVARs CVAR(Bool, gl_portals, true, 0) CVAR(Bool, gl_noquery, false, 0) CVAR(Bool,gl_mirrors,true,0) // This is for debugging only! CVAR(Bool,gl_mirror_envmap, true, CVAR_GLOBALCONFIG|CVAR_ARCHIVE) CVAR(Bool, gl_seamless, false, CVAR_ARCHIVE|CVAR_GLOBALCONFIG) CUSTOM_CVAR(Int, r_mirror_recursions,4,CVAR_GLOBALCONFIG|CVAR_ARCHIVE) { if (self<0) self=0; if (self>10) self=10; } bool gl_plane_reflection_i; // This is needed in a header that cannot include the CVAR stuff... CUSTOM_CVAR(Bool, gl_plane_reflection, true, CVAR_GLOBALCONFIG|CVAR_ARCHIVE) { gl_plane_reflection_i = self; } CUSTOM_CVAR(Bool, gl_render_precise, false, CVAR_ARCHIVE|CVAR_GLOBALCONFIG) { gl_seamless=self; } CUSTOM_CVAR (Float, vid_brightness, 0.f, CVAR_ARCHIVE|CVAR_GLOBALCONFIG) { if (screen != NULL) { screen->SetGamma(Gamma); //Brightness (self); } } CUSTOM_CVAR (Float, vid_contrast, 1.f, CVAR_ARCHIVE|CVAR_GLOBALCONFIG) { if (screen != NULL) { screen->SetGamma(Gamma); //SetContrast (self); } } CUSTOM_CVAR (Float, vid_saturation, 1.f, CVAR_ARCHIVE|CVAR_GLOBALCONFIG) { if (screen != NULL) { screen->SetGamma(Gamma); } } CUSTOM_CVAR(Int, gl_satformula, 1, CVAR_ARCHIVE|CVAR_GLOBALCONFIG) { if (screen != NULL) { screen->SetGamma(Gamma); } } // Do some tinkering with the menus so that certain options only appear // when they are actually valid. void gl_SetupMenu() { #ifndef HAVE_MMX FOptionValues **opt = OptionValues.CheckKey("HqResizeModes"); if (opt != NULL) { for(int i = (*opt)->mValues.Size()-1; i>=0; i--) { // Delete hqNx MMX resize modes for targets // without support of this instruction set const auto index = llround((*opt)->mValues[i].Value); if (index > 6 && index < 10) { (*opt)->mValues.Delete(i); } } } #endif }