From e23de03a994c473f72f94f64aee46650ff3c60d3 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Mon, 5 May 2025 01:12:12 +0100 Subject: [PATCH] Codechange: Use FlatSet for sprite picker list. --- src/gfx.cpp | 2 +- src/newgrf_debug.h | 3 ++- src/newgrf_debug_gui.cpp | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/gfx.cpp b/src/gfx.cpp index 9ba1ab9de3..6e12254374 100644 --- a/src/gfx.cpp +++ b/src/gfx.cpp @@ -1162,7 +1162,7 @@ static void GfxBlitter(const Sprite * const sprite, int x, int y, BlitterMode mo if (topleft <= clicked && clicked <= bottomright) { uint offset = (((size_t)clicked - (size_t)topleft) / (blitter->GetScreenDepth() / 8)) % bp.pitch; if (offset < (uint)bp.width) { - include(_newgrf_debug_sprite_picker.sprites, sprite_id); + _newgrf_debug_sprite_picker.sprites.insert(sprite_id); } } } diff --git a/src/newgrf_debug.h b/src/newgrf_debug.h index 0a9ce1a842..141415884b 100644 --- a/src/newgrf_debug.h +++ b/src/newgrf_debug.h @@ -10,6 +10,7 @@ #ifndef NEWGRF_DEBUG_H #define NEWGRF_DEBUG_H +#include "core/flatset_type.hpp" #include "newgrf.h" #include "tile_type.h" #include "vehicle_type.h" @@ -25,7 +26,7 @@ enum NewGrfDebugSpritePickerMode : uint8_t { struct NewGrfDebugSpritePicker { NewGrfDebugSpritePickerMode mode; ///< Current state void *clicked_pixel; ///< Clicked pixel (pointer to blitter buffer) - std::vector sprites; ///< Sprites found + FlatSet sprites; ///< Sprites found }; extern NewGrfDebugSpritePicker _newgrf_debug_sprite_picker; diff --git a/src/newgrf_debug_gui.cpp b/src/newgrf_debug_gui.cpp index aed301a430..d0723f4681 100644 --- a/src/newgrf_debug_gui.cpp +++ b/src/newgrf_debug_gui.cpp @@ -50,7 +50,7 @@ #include "safeguards.h" /** The sprite picker. */ -NewGrfDebugSpritePicker _newgrf_debug_sprite_picker = { SPM_NONE, nullptr, std::vector() }; +NewGrfDebugSpritePicker _newgrf_debug_sprite_picker = { SPM_NONE, nullptr, {} }; /** * Get the feature index related to the window number. @@ -957,7 +957,7 @@ struct SpriteAlignerWindow : Window { const NWidgetBase *nwid = this->GetWidget(widget); int step_size = nwid->resize_y; - const std::vector &list = _newgrf_debug_sprite_picker.sprites; + const FlatSet &list = _newgrf_debug_sprite_picker.sprites; Rect ir = r.Shrink(WidgetDimensions::scaled.matrix); auto [first, last] = this->vscroll->GetVisibleRangeIterators(list);