From 0af554b891eb35a222688d5e3df3639afaa3f097 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 16 Oct 2011 08:29:46 +1100 Subject: TSAGE: Workaround for script bug in Blue Force using invalid visage rlb indexes. This affects the inspection cut-scene on Day 2 --- engines/tsage/core.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/engines/tsage/core.cpp b/engines/tsage/core.cpp index f4118cb45e..6029a91daa 100644 --- a/engines/tsage/core.cpp +++ b/engines/tsage/core.cpp @@ -2814,6 +2814,11 @@ void Visage::setVisage(int resNum, int rlbNum) { if (rlbNum == 0) rlbNum = 1; + // Check how many slots there are + uint16 count = READ_LE_UINT16(indexData); + if (rlbNum > count) + rlbNum = count; + // Get the flags/rlbNum to use uint32 v = READ_LE_UINT32(indexData + (rlbNum - 1) * 4 + 2); int flags = v >> 30; -- cgit v1.2.3