diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/hopkins/anim.cpp | 3 | ||||
-rw-r--r-- | engines/hopkins/anim.h | 3 | ||||
-rw-r--r-- | engines/hopkins/hopkins.cpp | 174 | ||||
-rw-r--r-- | engines/hopkins/hopkins.h | 2 | ||||
-rw-r--r-- | engines/hopkins/objects.cpp | 20 | ||||
-rw-r--r-- | engines/hopkins/script.cpp | 82 |
6 files changed, 143 insertions, 141 deletions
diff --git a/engines/hopkins/anim.cpp b/engines/hopkins/anim.cpp index f712b111e1..d1854027ec 100644 --- a/engines/hopkins/anim.cpp +++ b/engines/hopkins/anim.cpp @@ -35,7 +35,8 @@ namespace Hopkins { -AnimationManager::AnimationManager() { +AnimationManager::AnimationManager(HopkinsEngine *vm) { + _vm = vm; _clearAnimationFl = false; NO_SEQ = false; NO_COUL = false; diff --git a/engines/hopkins/anim.h b/engines/hopkins/anim.h index c0a62b711d..3b3a010c01 100644 --- a/engines/hopkins/anim.h +++ b/engines/hopkins/anim.h @@ -44,8 +44,7 @@ public: bool NO_SEQ; bool NO_COUL; - AnimationManager(); - void setParent(HopkinsEngine *vm) { _vm = vm; } + AnimationManager(HopkinsEngine *vm); void loadAnim(const Common::String &animName); void clearAnim(); diff --git a/engines/hopkins/hopkins.cpp b/engines/hopkins/hopkins.cpp index ac7a770a0c..dba9e0bd78 100644 --- a/engines/hopkins/hopkins.cpp +++ b/engines/hopkins/hopkins.cpp @@ -38,10 +38,11 @@ namespace Hopkins { HopkinsEngine *g_vm; HopkinsEngine::HopkinsEngine(OSystem *syst, const HopkinsGameDescription *gameDesc) : Engine(syst), - _gameDescription(gameDesc), _randomSource("Hopkins"), _animationManager() { + _gameDescription(gameDesc), _randomSource("Hopkins") { g_vm = this; + _animationManager = new AnimationManager(this); + _debugger.setParent(this); - _animationManager.setParent(this); _computerManager.setParent(this); _dialogsManager.setParent(this); _eventsManager.setParent(this); @@ -59,6 +60,7 @@ HopkinsEngine::HopkinsEngine(OSystem *syst, const HopkinsGameDescription *gameDe } HopkinsEngine::~HopkinsEngine() { + delete _animationManager; } Common::String HopkinsEngine::generateSaveName(int slot) { @@ -205,9 +207,9 @@ bool HopkinsEngine::runWin95Demo() { _graphicsManager.unlockScreen(); _graphicsManager.clearPalette(); if (!_globals._censorshipFl) - _animationManager.playAnim("BANQUE.ANM", 200, 28, 200); + _animationManager->playAnim("BANQUE.ANM", 200, 28, 200); else - _animationManager.playAnim("BANKUK.ANM", 200, 28, 200); + _animationManager->playAnim("BANKUK.ANM", 200, 28, 200); _soundManager._specialSoundNum = 0; _soundManager.removeSample(1); _soundManager.removeSample(2); @@ -377,7 +379,7 @@ bool HopkinsEngine::runWin95Demo() { _graphicsManager.clearScreen(); _graphicsManager.unlockScreen(); _graphicsManager.clearPalette(); - _animationManager.playAnim("JOUR1A.anm", 12, 12, 2000); + _animationManager->playAnim("JOUR1A.anm", 12, 12, 2000); _globals.iRegul = 0; _globals._exitId = 300; break; @@ -404,7 +406,7 @@ bool HopkinsEngine::runWin95Demo() { _graphicsManager.clearScreen(); _graphicsManager.unlockScreen(); _graphicsManager.clearPalette(); - _animationManager.playAnim("JOUR4A.anm", 12, 12, 2000); + _animationManager->playAnim("JOUR4A.anm", 12, 12, 2000); _globals.iRegul = 0; _globals._exitId = 300; break; @@ -513,9 +515,9 @@ bool HopkinsEngine::runLinuxDemo() { _graphicsManager.FADE_LINUX = 2; if (!_globals._censorshipFl) - _animationManager.playAnim("BANQUE.ANM", 200, 28, 200); + _animationManager->playAnim("BANQUE.ANM", 200, 28, 200); else - _animationManager.playAnim("BANKUK.ANM", 200, 28, 200); + _animationManager->playAnim("BANKUK.ANM", 200, 28, 200); _soundManager._specialSoundNum = 0; _soundManager.removeSample(1); _soundManager.removeSample(2); @@ -697,7 +699,7 @@ bool HopkinsEngine::runLinuxDemo() { _graphicsManager.unlockScreen(); _graphicsManager.clearPalette(); _graphicsManager.FADE_LINUX = 2; - _animationManager.playAnim("JOUR1A.anm", 12, 12, 2000); + _animationManager->playAnim("JOUR1A.anm", 12, 12, 2000); _globals.iRegul = 0; _globals._exitId = 300; break; @@ -711,7 +713,7 @@ bool HopkinsEngine::runLinuxDemo() { _graphicsManager.unlockScreen(); _graphicsManager.clearPalette(); _graphicsManager.FADE_LINUX = 2; - _animationManager.playAnim("JOUR3A.anm", 12, 12, 2000); + _animationManager->playAnim("JOUR3A.anm", 12, 12, 2000); _globals.iRegul = 0; _globals._exitId = 300; break; @@ -725,7 +727,7 @@ bool HopkinsEngine::runLinuxDemo() { _graphicsManager.unlockScreen(); _graphicsManager.clearPalette(); _graphicsManager.FADE_LINUX = 2; - _animationManager.playAnim("JOUR4A.anm", 12, 12, 2000); + _animationManager->playAnim("JOUR4A.anm", 12, 12, 2000); _globals.iRegul = 0; _globals._exitId = 300; break; @@ -784,9 +786,9 @@ bool HopkinsEngine::runFull() { _globals._speed = 2; _globals.iRegul = 1; _graphicsManager.FADE_LINUX = 2; - _animationManager.playAnim("MP.ANM", 10, 16, 200); + _animationManager->playAnim("MP.ANM", 10, 16, 200); } else { - _animationManager.playAnim("MP.ANM", 10, 16, 200); + _animationManager->playAnim("MP.ANM", 10, 16, 200); _graphicsManager.fadeOutLong(); } @@ -860,11 +862,11 @@ bool HopkinsEngine::runFull() { _graphicsManager.FADE_LINUX = 2; if (!_globals._censorshipFl) - _animationManager.playAnim("BANQUE.ANM", 200, 28, 200); + _animationManager->playAnim("BANQUE.ANM", 200, 28, 200); else - _animationManager.playAnim("BANKUK.ANM", 200, 28, 200); + _animationManager->playAnim("BANKUK.ANM", 200, 28, 200); } else { - _animationManager.playAnim("BANQUE.ANM", 200, 28, 200); + _animationManager->playAnim("BANQUE.ANM", 200, 28, 200); } _soundManager._specialSoundNum = 0; @@ -994,14 +996,14 @@ bool HopkinsEngine::runFull() { if (getPlatform() == Common::kPlatformLinux) { _soundManager.playSound(29); _graphicsManager.FADE_LINUX = 2; - _animationManager.playAnim("PURG1A.ANM", 12, 18, 50); + _animationManager->playAnim("PURG1A.ANM", 12, 18, 50); } else if (getPlatform() == Common::kPlatformWindows) { _soundManager.playSound(29); - _animationManager.playAnim("PURG1A.ANM", 12, 18, 50); + _animationManager->playAnim("PURG1A.ANM", 12, 18, 50); _graphicsManager.fadeOutShort(); } else { _soundManager.playSound(6); - _animationManager.playAnim("PURG1A.ANM", 12, 18, 50); + _animationManager->playAnim("PURG1A.ANM", 12, 18, 50); _graphicsManager.fadeOutShort(); } _globals.iRegul = 0; @@ -1040,7 +1042,7 @@ bool HopkinsEngine::runFull() { _soundManager.playSound(6); if (getPlatform() == Common::kPlatformLinux) _graphicsManager.FADE_LINUX = 2; - _animationManager.playAnim("PURG2A.ANM", 12, 18, 50); + _animationManager->playAnim("PURG2A.ANM", 12, 18, 50); if (getPlatform() != Common::kPlatformLinux) _graphicsManager.fadeOutShort(); _globals.iRegul = 0; @@ -1404,7 +1406,7 @@ bool HopkinsEngine::runFull() { _graphicsManager.unlockScreen(); _graphicsManager.clearPalette(); _soundManager.playSound(6); - _animationManager.playAnim("PURG1A.ANM", 12, 18, 50); + _animationManager->playAnim("PURG1A.ANM", 12, 18, 50); _graphicsManager.fadeOutShort(); _globals.iRegul = 0; } @@ -1484,7 +1486,7 @@ bool HopkinsEngine::runFull() { _graphicsManager.clearPalette(); if (getPlatform() == Common::kPlatformLinux) _graphicsManager.FADE_LINUX = 2; - _animationManager.playAnim("JOUR1A.ANM", 12, 12, 2000); + _animationManager->playAnim("JOUR1A.ANM", 12, 12, 2000); _globals.iRegul = 0; _globals._exitId = 300; break; @@ -1498,7 +1500,7 @@ bool HopkinsEngine::runFull() { _graphicsManager.clearPalette(); if (getPlatform() == Common::kPlatformLinux) _graphicsManager.FADE_LINUX = 2; - _animationManager.playAnim("JOUR3A.ANM", 12, 12, 2000); + _animationManager->playAnim("JOUR3A.ANM", 12, 12, 2000); _globals.iRegul = 0; _globals._exitId = 300; break; @@ -1512,7 +1514,7 @@ bool HopkinsEngine::runFull() { _graphicsManager.clearPalette(); if (getPlatform() == Common::kPlatformLinux) _graphicsManager.FADE_LINUX = 2; - _animationManager.playAnim("JOUR4A.ANM", 12, 12, 2000); + _animationManager->playAnim("JOUR4A.ANM", 12, 12, 2000); _globals.iRegul = 0; _globals._exitId = 300; break; @@ -1606,19 +1608,19 @@ void HopkinsEngine::playIntro() { _globals.iRegul = 1; _eventsManager.refreshScreenAndEvents(); _soundManager.playSound(16); - _animationManager._clearAnimationFl = true; - _animationManager.playAnim("J1.anm", 12, 12, 50); + _animationManager->_clearAnimationFl = true; + _animationManager->playAnim("J1.anm", 12, 12, 50); if (shouldQuit() || _eventsManager._escKeyFl) return; _soundManager.mixVoice(1, 3); - _animationManager.playAnim("J2.anm", 12, 12, 50); + _animationManager->playAnim("J2.anm", 12, 12, 50); if (shouldQuit() || _eventsManager._escKeyFl) return; _soundManager.mixVoice(2, 3); - _animationManager.playAnim("J3.anm", 12, 12, 50); + _animationManager->playAnim("J3.anm", 12, 12, 50); if (shouldQuit() || _eventsManager._escKeyFl) return; @@ -1671,7 +1673,7 @@ void HopkinsEngine::playIntro() { _graphicsManager._scrollStatus = 0; _graphicsManager.loadImage("intro2"); _graphicsManager.scrollScreen(0); - _animationManager.loadAnim("INTRO2"); + _animationManager->loadAnim("INTRO2"); _graphicsManager.displayAllBob(); _soundManager.playSound(23); _objectsManager.stopBobAnimation(3); @@ -1704,7 +1706,7 @@ void HopkinsEngine::playIntro() { _soundManager._specialSoundNum = 5; _graphicsManager.FADE_LINUX = 2; - _animationManager.playAnim("ELEC.ANM", 10, 26, 200); + _animationManager->playAnim("ELEC.ANM", 10, 26, 200); _soundManager._specialSoundNum = 0; if (shouldQuit() || _eventsManager._escKeyFl) @@ -1712,7 +1714,7 @@ void HopkinsEngine::playIntro() { _graphicsManager.loadImage("intro2"); _graphicsManager.scrollScreen(0); - _animationManager.loadAnim("INTRO2"); + _animationManager->loadAnim("INTRO2"); _graphicsManager.displayAllBob(); _soundManager.playSound(23); _objectsManager.stopBobAnimation(3); @@ -1788,25 +1790,25 @@ void HopkinsEngine::playIntro() { _graphicsManager.fadeOutLong(); _graphicsManager.endDisplayBob(); - _animationManager._clearAnimationFl = true; + _animationManager->_clearAnimationFl = true; _soundManager.playSound(3); _soundManager._specialSoundNum = 1; - _animationManager.playAnim("INTRO1.anm", 10, 24, 18); + _animationManager->playAnim("INTRO1.anm", 10, 24, 18); _soundManager._specialSoundNum = 0; if (shouldQuit() || _eventsManager._escKeyFl) return; - _animationManager.playAnim("INTRO2.anm", 10, 24, 18); + _animationManager->playAnim("INTRO2.anm", 10, 24, 18); if (shouldQuit() || _eventsManager._escKeyFl) return; - _animationManager.playAnim("INTRO3.anm", 10, 24, 200); + _animationManager->playAnim("INTRO3.anm", 10, 24, 200); if (shouldQuit() || _eventsManager._escKeyFl) return; - _animationManager._clearAnimationFl = false; + _animationManager->_clearAnimationFl = false; _graphicsManager.FADE_LINUX = 2; - _animationManager.playAnim("J4.anm", 12, 12, 1000); + _animationManager->playAnim("J4.anm", 12, 12, 1000); break; } } @@ -1867,10 +1869,10 @@ void HopkinsEngine::bombExplosion() { _globals.iRegul = 1; _soundManager._specialSoundNum = 199; _graphicsManager.FADE_LINUX = 2; - _animationManager.playAnim("BOMBE2A.ANM", 50, 14, 500); + _animationManager->playAnim("BOMBE2A.ANM", 50, 14, 500); _soundManager._specialSoundNum = 0; _graphicsManager.loadImage("IM15"); - _animationManager.loadAnim("ANIM15"); + _animationManager->loadAnim("ANIM15"); _graphicsManager.displayAllBob(); _objectsManager.stopBobAnimation(7); @@ -1938,7 +1940,7 @@ void HopkinsEngine::handleConflagration() { _globals._disableInventFl = true; _globals.iRegul = 1; _graphicsManager.loadImage("IM71"); - _animationManager.loadAnim("ANIM71"); + _animationManager->loadAnim("ANIM71"); _graphicsManager.SETCOLOR3(252, 100, 100, 100); _graphicsManager.SETCOLOR3(253, 100, 100, 100); _graphicsManager.SETCOLOR3(251, 100, 100, 100); @@ -1974,37 +1976,37 @@ void HopkinsEngine::playSubmarineCutscene() { _graphicsManager.clearScreen(); _graphicsManager.unlockScreen(); _graphicsManager.clearPalette(); - _animationManager._clearAnimationFl = true; + _animationManager->_clearAnimationFl = true; _soundManager.playSound(25); - _animationManager.playAnim("base00a.anm", 10, 18, 18); + _animationManager->playAnim("base00a.anm", 10, 18, 18); if (!_eventsManager._escKeyFl) - _animationManager.playAnim("base05a.anm", 10, 18, 18); + _animationManager->playAnim("base05a.anm", 10, 18, 18); if (!_eventsManager._escKeyFl) - _animationManager.playAnim("base10a.anm", 10, 18, 18); + _animationManager->playAnim("base10a.anm", 10, 18, 18); if (!_eventsManager._escKeyFl) - _animationManager.playAnim("base20a.anm", 10, 18, 18); + _animationManager->playAnim("base20a.anm", 10, 18, 18); // CHECKME: The original code was doing the opposite test, which was a bug. if (!_eventsManager._escKeyFl) - _animationManager.playAnim("base30a.anm", 10, 18, 18); + _animationManager->playAnim("base30a.anm", 10, 18, 18); if (!_eventsManager._escKeyFl) - _animationManager.playAnim("base40a.anm", 10, 18, 18); + _animationManager->playAnim("base40a.anm", 10, 18, 18); if (!_eventsManager._escKeyFl) - _animationManager.playAnim("base50a.anm", 10, 18, 18); + _animationManager->playAnim("base50a.anm", 10, 18, 18); if (!_eventsManager._escKeyFl) - _animationManager.playAnim("OC00a.anm", 10, 18, 18); + _animationManager->playAnim("OC00a.anm", 10, 18, 18); if (!_eventsManager._escKeyFl) - _animationManager.playAnim("OC05a.anm", 10, 18, 18); + _animationManager->playAnim("OC05a.anm", 10, 18, 18); if (!_eventsManager._escKeyFl) - _animationManager.playAnim("OC10a.anm", 10, 18, 18); + _animationManager->playAnim("OC10a.anm", 10, 18, 18); if (!_eventsManager._escKeyFl) - _animationManager.playAnim("OC20a.anm", 10, 18, 18); + _animationManager->playAnim("OC20a.anm", 10, 18, 18); if (!_eventsManager._escKeyFl) { _graphicsManager.FADE_LINUX = 2; - _animationManager.playAnim("OC30a.anm", 10, 18, 18); + _animationManager->playAnim("OC30a.anm", 10, 18, 18); } _eventsManager._escKeyFl = false; - _animationManager._clearAnimationFl = false; + _animationManager->_clearAnimationFl = false; _globals._exitId = 85; } @@ -2013,16 +2015,16 @@ void HopkinsEngine::playUnderwaterBaseCutscene() { _graphicsManager.clearScreen(); _graphicsManager.unlockScreen(); _graphicsManager.clearPalette(); - _animationManager.NO_SEQ = false; + _animationManager->NO_SEQ = false; _soundManager.playSound(26); _globals.iRegul = 1; _globals._disableInventFl = true; - _animationManager.NO_COUL = true; + _animationManager->NO_COUL = true; _graphicsManager.FADE_LINUX = 2; - _animationManager.playSequence("abase.seq", 50, 15, 50); - _animationManager.NO_COUL = false; + _animationManager->playSequence("abase.seq", 50, 15, 50); + _animationManager->NO_COUL = false; _graphicsManager.loadImage("IM92"); - _animationManager.loadAnim("ANIM92"); + _animationManager->loadAnim("ANIM92"); _graphicsManager.displayAllBob(); _objectsManager.loadLinkFile("IM92"); @@ -2057,7 +2059,7 @@ void HopkinsEngine::playEnding() { _globals._exitId = 0; _soundManager.loadSample(1, "SOUND90.WAV"); _graphicsManager.loadImage("IM100"); - _animationManager.loadAnim("ANIM100"); + _animationManager->loadAnim("ANIM100"); _graphicsManager.displayAllBob(); _eventsManager.mouseOn(); _objectsManager.stopBobAnimation(7); @@ -2125,7 +2127,7 @@ void HopkinsEngine::playEnding() { _soundManager._specialSoundNum = 200; _soundManager._skipRefreshFl = true; _graphicsManager.FADE_LINUX = 2; - _animationManager.playAnim("BERM.ANM", 100, 24, 300); + _animationManager->playAnim("BERM.ANM", 100, 24, 300); _graphicsManager.endDisplayBob(); _soundManager.removeSample(1); _graphicsManager.loadImage("PLAN3"); @@ -2142,17 +2144,17 @@ void HopkinsEngine::playEnding() { _globals.iRegul = 1; _soundManager._specialSoundNum = 0; _graphicsManager.FADE_LINUX = 2; - _animationManager.playAnim("JOUR2A.anm", 12, 12, 1000); + _animationManager->playAnim("JOUR2A.anm", 12, 12, 1000); _soundManager.playSound(11); _graphicsManager.lockScreen(); _graphicsManager.clearScreen(); _graphicsManager.unlockScreen(); _graphicsManager.clearPalette(); - _animationManager.playAnim("FF1a.anm", 18, 18, 9); - _animationManager.playAnim("FF1a.anm", 9, 18, 9); - _animationManager.playAnim("FF1a.anm", 9, 18, 18); - _animationManager.playAnim("FF1a.anm", 9, 18, 9); - _animationManager.playAnim("FF2a.anm", 24, 24, 100); + _animationManager->playAnim("FF1a.anm", 18, 18, 9); + _animationManager->playAnim("FF1a.anm", 9, 18, 9); + _animationManager->playAnim("FF1a.anm", 9, 18, 18); + _animationManager->playAnim("FF1a.anm", 9, 18, 9); + _animationManager->playAnim("FF2a.anm", 24, 24, 100); displayCredits(); _globals.iRegul = 0; _globals._exitId = 300; @@ -2161,7 +2163,7 @@ void HopkinsEngine::playEnding() { } else { _soundManager._specialSoundNum = 200; _soundManager._skipRefreshFl = true; - _animationManager.playAnim2("BERM.ANM", 100, 24, 300); + _animationManager->playAnim2("BERM.ANM", 100, 24, 300); _objectsManager.stopBobAnimation(7); _objectsManager.setBobAnimation(8); _globals._introSpeechOffFl = true; @@ -2186,7 +2188,7 @@ void HopkinsEngine::playEnding() { _soundManager._specialSoundNum = 0; _dialogsManager._removeInventFl = false; _globals._disableInventFl = false; - _animationManager.playAnim("JOUR4A.anm", 12, 12, 1000); + _animationManager->playAnim("JOUR4A.anm", 12, 12, 1000); _globals.iRegul = 0; _globals._exitId = 300; } @@ -2203,41 +2205,41 @@ void HopkinsEngine::playPlaneCutscene() { _graphicsManager.unlockScreen(); _graphicsManager.clearPalette(); - _animationManager._clearAnimationFl = false; - _animationManager.playAnim("aerop00a.anm", 10, 18, 18); + _animationManager->_clearAnimationFl = false; + _animationManager->playAnim("aerop00a.anm", 10, 18, 18); if (!_eventsManager._escKeyFl) - _animationManager.playAnim("serop10a.anm", 10, 18, 18); + _animationManager->playAnim("serop10a.anm", 10, 18, 18); if (!_eventsManager._escKeyFl) - _animationManager.playAnim("aerop20a.anm", 10, 18, 18); + _animationManager->playAnim("aerop20a.anm", 10, 18, 18); if (!_eventsManager._escKeyFl) - _animationManager.playAnim("aerop30a.anm", 10, 18, 18); + _animationManager->playAnim("aerop30a.anm", 10, 18, 18); if (!_eventsManager._escKeyFl) - _animationManager.playAnim("aerop40a.anm", 10, 18, 18); + _animationManager->playAnim("aerop40a.anm", 10, 18, 18); if (!_eventsManager._escKeyFl) - _animationManager.playAnim("aerop50a.anm", 10, 18, 18); + _animationManager->playAnim("aerop50a.anm", 10, 18, 18); if (!_eventsManager._escKeyFl) - _animationManager.playAnim("aerop60a.anm", 10, 18, 18); + _animationManager->playAnim("aerop60a.anm", 10, 18, 18); if (!_eventsManager._escKeyFl) - _animationManager.playAnim("aerop70a.anm", 10, 18, 18); + _animationManager->playAnim("aerop70a.anm", 10, 18, 18); if (!_eventsManager._escKeyFl) - _animationManager.playAnim("trans00a.anm", 10, 18, 18); + _animationManager->playAnim("trans00a.anm", 10, 18, 18); if (!_eventsManager._escKeyFl) - _animationManager.playAnim("trans10a.anm", 10, 18, 18); + _animationManager->playAnim("trans10a.anm", 10, 18, 18); if (!_eventsManager._escKeyFl) - _animationManager.playAnim("trans15a.anm", 10, 18, 18); + _animationManager->playAnim("trans15a.anm", 10, 18, 18); if (!_eventsManager._escKeyFl) - _animationManager.playAnim("trans20a.anm", 10, 18, 18); + _animationManager->playAnim("trans20a.anm", 10, 18, 18); if (!_eventsManager._escKeyFl) - _animationManager.playAnim("trans30a.anm", 10, 18, 18); + _animationManager->playAnim("trans30a.anm", 10, 18, 18); if (!_eventsManager._escKeyFl) - _animationManager.playAnim("trans40a.anm", 10, 18, 18); + _animationManager->playAnim("trans40a.anm", 10, 18, 18); if (!_eventsManager._escKeyFl) { _graphicsManager.FADE_LINUX = 2; - _animationManager.playAnim("PARA00a.anm", 9, 9, 9); + _animationManager->playAnim("PARA00a.anm", 9, 9, 9); } _eventsManager._escKeyFl = false; - _animationManager._clearAnimationFl = false; + _animationManager->_clearAnimationFl = false; } void HopkinsEngine::loadBaseMap() { diff --git a/engines/hopkins/hopkins.h b/engines/hopkins/hopkins.h index 3b215ba30e..2252b6b1f7 100644 --- a/engines/hopkins/hopkins.h +++ b/engines/hopkins/hopkins.h @@ -143,7 +143,7 @@ protected: public: Debugger _debugger; - AnimationManager _animationManager; + AnimationManager *_animationManager; ComputerManager _computerManager; DialogsManager _dialogsManager; EventsManager _eventsManager; diff --git a/engines/hopkins/objects.cpp b/engines/hopkins/objects.cpp index d9dac0af3c..d4f4658dea 100644 --- a/engines/hopkins/objects.cpp +++ b/engines/hopkins/objects.cpp @@ -1734,7 +1734,7 @@ void ObjectsManager::handleCityMap() { _vm->_globals.loadHidingItems("PLAN.CA2"); loadZone("PLAN.ZO2"); _spritePtr = _vm->_fileManager.loadFile("VOITURE.SPR"); - _vm->_animationManager.loadAnim("PLAN"); + _vm->_animationManager->loadAnim("PLAN"); _vm->_graphicsManager.displayAllBob(); _vm->_graphicsManager.initScreen("PLAN", 2, false); for (int i = 0; i <= 15; i++) @@ -2051,7 +2051,7 @@ void ObjectsManager::clearScreen() { _vm->_fontManager.hideText(5); _vm->_fontManager.hideText(9); _vm->_globals.clearVBob(); - _vm->_animationManager.clearAnim(); + _vm->_animationManager->clearAnim(); _vm->_linesManager.clearAllZones(); _vm->_linesManager.resetLines(); _vm->_globals.resetHidingItems(); @@ -2589,10 +2589,10 @@ void ObjectsManager::handleSpecialGames() { _vm->_graphicsManager.NB_SCREEN(true); _vm->_soundManager._specialSoundNum = 198; PERSO_ON = true; - _vm->_animationManager.NO_SEQ = true; - _vm->_animationManager._clearAnimationFl = false; - _vm->_animationManager.playAnim("otage.ANM", 1, 24, 500); - _vm->_animationManager.NO_SEQ = false; + _vm->_animationManager->NO_SEQ = true; + _vm->_animationManager->_clearAnimationFl = false; + _vm->_animationManager->playAnim("otage.ANM", 1, 24, 500); + _vm->_animationManager->NO_SEQ = false; _vm->_soundManager._specialSoundNum = 0; _vm->_graphicsManager.NB_SCREEN(false); @@ -3633,7 +3633,7 @@ void ObjectsManager::handleForest(int screenId, int minX, int maxX, int minY, in } if (_vm->_globals._saveData->_data[savegameIdx] == 3) { _vm->_graphicsManager.FADE_LINUX = 2; - _vm->_animationManager.playAnim("CREVE2.ANM", 100, 24, 500); + _vm->_animationManager->playAnim("CREVE2.ANM", 100, 24, 500); _vm->_globals._exitId = 150; _vm->_graphicsManager._noFadingFl = true; hideBob(1); @@ -3676,7 +3676,7 @@ void ObjectsManager::PERSONAGE(const Common::String &backgroundFile, const Commo if (!linkFile.empty()) loadLinkFile(linkFile); if (!animFile.empty()) - _vm->_animationManager.loadAnim(animFile); + _vm->_animationManager->loadAnim(animFile); _vm->_graphicsManager.displayAllBob(); if (!s4.empty()) { if (initializeScreen) @@ -3700,7 +3700,7 @@ void ObjectsManager::PERSONAGE(const Common::String &backgroundFile, const Commo _vm->_eventsManager.refreshScreenAndEvents(); _vm->_graphicsManager.fadeInLong(); if (_vm->_globals._screenId == 61) { - _vm->_animationManager.playSequence("OUVRE.SEQ", 10, 4, 10); + _vm->_animationManager->playSequence("OUVRE.SEQ", 10, 4, 10); stopBobAnimation(3); _vm->_globals._checkDistanceFl = true; _oldCharacterPosX = getSpriteX(0); @@ -3766,7 +3766,7 @@ void ObjectsManager::PERSONAGE2(const Common::String &backgroundFile, const Comm if (!linkFile.empty()) loadLinkFile(linkFile); if (!animFile.empty()) { - _vm->_animationManager.loadAnim(animFile); + _vm->_animationManager->loadAnim(animFile); _vm->_graphicsManager.displayAllBob(); } if (!s4.empty()) { diff --git a/engines/hopkins/script.cpp b/engines/hopkins/script.cpp index c1adb1767b..eb69ced772 100644 --- a/engines/hopkins/script.cpp +++ b/engines/hopkins/script.cpp @@ -559,10 +559,10 @@ int ScriptManager::handleOpcode(byte *dataP) { } else { _vm->_soundManager.playSoundFile("SOUND17.WAV"); _vm->_graphicsManager.FADE_LINUX = 2; - _vm->_animationManager.playSequence2("HELICO.SEQ", 10, 4, 10); + _vm->_animationManager->playSequence2("HELICO.SEQ", 10, 4, 10); } - _vm->_animationManager.loadAnim("otage"); + _vm->_animationManager->loadAnim("otage"); _vm->_graphicsManager.loadImage("IM05"); _vm->_graphicsManager.displayAllBob(); @@ -588,10 +588,10 @@ int ScriptManager::handleOpcode(byte *dataP) { if (!_vm->_globals._censorshipFl) { _vm->_soundManager._specialSoundNum = 16; _vm->_graphicsManager.FADE_LINUX = 2; - _vm->_animationManager.playAnim("EGORGE.ANM", 50, 28, 500); + _vm->_animationManager->playAnim("EGORGE.ANM", 50, 28, 500); _vm->_soundManager._specialSoundNum = 0; } - _vm->_animationManager.loadAnim("ASCEN"); + _vm->_animationManager->loadAnim("ASCEN"); _vm->_eventsManager.mouseOff(); _vm->_graphicsManager.loadImage("ASCEN"); _vm->_graphicsManager.displayAllBob(); @@ -614,7 +614,7 @@ int ScriptManager::handleOpcode(byte *dataP) { _vm->_soundManager._specialSoundNum = 14; _vm->_graphicsManager.FADE_LINUX = 2; - _vm->_animationManager.playSequence2("ASSOM.SEQ", 10, 4, 500); + _vm->_animationManager->playSequence2("ASSOM.SEQ", 10, 4, 500); _vm->_soundManager._specialSoundNum = 0; if ((_vm->getPlatform() == Common::kPlatformWindows) && _vm->getIsDemo()) @@ -708,7 +708,7 @@ int ScriptManager::handleOpcode(byte *dataP) { case 37: _vm->_graphicsManager.FADE_LINUX = 2; - _vm->_animationManager.playSequence2("corde.SEQ", 32, 32, 100); + _vm->_animationManager->playSequence2("corde.SEQ", 32, 32, 100); _vm->_graphicsManager._noFadingFl = true; break; @@ -717,10 +717,10 @@ int ScriptManager::handleOpcode(byte *dataP) { _vm->_soundManager.loadSample(2, "SOUND42.WAV"); _vm->_soundManager.loadSample(3, "SOUND41.WAV"); _vm->_soundManager._specialSoundNum = 17; - _vm->_animationManager.playSequence("grenade.SEQ", 1, 32, 100); + _vm->_animationManager->playSequence("grenade.SEQ", 1, 32, 100); _vm->_soundManager._specialSoundNum = 0; _vm->_graphicsManager.FADE_LINUX = 2; - _vm->_animationManager.playAnim("CREVE17.ANM", 24, 24, 200); + _vm->_animationManager->playAnim("CREVE17.ANM", 24, 24, 200); _vm->_soundManager.removeSample(1); _vm->_soundManager.removeSample(2); _vm->_soundManager.removeSample(3); @@ -899,7 +899,7 @@ int ScriptManager::handleOpcode(byte *dataP) { _vm->_fontManager.hideText(9); _vm->_graphicsManager.endDisplayBob(); _vm->_graphicsManager.loadImage("IM20f"); - _vm->_animationManager.loadAnim("ANIM20f"); + _vm->_animationManager->loadAnim("ANIM20f"); _vm->_graphicsManager.displayAllBob(); _vm->_eventsManager.mouseOff(); _vm->_graphicsManager.fadeInLong(); @@ -1295,11 +1295,11 @@ int ScriptManager::handleOpcode(byte *dataP) { case 90: _vm->_soundManager.playSoundFile("SOUND52.WAV"); if (!_vm->_globals._saveData->_data[svField186]) { - _vm->_animationManager.playSequence("CIB5A.SEQ", 1, 12, 1); + _vm->_animationManager->playSequence("CIB5A.SEQ", 1, 12, 1); _vm->_graphicsManager.fastDisplay(_vm->_globals.SPRITE_ECRAN, 155, 29, 0); } if (_vm->_globals._saveData->_data[svField186] == 1) { - _vm->_animationManager.playSequence("CIB5C.SEQ", 1, 12, 1); + _vm->_animationManager->playSequence("CIB5C.SEQ", 1, 12, 1); _vm->_graphicsManager.fastDisplay(_vm->_globals.SPRITE_ECRAN, 155, 29, 0); _vm->_graphicsManager.fastDisplay(_vm->_globals.SPRITE_ECRAN, 329, 87, 2); } @@ -1308,11 +1308,11 @@ int ScriptManager::handleOpcode(byte *dataP) { case 91: _vm->_soundManager.playSoundFile("SOUND52.WAV"); if (!_vm->_globals._saveData->_data[svField186]) { - _vm->_animationManager.playSequence("CIB5B.SEQ", 1, 12, 1); + _vm->_animationManager->playSequence("CIB5B.SEQ", 1, 12, 1); _vm->_graphicsManager.fastDisplay(_vm->_globals.SPRITE_ECRAN, 155, 29, 5); } if (_vm->_globals._saveData->_data[svField186] == 1) { - _vm->_animationManager.playSequence("CIB5D.SEQ", 1, 12, 1); + _vm->_animationManager->playSequence("CIB5D.SEQ", 1, 12, 1); _vm->_graphicsManager.fastDisplay(_vm->_globals.SPRITE_ECRAN, 155, 29, 5); _vm->_graphicsManager.fastDisplay(_vm->_globals.SPRITE_ECRAN, 283, 160, 6); } @@ -1321,11 +1321,11 @@ int ScriptManager::handleOpcode(byte *dataP) { case 92: _vm->_soundManager.playSoundFile("SOUND52.WAV"); if (!_vm->_globals._saveData->_data[svField184]) { - _vm->_animationManager.playSequence("CIB6A.SEQ", 1, 12, 1); + _vm->_animationManager->playSequence("CIB6A.SEQ", 1, 12, 1); _vm->_graphicsManager.fastDisplay(_vm->_globals.SPRITE_ECRAN, 155, 29, 0); } if (_vm->_globals._saveData->_data[svField184] == 1) { - _vm->_animationManager.playSequence("CIB6C.SEQ", 1, 12, 1); + _vm->_animationManager->playSequence("CIB6C.SEQ", 1, 12, 1); _vm->_graphicsManager.fastDisplay(_vm->_globals.SPRITE_ECRAN, 155, 29, 0); _vm->_graphicsManager.fastDisplay(_vm->_globals.SPRITE_ECRAN, 293, 139, 3); } @@ -1334,11 +1334,11 @@ int ScriptManager::handleOpcode(byte *dataP) { case 93: _vm->_soundManager.playSoundFile("SOUND52.WAV"); if (!_vm->_globals._saveData->_data[svField184]) { - _vm->_animationManager.playSequence("CIB6B.SEQ", 1, 12, 1); + _vm->_animationManager->playSequence("CIB6B.SEQ", 1, 12, 1); _vm->_graphicsManager.fastDisplay(_vm->_globals.SPRITE_ECRAN, 155, 29, 5); } if (_vm->_globals._saveData->_data[svField184] == 1) { - _vm->_animationManager.playSequence("CIB6D.SEQ", 1, 12, 1); + _vm->_animationManager->playSequence("CIB6D.SEQ", 1, 12, 1); _vm->_graphicsManager.fastDisplay(_vm->_globals.SPRITE_ECRAN, 155, 29, 5); _vm->_graphicsManager.fastDisplay(_vm->_globals.SPRITE_ECRAN, 283, 161, 8); } @@ -1399,7 +1399,7 @@ int ScriptManager::handleOpcode(byte *dataP) { _vm->_globals._introSpeechOffFl = true; _vm->_talkManager.startAnimatedCharacterDialogue("tourist1.pe2"); _vm->_globals._introSpeechOffFl = false; - _vm->_animationManager.playAnim2("T421.ANM", 100, 14, 500); + _vm->_animationManager->playAnim2("T421.ANM", 100, 14, 500); _vm->_eventsManager.refreshScreenAndEvents(); _vm->_eventsManager.refreshScreenAndEvents(); _vm->_eventsManager.refreshScreenAndEvents(); @@ -1875,7 +1875,7 @@ int ScriptManager::handleOpcode(byte *dataP) { _vm->_globals._disableInventFl = true; if (_vm->_globals._saveData->_data[svLastPrevScreenId] != _vm->_globals._saveData->_data[svField401]) { _vm->_soundManager._specialSoundNum = 208; - _vm->_animationManager.playSequence("SORT.SEQ", 10, 4, 10, true); + _vm->_animationManager->playSequence("SORT.SEQ", 10, 4, 10, true); _vm->_soundManager._specialSoundNum = 0; } _vm->_globals._checkDistanceFl = true; @@ -1936,9 +1936,9 @@ int ScriptManager::handleOpcode(byte *dataP) { } case 210: - _vm->_animationManager.NO_SEQ = true; + _vm->_animationManager->NO_SEQ = true; _vm->_soundManager._specialSoundNum = 210; - _vm->_animationManager.playSequence2("SECRET1.SEQ", 1, 12, 1); + _vm->_animationManager->playSequence2("SECRET1.SEQ", 1, 12, 1); _vm->_soundManager._specialSoundNum = 0; _vm->_graphicsManager.fastDisplay(_vm->_globals.SPRITE_ECRAN, 192, 152, 0); _vm->_objectsManager.setBobAnimation(9); @@ -1946,7 +1946,7 @@ int ScriptManager::handleOpcode(byte *dataP) { _vm->_objectsManager.loadLinkFile("IM73a"); _vm->_objectsManager.OBSSEUL = false; _vm->_globals.enableHiding(); - _vm->_animationManager.NO_SEQ = false; + _vm->_animationManager->NO_SEQ = false; _vm->_globals.setHidingUseCount(0); _vm->_globals.setHidingUseCount(1); _vm->_graphicsManager.SETCOLOR4(252, 100, 100, 100); @@ -1958,11 +1958,11 @@ int ScriptManager::handleOpcode(byte *dataP) { case 211: _vm->_objectsManager.removeSprite(0); _vm->_globals.disableHiding(); - _vm->_animationManager.NO_SEQ = true; + _vm->_animationManager->NO_SEQ = true; _vm->_soundManager._specialSoundNum = 211; - _vm->_animationManager.playSequence("SECRET2.SEQ", 1, 12, 100); + _vm->_animationManager->playSequence("SECRET2.SEQ", 1, 12, 100); _vm->_soundManager._specialSoundNum = 0; - _vm->_animationManager.NO_SEQ = false; + _vm->_animationManager->NO_SEQ = false; _vm->_graphicsManager._noFadingFl = true; _vm->_graphicsManager.fadeOutLong(); @@ -1993,7 +1993,7 @@ int ScriptManager::handleOpcode(byte *dataP) { case 229: _vm->_soundManager._specialSoundNum = 229; - _vm->_animationManager.playSequence("MUR.SEQ", 1, 12, 1); + _vm->_animationManager->playSequence("MUR.SEQ", 1, 12, 1); _vm->_soundManager._specialSoundNum = 0; _vm->_graphicsManager.fastDisplay(_vm->_globals.SPRITE_ECRAN, 340, 157, 2); break; @@ -2268,9 +2268,9 @@ int ScriptManager::handleOpcode(byte *dataP) { // Resurrect Samantha's clone case 242: { _vm->_soundManager.playSoundFile("SOUND87.WAV"); - _vm->_animationManager.NO_SEQ = true; - _vm->_animationManager.playSequence("RESUF.SEQ", 1, 24, 1); - _vm->_animationManager.NO_SEQ = false; + _vm->_animationManager->NO_SEQ = true; + _vm->_animationManager->playSequence("RESUF.SEQ", 1, 24, 1); + _vm->_animationManager->NO_SEQ = false; CharacterLocation *samantha = &_vm->_globals._saveData->_samantha; samantha->_pos.x = 404; @@ -2293,9 +2293,9 @@ int ScriptManager::handleOpcode(byte *dataP) { case 243: _vm->_soundManager.playSoundFile("SOUND88.WAV"); if (_vm->_globals._saveData->_data[svField341] == 2) { - _vm->_animationManager.NO_SEQ = true; - _vm->_animationManager.playSequence("RESU.SEQ", 2, 24, 2); - _vm->_animationManager.NO_SEQ = false; + _vm->_animationManager->NO_SEQ = true; + _vm->_animationManager->playSequence("RESU.SEQ", 2, 24, 2); + _vm->_animationManager->NO_SEQ = false; } else { _vm->_objectsManager.OPTI_ONE(7, 0, 14, 0); } @@ -2315,9 +2315,9 @@ int ScriptManager::handleOpcode(byte *dataP) { _vm->_objectsManager.OPTI_ONE(6, 0, 15, 0); _vm->_objectsManager.PERSO_ON = true; _vm->_graphicsManager.NB_SCREEN(true); - _vm->_animationManager.NO_SEQ = true; - _vm->_animationManager.playSequence2("TUNNEL.SEQ", 1, 18, 20); - _vm->_animationManager.NO_SEQ = false; + _vm->_animationManager->NO_SEQ = true; + _vm->_animationManager->playSequence2("TUNNEL.SEQ", 1, 18, 20); + _vm->_animationManager->NO_SEQ = false; _vm->_graphicsManager._noFadingFl = true; _vm->_graphicsManager.fadeOutLong(); _vm->_objectsManager.PERSO_ON = false; @@ -2328,7 +2328,7 @@ int ScriptManager::handleOpcode(byte *dataP) { if (!_vm->getIsDemo()) { _vm->_graphicsManager.FADE_LINUX = 2; _vm->_graphicsManager._fadeDefaultSpeed = 1; - _vm->_animationManager.playAnim("BOMBE1A.ANM", 100, 18, 100); + _vm->_animationManager->playAnim("BOMBE1A.ANM", 100, 18, 100); } _vm->_graphicsManager.loadImage("BOMBEB"); _vm->_graphicsManager.SETCOLOR3(252, 100, 100, 100); @@ -2354,7 +2354,7 @@ int ScriptManager::handleOpcode(byte *dataP) { _vm->_objectsManager.OPTI_ONE(3, 0, 16, 4); _vm->_soundManager._specialSoundNum = 199; _vm->_graphicsManager.FADE_LINUX = 2; - _vm->_animationManager.playAnim("BOMBE2A.ANM", 50, 14, 500); + _vm->_animationManager->playAnim("BOMBE2A.ANM", 50, 14, 500); _vm->_soundManager._specialSoundNum = 0; memset(_vm->_graphicsManager._vesaBuffer, 0, 614400); _vm->_graphicsManager._noFadingFl = true; @@ -2365,7 +2365,7 @@ int ScriptManager::handleOpcode(byte *dataP) { _vm->_graphicsManager.fastDisplay(_vm->_globals.SPRITE_ECRAN, 513, 163, 7, false); _vm->_objectsManager.OPTI_ONE(1, 0, 16, 4); _vm->_soundManager._specialSoundNum = 199; - _vm->_animationManager.playAnim("BOMBE2A.ANM", 50, 14, 500); + _vm->_animationManager->playAnim("BOMBE2A.ANM", 50, 14, 500); _vm->_soundManager._specialSoundNum = 0; _vm->_graphicsManager._noFadingFl = true; memset(_vm->_graphicsManager._vesaBuffer, 0, 614400); @@ -2378,7 +2378,7 @@ int ScriptManager::handleOpcode(byte *dataP) { _vm->_graphicsManager.fadeOutShort(); _vm->_soundManager._specialSoundNum = 199; _vm->_graphicsManager.FADE_LINUX = 2; - _vm->_animationManager.playAnim("BOMBE2A.ANM", 50, 14, 500); + _vm->_animationManager->playAnim("BOMBE2A.ANM", 50, 14, 500); _vm->_soundManager._specialSoundNum = 0; _vm->_graphicsManager._noFadingFl = true; memset(_vm->_graphicsManager._vesaBuffer, 0, 614400); @@ -2389,7 +2389,7 @@ int ScriptManager::handleOpcode(byte *dataP) { _vm->_graphicsManager.fastDisplay(_vm->_globals.SPRITE_ECRAN, 513, 163, 7, false); _vm->_objectsManager.OPTI_ONE(6, 0, 16, 4); if ((_vm->getPlatform() != Common::kPlatformWindows) || !_vm->getIsDemo()) { - _vm->_animationManager.playAnim("BOMBE3A.ANM", 50, 14, 500); + _vm->_animationManager->playAnim("BOMBE3A.ANM", 50, 14, 500); memset(_vm->_graphicsManager._vesaBuffer, 0, 614400); } _vm->_globals._exitId = 6; @@ -2399,7 +2399,7 @@ int ScriptManager::handleOpcode(byte *dataP) { // Display bomb plan if (!_vm->getIsDemo()) { memcpy(_vm->_graphicsManager._oldPalette, _vm->_graphicsManager._palette, 769); - _vm->_animationManager.playAnim2("PLAN.ANM", 50, 10, 800); + _vm->_animationManager->playAnim2("PLAN.ANM", 50, 10, 800); } _vm->_graphicsManager.resetDirtyRects(); break; |