diff --git a/src/video/allegro_v.cpp b/src/video/allegro_v.cpp index 7f831e0da4..faf4091151 100644 --- a/src/video/allegro_v.cpp +++ b/src/video/allegro_v.cpp @@ -40,14 +40,13 @@ static FVideoDriver_Allegro iFVideoDriver_Allegro; static BITMAP *_allegro_screen; -#define MAX_DIRTY_RECTS 100 -static PointDimension _dirty_rects[MAX_DIRTY_RECTS]; -static int _num_dirty_rects; +static PointDimension _dirty_rects[100]; +static size_t _num_dirty_rects; static Palette _local_palette; ///< Current palette to use for drawing. void VideoDriver_Allegro::MakeDirty(int left, int top, int width, int height) { - if (_num_dirty_rects < MAX_DIRTY_RECTS) { + if (_num_dirty_rects < std::size(_dirty_rects)) { _dirty_rects[_num_dirty_rects].x = left; _dirty_rects[_num_dirty_rects].y = top; _dirty_rects[_num_dirty_rects].width = width; @@ -60,16 +59,16 @@ void VideoDriver_Allegro::Paint() { PerformanceMeasurer framerate(PFE_VIDEO); - int n = _num_dirty_rects; + size_t n = _num_dirty_rects; if (n == 0) return; _num_dirty_rects = 0; - if (n > MAX_DIRTY_RECTS) { + if (n > std::size(_dirty_rects)) { blit(_allegro_screen, screen, 0, 0, 0, 0, _allegro_screen->w, _allegro_screen->h); return; } - for (int i = 0; i < n; i++) { + for (size_t i = 0; i < n; i++) { blit(_allegro_screen, screen, _dirty_rects[i].x, _dirty_rects[i].y, _dirty_rects[i].x, _dirty_rects[i].y, _dirty_rects[i].width, _dirty_rects[i].height); } }