[Scummvm-cvs-logs] SF.net SVN: scummvm: [27774] scummvm/trunk/engines/agi

buddha_ at users.sourceforge.net buddha_ at users.sourceforge.net
Fri Jun 29 17:58:49 CEST 2007


Revision: 27774
          http://scummvm.svn.sourceforge.net/scummvm/?rev=27774&view=rev
Author:   buddha_
Date:     2007-06-29 08:58:48 -0700 (Fri, 29 Jun 2007)

Log Message:
-----------
Set AGI monitor type variable (vMonitor/v26) according to render mode.

Modified Paths:
--------------
    scummvm/trunk/engines/agi/agi.h
    scummvm/trunk/engines/agi/cycle.cpp

Modified: scummvm/trunk/engines/agi/agi.h
===================================================================
--- scummvm/trunk/engines/agi/agi.h	2007-06-29 14:56:02 UTC (rev 27773)
+++ scummvm/trunk/engines/agi/agi.h	2007-06-29 15:58:48 UTC (rev 27774)
@@ -247,6 +247,18 @@
 };
 
 /**
+ * Different monitor types.
+ * Used with AGI variable 26 i.e. vMonitor.
+ */
+enum AgiMonitorType {
+	kAgiMonitorCga = 0,
+	// kAgiMonitorTandy = 1, // Not sure about this
+	kAgiMonitorHercules = 2,
+	kAgiMonitorEga = 3,
+	// kAgiMonitorVga = 4 // Not sure about this
+};
+
+/**
  * AGI flags
  */
 enum {

Modified: scummvm/trunk/engines/agi/cycle.cpp
===================================================================
--- scummvm/trunk/engines/agi/cycle.cpp	2007-06-29 14:56:02 UTC (rev 27773)
+++ scummvm/trunk/engines/agi/cycle.cpp	2007-06-29 15:58:48 UTC (rev 27774)
@@ -367,7 +367,26 @@
 
 		setvar(vComputer, 0);	/* IBM PC (4 = Atari ST) */
 		setvar(vSoundgen, 1);	/* IBM PC SOUND */
-		setvar(vMonitor, 0x3);	/* EGA monitor */
+
+		// Set monitor type (v26 i.e. vMonitor)
+		switch (_renderMode) {
+		case Common::kRenderCGA:
+			setvar(vMonitor, kAgiMonitorCga);
+			break;
+		case Common::kRenderHercG:
+		case Common::kRenderHercA:
+			setvar(vMonitor, kAgiMonitorHercules);
+			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).
+		case Common::kRenderAmiga:
+		case Common::kRenderDefault:
+		case Common::kRenderEGA:
+		default:
+			setvar(vMonitor, kAgiMonitorEga);
+			break;
+		}
+
 		setvar(vMaxInputChars, 38);
 		_game.inputMode = INPUT_NONE;
 		_game.inputEnabled = 0;


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list