@ -99,11 +99,31 @@ void CallWindowTickEvent();
extern void SetDifficultyLevel ( int mode , DifficultySettings * gm_opt ) ;
extern Player * DoStartupNewPlayer ( bool is_ai ) ;
extern void ShowOSErrorBox ( const char * buf );
extern void ShowOSErrorBox ( const char * buf , bool system );
extern void InitializeRailGUI ( ) ;
/**
* Error handling for fatal errors .
* Error handling for fatal user errors .
* @ param s the string to print .
* @ note Does NEVER return .
*/
void CDECL usererror ( const char * s , . . . )
{
va_list va ;
char buf [ 512 ] ;
va_start ( va , s ) ;
vsnprintf ( buf , lengthof ( buf ) , s , va ) ;
va_end ( va ) ;
ShowOSErrorBox ( buf , false ) ;
if ( _video_driver ! = NULL ) _video_driver - > Stop ( ) ;
exit ( 1 ) ;
}
/**
* Error handling for fatal non - user errors .
* @ param s the string to print .
* @ note Does NEVER return .
*/
@ -116,7 +136,7 @@ void CDECL error(const char *s, ...)
vsnprintf ( buf , lengthof ( buf ) , s , va ) ;
va_end ( va ) ;
ShowOSErrorBox ( buf );
ShowOSErrorBox ( buf , true );
if ( _video_driver ! = NULL ) _video_driver - > Stop ( ) ;
assert ( 0 ) ;
@ -524,30 +544,30 @@ int ttd_main(int argc, char *argv[])
DEBUG ( misc , 1 , " Loading blitter... " ) ;
if ( BlitterFactoryBase : : SelectBlitter ( _ini_blitter ) = = NULL )
StrEmpty ( _ini_blitter ) ?
error( " Failed to autoprobe blitter " ) :
error( " Failed to select requested blitter '%s'; does it exist? " , _ini_blitter ) ;
user error( " Failed to autoprobe blitter " ) :
user error( " Failed to select requested blitter '%s'; does it exist? " , _ini_blitter ) ;
DEBUG ( driver , 1 , " Loading drivers... " ) ;
_sound_driver = ( SoundDriver * ) SoundDriverFactoryBase : : SelectDriver ( _ini_sounddriver , Driver : : DT_SOUND ) ;
if ( _sound_driver = = NULL ) {
StrEmpty ( _ini_sounddriver ) ?
error( " Failed to autoprobe sound driver " ) :
error( " Failed to select requested sound driver '%s' " , _ini_sounddriver ) ;
user error( " Failed to autoprobe sound driver " ) :
user error( " Failed to select requested sound driver '%s' " , _ini_sounddriver ) ;
}
_music_driver = ( MusicDriver * ) MusicDriverFactoryBase : : SelectDriver ( _ini_musicdriver , Driver : : DT_MUSIC ) ;
if ( _music_driver = = NULL ) {
StrEmpty ( _ini_musicdriver ) ?
error( " Failed to autoprobe music driver " ) :
error( " Failed to select requested music driver '%s' " , _ini_musicdriver ) ;
user error( " Failed to autoprobe music driver " ) :
user error( " Failed to select requested music driver '%s' " , _ini_musicdriver ) ;
}
_video_driver = ( VideoDriver * ) VideoDriverFactoryBase : : SelectDriver ( _ini_videodriver , Driver : : DT_VIDEO ) ;
if ( _video_driver = = NULL ) {
StrEmpty ( _ini_videodriver ) ?
error( " Failed to autoprobe video driver " ) :
error( " Failed to select requested video driver '%s' " , _ini_videodriver ) ;
user error( " Failed to autoprobe video driver " ) :
user error( " Failed to select requested video driver '%s' " , _ini_videodriver ) ;
}
_savegame_sort_order = SORT_BY_DATE | SORT_DESCENDING ;