summaryrefslogtreecommitdiff
path: root/src/os/windows
diff options
context:
space:
mode:
Diffstat (limited to 'src/os/windows')
-rw-r--r--src/os/windows/crashlog_win.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/os/windows/crashlog_win.cpp b/src/os/windows/crashlog_win.cpp
index 0d5b60040..30a4cf7db 100644
--- 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 <windows.h>
#include <signal.h>
@@ -378,6 +379,15 @@ static LONG WINAPI ExceptionHandler(EXCEPTION_POINTERS *ep)
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));