Merge pull request #915 from devnexen/renderer_new_options

gl3/gl3es renderer display intensity/colorlight sub options.
This commit is contained in:
Yamagi 2022-10-23 14:54:44 +02:00 committed by GitHub
commit eab0f90289
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 49 additions and 3 deletions

View File

@ -43,6 +43,7 @@ extern cvar_t *vid_renderer;
static cvar_t *r_vsync; static cvar_t *r_vsync;
static cvar_t *gl_anisotropic; static cvar_t *gl_anisotropic;
static cvar_t *gl_msaa_samples; static cvar_t *gl_msaa_samples;
static cvar_t *gl3_colorlight;
static menuframework_s s_opengl_menu; static menuframework_s s_opengl_menu;
@ -52,6 +53,9 @@ static menulist_s s_display_list;
static menulist_s s_uiscale_list; static menulist_s s_uiscale_list;
static menuslider_s s_brightness_slider; static menuslider_s s_brightness_slider;
static menuslider_s s_fov_slider; static menuslider_s s_fov_slider;
static menuslider_s s_intensity_slider;
static menuslider_s s_overbrightbits_slider;
static menulist_s s_colorlight_list;
static menulist_s s_fs_box; static menulist_s s_fs_box;
static menulist_s s_vsync_list; static menulist_s s_vsync_list;
static menulist_s s_af_list; static menulist_s s_af_list;
@ -245,6 +249,11 @@ ApplyChanges(void *unused)
restart = true; restart = true;
} }
if (gl3_colorlight && gl3_colorlight->value != s_colorlight_list.curvalue)
{
Cvar_SetValue("gl3_colorlight", s_colorlight_list.curvalue);
}
/* anisotropic filtering */ /* anisotropic filtering */
if (s_af_list.curvalue == 0) if (s_af_list.curvalue == 0)
{ {
@ -294,10 +303,10 @@ VID_MenuInit(void)
{ {
int y = 0; int y = 0;
// Renderer selection box. // Renderer selection box.
// MAXRENDERERS + Custom + NULL. // MAXRENDERERS + Custom + NULL.
static const char *renderers[MAXRENDERERS + 2] = { NULL }; static const char *renderers[MAXRENDERERS + 2] = { NULL };
Renderer_FillRenderdef(); Renderer_FillRenderdef();
for (int i = 0; i < numrenderer; i++) for (int i = 0; i < numrenderer; i++)
{ {
@ -473,7 +482,7 @@ VID_MenuInit(void)
s_brightness_slider.generic.type = MTYPE_SLIDER; s_brightness_slider.generic.type = MTYPE_SLIDER;
s_brightness_slider.generic.name = "brightness"; s_brightness_slider.generic.name = "brightness";
s_brightness_slider.generic.x = 0; s_brightness_slider.generic.x = 0;
s_brightness_slider.generic.y = (y += 20); s_brightness_slider.generic.y = (y += 10);
s_brightness_slider.cvar = "vid_gamma"; s_brightness_slider.cvar = "vid_gamma";
s_brightness_slider.minvalue = 0.1f; s_brightness_slider.minvalue = 0.1f;
s_brightness_slider.maxvalue = 2.0f; s_brightness_slider.maxvalue = 2.0f;
@ -488,6 +497,37 @@ VID_MenuInit(void)
s_fov_slider.slidestep = 1; s_fov_slider.slidestep = 1;
s_fov_slider.printformat = "%.0f"; s_fov_slider.printformat = "%.0f";
if (strcmp(vid_renderer->string, "gl3") == 0 || strcmp(vid_renderer->string, "gles3") == 0)
{
s_intensity_slider.generic.type = MTYPE_SLIDER;
s_intensity_slider.generic.name = "color intensity";
s_intensity_slider.generic.x = 0;
s_intensity_slider.generic.y = (y += 10);
s_intensity_slider.cvar = "gl3_intensity";
s_intensity_slider.minvalue = 0.1f;
s_intensity_slider.maxvalue = 256.0f;
s_overbrightbits_slider.generic.type = MTYPE_SLIDER;
s_overbrightbits_slider.generic.name = "overbrights";
s_overbrightbits_slider.generic.x = 0;
s_overbrightbits_slider.generic.y = (y += 10);
s_overbrightbits_slider.cvar = "gl3_overbrightbits";
s_overbrightbits_slider.minvalue = 0.1f;
s_overbrightbits_slider.maxvalue = 256.0f;
gl3_colorlight = Cvar_Get("gl3_colorlight", "1", CVAR_ARCHIVE);
s_colorlight_list.generic.type = MTYPE_SPINCONTROL;
s_colorlight_list.generic.name = "color light";
s_colorlight_list.generic.x = 0;
s_colorlight_list.generic.y = (y += 10);
s_colorlight_list.itemnames = yesno_names;
s_colorlight_list.curvalue = (gl3_colorlight->value != 0);
}
else
{
gl3_colorlight = 0;
}
s_uiscale_list.generic.type = MTYPE_SPINCONTROL; s_uiscale_list.generic.type = MTYPE_SPINCONTROL;
s_uiscale_list.generic.name = "ui scale"; s_uiscale_list.generic.name = "ui scale";
s_uiscale_list.generic.x = 0; s_uiscale_list.generic.x = 0;
@ -583,6 +623,12 @@ VID_MenuInit(void)
Menu_AddItem(&s_opengl_menu, (void *)&s_brightness_slider); Menu_AddItem(&s_opengl_menu, (void *)&s_brightness_slider);
Menu_AddItem(&s_opengl_menu, (void *)&s_fov_slider); Menu_AddItem(&s_opengl_menu, (void *)&s_fov_slider);
if (strcmp(vid_renderer->string, "gl3") == 0 || strcmp(vid_renderer->string, "gles3") == 0)
{
Menu_AddItem(&s_opengl_menu, (void *)&s_intensity_slider);
Menu_AddItem(&s_opengl_menu, (void *)&s_overbrightbits_slider);
Menu_AddItem(&s_opengl_menu, (void *)&s_colorlight_list);
}
Menu_AddItem(&s_opengl_menu, (void *)&s_uiscale_list); Menu_AddItem(&s_opengl_menu, (void *)&s_uiscale_list);
Menu_AddItem(&s_opengl_menu, (void *)&s_fs_box); Menu_AddItem(&s_opengl_menu, (void *)&s_fs_box);
Menu_AddItem(&s_opengl_menu, (void *)&s_vsync_list); Menu_AddItem(&s_opengl_menu, (void *)&s_vsync_list);