From 6d526d020c4f44c657f1759c91b389e77d31b527 Mon Sep 17 00:00:00 2001 From: Ted John Date: Mon, 12 Mar 2018 17:39:58 +0000 Subject: [PATCH] Fix for MSVC --- src/openrct2-ui/interface/InGameConsole.h | 2 +- src/openrct2/interface/Console.cpp | 4 ++-- src/openrct2/interface/Console.h | 6 ++---- src/openrct2/interface/StdInOutConsole.cpp | 2 +- src/openrct2/thirdparty/linenoise.hpp | 10 +++++----- 5 files changed, 11 insertions(+), 13 deletions(-) diff --git a/src/openrct2-ui/interface/InGameConsole.h b/src/openrct2-ui/interface/InGameConsole.h index 95246d976a..9643d9c45e 100644 --- a/src/openrct2-ui/interface/InGameConsole.h +++ b/src/openrct2-ui/interface/InGameConsole.h @@ -2,7 +2,7 @@ namespace OpenRCT2 { namespace Ui { - class InGameConsole : public InteractiveConsole + class InGameConsole final : public InteractiveConsole { private: static constexpr sint32 CONSOLE_MAX_LINES = 300; diff --git a/src/openrct2/interface/Console.cpp b/src/openrct2/interface/Console.cpp index 0b37730df4..ee7ce001a6 100644 --- a/src/openrct2/interface/Console.cpp +++ b/src/openrct2/interface/Console.cpp @@ -1234,11 +1234,11 @@ void InteractiveConsole::WriteLineWarning(const std::string &s) WriteLine(s, FORMAT_YELLOW); } -void InteractiveConsole::WriteFormatLine(const std::string &format, ...) +void InteractiveConsole::WriteFormatLine(const char * format, ...) { va_list list; va_start(list, format); - auto buffer = String::Format_VA(format.c_str(), list); + auto buffer = String::Format_VA(format, list); va_end(list); auto s = std::string(buffer); diff --git a/src/openrct2/interface/Console.h b/src/openrct2/interface/Console.h index 1cc2eb6f69..d9f73b2270 100644 --- a/src/openrct2/interface/Console.h +++ b/src/openrct2/interface/Console.h @@ -43,20 +43,18 @@ class InteractiveConsole public: virtual ~InteractiveConsole() { } - sint32 cc_clear(const utf8 **argv, sint32 argc); - void Execute(const std::string &s); void WriteLine(const std::string &s); void WriteLineError(const std::string &s); void WriteLineWarning(const std::string &s); - void WriteFormatLine(const std::string &format, ...); + void WriteFormatLine(const char * format, ...); virtual void Clear() abstract; virtual void Close() abstract; virtual void WriteLine(const std::string &s, uint32 colourFormat) abstract; }; -class StdInOutConsole : public InteractiveConsole +class StdInOutConsole final : public InteractiveConsole { private: std::queue, std::string>> _evalQueue; diff --git a/src/openrct2/interface/StdInOutConsole.cpp b/src/openrct2/interface/StdInOutConsole.cpp index e75aac3c24..b9512859aa 100644 --- a/src/openrct2/interface/StdInOutConsole.cpp +++ b/src/openrct2/interface/StdInOutConsole.cpp @@ -1,5 +1,5 @@ -#include "../OpenRCT2.h" #include "../thirdparty/linenoise.hpp" +#include "../OpenRCT2.h" #include "Console.h" void StdInOutConsole::Start() diff --git a/src/openrct2/thirdparty/linenoise.hpp b/src/openrct2/thirdparty/linenoise.hpp index 278415b6e2..437105cf2e 100644 --- a/src/openrct2/thirdparty/linenoise.hpp +++ b/src/openrct2/thirdparty/linenoise.hpp @@ -333,7 +333,7 @@ inline void PushBuffer(WCHAR c) // Send the string to the input buffer. //----------------------------------------------------------------------------- -inline void SendSequence(LPWSTR seq) +inline void SendSequence(LPCWSTR seq) { DWORD out; INPUT_RECORD in; @@ -776,14 +776,14 @@ inline void InterpretEscSeq(void) if (es_argv[0] == 21) // ESC[21t Report xterm window's title { WCHAR buf[MAX_PATH * 2]; - DWORD len = GetConsoleTitleW(buf + 3, lenof(buf) - 3 - 2); + DWORD len2 = GetConsoleTitleW(buf + 3, lenof(buf) - 3 - 2); // Too bad if it's too big or fails. buf[0] = ESC; buf[1] = ']'; buf[2] = 'l'; - buf[3 + len] = ESC; - buf[3 + len + 1] = '\\'; - buf[3 + len + 2] = '\0'; + buf[3 + len2] = ESC; + buf[3 + len2 + 1] = '\\'; + buf[3 + len2 + 2] = '\0'; SendSequence(buf); } return;