summaryrefslogtreecommitdiff
path: root/src/blitter
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2012-02-11 20:08:31 +0000
committerrubidium <rubidium@openttd.org>2012-02-11 20:08:31 +0000
commit0e925c9e5e0df9fa0576b02c2b2984d819fcf6e3 (patch)
tree94891607655c2935831311baf5c682279eb540c4 /src/blitter
parent1b13eb49dd86cca51f8bd529aeae2f2bf94da5a3 (diff)
downloadopenttd-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.cpp7
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;