diff options
author | Charles Pigott <charlespigott@googlemail.com> | 2018-04-12 21:31:35 +0100 |
---|---|---|
committer | frosch <github@elsenhans.name> | 2018-04-13 22:08:13 +0200 |
commit | 62d79900ecd48eb26687ba3c17164896d656c8ba (patch) | |
tree | 8cd978e0f19f329455d6c36f03d32cf822ab698e /src/crashlog.cpp | |
parent | 6ac079020b4545accc2b411fe0d4389845438ba5 (diff) | |
download | openttd-62d79900ecd48eb26687ba3c17164896d656c8ba.tar.xz |
Add: List recent news messages in crashlog output
Diffstat (limited to 'src/crashlog.cpp')
-rw-r--r-- | src/crashlog.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/crashlog.cpp b/src/crashlog.cpp index 53a85e442..78d9b1465 100644 --- a/src/crashlog.cpp +++ b/src/crashlog.cpp @@ -27,6 +27,7 @@ #include "network/network.h" #include "language.h" #include "fontcache.h" +#include "news_gui.h" #include "ai/ai_info.hpp" #include "game/game.hpp" @@ -309,6 +310,27 @@ char *CrashLog::LogGamelog(char *buffer, const char *last) const } /** + * Writes any recent news messages to the buffer. + * @param buffer The begin where to write at. + * @param last The last position in the buffer to write to. + * @return the position of the \c '\0' character after the buffer. + */ +char *CrashLog::LogRecentNews(char *buffer, const char *last) const +{ + buffer += seprintf(buffer, last, "Recent news messages:\n"); + + for (NewsItem *news = _oldest_news; news != NULL; news = news->next) { + YearMonthDay ymd; + ConvertDateToYMD(news->date, &ymd); + buffer += seprintf(buffer, last, "(%i-%02i-%02i) StringID: %u, Type: %u, Ref1: %u, %u, Ref2: %u, %u\n", + ymd.year, ymd.month + 1, ymd.day, news->string_id, news->type, + news->reftype1, news->ref1, news->reftype2, news->ref2); + } + buffer += seprintf(buffer, last, "\n"); + return buffer; +} + +/** * Fill the crash log buffer with all data of a crash log. * @param buffer The begin where to write at. * @param last The last position in the buffer to write to. @@ -334,6 +356,7 @@ char *CrashLog::FillCrashLog(char *buffer, const char *last) const buffer = this->LogLibraries(buffer, last); buffer = this->LogModules(buffer, last); buffer = this->LogGamelog(buffer, last); + buffer = this->LogRecentNews(buffer, last); buffer += seprintf(buffer, last, "*** End of OpenTTD Crash Report ***\n"); return buffer; |