aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStrangerke2013-03-19 08:17:01 +0100
committerStrangerke2013-03-19 08:17:01 +0100
commitdc5a2b1de7f193afb4c3625c7b16f6c93f86c54c (patch)
treed4d3e40f8888b245baff1c2f0a097dfd2e2e7cc0
parentb0ad532a922109c366a14ca877b7844a79f92dfd (diff)
downloadscummvm-rg350-dc5a2b1de7f193afb4c3625c7b16f6c93f86c54c.tar.gz
scummvm-rg350-dc5a2b1de7f193afb4c3625c7b16f6c93f86c54c.tar.bz2
scummvm-rg350-dc5a2b1de7f193afb4c3625c7b16f6c93f86c54c.zip
HOPKINS: Remove setParent() from AnimationManager
-rw-r--r--engines/hopkins/anim.cpp3
-rw-r--r--engines/hopkins/anim.h3
-rw-r--r--engines/hopkins/hopkins.cpp174
-rw-r--r--engines/hopkins/hopkins.h2
-rw-r--r--engines/hopkins/objects.cpp20
-rw-r--r--engines/hopkins/script.cpp82
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;