|
|
@ -669,17 +669,20 @@ qboolean R_Init( void ) |
|
|
|
|
|
|
|
|
|
|
|
if( !(success = R_LoadRenderer( refopt ))) |
|
|
|
if( !(success = R_LoadRenderer( refopt ))) |
|
|
|
{ |
|
|
|
{ |
|
|
|
// check if we are tried to load default accelearated renderer already
|
|
|
|
int i; |
|
|
|
// and if not, load it first
|
|
|
|
|
|
|
|
if( Q_strcmp( refopt, DEFAULT_ACCELERATED_RENDERER ) ) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
success = R_LoadRenderer( refopt ); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// software renderer is the last chance...
|
|
|
|
// cycle through renderers that we collected in CollectRendererNames
|
|
|
|
if( !success ) |
|
|
|
for( i = 0; i < ref.numRenderers; i++ ) |
|
|
|
{ |
|
|
|
{ |
|
|
|
success = R_LoadRenderer( DEFAULT_SOFTWARE_RENDERER ); |
|
|
|
// skip renderer that was requested but failed to load
|
|
|
|
|
|
|
|
if( Q_strcmp( refopt, ref.shortNames[i] )) |
|
|
|
|
|
|
|
continue; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
success = R_LoadRenderer( ref.shortNames[i] ); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// yay, found working one
|
|
|
|
|
|
|
|
if( success ) |
|
|
|
|
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|