aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README1
-rw-r--r--base/commandLine.cpp1
-rw-r--r--engines/sci/sci.cpp2
-rw-r--r--gui/launcher.cpp3
-rw-r--r--gui/options.cpp6
-rw-r--r--gui/options.h1
-rw-r--r--gui/themes/default.inc6
-rw-r--r--gui/themes/scummclassic.zipbin73968 -> 33760 bytes
-rw-r--r--gui/themes/scummclassic/classic_layout.stx3
-rw-r--r--gui/themes/scummclassic/classic_layout_lowres.stx3
-rw-r--r--gui/themes/scummmodern.zipbin181827 -> 140489 bytes
-rw-r--r--gui/themes/scummmodern/scummmodern_layout.stx3
-rw-r--r--gui/themes/scummmodern/scummmodern_layout_lowres.stx3
13 files changed, 30 insertions, 2 deletions
diff --git a/README b/README
index fd900ce310..d40ffadb43 100644
--- a/README
+++ b/README
@@ -1949,6 +1949,7 @@ The following keywords are recognized:
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)
diff --git a/base/commandLine.cpp b/base/commandLine.cpp
index 6ee3ef382d..31ecab470a 100644
--- a/base/commandLine.cpp
+++ b/base/commandLine.cpp
@@ -157,6 +157,7 @@ void registerDefaults() {
// 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");
diff --git a/engines/sci/sci.cpp b/engines/sci/sci.cpp
index 0df75d53fb..03b8b659bc 100644
--- a/engines/sci/sci.cpp
+++ b/engines/sci/sci.cpp
@@ -180,7 +180,7 @@ Common::Error SciEngine::run() {
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");
diff --git a/gui/launcher.cpp b/gui/launcher.cpp
index 2592eecd97..eae7f0b364 100644
--- a/gui/launcher.cpp
+++ b/gui/launcher.cpp
@@ -341,7 +341,8 @@ void EditGameDialog::open() {
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) ||
diff --git a/gui/options.cpp b/gui/options.cpp
index 558a89386b..dbd6ee5b5a 100644
--- a/gui/options.cpp
+++ b/gui/options.cpp
@@ -98,6 +98,7 @@ void OptionsDialog::init() {
_renderModePopUp = 0;
_fullscreenCheckbox = 0;
_aspectCheckbox = 0;
+ _unditheringCheckbox = 0;
_enableAudioSettings = false;
_midiPopUp = 0;
_oplPopUp = 0;
@@ -192,6 +193,7 @@ void OptionsDialog::open() {
// 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 @@ void OptionsDialog::close() {
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 @@ void OptionsDialog::close() {
} 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 @@ void OptionsDialog::setGraphicSettingsState(bool enabled) {
_fullscreenCheckbox->setEnabled(enabled);
_aspectCheckbox->setEnabled(enabled);
#endif
+ _unditheringCheckbox->setEnabled(enabled);
}
void OptionsDialog::setAudioSettingsState(bool enabled) {
@@ -645,6 +650,7 @@ void OptionsDialog::addGraphicControls(GuiObject *boss, const Common::String &pr
// 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;
}
diff --git a/gui/options.h b/gui/options.h
index c05f263d00..91e6457576 100644
--- a/gui/options.h
+++ b/gui/options.h
@@ -96,6 +96,7 @@ private:
PopUpWidget *_gfxPopUp;
CheckboxWidget *_fullscreenCheckbox;
CheckboxWidget *_aspectCheckbox;
+ CheckboxWidget *_unditheringCheckbox;
StaticTextWidget *_renderModePopUpDesc;
PopUpWidget *_renderModePopUp;
diff --git a/gui/themes/default.inc b/gui/themes/default.inc
index 46ac4a1365..1e1a495585 100644
--- a/gui/themes/default.inc
+++ b/gui/themes/default.inc
@@ -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'> "
diff --git a/gui/themes/scummclassic.zip b/gui/themes/scummclassic.zip
index 2507572e40..0940d7854e 100644
--- a/gui/themes/scummclassic.zip
+++ b/gui/themes/scummclassic.zip
Binary files differ
diff --git a/gui/themes/scummclassic/classic_layout.stx b/gui/themes/scummclassic/classic_layout.stx
index 74b8bf4b2c..20301192cf 100644
--- a/gui/themes/scummclassic/classic_layout.stx
+++ b/gui/themes/scummclassic/classic_layout.stx
@@ -218,6 +218,9 @@
<widget name = 'grFullscreenCheckbox'
type = 'Checkbox'
/>
+ <widget name = 'grUnditherCheckbox'
+ type = 'Checkbox'
+ />
</layout>
</dialog>
diff --git a/gui/themes/scummclassic/classic_layout_lowres.stx b/gui/themes/scummclassic/classic_layout_lowres.stx
index 65083f4bce..7cfe1a3157 100644
--- a/gui/themes/scummclassic/classic_layout_lowres.stx
+++ b/gui/themes/scummclassic/classic_layout_lowres.stx
@@ -216,6 +216,9 @@
<widget name = 'grFullscreenCheckbox'
type = 'Checkbox'
/>
+ <widget name = 'grUnditherCheckbox'
+ type = 'Checkbox'
+ />
</layout>
</dialog>
diff --git a/gui/themes/scummmodern.zip b/gui/themes/scummmodern.zip
index 1023e82ff9..cfad02b21f 100644
--- a/gui/themes/scummmodern.zip
+++ b/gui/themes/scummmodern.zip
Binary files differ
diff --git a/gui/themes/scummmodern/scummmodern_layout.stx b/gui/themes/scummmodern/scummmodern_layout.stx
index 51f1ce6c6f..74cae93fe9 100644
--- a/gui/themes/scummmodern/scummmodern_layout.stx
+++ b/gui/themes/scummmodern/scummmodern_layout.stx
@@ -233,6 +233,9 @@
<widget name = 'grFullscreenCheckbox'
type = 'Checkbox'
/>
+ <widget name = 'grUnditherCheckbox'
+ type = 'Checkbox'
+ />
</layout>
</dialog>
diff --git a/gui/themes/scummmodern/scummmodern_layout_lowres.stx b/gui/themes/scummmodern/scummmodern_layout_lowres.stx
index bd7b5fd8ea..39e33c0d9c 100644
--- a/gui/themes/scummmodern/scummmodern_layout_lowres.stx
+++ b/gui/themes/scummmodern/scummmodern_layout_lowres.stx
@@ -214,6 +214,9 @@
<widget name = 'grFullscreenCheckbox'
type = 'Checkbox'
/>
+ <widget name = 'grUnditherCheckbox'
+ type = 'Checkbox'
+ />
</layout>
</dialog>