aboutsummaryrefslogtreecommitdiff
path: root/engines/agos/agos.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2011-08-27 08:21:57 -0700
committerEugene Sandulenko2011-08-27 08:21:57 -0700
commit35aa235e4b4c4212b59d00adb77d2e3d00dd440e (patch)
tree08f22fd45b7d886a96e73809ff48dc4e9df39bcc /engines/agos/agos.cpp
parentac53915d01e69b90fc6bf64dbce2606c9d4044fd (diff)
parent5346ac18b7e33a603aa2743fa57f430d96cdbc33 (diff)
downloadscummvm-rg350-35aa235e4b4c4212b59d00adb77d2e3d00dd440e.tar.gz
scummvm-rg350-35aa235e4b4c4212b59d00adb77d2e3d00dd440e.tar.bz2
scummvm-rg350-35aa235e4b4c4212b59d00adb77d2e3d00dd440e.zip
Merge pull request #79 from clone2727/agos_cab
AGOS: Add support for loading data from Windows (InstallShield) installer archives
Diffstat (limited to 'engines/agos/agos.cpp')
-rw-r--r--engines/agos/agos.cpp51
1 files changed, 48 insertions, 3 deletions
diff --git a/engines/agos/agos.cpp b/engines/agos/agos.cpp
index 97c594684c..465b6e0786 100644
--- a/engines/agos/agos.cpp
+++ b/engines/agos/agos.cpp
@@ -41,18 +41,51 @@
namespace AGOS {
static const GameSpecificSettings simon1_settings = {
+ "", // base_filename
+ "", // restore_filename
+ "", // tbl_filename
"EFFECTS", // effects_filename
"SIMON", // speech_filename
};
static const GameSpecificSettings simon2_settings = {
+ "", // base_filename
+ "", // restore_filename
+ "", // tbl_filename
"", // effects_filename
"SIMON2", // speech_filename
};
-static const GameSpecificSettings puzzlepack_settings = {
+static const GameSpecificSettings dimp_settings = {
+ "Gdimp", // base_filename
+ "", // restore_filename
+ "", // tbl_filename
"", // effects_filename
- "MUSIC", // speech_filename
+ "MUSIC", // speech_filename
+};
+
+static const GameSpecificSettings jumble_settings = {
+ "Gjumble", // base_filename
+ "", // restore_filename
+ "", // tbl_filename
+ "", // effects_filename
+ "MUSIC", // speech_filename
+};
+
+static const GameSpecificSettings puzzle_settings = {
+ "Gpuzzle", // base_filename
+ "", // restore_filename
+ "", // tbl_filename
+ "", // effects_filename
+ "MUSIC", // speech_filename
+};
+
+static const GameSpecificSettings swampy_settings = {
+ "Gswampy", // base_filename
+ "", // restore_filename
+ "", // tbl_filename
+ "", // effects_filename
+ "MUSIC", // speech_filename
};
#ifdef ENABLE_AGOS2
@@ -678,7 +711,15 @@ static const uint16 initialVideoWindows_PN[20] = {
#ifdef ENABLE_AGOS2
void AGOSEngine_PuzzlePack::setupGame() {
- gss = &puzzlepack_settings;
+ if (getGameId() == GID_DIMP) {
+ gss = &dimp_settings;
+ } else if (getGameId() == GID_JUMBLE) {
+ gss = &jumble_settings;
+ } else if (getGameId() == GID_PUZZLE) {
+ gss = &puzzle_settings;
+ } else if (getGameId() == GID_SWAMPY) {
+ gss = &swampy_settings;
+ }
_numVideoOpcodes = 85;
_vgaMemSize = 7500000;
_itemMemSize = 20000;
@@ -963,6 +1004,10 @@ void AGOSEngine::pause() {
}
Common::Error AGOSEngine::go() {
+#ifdef ENABLE_AGOS2
+ loadArchives();
+#endif
+
loadGamePcFile();
addTimeEvent(0, 1);