From 8b36cce37cf7b301e26d14dbb16ded00ad14cf39 Mon Sep 17 00:00:00 2001 From: Tulio Leao Date: Sun, 1 Mar 2020 10:34:58 -0300 Subject: [PATCH] Make _lastMainViewport use ScreenCoordsXY --- src/openrct2-ui/interface/InGameConsole.cpp | 5 ++--- src/openrct2-ui/interface/InGameConsole.h | 3 ++- src/openrct2/world/Location.hpp | 10 ++++++++++ 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/openrct2-ui/interface/InGameConsole.cpp b/src/openrct2-ui/interface/InGameConsole.cpp index 617593bdcf..bd82bb7298 100644 --- a/src/openrct2-ui/interface/InGameConsole.cpp +++ b/src/openrct2-ui/interface/InGameConsole.cpp @@ -242,10 +242,9 @@ void InGameConsole::Update() rct_viewport* mainViewport = window_get_viewport(mainWindow); if (mainViewport != nullptr) { - if (_lastMainViewportX != mainViewport->viewPos.x || _lastMainViewportY != mainViewport->viewPos.y) + if (_lastMainViewport != mainViewport->viewPos) { - _lastMainViewportX = mainViewport->viewPos.x; - _lastMainViewportY = mainViewport->viewPos.y; + _lastMainViewport = mainViewport->viewPos; gfx_invalidate_screen(); } diff --git a/src/openrct2-ui/interface/InGameConsole.h b/src/openrct2-ui/interface/InGameConsole.h index e84b48b155..601b4b9743 100644 --- a/src/openrct2-ui/interface/InGameConsole.h +++ b/src/openrct2-ui/interface/InGameConsole.h @@ -10,6 +10,7 @@ #pragma once #include +#include namespace OpenRCT2::Ui { @@ -25,7 +26,7 @@ namespace OpenRCT2::Ui bool _isOpen = false; int32_t _consoleLeft, _consoleTop, _consoleRight, _consoleBottom; - int32_t _lastMainViewportX, _lastMainViewportY; + ScreenCoordsXY _lastMainViewport; std::deque _consoleLines; utf8 _consoleCurrentLine[CONSOLE_INPUT_SIZE] = {}; int32_t _consoleCaretTicks; diff --git a/src/openrct2/world/Location.hpp b/src/openrct2/world/Location.hpp index cf8187fc1f..bba50be94a 100644 --- a/src/openrct2/world/Location.hpp +++ b/src/openrct2/world/Location.hpp @@ -72,6 +72,16 @@ struct ScreenCoordsXY { return { x + rhs.x, y + rhs.y }; } + + bool operator==(const ScreenCoordsXY& other) const + { + return x == other.x && y == other.y; + } + + bool operator!=(const ScreenCoordsXY& other) const + { + return !(*this == other); + } }; /**