Correct fix to (#5051), patch by Roughael

This commit is contained in:
Thilo Schulz 2011-06-24 13:10:45 +00:00
parent 19f54e5400
commit 23ceb05c87

View file

@ -427,18 +427,20 @@ static void GraphicsOptions_GetAspectRatios( void )
char str[ sizeof(ratioBuf[0]) ]; char str[ sizeof(ratioBuf[0]) ];
// calculate resolution's aspect ratio // calculate resolution's aspect ratio
x = strchr( resolutions[r], 'x' ); x = strchr( resolutions[r], 'x' ) + 1;
if(!x)
continue;
x++;
Q_strncpyz( str, resolutions[r], x-resolutions[r] ); Q_strncpyz( str, resolutions[r], x-resolutions[r] );
w = atoi( str ); w = atoi( str );
h = atoi( x ); h = atoi( x );
Com_sprintf( str, sizeof(str), "%.2f:1", (float)w / (float)h ); Com_sprintf( str, sizeof(str), "%.2f:1", (float)w / (float)h );
// rename common ratios ("1.33:1" -> "4:3")
for( i = 0; knownRatios[i][0]; i++ ) {
if( !Q_stricmp( str, knownRatios[i][0] ) ) {
Q_strncpyz( str, knownRatios[i][1], sizeof( str ) );
break;
}
}
// add ratio to list if it is new // add ratio to list if it is new
// establish res/ratio relationship // establish res/ratio relationship
for( i = 0; ratioBuf[i][0]; i++ ) for( i = 0; ratioBuf[i][0]; i++ )
@ -451,23 +453,11 @@ static void GraphicsOptions_GetAspectRatios( void )
Q_strncpyz( ratioBuf[i], str, sizeof(ratioBuf[i]) ); Q_strncpyz( ratioBuf[i], str, sizeof(ratioBuf[i]) );
ratioToRes[i] = r; ratioToRes[i] = r;
} }
ratios[r] = ratioBuf[r];
resToRatio[r] = i; resToRatio[r] = i;
} }
// prepare itemlist pointer array
// rename common ratios ("1.33:1" -> "4:3")
for( r = 0; ratioBuf[r][0]; r++ )
{
for( i = 0; knownRatios[i][0]; i++ )
{
if( !Q_stricmp( ratioBuf[r], knownRatios[i][0] ) )
{
Q_strncpyz( ratioBuf[r], knownRatios[i][1], sizeof(ratioBuf[r]) );
break;
}
}
ratios[r] = ratioBuf[r];
}
ratios[r] = NULL; ratios[r] = NULL;
} }