@@ -3141,6 +3141,18 @@ DEF_CONSOLE_CMD(ConSpriteCacheStats)
|
||||
return true;
|
||||
}
|
||||
|
||||
DEF_CONSOLE_CMD(ConDumpVersion)
|
||||
{
|
||||
if (argc == 0) {
|
||||
IConsoleHelp("Dump version info");
|
||||
}
|
||||
|
||||
char buffer[65536];
|
||||
CrashLog::VersionInfoLog(buffer, lastof(buffer));
|
||||
PrintLineByLine(buffer);
|
||||
return true;
|
||||
}
|
||||
|
||||
DEF_CONSOLE_CMD(ConCheckCaches)
|
||||
{
|
||||
if (argc == 0) {
|
||||
@@ -3969,6 +3981,7 @@ void IConsoleStdLibRegister()
|
||||
IConsole::CmdRegister("dump_grf_cargo_tables", ConDumpGrfCargoTables, nullptr, true);
|
||||
IConsole::CmdRegister("dump_signal_styles", ConDumpSignalStyles, nullptr, true);
|
||||
IConsole::CmdRegister("dump_sprite_cache_stats", ConSpriteCacheStats, nullptr, true);
|
||||
IConsole::CmdRegister("dump_version", ConDumpVersion, nullptr, true);
|
||||
IConsole::CmdRegister("check_caches", ConCheckCaches, nullptr, true);
|
||||
IConsole::CmdRegister("show_town_window", ConShowTownWindow, nullptr, true);
|
||||
IConsole::CmdRegister("show_station_window", ConShowStationWindow, nullptr, true);
|
||||
|
@@ -1136,18 +1136,6 @@ void CrashLog::MakeInconsistencyLog(const InconsistencyExtraInfo &info) const
|
||||
_save_DBGC_data = false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Makes a version info log, writes it to a file. It uses DEBUG to write
|
||||
* information like paths to the console.
|
||||
* @return true when everything is made successfully.
|
||||
*/
|
||||
void CrashLog::MakeVersionInfoLog() const
|
||||
{
|
||||
char buffer[65536];
|
||||
this->FillVersionInfoLog(buffer, lastof(buffer));
|
||||
printf("%s\n", buffer);
|
||||
}
|
||||
|
||||
/**
|
||||
* Makes a crash dump and crash savegame. It uses DEBUG to write
|
||||
* information like paths to the console.
|
||||
|
@@ -189,7 +189,6 @@ public:
|
||||
void MakeDesyncCrashLog(const std::string *log_in, std::string *log_out, const DesyncExtraInfo &info) const;
|
||||
static bool WriteDesyncSavegame(const char *log_data, const char *name_buffer);
|
||||
void MakeInconsistencyLog(const InconsistencyExtraInfo &info) const;
|
||||
void MakeVersionInfoLog() const;
|
||||
void MakeCrashSavegameAndScreenshot();
|
||||
|
||||
void SendSurvey() const;
|
||||
@@ -209,7 +208,7 @@ public:
|
||||
|
||||
static void DesyncCrashLog(const std::string *log_in, std::string *log_out, const DesyncExtraInfo &info);
|
||||
static void InconsistencyLog(const InconsistencyExtraInfo &info);
|
||||
static void VersionInfoLog();
|
||||
static void VersionInfoLog(char *buffer, const char *last);
|
||||
|
||||
static void RegisterCrashed() { CrashLog::have_crashed = true; }
|
||||
static bool HaveAlreadyCrashed() { return CrashLog::have_crashed; }
|
||||
|
@@ -899,7 +899,9 @@ int openttd_main(int argc, char *argv[])
|
||||
case 'x': scanner->save_config = false; break;
|
||||
case 'J': _quit_after_days = Clamp(atoi(mgo.opt), 0, INT_MAX); break;
|
||||
case 'Z': {
|
||||
CrashLog::VersionInfoLog();
|
||||
char buffer[65536];
|
||||
CrashLog::VersionInfoLog(buffer, lastof(buffer));
|
||||
fputs(buffer, stdout);
|
||||
return ret;
|
||||
}
|
||||
case 'X': only_local_path = true; break;
|
||||
|
@@ -490,8 +490,8 @@ void CDECL HandleCrash(int signum, siginfo_t *si, void *context)
|
||||
}
|
||||
|
||||
|
||||
/* static */ void CrashLog::VersionInfoLog()
|
||||
/* static */ void CrashLog::VersionInfoLog(char *buffer, const char *last)
|
||||
{
|
||||
CrashLogOSX log(CrashLogOSX::DesyncTag{});
|
||||
log.MakeVersionInfoLog();
|
||||
log.FillVersionInfoLog(buffer, last);
|
||||
}
|
||||
|
@@ -850,8 +850,8 @@ static void CDECL HandleCrash(int signum)
|
||||
log.MakeInconsistencyLog(info);
|
||||
}
|
||||
|
||||
/* static */ void CrashLog::VersionInfoLog()
|
||||
/* static */ void CrashLog::VersionInfoLog(char *buffer, const char *last)
|
||||
{
|
||||
CrashLogUnix log(CrashLogUnix::DesyncTag{});
|
||||
log.MakeVersionInfoLog();
|
||||
log.FillVersionInfoLog(buffer, last);
|
||||
}
|
||||
|
@@ -801,10 +801,10 @@ static void CDECL CustomAbort(int)
|
||||
log.MakeInconsistencyLog(info);
|
||||
}
|
||||
|
||||
/* static */ void CrashLog::VersionInfoLog()
|
||||
/* static */ void CrashLog::VersionInfoLog(char *buffer, const char *last)
|
||||
{
|
||||
CrashLogWindows log(nullptr);
|
||||
log.MakeVersionInfoLog();
|
||||
log.FillVersionInfoLog(buffer, last);
|
||||
}
|
||||
|
||||
/* The crash log GUI */
|
||||
|
Reference in New Issue
Block a user