aboutsummaryrefslogtreecommitdiff
path: root/engines/hugo/hugo.cpp
diff options
context:
space:
mode:
authorArnaud Boutonné2010-09-04 16:02:16 +0000
committerArnaud Boutonné2010-09-04 16:02:16 +0000
commita29ae442965bdef0b2a4a0e4df8638a37adcde82 (patch)
treecc11d4651504f7b4d15479171d3a7ba7b9a781a4 /engines/hugo/hugo.cpp
parent34195238bb6cc3ff1051230c4acbe3669f082e0e (diff)
downloadscummvm-rg350-a29ae442965bdef0b2a4a0e4df8638a37adcde82.tar.gz
scummvm-rg350-a29ae442965bdef0b2a4a0e4df8638a37adcde82.tar.bz2
scummvm-rg350-a29ae442965bdef0b2a4a0e4df8638a37adcde82.zip
HUGO: Fix decryption in H2 DOS, plus some cleanup
svn-id: r52525
Diffstat (limited to 'engines/hugo/hugo.cpp')
-rw-r--r--engines/hugo/hugo.cpp28
1 files changed, 27 insertions, 1 deletions
diff --git a/engines/hugo/hugo.cpp b/engines/hugo/hugo.cpp
index 32dd841929..58f4dc444e 100644
--- a/engines/hugo/hugo.cpp
+++ b/engines/hugo/hugo.cpp
@@ -141,7 +141,6 @@ Common::Error HugoEngine::run() {
initGraphics(320, 200, false);
_fileManager = new FileManager(*this);
- _scheduler = new Scheduler(*this);
_screen = new Screen(*this);
_mouseHandler = new MouseHandler(*this);
_inventoryHandler = new InventoryHandler(*this);
@@ -149,6 +148,33 @@ Common::Error HugoEngine::run() {
_route = new Route(*this);
_soundHandler = new SoundHandler(*this);
+ switch (_gameVariant) {
+ case 0:
+ _scheduler = new Scheduler_v2(*this);
+ _introHandler = new intro_1w(*this);
+ break;
+ case 1:
+ _scheduler = new Scheduler_v2(*this);
+ _introHandler = new intro_2w(*this);
+ break;
+ case 2:
+ _scheduler = new Scheduler_v2(*this);
+ _introHandler = new intro_3w(*this);
+ break;
+ case 3:
+ _scheduler = new Scheduler_v1(*this);
+ _introHandler = new intro_1d(*this);
+ break;
+ case 4:
+ _scheduler = new Scheduler_v1(*this);
+ _introHandler = new intro_2d(*this);
+ break;
+ case 5:
+ _scheduler = new Scheduler_v2(*this);
+ _introHandler = new intro_3d(*this);
+ break;
+ }
+
if (!loadHugoDat())
return Common::kUnknownError;