From cecf4ac2024448784a5f5142a513768ab4562c7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=CE=B6eh=20Matt?= <5415177+ZehMatt@users.noreply.github.com> Date: Mon, 27 Sep 2021 22:29:12 +0300 Subject: [PATCH 1/2] Use CoordsXY for sprite_paint_setup Co-authored-by: Ted John --- src/openrct2/paint/sprite/Paint.Sprite.cpp | 9 ++------- src/openrct2/paint/sprite/Paint.Sprite.h | 3 ++- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/src/openrct2/paint/sprite/Paint.Sprite.cpp b/src/openrct2/paint/sprite/Paint.Sprite.cpp index 8d15249dac..83863d4c0a 100644 --- a/src/openrct2/paint/sprite/Paint.Sprite.cpp +++ b/src/openrct2/paint/sprite/Paint.Sprite.cpp @@ -32,13 +32,8 @@ * Paint Quadrant * rct2: 0x0069E8B0 */ -void sprite_paint_setup(paint_session* session, const uint16_t x, const uint16_t y) +void sprite_paint_setup(paint_session* session, const CoordsXY& pos) { - if ((x & 0xe000) | (y & 0xe000)) - { - return; - } - if (gTrackDesignSaveMode || (session->ViewFlags & VIEWPORT_FLAG_INVISIBLE_SPRITES)) { return; @@ -52,7 +47,7 @@ void sprite_paint_setup(paint_session* session, const uint16_t x, const uint16_t const bool highlightPathIssues = (session->ViewFlags & VIEWPORT_FLAG_HIGHLIGHT_PATH_ISSUES); - for (const auto* spr : EntityTileList({ x, y })) + for (const auto* spr : EntityTileList(pos)) { if (highlightPathIssues) { diff --git a/src/openrct2/paint/sprite/Paint.Sprite.h b/src/openrct2/paint/sprite/Paint.Sprite.h index 12e843a157..68a1d4e8e5 100644 --- a/src/openrct2/paint/sprite/Paint.Sprite.h +++ b/src/openrct2/paint/sprite/Paint.Sprite.h @@ -12,8 +12,9 @@ #include "../../common.h" struct paint_session; +struct CoordsXY; -void sprite_paint_setup(paint_session* session, const uint16_t x, const uint16_t y); +void sprite_paint_setup(paint_session* session, const CoordsXY& pos); template void PaintEntity(paint_session* session, const T* entity, int32_t imageDirection); From 4ea89025879e8b9922d6308c51edb84ce940fa72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=CE=B6eh=20Matt?= <5415177+ZehMatt@users.noreply.github.com> Date: Mon, 27 Sep 2021 22:48:06 +0300 Subject: [PATCH 2/2] Refactor arg passing to sprite_paint_setup --- src/openrct2/paint/Paint.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/openrct2/paint/Paint.cpp b/src/openrct2/paint/Paint.cpp index aab007274d..be5c3420da 100644 --- a/src/openrct2/paint/Paint.cpp +++ b/src/openrct2/paint/Paint.cpp @@ -218,17 +218,17 @@ template void PaintSessionGenerateRotate(paint_session* sessi for (; numVerticalTiles > 0; --numVerticalTiles) { tile_element_paint_setup(session, mapTile); - sprite_paint_setup(session, mapTile.x, mapTile.y); + sprite_paint_setup(session, mapTile); - auto loc1 = mapTile + adjacentTiles[0]; - sprite_paint_setup(session, loc1.x, loc1.y); + const auto loc1 = mapTile + adjacentTiles[0]; + sprite_paint_setup(session, loc1); - auto loc2 = mapTile + adjacentTiles[1]; + const auto loc2 = mapTile + adjacentTiles[1]; tile_element_paint_setup(session, loc2); - sprite_paint_setup(session, loc2.x, loc2.y); + sprite_paint_setup(session, loc2); - auto loc3 = mapTile + adjacentTiles[2]; - sprite_paint_setup(session, loc3.x, loc3.y); + const auto loc3 = mapTile + adjacentTiles[2]; + sprite_paint_setup(session, loc3); mapTile += nextVerticalTile; }