diff options
Diffstat (limited to 'engines/cine/cine.cpp')
-rw-r--r-- | engines/cine/cine.cpp | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/engines/cine/cine.cpp b/engines/cine/cine.cpp index 127d390f66..c30cac63a5 100644 --- a/engines/cine/cine.cpp +++ b/engines/cine/cine.cpp @@ -124,6 +124,22 @@ int CineEngine::modifyGameSpeed(int speedChange) { } void CineEngine::initialize() { + // Resize object table to its correct size and reset all its elements + objectTable.resize(NUM_MAX_OBJECT); + resetObjectTable(); + + // Resize animation data table to its correct size and reset all its elements + 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(); @@ -160,8 +176,7 @@ void CineEngine::initialize() { freeAnimDataTable(); overlayList.clear(); messageTable.clear(); - - memset(objectTable, 0, sizeof(objectTable)); + resetObjectTable(); var8 = 0; |