aboutsummaryrefslogtreecommitdiff
path: root/scumm/scumm.cpp
diff options
context:
space:
mode:
authorGregory Montoir2004-09-18 00:36:17 +0000
committerGregory Montoir2004-09-18 00:36:17 +0000
commit22b2cfa00255dcb282c88817f5b33c0999473ab7 (patch)
treeb032b16ba1bd4d0c2f1614153f774a95488a2922 /scumm/scumm.cpp
parent48fb2878871488c5c4bfc3e674e68873e1c5a2a6 (diff)
downloadscummvm-rg350-22b2cfa00255dcb282c88817f5b33c0999473ab7.tar.gz
scummvm-rg350-22b2cfa00255dcb282c88817f5b33c0999473ab7.tar.bz2
scummvm-rg350-22b2cfa00255dcb282c88817f5b33c0999473ab7.zip
preliminar AuxQueue support (freddemo intro), some glitches though
svn-id: r15149
Diffstat (limited to 'scumm/scumm.cpp')
-rw-r--r--scumm/scumm.cpp19
1 files changed, 14 insertions, 5 deletions
diff --git a/scumm/scumm.cpp b/scumm/scumm.cpp
index 1ffaa2a72b..d6d84b5909 100644
--- a/scumm/scumm.cpp
+++ b/scumm/scumm.cpp
@@ -691,6 +691,10 @@ ScummEngine::ScummEngine(GameDetector *detector, OSystem *syst, const ScummGameS
_skipDrawObject = 0;
_skipProcessActors = 0;
+ _auxBlocksNum = 0;
+ memset(_auxBlocks, 0, sizeof(_auxBlocks));
+ _auxEntriesNum = 0;
+ memset(_auxEntries, 0, sizeof(_auxEntries));
_heSndSoundId = 0;
_heSndOffset = 0;
_heSndChannel = 0;
@@ -1820,8 +1824,14 @@ load_game:
drawFlashlight();
setActorRedrawFlags();
}
-
- processActors();
+ if (_heversion >= 72) {
+ preProcessAuxQueue();
+ processActors();
+ postProcessAuxQueue();
+ } else {
+ processActors();
+ }
+
_fullRedraw = false;
if (_version >= 4 && _heversion <= 60)
cyclePalette();
@@ -2329,9 +2339,8 @@ void ScummEngine::startScene(int room, Actor *a, int objectNr) {
stopCycle(0);
_sound->processSoundQues();
- if (_heversion >= 70 && _WizPolygons) {
- for (i = 0; i < _WizNumPolygons; i++)
- memset(&_WizPolygons[i], 0, sizeof(WizPolygon));
+ if (_heversion >= 70 && _WizPolygons) {
+ memset(_WizPolygons, 0, _WizNumPolygons * sizeof(WizPolygon));
}
for (i = 0; i < _numRoomVariables; i++)