Codechange: use _cur_palette the same in all the drivers

It was a bit of a mixed bag. With this change, gfx.cpp is in
control who accesses _cur_palette from the video-drivers.
This commit is contained in:
Patric Stout
2021-06-17 10:34:43 +02:00
committed by Patric Stout
parent 1ed7afc0a8
commit 74186998a2
11 changed files with 98 additions and 95 deletions

View File

@@ -62,9 +62,7 @@ void VideoDriver_SDL_Default::MakePalette()
if (_sdl_palette == nullptr) usererror("SDL2: Couldn't allocate palette: %s", SDL_GetError());
}
_cur_palette.first_dirty = 0;
_cur_palette.count_dirty = 256;
this->local_palette = _cur_palette;
CopyPalette(this->local_palette, true);
this->UpdatePalette();
if (_sdl_surface != _sdl_real_surface) {
@@ -96,9 +94,9 @@ void VideoDriver_SDL_Default::Paint()
{
PerformanceMeasurer framerate(PFE_VIDEO);
if (IsEmptyRect(this->dirty_rect) && _cur_palette.count_dirty == 0) return;
if (IsEmptyRect(this->dirty_rect) && this->local_palette.count_dirty == 0) return;
if (_cur_palette.count_dirty != 0) {
if (this->local_palette.count_dirty != 0) {
Blitter *blitter = BlitterFactory::GetCurrentBlitter();
switch (blitter->UsePaletteAnimation()) {
@@ -117,7 +115,7 @@ void VideoDriver_SDL_Default::Paint()
default:
NOT_REACHED();
}
_cur_palette.count_dirty = 0;
this->local_palette.count_dirty = 0;
}
SDL_Rect r = { this->dirty_rect.left, this->dirty_rect.top, this->dirty_rect.right - this->dirty_rect.left, this->dirty_rect.bottom - this->dirty_rect.top };