gl1 and gl3 having their own menu data

This commit is contained in:
David Carlier 2022-10-29 07:42:21 +01:00
parent 1a450ef23d
commit 575ea06b9d
1 changed files with 68 additions and 29 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 *gl1_colorlight;
static cvar_t *gl3_colorlight; static cvar_t *gl3_colorlight;
static menuframework_s s_opengl_menu; static menuframework_s s_opengl_menu;
@ -53,9 +54,12 @@ 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_gl1_intensity_slider;
static menuslider_s s_overbrightbits_slider; static menuslider_s s_gl3_intensity_slider;
static menulist_s s_colorlight_list; static menuslider_s s_gl1_overbrightbits_slider;
static menuslider_s s_gl3_overbrightbits_slider;
static menulist_s s_gl1_colorlight_list;
static menulist_s s_gl3_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;
@ -249,9 +253,14 @@ ApplyChanges(void *unused)
restart = true; restart = true;
} }
if (gl3_colorlight && gl3_colorlight->value != s_colorlight_list.curvalue) if (gl3_colorlight && gl3_colorlight->value != s_gl3_colorlight_list.curvalue)
{ {
Cvar_SetValue("gl3_colorlight", s_colorlight_list.curvalue); Cvar_SetValue("gl3_colorlight", s_gl3_colorlight_list.curvalue);
}
if (gl1_colorlight && gl1_colorlight->value != s_gl1_colorlight_list.curvalue)
{
Cvar_SetValue("gl1_colorlight", s_gl1_colorlight_list.curvalue);
} }
/* anisotropic filtering */ /* anisotropic filtering */
@ -499,33 +508,57 @@ VID_MenuInit(void)
if (strcmp(vid_renderer->string, "gl3") == 0 || strcmp(vid_renderer->string, "gles3") == 0) if (strcmp(vid_renderer->string, "gl3") == 0 || strcmp(vid_renderer->string, "gles3") == 0)
{ {
s_intensity_slider.generic.type = MTYPE_SLIDER; gl1_colorlight = NULL;
s_intensity_slider.generic.name = "color intensity"; s_gl3_intensity_slider.generic.type = MTYPE_SLIDER;
s_intensity_slider.generic.x = 0; s_gl3_intensity_slider.generic.name = "color intensity";
s_intensity_slider.generic.y = (y += 10); s_gl3_intensity_slider.generic.x = 0;
s_intensity_slider.cvar = "gl3_intensity"; s_gl3_intensity_slider.generic.y = (y += 10);
s_intensity_slider.minvalue = 0.1f; s_gl3_intensity_slider.cvar = "gl3_intensity";
s_intensity_slider.maxvalue = 256.0f; s_gl3_intensity_slider.minvalue = 0.1f;
s_gl3_intensity_slider.maxvalue = 5.0f;
s_overbrightbits_slider.generic.type = MTYPE_SLIDER; s_gl3_overbrightbits_slider.generic.type = MTYPE_SLIDER;
s_overbrightbits_slider.generic.name = "overbrights"; s_gl3_overbrightbits_slider.generic.name = "overbrights";
s_overbrightbits_slider.generic.x = 0; s_gl3_overbrightbits_slider.generic.x = 0;
s_overbrightbits_slider.generic.y = (y += 10); s_gl3_overbrightbits_slider.generic.y = (y += 10);
s_overbrightbits_slider.cvar = "gl3_overbrightbits"; s_gl3_overbrightbits_slider.cvar = "gl3_overbrightbits";
s_overbrightbits_slider.minvalue = 0.1f; s_gl3_overbrightbits_slider.minvalue = 0.1f;
s_overbrightbits_slider.maxvalue = 256.0f; s_gl3_overbrightbits_slider.maxvalue = 5.0f;
gl3_colorlight = Cvar_Get("gl3_colorlight", "1", CVAR_ARCHIVE); gl3_colorlight = Cvar_Get("gl3_colorlight", "1", CVAR_ARCHIVE);
s_colorlight_list.generic.type = MTYPE_SPINCONTROL; s_gl3_colorlight_list.generic.type = MTYPE_SPINCONTROL;
s_colorlight_list.generic.name = "color light"; s_gl3_colorlight_list.generic.name = "color light";
s_colorlight_list.generic.x = 0; s_gl3_colorlight_list.generic.x = 0;
s_colorlight_list.generic.y = (y += 10); s_gl3_colorlight_list.generic.y = (y += 10);
s_colorlight_list.itemnames = yesno_names; s_gl3_colorlight_list.itemnames = yesno_names;
s_colorlight_list.curvalue = (gl3_colorlight->value != 0); s_gl3_colorlight_list.curvalue = (gl3_colorlight->value != 0);
} }
else else
{ {
gl3_colorlight = 0; gl3_colorlight = NULL;
s_gl1_intensity_slider.generic.type = MTYPE_SLIDER;
s_gl1_intensity_slider.generic.name = "color intensity";
s_gl1_intensity_slider.generic.x = 0;
s_gl1_intensity_slider.generic.y = (y += 10);
s_gl1_intensity_slider.cvar = "gl1_intensity";
s_gl1_intensity_slider.minvalue = 1.0f;
s_gl1_intensity_slider.maxvalue = 10.0f;
s_gl1_overbrightbits_slider.generic.type = MTYPE_SLIDER;
s_gl1_overbrightbits_slider.generic.name = "overbrights";
s_gl1_overbrightbits_slider.generic.x = 0;
s_gl1_overbrightbits_slider.generic.y = (y += 10);
s_gl1_overbrightbits_slider.cvar = "gl1_overbrightbits";
s_gl1_overbrightbits_slider.minvalue = 0;
s_gl1_overbrightbits_slider.maxvalue = 3;
gl1_colorlight = Cvar_Get("gl1_colorlight", "1", CVAR_ARCHIVE);
s_gl1_colorlight_list.generic.type = MTYPE_SPINCONTROL;
s_gl1_colorlight_list.generic.name = "color light";
s_gl1_colorlight_list.generic.x = 0;
s_gl1_colorlight_list.generic.y = (y += 10);
s_gl1_colorlight_list.itemnames = yesno_names;
s_gl1_colorlight_list.curvalue = (gl1_colorlight->value != 0);
} }
s_uiscale_list.generic.type = MTYPE_SPINCONTROL; s_uiscale_list.generic.type = MTYPE_SPINCONTROL;
@ -625,9 +658,15 @@ VID_MenuInit(void)
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) 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_gl3_intensity_slider);
Menu_AddItem(&s_opengl_menu, (void *)&s_overbrightbits_slider); Menu_AddItem(&s_opengl_menu, (void *)&s_gl3_overbrightbits_slider);
Menu_AddItem(&s_opengl_menu, (void *)&s_colorlight_list); Menu_AddItem(&s_opengl_menu, (void *)&s_gl3_colorlight_list);
}
else if (strcmp(vid_renderer->string, "gl1") == 0)
{
Menu_AddItem(&s_opengl_menu, (void *)&s_gl1_intensity_slider);
Menu_AddItem(&s_opengl_menu, (void *)&s_gl1_overbrightbits_slider);
Menu_AddItem(&s_opengl_menu, (void *)&s_gl1_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);