[Scummvm-cvs-logs] CVS: scummvm/gui options.cpp,1.68,1.69 options.h,1.24,1.25

Eugene Sandulenko sev at users.sourceforge.net
Sat Feb 19 16:18:16 CET 2005


Update of /cvsroot/scummvm/scummvm/gui
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6099/gui

Modified Files:
	options.cpp options.h 
Log Message:
Patch #1121337 (CGA rendering in early LEC titles).
Differences against patch:
  o Updated documentation
  o Fixed text colors
  o Implemented Hercules dithering

Ditherers are based on loom ega and monkey ega, so for zak and mm they're
wrong, i.e. these games look better than with original ditherers.

TODO:
  Proper ditherers for zak & MM
  EGA ditherers for VGA SCUMM v5 games


Index: options.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/gui/options.cpp,v
retrieving revision 1.68
retrieving revision 1.69
diff -u -d -r1.68 -r1.69
--- options.cpp	27 Jan 2005 21:35:14 -0000	1.68
+++ options.cpp	20 Feb 2005 00:17:21 -0000	1.69
@@ -75,7 +75,7 @@
 	: Dialog(x, y, w, h),
 	_domain(domain),
 	_enableGraphicSettings(false),
-	_gfxPopUp(0), _fullscreenCheckbox(0), _aspectCheckbox(0),
+	_gfxPopUp(0), _renderModePopUp(0), _fullscreenCheckbox(0), _aspectCheckbox(0),
 	_enableAudioSettings(false),
 	_multiMidiCheckbox(0), _mt32Checkbox(0), _subCheckbox(0),
 	_enableVolumeSettings(false),
@@ -108,6 +108,19 @@
 			}
 		}
 
+		_renderModePopUp->setSelected(0);
+
+		if (ConfMan.hasKey("render_mode", _domain)) {
+			const Common::RenderModeDescription *p = Common::g_renderModes;
+			const Common::RenderMode renderMode = Common::parseRenderMode(ConfMan.get("render_mode", _domain));
+			int sel = 0;
+			for (int i = 0; p->code; ++p, ++i) {
+				if (renderMode == p->id)
+					sel = i + 2;
+			}
+			_renderModePopUp->setSelected(sel);
+		}
+
 #ifndef _WIN32_WCE
 		// Fullscreen setting
 		_fullscreenCheckbox->setState(ConfMan.getBool("fullscreen", _domain));
@@ -167,10 +180,14 @@
 
 				if ((int32)_gfxPopUp->getSelectedTag() >= 0)
 					ConfMan.set("gfx_mode", _gfxPopUp->getSelectedString(), _domain);
+
+				if ((int32)_renderModePopUp->getSelectedTag() >= 0)
+					ConfMan.set("render_mode", _renderModePopUp->getSelectedString(), _domain);
 			} else {
 				ConfMan.removeKey("fullscreen", _domain);
 				ConfMan.removeKey("aspect_ratio", _domain);
 				ConfMan.removeKey("gfx_mode", _domain);
+				ConfMan.removeKey("render_mode", _domain);
 			}
 		}
 
@@ -240,6 +257,7 @@
 	_enableGraphicSettings = enabled;
 
 	_gfxPopUp->setEnabled(enabled);
+	_renderModePopUp->setEnabled(enabled);
 #ifndef _WIN32_WCE
 	_fullscreenCheckbox->setEnabled(enabled);
 	_aspectCheckbox->setEnabled(enabled);
@@ -282,6 +300,16 @@
 		gm++;
 	}
 
+	// RenderMode popup
+	_renderModePopUp = new PopUpWidget(boss, x-5, yoffset, w+5, kLineHeight, "Render mode: ", 100);
+	yoffset += 16;
+	_renderModePopUp->appendEntry("<default>");
+	_renderModePopUp->appendEntry("");
+	const Common::RenderModeDescription *rm = Common::g_renderModes;
+	for (; rm->code; ++rm) {
+		_renderModePopUp->appendEntry(rm->description, rm->id);
+	}
+
 	// Fullscreen checkbox
 	_fullscreenCheckbox = new CheckboxWidget(boss, x, yoffset, w, 16, "Fullscreen mode");
 	yoffset += 16;

Index: options.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/gui/options.h,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -d -r1.24 -r1.25
--- options.h	10 Jan 2005 20:53:16 -0000	1.24
+++ options.h	20 Feb 2005 00:17:21 -0000	1.25
@@ -71,6 +71,7 @@
 	PopUpWidget *_gfxPopUp;
 	CheckboxWidget *_fullscreenCheckbox;
 	CheckboxWidget *_aspectCheckbox;
+	PopUpWidget *_renderModePopUp;
 
 	//
 	// Audio controls





More information about the Scummvm-git-logs mailing list