aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKari Salminen2008-01-02 16:36:47 +0000
committerKari Salminen2008-01-02 16:36:47 +0000
commit6dfaaf3018cd44e8c2eb9356c3d6e2d5f0d89ad7 (patch)
treeb8659e7278051ac37a1f305c58cf292f3d31ca4d
parent33b2a4083dbcb87352063ff16024b25ba1627e43 (diff)
downloadscummvm-rg350-6dfaaf3018cd44e8c2eb9356c3d6e2d5f0d89ad7.tar.gz
scummvm-rg350-6dfaaf3018cd44e8c2eb9356c3d6e2d5f0d89ad7.tar.bz2
scummvm-rg350-6dfaaf3018cd44e8c2eb9356c3d6e2d5f0d89ad7.zip
Set AGI's computer type variable (v20 i.e. vComputer) according to the used platform. Now using different values for IBM-PC, Atari ST, Amiga and Apple IIGS platforms.
svn-id: r30153
-rw-r--r--engines/agi/agi.h12
-rw-r--r--engines/agi/cycle.cpp18
2 files changed, 29 insertions, 1 deletions
diff --git a/engines/agi/agi.h b/engines/agi/agi.h
index b63095f9fd..0f792b37fe 100644
--- a/engines/agi/agi.h
+++ b/engines/agi/agi.h
@@ -266,6 +266,18 @@ enum AgiMonitorType {
};
/**
+ * Different computer types.
+ * Used with AGI variable 20 i.e. vComputer.
+ * FIXME? As an exception Amiga's Space Quest I (Version 1.2, AGI 2.082) uses value 20.
+ */
+enum AgiComputerType {
+ kAgiComputerPC = 0,
+ kAgiComputerAtariST = 4,
+ kAgiComputerAmiga = 5,
+ kAgiComputerApple2GS = 7
+};
+
+/**
* AGI flags
*/
enum {
diff --git a/engines/agi/cycle.cpp b/engines/agi/cycle.cpp
index a517b8d847..6953635ee1 100644
--- a/engines/agi/cycle.cpp
+++ b/engines/agi/cycle.cpp
@@ -365,7 +365,23 @@ int AgiEngine::runGame() {
if (ec == errRestartGame)
setflag(fRestartGame, true);
- setvar(vComputer, 0); /* IBM PC (4 = Atari ST) */
+ // Set computer type (v20 i.e. vComputer)
+ switch (getPlatform()) {
+ case Common::kPlatformAtariST:
+ setvar(vComputer, kAgiComputerAtariST);
+ break;
+ case Common::kPlatformAmiga:
+ setvar(vComputer, kAgiComputerAmiga);
+ break;
+ case Common::kPlatformApple2GS:
+ setvar(vComputer, kAgiComputerApple2GS);
+ break;
+ case Common::kPlatformPC:
+ default:
+ setvar(vComputer, kAgiComputerPC);
+ break;
+ }
+
setvar(vSoundgen, 1); /* IBM PC SOUND */
// Set monitor type (v26 i.e. vMonitor)