diff options
author | Kari Salminen | 2008-01-02 16:36:47 +0000 |
---|---|---|
committer | Kari Salminen | 2008-01-02 16:36:47 +0000 |
commit | 6dfaaf3018cd44e8c2eb9356c3d6e2d5f0d89ad7 (patch) | |
tree | b8659e7278051ac37a1f305c58cf292f3d31ca4d | |
parent | 33b2a4083dbcb87352063ff16024b25ba1627e43 (diff) | |
download | scummvm-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.h | 12 | ||||
-rw-r--r-- | engines/agi/cycle.cpp | 18 |
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) |