diff --git a/src/os/windows/crashlog_win.cpp b/src/os/windows/crashlog_win.cpp --- a/src/os/windows/crashlog_win.cpp +++ b/src/os/windows/crashlog_win.cpp @@ -18,6 +18,7 @@ #include "../../fileio_func.h" #include "../../strings_func.h" #include "../../gamelog.h" +#include "../../saveload/saveload.h" #include #include @@ -378,6 +379,15 @@ static LONG WINAPI ExceptionHandler(EXCE ExitProcess(3); } + if (SaveloadCrashWithMissingNewGRFs()) { + static const TCHAR _saveload_crash[] = + _T("A serious fault condition occured in the game. The game will shut down.\n") + _T("As you loaded an savegame for which you do not have the required NewGRFs\n") + _T("no crash information will be generated.\n"); + MessageBox(NULL, _saveload_crash, _T("Fatal Application Failure"), MB_ICONERROR); + ExitProcess(3); + } + CrashLogWindows *log = new CrashLogWindows(ep); CrashLogWindows::current = log; log->FillCrashLog(log->crashlog, lastof(log->crashlog));