diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/agi/agi.h | 18 | ||||
-rw-r--r-- | engines/agi/cycle.cpp | 8 |
2 files changed, 16 insertions, 10 deletions
diff --git a/engines/agi/agi.h b/engines/agi/agi.h index 6534331f6e..b288557f57 100644 --- a/engines/agi/agi.h +++ b/engines/agi/agi.h @@ -148,17 +148,17 @@ enum BooterDisks { // position and position.v. // enum AgiGameFeatures { - GF_AGIMOUSE = (1 << 0), + GF_AGIMOUSE = (1 << 0), // this disables "Click-to-walk mouse interface" GF_AGDS = (1 << 1), - GF_AGI256 = (1 << 2), - GF_AGI256_2 = (1 << 3), - GF_AGIPAL = (1 << 4), - GF_MACGOLDRUSH = (1 << 5), - GF_FANMADE = (1 << 6), - GF_MENUS = (1 << 7), - GF_ESCPAUSE = (1 << 8), + GF_AGI256 = (1 << 2), // marks fanmade AGI-256 games + GF_AGI256_2 = (1 << 3), // marks fanmade AGI-256-2 games + GF_AGIPAL = (1 << 4), // marks game using fanmade AGIPAL extension + GF_MACGOLDRUSH = (1 << 5), // use "grdir" instead of "dir" for volume loading + GF_FANMADE = (1 << 6), // marks fanmade games + GF_MENUS = (1 << 7), // not used anymore + GF_ESCPAUSE = (1 << 8), // not used anymore, we detect this internally GF_OLDAMIGAV20 = (1 << 9), - GF_CLIPCOORDS = (1 << 10), + GF_CLIPCOORDS = (1 << 10), // not used atm GF_2GSOLDSOUND = (1 << 11) }; diff --git a/engines/agi/cycle.cpp b/engines/agi/cycle.cpp index 211513ca36..19aca6f2c4 100644 --- a/engines/agi/cycle.cpp +++ b/engines/agi/cycle.cpp @@ -497,7 +497,13 @@ int AgiEngine::runGame() { break; case Common::kRenderHercA: case Common::kRenderHercG: - setVar(VM_VAR_MONITOR, kAgiMonitorHercules); + // Set EGA for now. Some games place text differently, when this is set to kAgiMonitorHercules. + // Text placement was different for Hercules rendering (16x12 instead of 16x16). There also was + // not enough space left for the prompt at the bottom. This was caused by the Hercules resolution. + // We don't have this restriction and we also support the regular prompt for Hercules mode. + // In theory Sierra could have had special Hercules code inside their games. + // TODO: check this. + setVar(VM_VAR_MONITOR, kAgiMonitorEga); break; // Don't know if Amiga AGI games use a different value than kAgiMonitorEga // for vMonitor so I just use kAgiMonitorEga for them (As was done before too). |