aboutsummaryrefslogtreecommitdiff
path: root/engines/cine/script_fw.cpp
diff options
context:
space:
mode:
authorJohannes Schickel2012-09-07 17:49:17 +0200
committerJohannes Schickel2012-09-08 01:15:32 +0200
commitb1074543b575bdca64b228272f2dfddda2e98cff (patch)
tree21d95d49494fcf6c734233a2cd192fe542fcb2e0 /engines/cine/script_fw.cpp
parent17d6d732ea000400eb1353e1f93b121be524852d (diff)
downloadscummvm-rg350-b1074543b575bdca64b228272f2dfddda2e98cff.tar.gz
scummvm-rg350-b1074543b575bdca64b228272f2dfddda2e98cff.tar.bz2
scummvm-rg350-b1074543b575bdca64b228272f2dfddda2e98cff.zip
CINE: Skip resource header in loadSpl.
This implements a long standing TODO in PaulaSound::playSound.
Diffstat (limited to 'engines/cine/script_fw.cpp')
-rw-r--r--engines/cine/script_fw.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/engines/cine/script_fw.cpp b/engines/cine/script_fw.cpp
index 885a43f2f5..a4e7314a67 100644
--- a/engines/cine/script_fw.cpp
+++ b/engines/cine/script_fw.cpp
@@ -1818,6 +1818,9 @@ int FWScript::o1_playSample() {
if (g_cine->getPlatform() == Common::kPlatformAmiga || g_cine->getPlatform() == Common::kPlatformAtariST) {
if (size == 0xFFFF) {
size = g_cine->_animDataTable[anim]._width * g_cine->_animDataTable[anim]._height;
+ } else if (size > g_cine->_animDataTable[anim]._width * g_cine->_animDataTable[anim]._height) {
+ warning("o1_playSample: Got invalid sample size %d for sample %d", size, anim);
+ size = g_cine->_animDataTable[anim]._width * g_cine->_animDataTable[anim]._height;
}
if (channel < 10) { // || _currentOpcode == 0x78
int channel1, channel2;