aboutsummaryrefslogtreecommitdiff
path: root/engines/cine/cine.cpp
diff options
context:
space:
mode:
authorKari Salminen2008-08-09 22:38:03 +0000
committerKari Salminen2008-08-09 22:38:03 +0000
commitef3b72d5e4a7b1772799224fe94ade279ea2fb5a (patch)
tree0ec32a1b33518a8ab941e8ab5477b0cc188d2e8d /engines/cine/cine.cpp
parent983a4f21e51814d4f2a65480c6e571ca5a6fb0c3 (diff)
downloadscummvm-rg350-ef3b72d5e4a7b1772799224fe94ade279ea2fb5a.tar.gz
scummvm-rg350-ef3b72d5e4a7b1772799224fe94ade279ea2fb5a.tar.bz2
scummvm-rg350-ef3b72d5e4a7b1772799224fe94ade279ea2fb5a.zip
Converted zoneData and zoneQuery tables from plain array types to Common::Array. Should help catch out of bounds access errors that may cause memory corruption.
svn-id: r33727
Diffstat (limited to 'engines/cine/cine.cpp')
-rw-r--r--engines/cine/cine.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/engines/cine/cine.cpp b/engines/cine/cine.cpp
index ab1f5ac5e9..6c5069038a 100644
--- a/engines/cine/cine.cpp
+++ b/engines/cine/cine.cpp
@@ -132,6 +132,14 @@ void CineEngine::initialize() {
animDataTable.resize(NUM_MAX_ANIMDATA);
freeAnimDataTable();
+ // Resize zone data table to its correct size and reset all its elements
+ zoneData.resize(NUM_MAX_ZONE);
+ Common::set_to(zoneData.begin(), zoneData.end(), 0);
+
+ // Resize zone query table to its correct size and reset all its elements
+ zoneQuery.resize(NUM_MAX_ZONE);
+ Common::set_to(zoneQuery.begin(), zoneQuery.end(), 0);
+
_timerDelayMultiplier = 12; // Set default speed
setupOpcodes();