mirror of
https://github.com/yquake2/yquake2remaster.git
synced 2025-02-20 19:02:23 +00:00
Unify gl_mode and sw_mode in r_mode.
This commit is contained in:
parent
e6b0e19cff
commit
11ad28b711
12 changed files with 53 additions and 102 deletions
2
Makefile
2
Makefile
|
@ -28,7 +28,7 @@
|
|||
# -------------------------
|
||||
|
||||
# Build soft render
|
||||
WITH_REFSOFT:=no
|
||||
WITH_REFSOFT:=yes
|
||||
|
||||
# Enables CD audio playback. CD audio playback is used
|
||||
# for the background music and doesn't add any further
|
||||
|
|
|
@ -137,7 +137,7 @@ void
|
|||
VID_ListModes_f(void)
|
||||
{
|
||||
int i;
|
||||
Com_Printf("Supported video modes (gl_mode):\n");
|
||||
Com_Printf("Supported video modes (r_mode):\n");
|
||||
for(i=0; i<VID_NUM_MODES; ++i)
|
||||
{
|
||||
Com_Printf(" %s\n", vid_modes[i].description);
|
||||
|
|
|
@ -325,9 +325,9 @@ GLimp_InitGraphics(int fullscreen, int *pwidth, int *pheight)
|
|||
if((flags & SDL_OPENGL) && gl_msaa_samples->value)
|
||||
{
|
||||
Com_Printf("SDL SetVideoMode failed: %s\n", SDL_GetError());
|
||||
Com_Printf("Reverting to %s gl_mode %i (%ix%i) without MSAA.\n",
|
||||
Com_Printf("Reverting to %s r_mode %i (%ix%i) without MSAA.\n",
|
||||
(flags & fs_flag) ? "fullscreen" : "windowed",
|
||||
(int) Cvar_VariableValue("gl_mode"), width, height);
|
||||
(int) Cvar_VariableValue("r_mode"), width, height);
|
||||
|
||||
/* Try to recover */
|
||||
Cvar_SetValue("gl_msaa_samples", 0);
|
||||
|
@ -337,10 +337,10 @@ GLimp_InitGraphics(int fullscreen, int *pwidth, int *pheight)
|
|||
else if (width != 640 || height != 480 || (flags & fs_flag))
|
||||
{
|
||||
Com_Printf("SDL SetVideoMode failed: %s\n", SDL_GetError());
|
||||
Com_Printf("Reverting to windowed gl_mode 4 (640x480).\n");
|
||||
Com_Printf("Reverting to windowed r_mode 4 (640x480).\n");
|
||||
|
||||
/* Try to recover */
|
||||
Cvar_SetValue("gl_mode", 4);
|
||||
Cvar_SetValue("r_mode", 4);
|
||||
Cvar_SetValue("vid_fullscreen", 0);
|
||||
VID_NewWindow(width, height);
|
||||
*pwidth = width = 640;
|
||||
|
@ -349,7 +349,7 @@ GLimp_InitGraphics(int fullscreen, int *pwidth, int *pheight)
|
|||
}
|
||||
else
|
||||
{
|
||||
Com_Error(ERR_FATAL, "Failed to revert to gl_mode 4. Exiting...\n");
|
||||
Com_Error(ERR_FATAL, "Failed to revert to r_mode 4. Exiting...\n");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -31,10 +31,7 @@
|
|||
|
||||
extern void M_ForceMenuOff(void);
|
||||
|
||||
static cvar_t *gl_mode;
|
||||
#ifdef REFSOFT
|
||||
static cvar_t *sw_mode;
|
||||
#endif
|
||||
static cvar_t *r_mode;
|
||||
static cvar_t *r_hudscale;
|
||||
static cvar_t *r_consolescale;
|
||||
static cvar_t *r_menuscale;
|
||||
|
@ -180,32 +177,16 @@ ApplyChanges(void *unused)
|
|||
#endif
|
||||
}
|
||||
|
||||
#ifdef REFSOFT
|
||||
if (s_renderer_list.curvalue == 2) {
|
||||
/* custom mode */
|
||||
if (s_mode_list.curvalue != GetCustomValue(&s_mode_list))
|
||||
{
|
||||
/* Restarts automatically */
|
||||
Cvar_SetValue("sw_mode", s_mode_list.curvalue);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Restarts automatically */
|
||||
Cvar_SetValue("sw_mode", -1);
|
||||
}
|
||||
}
|
||||
else
|
||||
#endif
|
||||
/* custom mode */
|
||||
if (s_mode_list.curvalue != GetCustomValue(&s_mode_list))
|
||||
{
|
||||
/* Restarts automatically */
|
||||
Cvar_SetValue("gl_mode", s_mode_list.curvalue);
|
||||
Cvar_SetValue("r_mode", s_mode_list.curvalue);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Restarts automatically */
|
||||
Cvar_SetValue("gl_mode", -1);
|
||||
Cvar_SetValue("r_mode", -1);
|
||||
}
|
||||
|
||||
/* UI scaling */
|
||||
|
@ -261,20 +242,6 @@ ApplyChanges(void *unused)
|
|||
M_ForceMenuOff();
|
||||
}
|
||||
|
||||
#ifdef REFSOFT
|
||||
static void DriverCallback( void *unused )
|
||||
{
|
||||
if (s_renderer_list.curvalue == 2)
|
||||
{
|
||||
s_mode_list.curvalue = sw_mode->value;
|
||||
}
|
||||
else
|
||||
{
|
||||
s_mode_list.curvalue = gl_mode->value;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
void
|
||||
VID_MenuInit(void)
|
||||
{
|
||||
|
@ -361,18 +328,11 @@ VID_MenuInit(void)
|
|||
0
|
||||
};
|
||||
|
||||
if (!gl_mode)
|
||||
if (!r_mode)
|
||||
{
|
||||
gl_mode = Cvar_Get("gl_mode", "4", 0);
|
||||
r_mode = Cvar_Get("r_mode", "4", 0);
|
||||
}
|
||||
|
||||
#ifdef REFSOFT
|
||||
if (!sw_mode)
|
||||
{
|
||||
sw_mode = Cvar_Get("sw_mode", "4", 0);
|
||||
}
|
||||
#endif
|
||||
|
||||
if (!r_hudscale)
|
||||
{
|
||||
r_hudscale = Cvar_Get("r_hudscale", "-1", CVAR_ARCHIVE);
|
||||
|
@ -432,9 +392,6 @@ VID_MenuInit(void)
|
|||
s_renderer_list.generic.y = (y = 0);
|
||||
s_renderer_list.itemnames = renderers;
|
||||
s_renderer_list.curvalue = GetRenderer();
|
||||
#ifdef REFSOFT
|
||||
s_renderer_list.generic.callback = DriverCallback;
|
||||
#endif
|
||||
|
||||
s_mode_list.generic.type = MTYPE_SPINCONTROL;
|
||||
s_mode_list.generic.name = "video mode";
|
||||
|
@ -442,16 +399,9 @@ VID_MenuInit(void)
|
|||
s_mode_list.generic.y = (y += 10);
|
||||
s_mode_list.itemnames = resolutions;
|
||||
|
||||
#ifdef REFSOFT
|
||||
if (s_renderer_list.curvalue == 2 && sw_mode->value >= 0)
|
||||
if (r_mode->value >= 0)
|
||||
{
|
||||
s_mode_list.curvalue = sw_mode->value;
|
||||
}
|
||||
else
|
||||
#endif
|
||||
if (gl_mode->value >= 0)
|
||||
{
|
||||
s_mode_list.curvalue = gl_mode->value;
|
||||
s_mode_list.curvalue = r_mode->value;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -187,7 +187,7 @@ extern cvar_t *gl_particle_att_a;
|
|||
extern cvar_t *gl_particle_att_b;
|
||||
extern cvar_t *gl_particle_att_c;
|
||||
|
||||
extern cvar_t *gl_mode;
|
||||
extern cvar_t *r_mode;
|
||||
extern cvar_t *r_customwidth;
|
||||
extern cvar_t *r_customheight;
|
||||
|
||||
|
|
|
@ -96,7 +96,7 @@ cvar_t *gl_drawbuffer;
|
|||
cvar_t *gl_lightmap;
|
||||
cvar_t *gl_shadows;
|
||||
cvar_t *gl_stencilshadow;
|
||||
cvar_t *gl_mode;
|
||||
cvar_t *r_mode;
|
||||
|
||||
cvar_t *r_customwidth;
|
||||
cvar_t *r_customheight;
|
||||
|
@ -1219,7 +1219,7 @@ R_Register(void)
|
|||
gl_particle_att_c = ri.Cvar_Get("gl_particle_att_c", "0.01", CVAR_ARCHIVE);
|
||||
|
||||
gl_modulate = ri.Cvar_Get("gl_modulate", "1", CVAR_ARCHIVE);
|
||||
gl_mode = ri.Cvar_Get("gl_mode", "4", CVAR_ARCHIVE);
|
||||
r_mode = ri.Cvar_Get("r_mode", "4", CVAR_ARCHIVE);
|
||||
gl_lightmap = ri.Cvar_Get("gl_lightmap", "0", 0);
|
||||
gl_shadows = ri.Cvar_Get("gl_shadows", "0", CVAR_ARCHIVE);
|
||||
gl_stencilshadow = ri.Cvar_Get("gl_stencilshadow", "0", CVAR_ARCHIVE);
|
||||
|
@ -1309,23 +1309,23 @@ R_SetMode(void)
|
|||
fullscreen = (int)vid_fullscreen->value;
|
||||
|
||||
vid_fullscreen->modified = false;
|
||||
gl_mode->modified = false;
|
||||
r_mode->modified = false;
|
||||
|
||||
/* a bit hackish approach to enable custom resolutions:
|
||||
Glimp_SetMode needs these values set for mode -1 */
|
||||
vid.width = r_customwidth->value;
|
||||
vid.height = r_customheight->value;
|
||||
|
||||
if ((err = SetMode_impl(&vid.width, &vid.height, gl_mode->value,
|
||||
if ((err = SetMode_impl(&vid.width, &vid.height, r_mode->value,
|
||||
fullscreen)) == rserr_ok)
|
||||
{
|
||||
if (gl_mode->value == -1)
|
||||
if (r_mode->value == -1)
|
||||
{
|
||||
gl_state.prev_mode = 4; /* safe default for custom mode */
|
||||
}
|
||||
else
|
||||
{
|
||||
gl_state.prev_mode = gl_mode->value;
|
||||
gl_state.prev_mode = r_mode->value;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -1336,7 +1336,7 @@ R_SetMode(void)
|
|||
vid_fullscreen->modified = false;
|
||||
R_Printf(PRINT_ALL, "ref_gl::R_SetMode() - fullscreen unavailable in this mode\n");
|
||||
|
||||
if ((err = SetMode_impl(&vid.width, &vid.height, gl_mode->value, 0)) == rserr_ok)
|
||||
if ((err = SetMode_impl(&vid.width, &vid.height, r_mode->value, 0)) == rserr_ok)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -1350,19 +1350,19 @@ R_SetMode(void)
|
|||
ri.Cvar_SetValue("gl_msaa_samples", 0.0f);
|
||||
gl_msaa_samples->modified = false;
|
||||
|
||||
if ((err = SetMode_impl(&vid.width, &vid.height, gl_mode->value, 0)) == rserr_ok)
|
||||
if ((err = SetMode_impl(&vid.width, &vid.height, r_mode->value, 0)) == rserr_ok)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if(gl_mode->value == gl_state.prev_mode)
|
||||
if(r_mode->value == gl_state.prev_mode)
|
||||
{
|
||||
// trying again would result in a crash anyway, give up already
|
||||
// (this would happen if your initing fails at all and your resolution already was 640x480)
|
||||
return false;
|
||||
}
|
||||
ri.Cvar_SetValue("gl_mode", gl_state.prev_mode);
|
||||
gl_mode->modified = false;
|
||||
ri.Cvar_SetValue("r_mode", gl_state.prev_mode);
|
||||
r_mode->modified = false;
|
||||
}
|
||||
|
||||
/* try setting it back to something safe */
|
||||
|
@ -1600,7 +1600,7 @@ RI_BeginFrame(float camera_separation)
|
|||
gl_state.camera_separation = camera_separation;
|
||||
|
||||
/* change modes if necessary */
|
||||
if (gl_mode->modified)
|
||||
if (r_mode->modified)
|
||||
{
|
||||
vid_fullscreen->modified = true;
|
||||
}
|
||||
|
|
|
@ -86,7 +86,7 @@ cvar_t *gl_msaa_samples;
|
|||
cvar_t *gl_swapinterval;
|
||||
cvar_t *gl_retexturing;
|
||||
cvar_t *vid_fullscreen;
|
||||
cvar_t *gl_mode;
|
||||
cvar_t *r_mode;
|
||||
cvar_t *r_customwidth;
|
||||
cvar_t *r_customheight;
|
||||
cvar_t *vid_gamma;
|
||||
|
@ -202,7 +202,7 @@ GL3_Register(void)
|
|||
gl_msaa_samples = ri.Cvar_Get ( "gl_msaa_samples", "0", CVAR_ARCHIVE );
|
||||
gl_retexturing = ri.Cvar_Get("gl_retexturing", "1", CVAR_ARCHIVE);
|
||||
gl3_debugcontext = ri.Cvar_Get("gl3_debugcontext", "0", 0);
|
||||
gl_mode = ri.Cvar_Get("gl_mode", "4", CVAR_ARCHIVE);
|
||||
r_mode = ri.Cvar_Get("r_mode", "4", CVAR_ARCHIVE);
|
||||
r_customwidth = ri.Cvar_Get("r_customwidth", "1024", CVAR_ARCHIVE);
|
||||
r_customheight = ri.Cvar_Get("r_customheight", "768", CVAR_ARCHIVE);
|
||||
gl3_particle_size = ri.Cvar_Get("gl3_particle_size", "40", CVAR_ARCHIVE);
|
||||
|
@ -263,7 +263,7 @@ GL3_Register(void)
|
|||
gl_particle_att_c = ri.Cvar_Get("gl_particle_att_c", "0.01", CVAR_ARCHIVE);
|
||||
|
||||
//gl_modulate = ri.Cvar_Get("gl_modulate", "1", CVAR_ARCHIVE);
|
||||
//gl_mode = ri.Cvar_Get("gl_mode", "4", CVAR_ARCHIVE);
|
||||
//r_mode = ri.Cvar_Get("r_mode", "4", CVAR_ARCHIVE);
|
||||
//gl_lightmap = ri.Cvar_Get("gl_lightmap", "0", 0);
|
||||
//gl_shadows = ri.Cvar_Get("gl_shadows", "0", CVAR_ARCHIVE);
|
||||
//gl_stencilshadow = ri.Cvar_Get("gl_stencilshadow", "0", CVAR_ARCHIVE);
|
||||
|
@ -364,23 +364,23 @@ GL3_SetMode(void)
|
|||
fullscreen = (int)vid_fullscreen->value;
|
||||
|
||||
vid_fullscreen->modified = false;
|
||||
gl_mode->modified = false;
|
||||
r_mode->modified = false;
|
||||
|
||||
/* a bit hackish approach to enable custom resolutions:
|
||||
Glimp_SetMode needs these values set for mode -1 */
|
||||
vid.width = r_customwidth->value;
|
||||
vid.height = r_customheight->value;
|
||||
|
||||
if ((err = SetMode_impl(&vid.width, &vid.height, gl_mode->value,
|
||||
if ((err = SetMode_impl(&vid.width, &vid.height, r_mode->value,
|
||||
fullscreen)) == rserr_ok)
|
||||
{
|
||||
if (gl_mode->value == -1)
|
||||
if (r_mode->value == -1)
|
||||
{
|
||||
gl3state.prev_mode = 4; /* safe default for custom mode */
|
||||
}
|
||||
else
|
||||
{
|
||||
gl3state.prev_mode = gl_mode->value;
|
||||
gl3state.prev_mode = r_mode->value;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -391,7 +391,7 @@ GL3_SetMode(void)
|
|||
vid_fullscreen->modified = false;
|
||||
R_Printf(PRINT_ALL, "ref_gl3::GL3_SetMode() - fullscreen unavailable in this mode\n");
|
||||
|
||||
if ((err = SetMode_impl(&vid.width, &vid.height, gl_mode->value, 0)) == rserr_ok)
|
||||
if ((err = SetMode_impl(&vid.width, &vid.height, r_mode->value, 0)) == rserr_ok)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -406,20 +406,20 @@ GL3_SetMode(void)
|
|||
ri.Cvar_SetValue("gl_msaa_samples", 0.0f);
|
||||
gl_msaa_samples->modified = false;
|
||||
|
||||
if ((err = SetMode_impl(&vid.width, &vid.height, gl_mode->value, 0)) == rserr_ok)
|
||||
if ((err = SetMode_impl(&vid.width, &vid.height, r_mode->value, 0)) == rserr_ok)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if(gl_mode->value == gl3state.prev_mode)
|
||||
if(r_mode->value == gl3state.prev_mode)
|
||||
{
|
||||
// trying again would result in a crash anyway, give up already
|
||||
// (this would happen if your initing fails at all and your resolution already was 640x480)
|
||||
return false;
|
||||
}
|
||||
|
||||
ri.Cvar_SetValue("gl_mode", gl3state.prev_mode);
|
||||
gl_mode->modified = false;
|
||||
ri.Cvar_SetValue("r_mode", gl3state.prev_mode);
|
||||
r_mode->modified = false;
|
||||
}
|
||||
|
||||
/* try setting it back to something safe */
|
||||
|
@ -1608,7 +1608,7 @@ void
|
|||
GL3_BeginFrame(float camera_separation)
|
||||
{
|
||||
/* change modes if necessary */
|
||||
if (gl_mode->modified)
|
||||
if (r_mode->modified)
|
||||
{
|
||||
vid_fullscreen->modified = true;
|
||||
}
|
||||
|
|
|
@ -482,7 +482,7 @@ extern cvar_t *gl_msaa_samples;
|
|||
extern cvar_t *gl_swapinterval;
|
||||
extern cvar_t *gl_retexturing;
|
||||
extern cvar_t *vid_fullscreen;
|
||||
extern cvar_t *gl_mode;
|
||||
extern cvar_t *r_mode;
|
||||
extern cvar_t *r_customwidth;
|
||||
extern cvar_t *r_customheight;
|
||||
|
||||
|
|
|
@ -464,7 +464,7 @@ extern cvar_t *sw_maxedges;
|
|||
extern cvar_t *sw_maxsurfs;
|
||||
extern cvar_t *sw_mipcap;
|
||||
extern cvar_t *sw_mipscale;
|
||||
extern cvar_t *sw_mode;
|
||||
extern cvar_t *r_mode;
|
||||
extern cvar_t *sw_reportsurfout;
|
||||
extern cvar_t *sw_reportedgeout;
|
||||
extern cvar_t *sw_stipplealpha;
|
||||
|
|
|
@ -131,7 +131,7 @@ cvar_t *sw_drawflat;
|
|||
cvar_t *sw_draworder;
|
||||
cvar_t *sw_maxedges;
|
||||
cvar_t *sw_maxsurfs;
|
||||
cvar_t *sw_mode;
|
||||
cvar_t *r_mode;
|
||||
cvar_t *sw_reportedgeout;
|
||||
cvar_t *sw_reportsurfout;
|
||||
cvar_t *sw_stipplealpha;
|
||||
|
@ -273,7 +273,7 @@ void R_Register (void)
|
|||
sw_surfcacheoverride = ri.Cvar_Get ("sw_surfcacheoverride", "0", 0);
|
||||
sw_waterwarp = ri.Cvar_Get ("sw_waterwarp", "1", 0);
|
||||
sw_overbrightbits = ri.Cvar_Get("sw_overbrightbits", "1.0", CVAR_ARCHIVE);
|
||||
sw_mode = ri.Cvar_Get( "sw_mode", "0", CVAR_ARCHIVE );
|
||||
r_mode = ri.Cvar_Get( "r_mode", "0", CVAR_ARCHIVE );
|
||||
|
||||
r_lefthand = ri.Cvar_Get( "hand", "0", CVAR_USERINFO | CVAR_ARCHIVE );
|
||||
r_speeds = ri.Cvar_Get ("r_speeds", "0", 0);
|
||||
|
@ -292,7 +292,7 @@ void R_Register (void)
|
|||
ri.Cmd_AddCommand("screenshot", R_ScreenShot_f);
|
||||
ri.Cmd_AddCommand("imagelist", R_ImageList_f);
|
||||
|
||||
sw_mode->modified = true; // force us to do mode specific stuff later
|
||||
r_mode->modified = true; // force us to do mode specific stuff later
|
||||
vid_gamma->modified = true; // force us to rebuild the gamma table later
|
||||
sw_overbrightbits->modified = true; // force us to rebuild pallete later
|
||||
|
||||
|
@ -1100,7 +1100,7 @@ void RE_BeginFrame( float camera_separation )
|
|||
sw_overbrightbits->modified = false;
|
||||
}
|
||||
|
||||
while (sw_mode->modified || vid_fullscreen->modified)
|
||||
while (r_mode->modified || vid_fullscreen->modified)
|
||||
{
|
||||
rserr_t err;
|
||||
|
||||
|
@ -1108,13 +1108,13 @@ void RE_BeginFrame( float camera_separation )
|
|||
** if this returns rserr_invalid_fullscreen then it set the mode but not as a
|
||||
** fullscreen mode, e.g. 320x200 on a system that doesn't support that res
|
||||
*/
|
||||
if ((err = SWimp_SetMode( &vid.width, &vid.height, sw_mode->value, vid_fullscreen->value)) == rserr_ok )
|
||||
if ((err = SWimp_SetMode( &vid.width, &vid.height, r_mode->value, vid_fullscreen->value)) == rserr_ok )
|
||||
{
|
||||
R_InitGraphics( vid.width, vid.height );
|
||||
|
||||
sw_state.prev_mode = sw_mode->value;
|
||||
sw_state.prev_mode = r_mode->value;
|
||||
vid_fullscreen->modified = false;
|
||||
sw_mode->modified = false;
|
||||
r_mode->modified = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1129,7 +1129,7 @@ void RE_BeginFrame( float camera_separation )
|
|||
|
||||
ri.Cvar_SetValue( "vid_fullscreen", 0);
|
||||
R_Printf( PRINT_ALL, "ref_soft::RE_BeginFrame() - fullscreen unavailable in this mode\n" );
|
||||
sw_state.prev_mode = sw_mode->value;
|
||||
sw_state.prev_mode = r_mode->value;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -56,7 +56,8 @@ replacement_t replacements[] = {
|
|||
{"gl_farsee", "r_farsee"},
|
||||
{"gl_flashblend", "gl1_flashblend"},
|
||||
{"gl_lockpvs", "r_lockpvs"},
|
||||
{"gl_maxfps", "vid_maxfps"}
|
||||
{"gl_maxfps", "vid_maxfps"},
|
||||
{"gl_mode", "r_mode"}
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -112,7 +112,7 @@ Graphics (all renderers):
|
|||
|
||||
* **r_customheight** / **r_customwidth**: Specifies a custom
|
||||
resolution, the windows will be *r_customheight* pixels high and
|
||||
*r_customwidth* pixels wide. Set *gl_mode* to `-1` to use the custom
|
||||
*r_customwidth* pixels wide. Set *r_mode* to `-1` to use the custom
|
||||
resolution.
|
||||
|
||||
* **r_farsee**: Normally Quake II renders only up to 4096 units. If set
|
||||
|
|
Loading…
Reference in a new issue