[Scummvm-cvs-logs] SF.net SVN: scummvm:[54066] scummvm/trunk

thebluegr at users.sourceforge.net thebluegr at users.sourceforge.net
Thu Nov 4 16:58:54 CET 2010


Revision: 54066
          http://scummvm.svn.sourceforge.net/scummvm/?rev=54066&view=rev
Author:   thebluegr
Date:     2010-11-04 15:58:53 +0000 (Thu, 04 Nov 2010)

Log Message:
-----------
SCI/SCUMMVM: Added an option to enable the dithering removal algorithm (so called "undithering") in the graphics options tab. The algorithm is now disabled by default, after popular demand. In retrospect, we really shouldn't have made it default, in order to preserve the authenticity of the graphics in early SCI EGA games, and allow the user to opt in and enable the option if needed. Unfortunately, the lack of an easy way to modify the option made it hard to do so.

Modified Paths:
--------------
    scummvm/trunk/README
    scummvm/trunk/base/commandLine.cpp
    scummvm/trunk/engines/sci/sci.cpp
    scummvm/trunk/gui/launcher.cpp
    scummvm/trunk/gui/options.cpp
    scummvm/trunk/gui/options.h
    scummvm/trunk/gui/themes/default.inc
    scummvm/trunk/gui/themes/scummclassic/classic_layout.stx
    scummvm/trunk/gui/themes/scummclassic/classic_layout_lowres.stx
    scummvm/trunk/gui/themes/scummclassic.zip
    scummvm/trunk/gui/themes/scummmodern/scummmodern_layout.stx
    scummvm/trunk/gui/themes/scummmodern/scummmodern_layout_lowres.stx
    scummvm/trunk/gui/themes/scummmodern.zip

Modified: scummvm/trunk/README
===================================================================
--- scummvm/trunk/README	2010-11-04 15:03:33 UTC (rev 54065)
+++ scummvm/trunk/README	2010-11-04 15:58:53 UTC (rev 54066)
@@ -1949,6 +1949,7 @@
 
     fullscreen      bool     Fullscreen mode
     aspect_ratio    bool     Enable aspect ratio correction
+    sci_undither    bool     Remove dithering artifacts from early SCI EGA games
     gfx_mode        string   Graphics mode (normal, 2x, 3x, 2xsai,
                              super2xsai, supereagle, advmame2x, advmame3x,
                              hq2x, hq3x, tv2x, dotmatrix)

Modified: scummvm/trunk/base/commandLine.cpp
===================================================================
--- scummvm/trunk/base/commandLine.cpp	2010-11-04 15:03:33 UTC (rev 54065)
+++ scummvm/trunk/base/commandLine.cpp	2010-11-04 15:58:53 UTC (rev 54066)
@@ -157,6 +157,7 @@
 	// Graphics
 	ConfMan.registerDefault("fullscreen", false);
 	ConfMan.registerDefault("aspect_ratio", false);
+	ConfMan.registerDefault("sci_undither", false);
 	ConfMan.registerDefault("gfx_mode", "normal");
 	ConfMan.registerDefault("render_mode", "default");
 	ConfMan.registerDefault("desired_screen_aspect_ratio", "auto");

Modified: scummvm/trunk/engines/sci/sci.cpp
===================================================================
--- scummvm/trunk/engines/sci/sci.cpp	2010-11-04 15:03:33 UTC (rev 54065)
+++ scummvm/trunk/engines/sci/sci.cpp	2010-11-04 15:58:53 UTC (rev 54066)
@@ -180,7 +180,7 @@
 	g_eventRec.registerRandomSource(_rng, "sci");
 
 	// Assign default values to the config manager, in case settings are missing
-	ConfMan.registerDefault("sci_undither", "true");
+	ConfMan.registerDefault("sci_undither", "false");
 	ConfMan.registerDefault("sci_originalsaveload", "false");
 	ConfMan.registerDefault("native_fb01", "false");
 

Modified: scummvm/trunk/gui/launcher.cpp
===================================================================
--- scummvm/trunk/gui/launcher.cpp	2010-11-04 15:03:33 UTC (rev 54065)
+++ scummvm/trunk/gui/launcher.cpp	2010-11-04 15:58:53 UTC (rev 54066)
@@ -341,7 +341,8 @@
 	e = ConfMan.hasKey("gfx_mode", _domain) ||
 		ConfMan.hasKey("render_mode", _domain) ||
 		ConfMan.hasKey("fullscreen", _domain) ||
-		ConfMan.hasKey("aspect_ratio", _domain);
+		ConfMan.hasKey("aspect_ratio", _domain) ||
+		ConfMan.hasKey("sci_undither", _domain);
 	_globalGraphicsOverride->setState(e);
 
 	e = ConfMan.hasKey("music_driver", _domain) ||

Modified: scummvm/trunk/gui/options.cpp
===================================================================
--- scummvm/trunk/gui/options.cpp	2010-11-04 15:03:33 UTC (rev 54065)
+++ scummvm/trunk/gui/options.cpp	2010-11-04 15:58:53 UTC (rev 54066)
@@ -98,6 +98,7 @@
 	_renderModePopUp = 0;
 	_fullscreenCheckbox = 0;
 	_aspectCheckbox = 0;
+	_unditheringCheckbox = 0;
 	_enableAudioSettings = false;
 	_midiPopUp = 0;
 	_oplPopUp = 0;
@@ -192,6 +193,7 @@
 		// Aspect ratio setting
 		_aspectCheckbox->setState(ConfMan.getBool("aspect_ratio", _domain));
 #endif // SMALL_SCREEN_DEVICE
+		_unditheringCheckbox->setState(ConfMan.getBool("sci_undither", _domain));
 	}
 
 	// Audio options
@@ -297,6 +299,7 @@
 			if (_enableGraphicSettings) {
 				ConfMan.setBool("fullscreen", _fullscreenCheckbox->getState(), _domain);
 				ConfMan.setBool("aspect_ratio", _aspectCheckbox->getState(), _domain);
+				ConfMan.setBool("sci_undither", _unditheringCheckbox->getState(), _domain);
 
 				bool isSet = false;
 
@@ -320,6 +323,7 @@
 			} else {
 				ConfMan.removeKey("fullscreen", _domain);
 				ConfMan.removeKey("aspect_ratio", _domain);
+				ConfMan.removeKey("sci_undither", _domain);
 				ConfMan.removeKey("gfx_mode", _domain);
 				ConfMan.removeKey("render_mode", _domain);
 			}
@@ -506,6 +510,7 @@
 	_fullscreenCheckbox->setEnabled(enabled);
 	_aspectCheckbox->setEnabled(enabled);
 #endif
+	_unditheringCheckbox->setEnabled(enabled);
 }
 
 void OptionsDialog::setAudioSettingsState(bool enabled) {
@@ -645,6 +650,7 @@
 
 	// Aspect ratio checkbox
 	_aspectCheckbox = new CheckboxWidget(boss, prefix + "grAspectCheckbox", _("Aspect ratio correction"), _("Correct aspect ratio for 320x200 games"));
+	_unditheringCheckbox = new CheckboxWidget(boss, prefix + "grUnditherCheckbox", _("Remove SCI dithering"), _("Remove dithering artifacts from early SCI EGA games"));
 
 	_enableGraphicSettings = true;
 }

Modified: scummvm/trunk/gui/options.h
===================================================================
--- scummvm/trunk/gui/options.h	2010-11-04 15:03:33 UTC (rev 54065)
+++ scummvm/trunk/gui/options.h	2010-11-04 15:58:53 UTC (rev 54066)
@@ -96,6 +96,7 @@
 	PopUpWidget *_gfxPopUp;
 	CheckboxWidget *_fullscreenCheckbox;
 	CheckboxWidget *_aspectCheckbox;
+	CheckboxWidget *_unditheringCheckbox;
 	StaticTextWidget *_renderModePopUpDesc;
 	PopUpWidget *_renderModePopUp;
 

Modified: scummvm/trunk/gui/themes/default.inc
===================================================================
--- scummvm/trunk/gui/themes/default.inc	2010-11-04 15:03:33 UTC (rev 54065)
+++ scummvm/trunk/gui/themes/default.inc	2010-11-04 15:58:53 UTC (rev 54066)
@@ -177,6 +177,9 @@
 "<widget name='grFullscreenCheckbox' "
 "type='Checkbox' "
 "/> "
+"<widget name='grUnditherCheckbox' "
+"type='Checkbox' "
+"/> "
 "</layout> "
 "</dialog> "
 "<dialog name='GlobalOptions_Audio' overlays='Dialog.GlobalOptions.TabWidget'> "
@@ -969,6 +972,9 @@
 "<widget name='grFullscreenCheckbox' "
 "type='Checkbox' "
 "/> "
+"<widget name='grUnditherCheckbox' "
+"type='Checkbox' "
+"/> "
 "</layout> "
 "</dialog> "
 "<dialog name='GlobalOptions_Audio' overlays='Dialog.GlobalOptions.TabWidget'> "

Modified: scummvm/trunk/gui/themes/scummclassic/classic_layout.stx
===================================================================
--- scummvm/trunk/gui/themes/scummclassic/classic_layout.stx	2010-11-04 15:03:33 UTC (rev 54065)
+++ scummvm/trunk/gui/themes/scummclassic/classic_layout.stx	2010-11-04 15:58:53 UTC (rev 54066)
@@ -218,6 +218,9 @@
 			<widget name = 'grFullscreenCheckbox'
 					type = 'Checkbox'
 			/>
+			<widget name = 'grUnditherCheckbox'
+					type = 'Checkbox'
+			/>
 		</layout>
 	</dialog>
 

Modified: scummvm/trunk/gui/themes/scummclassic/classic_layout_lowres.stx
===================================================================
--- scummvm/trunk/gui/themes/scummclassic/classic_layout_lowres.stx	2010-11-04 15:03:33 UTC (rev 54065)
+++ scummvm/trunk/gui/themes/scummclassic/classic_layout_lowres.stx	2010-11-04 15:58:53 UTC (rev 54066)
@@ -216,6 +216,9 @@
 			<widget name = 'grFullscreenCheckbox'
 					type = 'Checkbox'
 			/>
+			<widget name = 'grUnditherCheckbox'
+					type = 'Checkbox'
+			/>
 		</layout>
 	</dialog>
 

Modified: scummvm/trunk/gui/themes/scummclassic.zip
===================================================================
(Binary files differ)

Modified: scummvm/trunk/gui/themes/scummmodern/scummmodern_layout.stx
===================================================================
--- scummvm/trunk/gui/themes/scummmodern/scummmodern_layout.stx	2010-11-04 15:03:33 UTC (rev 54065)
+++ scummvm/trunk/gui/themes/scummmodern/scummmodern_layout.stx	2010-11-04 15:58:53 UTC (rev 54066)
@@ -233,6 +233,9 @@
 			<widget name = 'grFullscreenCheckbox'
 					type = 'Checkbox'
 			/>
+			<widget name = 'grUnditherCheckbox'
+					type = 'Checkbox'
+			/>
 		</layout>
 	</dialog>
 

Modified: scummvm/trunk/gui/themes/scummmodern/scummmodern_layout_lowres.stx
===================================================================
--- scummvm/trunk/gui/themes/scummmodern/scummmodern_layout_lowres.stx	2010-11-04 15:03:33 UTC (rev 54065)
+++ scummvm/trunk/gui/themes/scummmodern/scummmodern_layout_lowres.stx	2010-11-04 15:58:53 UTC (rev 54066)
@@ -214,6 +214,9 @@
 			<widget name = 'grFullscreenCheckbox'
 					type = 'Checkbox'
 			/>
+			<widget name = 'grUnditherCheckbox'
+					type = 'Checkbox'
+			/>
 		</layout>
 	</dialog>
 

Modified: scummvm/trunk/gui/themes/scummmodern.zip
===================================================================
(Binary files differ)


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