From 0e925c9e5e0df9fa0576b02c2b2984d819fcf6e3 Mon Sep 17 00:00:00 2001 From: rubidium Date: Sat, 11 Feb 2012 20:08:31 +0000 Subject: [PATCH] (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 --- src/blitter/32bpp_anim.cpp | 7 +++---- src/script/api/script_news.cpp | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/blitter/32bpp_anim.cpp b/src/blitter/32bpp_anim.cpp index 271cea284b..acc7262156 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 9319c8df08..aaa8a68955 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;