diff options
author | rubidium <rubidium@openttd.org> | 2012-02-11 20:08:31 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2012-02-11 20:08:31 +0000 |
commit | 0e925c9e5e0df9fa0576b02c2b2984d819fcf6e3 (patch) | |
tree | 94891607655c2935831311baf5c682279eb540c4 /src/blitter | |
parent | 1b13eb49dd86cca51f8bd529aeae2f2bf94da5a3 (diff) | |
download | openttd-0e925c9e5e0df9fa0576b02c2b2984d819fcf6e3.tar.xz |
(svn r23927) -Fix [FS#5056]: 32bpp animated blitter was optimised a bit too far regarding not needing to update the colour mapping when (re)initialising the palette
Diffstat (limited to 'src/blitter')
-rw-r--r-- | src/blitter/32bpp_anim.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/blitter/32bpp_anim.cpp b/src/blitter/32bpp_anim.cpp index 271cea284..acc726215 100644 --- a/src/blitter/32bpp_anim.cpp +++ b/src/blitter/32bpp_anim.cpp @@ -417,10 +417,9 @@ void Blitter_32bppAnim::PaletteAnimate(const Palette &palette) this->palette = palette; /* If first_dirty is 0, it is for 8bpp indication to send the new - * palette. As we dont do that for 32bpp, ignore that request - * completely */ - if (this->palette.first_dirty == 0) return; - assert(this->palette.first_dirty == PALETTE_ANIM_START); + * palette. However, only the animation colours might possibly change. + * Especially when going between toyland and non-toyland. */ + assert(this->palette.first_dirty == PALETTE_ANIM_START || this->palette.first_dirty == 0); const uint16 *anim = this->anim_buf; uint32 *dst = (uint32 *)_screen.dst_ptr; |