From bd9e7c4b8fa561fbc8076671167bd894b5efc1a3 Mon Sep 17 00:00:00 2001 From: Tim Angus Date: Mon, 4 Dec 2006 13:37:50 +0000 Subject: [PATCH] * Add r_customPixelAspect to support displays with non 1:1 pixel aspects (do such things exist?) * Remove r_customaspect as its value is implied through the other three r_custom cvars --- code/renderer/tr_init.c | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/code/renderer/tr_init.c b/code/renderer/tr_init.c index 24016c11..513df4cc 100644 --- a/code/renderer/tr_init.c +++ b/code/renderer/tr_init.c @@ -132,7 +132,7 @@ cvar_t *r_fullscreen; cvar_t *r_customwidth; cvar_t *r_customheight; -cvar_t *r_customaspect; +cvar_t *r_customPixelAspect; cvar_t *r_overBrightBits; cvar_t *r_mapOverBrightBits; @@ -307,6 +307,7 @@ static int s_numVidModes = ( sizeof( r_vidModes ) / sizeof( r_vidModes[0] ) ); qboolean R_GetModeInfo( int *width, int *height, float *windowAspect, int mode ) { vidmode_t *vm; + float pixelAspect; if ( mode < -1 ) { return qfalse; @@ -318,17 +319,18 @@ qboolean R_GetModeInfo( int *width, int *height, float *windowAspect, int mode ) if ( mode == -1 ) { *width = r_customwidth->integer; *height = r_customheight->integer; - *windowAspect = r_customaspect->value; - return qtrue; + pixelAspect = r_customPixelAspect->value; + } else { + vm = &r_vidModes[mode]; + + *width = vm->width; + *height = vm->height; + pixelAspect = vm->pixelAspect; } - vm = &r_vidModes[mode]; + *windowAspect = (float)*width / ( *height * pixelAspect ); - *width = vm->width; - *height = vm->height; - *windowAspect = (float)vm->width / ( vm->height * vm->pixelAspect ); - - return qtrue; + return qtrue; } /* @@ -943,7 +945,7 @@ void R_Register( void ) #endif r_customwidth = ri.Cvar_Get( "r_customwidth", "1600", CVAR_ARCHIVE | CVAR_LATCH ); r_customheight = ri.Cvar_Get( "r_customheight", "1024", CVAR_ARCHIVE | CVAR_LATCH ); - r_customaspect = ri.Cvar_Get( "r_customaspect", "1", CVAR_ARCHIVE | CVAR_LATCH ); + r_customPixelAspect = ri.Cvar_Get( "r_customPixelAspect", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_simpleMipMaps = ri.Cvar_Get( "r_simpleMipMaps", "1", CVAR_ARCHIVE | CVAR_LATCH ); r_vertexLight = ri.Cvar_Get( "r_vertexLight", "0", CVAR_ARCHIVE | CVAR_LATCH ); r_uiFullScreen = ri.Cvar_Get( "r_uifullscreen", "0", 0);