File diff r9469:c669ca0efed3 → r9470:75edf93b1c69
src/openttd.cpp
Show inline comments
 
@@ -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);
 
			usererror("Failed to autoprobe blitter") :
 
			usererror("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);
 
			usererror("Failed to autoprobe sound driver") :
 
			usererror("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);
 
			usererror("Failed to autoprobe music driver") :
 
			usererror("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);
 
			usererror("Failed to autoprobe video driver") :
 
			usererror("Failed to select requested video driver '%s'", _ini_videodriver);
 
	}
 

	
 
	_savegame_sort_order = SORT_BY_DATE | SORT_DESCENDING;