summaryrefslogtreecommitdiff
path: root/src/video/sdl_v.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/video/sdl_v.cpp')
-rw-r--r--src/video/sdl_v.cpp33
1 files changed, 14 insertions, 19 deletions
diff --git a/src/video/sdl_v.cpp b/src/video/sdl_v.cpp
index 644978e1f..1b180d3b8 100644
--- a/src/video/sdl_v.cpp
+++ b/src/video/sdl_v.cpp
@@ -106,35 +106,30 @@ static void UpdatePalette(bool init = false)
static void InitPalette()
{
- _local_palette = _cur_palette;
- _local_palette.first_dirty = 0;
- _local_palette.count_dirty = 256;
+ CopyPalette(_local_palette, true);
UpdatePalette(true);
}
void VideoDriver_SDL::CheckPaletteAnim()
{
- _local_palette = _cur_palette;
+ if (!CopyPalette(_local_palette)) return;
- if (_cur_palette.count_dirty != 0) {
- Blitter *blitter = BlitterFactory::GetCurrentBlitter();
+ Blitter *blitter = BlitterFactory::GetCurrentBlitter();
- switch (blitter->UsePaletteAnimation()) {
- case Blitter::PALETTE_ANIMATION_VIDEO_BACKEND:
- UpdatePalette();
- break;
+ switch (blitter->UsePaletteAnimation()) {
+ case Blitter::PALETTE_ANIMATION_VIDEO_BACKEND:
+ UpdatePalette();
+ break;
- case Blitter::PALETTE_ANIMATION_BLITTER:
- blitter->PaletteAnimate(_local_palette);
- break;
+ case Blitter::PALETTE_ANIMATION_BLITTER:
+ blitter->PaletteAnimate(_local_palette);
+ break;
- case Blitter::PALETTE_ANIMATION_NONE:
- break;
+ case Blitter::PALETTE_ANIMATION_NONE:
+ break;
- default:
- NOT_REACHED();
- }
- _cur_palette.count_dirty = 0;
+ default:
+ NOT_REACHED();
}
}