- some menu reorganization:

* dynamic lights also work in the true color software renderer and have been moved out of the OpenGL menu.
* created a separate software renderer menu and moved all relevant options there.
* delete non-applicable options when running in legacy mode.
* moved the OpenGL preferences menu one level up to eliminate a two-entry GL top level menu.
This commit is contained in:
Christoph Oelckers 2017-03-13 01:17:46 +01:00
commit 60fd79ce23
6 changed files with 312 additions and 282 deletions

View file

@ -94,7 +94,30 @@ void gl_PatchMenu()
if (gl_lightmode == 2 || gl_lightmode == 8) gl_lightmode = 3;
if (gl_fogmode == 2) gl_fogmode = 1;
// todo: remove more unsupported stuff like postprocessing options.
// remove more unsupported stuff like postprocessing options.
// This cannot be done with a menu filter because the renderer gets initialized long after the menu is set up.
DMenuDescriptor **desc = MenuDescriptors.CheckKey("OpenGLOptions");
if (desc != nullptr && (*desc)->IsKindOf(RUNTIME_CLASS(DOptionMenuDescriptor)))
{
auto md = static_cast<DOptionMenuDescriptor*>(*desc);
for (int i = md->mItems.Size() - 1; i >= 0; i--)
{
if (!stricmp(md->mItems[i]->mAction.GetChars(), "gl_multisample") ||
!stricmp(md->mItems[i]->mAction.GetChars(), "gl_tonemap") ||
!stricmp(md->mItems[i]->mAction.GetChars(), "gl_bloom") ||
!stricmp(md->mItems[i]->mAction.GetChars(), "gl_lens") ||
!stricmp(md->mItems[i]->mAction.GetChars(), "gl_ssao") ||
!stricmp(md->mItems[i]->mAction.GetChars(), "gl_ssao_portals") ||
!stricmp(md->mItems[i]->mAction.GetChars(), "gl_fxaa") ||
!stricmp(md->mItems[i]->mAction.GetChars(), "gl_paltonemap_powtable") ||
!stricmp(md->mItems[i]->mAction.GetChars(), "vr_mode") ||
!stricmp(md->mItems[i]->mAction.GetChars(), "vr_enable_quadbuffered") ||
!stricmp(md->mItems[i]->mAction.GetChars(), "gl_paltonemap_reverselookup"))
{
md->mItems.Delete(i);
}
}
}
}

View file

@ -67,6 +67,8 @@ void Stereo3DMode::setCurrentMode(const Stereo3DMode& mode) {
/* static */
const Stereo3DMode& Stereo3DMode::getCurrentMode()
{
if (gl.legacyMode) vr_mode = 0; // GL 2 does not support this feature.
// NOTE: Ensure that these vr_mode values correspond to the ones in wadsrc/static/menudef.z
switch (vr_mode)
{