summaryrefslogtreecommitdiff
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
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
-rw-r--r--src/blitter/32bpp_anim.cpp7
-rw-r--r--src/script/api/script_news.cpp2
2 files changed, 4 insertions, 5 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;
diff --git a/src/script/api/script_news.cpp b/src/script/api/script_news.cpp
index 9319c8df0..aaa8a6895 100644
--- a/src/script/api/script_news.cpp
+++ b/src/script/api/script_news.cpp
@@ -21,7 +21,7 @@
EnforcePrecondition(false, text != NULL);
EnforcePrecondition(false, !StrEmpty(text->GetEncodedText()));
- EnforcePrecondition(false, type >= NT_ARRIVAL_COMPANY && type <= NT_GENERAL);
+ EnforcePrecondition(false, type == NT_ECONOMY || type == NT_SUBSIDIES || type == NT_GENERAL);
EnforcePrecondition(false, company == ScriptCompany::COMPANY_INVALID || ScriptCompany::ResolveCompanyID(company) != ScriptCompany::COMPANY_INVALID);
uint8 c = company;