diff options
author | Bastien Bouclet | 2016-11-01 09:45:33 +0100 |
---|---|---|
committer | Eugene Sandulenko | 2017-07-03 08:50:10 +0200 |
commit | e2c5609e81d3a54e0d3c63427288f3c261b86ade (patch) | |
tree | 8e2cd7a82440cf74e29c8259bc646b3d0cb1ca52 /engines/mohawk/riven.cpp | |
parent | ab2d151541f5d4ae12aeeba6ec5e928109be84f5 (diff) | |
download | scummvm-rg350-e2c5609e81d3a54e0d3c63427288f3c261b86ade.tar.gz scummvm-rg350-e2c5609e81d3a54e0d3c63427288f3c261b86ade.tar.bz2 scummvm-rg350-e2c5609e81d3a54e0d3c63427288f3c261b86ade.zip |
MOHAWK: Prepare empty classes for the Riven stacks
Diffstat (limited to 'engines/mohawk/riven.cpp')
-rw-r--r-- | engines/mohawk/riven.cpp | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/engines/mohawk/riven.cpp b/engines/mohawk/riven.cpp index 485d4bb174..d6c6754c66 100644 --- a/engines/mohawk/riven.cpp +++ b/engines/mohawk/riven.cpp @@ -37,6 +37,14 @@ #include "mohawk/riven_saveload.h" #include "mohawk/riven_sound.h" #include "mohawk/riven_stack.h" +#include "mohawk/riven_stacks/aspit.h" +#include "mohawk/riven_stacks/bspit.h" +#include "mohawk/riven_stacks/gspit.h" +#include "mohawk/riven_stacks/jspit.h" +#include "mohawk/riven_stacks/ospit.h" +#include "mohawk/riven_stacks/pspit.h" +#include "mohawk/riven_stacks/rspit.h" +#include "mohawk/riven_stacks/tspit.h" #include "mohawk/dialogs.h" #include "mohawk/video.h" #include "mohawk/console.h" @@ -341,7 +349,30 @@ void MohawkEngine_Riven::changeToStack(uint16 n) { _sound->stopAllSLST(); delete _stack; - _stack = new RivenStack(this, n); + _stack = constructStackById(n); +} + +RivenStack *MohawkEngine_Riven::constructStackById(uint16 id) { + switch (id) { + case kStackAspit: + return new RivenStacks::ASpit(this); + case kStackBspit: + return new RivenStacks::BSpit(this); + case kStackGspit: + return new RivenStacks::GSpit(this); + case kStackJspit: + return new RivenStacks::JSpit(this); + case kStackOspit: + return new RivenStacks::OSpit(this); + case kStackPspit: + return new RivenStacks::PSpit(this); + case kStackRspit: + return new RivenStacks::RSpit(this); + case kStackTspit: + return new RivenStacks::TSpit(this); + default: + error("Unknown stack id '%d'", id); + } } // Riven uses some hacks to change stacks for linking books |