diff options
author | Gregory Montoir | 2004-09-18 00:36:17 +0000 |
---|---|---|
committer | Gregory Montoir | 2004-09-18 00:36:17 +0000 |
commit | 22b2cfa00255dcb282c88817f5b33c0999473ab7 (patch) | |
tree | b032b16ba1bd4d0c2f1614153f774a95488a2922 /scumm/scumm.cpp | |
parent | 48fb2878871488c5c4bfc3e674e68873e1c5a2a6 (diff) | |
download | scummvm-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.cpp | 19 |
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++) |