Menus/Video/Advanced: hide Legacy GL options in Software mode

This commit is contained in:
James R 2024-04-10 05:33:39 -07:00
parent e46f246c95
commit 88ac62241f
3 changed files with 43 additions and 0 deletions

View file

@ -398,6 +398,36 @@ typedef enum
sopt_restart,
} sopt_e;
typedef enum
{
vaopt_spacer1,
vaopt_drawdist,
vaopt_weatherdist,
vaopt_skybox,
vaopt_parallel,
vaopt_frameskip,
vaopt_spacer2,
vaopt_spacer3,
vaopt_spacer4,
vaopt_spacer5,
vaopt_spacer6,
vaopt_spacer7,
vaopt_spacer8,
vaopt_spacer9,
vaopt_renderer,
vaopt_legacygl_begin,
vaopt_spacer10 = vaopt_legacygl_begin,
vaopt_3dmodels,
vaopt_shaders,
vaopt_spacer11,
vaopt_texturequal,
vaopt_anisotropic,
vaopt_spacer12,
vaopt_billboarding,
vaopt_perspective,
vaopt_legacygl_end,
} vaopt_e;
extern menuitem_t OPTIONS_Profiles[];
extern menu_t OPTIONS_ProfilesDef;
@ -1110,6 +1140,8 @@ void M_SoundOptions(INT32 choice);
void M_GameplayOptions(INT32 choice);
void M_ServerOptions(INT32 choice);
void M_RefreshAdvancedVideoOptions(void);
void M_HandleItemToggles(INT32 choice); // For item toggling
void M_EraseData(INT32 choice); // For data erasing
void M_CheckProfileData(INT32 choice); // check if we have profiles.

View file

@ -12,9 +12,11 @@
#include "../k_menu.h"
#include "../r_main.h" // cv_skybox
#include "../hardware/hw_main.h" // gl consvars
#include "../i_video.h" // rendermode
extern consvar_t cv_menuframeskip;
// see vaopt_e
menuitem_t OPTIONS_VideoAdvanced[] =
{
{IT_HEADER, "Performance...", NULL,
@ -113,3 +115,10 @@ menu_t OPTIONS_VideoAdvancedDef = {
NULL,
NULL,
};
void M_RefreshAdvancedVideoOptions(void)
{
OPTIONS_VideoAdvancedDef.numitems = rendermode == render_opengl
? sizeof (OPTIONS_VideoAdvanced) / sizeof (menuitem_t)
: vaopt_legacygl_begin;
}

View file

@ -1484,6 +1484,8 @@ boolean VID_CheckRenderer(void)
}
#endif
M_RefreshAdvancedVideoOptions();
return rendererchanged;
}