[Scummvm-git-logs] scummvm master -> 522662c9a7ce0343bb354361b5f596b20f106887
eriktorbjorn
noreply at scummvm.org
Mon Nov 25 19:04:13 UTC 2024
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
522662c9a7 SCUMM: Add music quality engine setting for Mac MI2 and Fate of Atlantis
Commit: 522662c9a7ce0343bb354361b5f596b20f106887
https://github.com/scummvm/scummvm/commit/522662c9a7ce0343bb354361b5f596b20f106887
Author: Torbjörn Andersson (eriktorbjorn at users.sourceforge.net)
Date: 2024-11-25T20:03:09+01:00
Commit Message:
SCUMM: Add music quality engine setting for Mac MI2 and Fate of Atlantis
This is the same setting as was previously used for Mac MI1 and Loom.
Changed paths:
engines/scumm/dialogs.cpp
engines/scumm/dialogs.h
engines/scumm/metaengine.cpp
diff --git a/engines/scumm/dialogs.cpp b/engines/scumm/dialogs.cpp
index 6527a85433f..ab12a1abc7e 100644
--- a/engines/scumm/dialogs.cpp
+++ b/engines/scumm/dialogs.cpp
@@ -1385,29 +1385,29 @@ void LoomEgaGameOptionsWidget::updateOvertureTicksValue() {
_overtureTicksValue->setLabel(Common::String::format("%d:%02d.%d", ticks / 600, (ticks % 600) / 10, ticks % 10));
}
-// Mac Loom/MI1 options
-LoomMonkeyMacGameOptionsWidget::LoomMonkeyMacGameOptionsWidget(GuiObject *boss, const Common::String &name, const Common::String &domain, int gameId) :
- ScummOptionsContainerWidget(boss, name, "LoomMonkeyMacGameOptionsWidget", domain), _sndQualitySlider(nullptr), _sndQualityValue(nullptr), _enableOriginalGUICheckbox(nullptr), _enableCopyProtectionCheckbox(nullptr), _quality(0) {
- GUI::StaticTextWidget *text = new GUI::StaticTextWidget(widgetsBoss(), "LoomMonkeyMacGameOptionsWidget.SndQualityLabel", _("Music Quality:"));
+// Options for various Mac games
+MacGameOptionsWidget::MacGameOptionsWidget(GuiObject *boss, const Common::String &name, const Common::String &domain, int gameId, const Common::String &extra) :
+ ScummOptionsContainerWidget(boss, name, "MacGameOptionsWidget", domain), _sndQualitySlider(nullptr), _sndQualityValue(nullptr), _enableOriginalGUICheckbox(nullptr), _enableCopyProtectionCheckbox(nullptr), _quality(0) {
+ GUI::StaticTextWidget *text = new GUI::StaticTextWidget(widgetsBoss(), "MacGameOptionsWidget.SndQualityLabel", _("Music Quality:"));
text->setAlign(Graphics::TextAlign::kTextAlignEnd);
- _sndQualitySlider = new GUI::SliderWidget(widgetsBoss(), "LoomMonkeyMacGameOptionsWidget.SndQuality", gameId == GID_MONKEY ?
+ _sndQualitySlider = new GUI::SliderWidget(widgetsBoss(), "MacGameOptionsWidget.SndQuality", gameId == GID_MONKEY ?
_("Select music quality. The original lets you choose this from the Game menu.") :
_("Select music quality. The original determines the basic setup by hardware detection and speed tests, "
"but also allows changes through the Game menu to some degree."), kQualitySliderUpdate);
- _sndQualitySlider->setMinValue(gameId == GID_MONKEY ? 6 : 0);
+ _sndQualitySlider->setMinValue(gameId == GID_LOOM ? 0 : 6);
_sndQualitySlider->setMaxValue(9);
- _sndQualityValue = new GUI::StaticTextWidget(widgetsBoss(), "LoomMonkeyMacGameOptionsWidget.SndQualityValue", Common::U32String());
+ _sndQualityValue = new GUI::StaticTextWidget(widgetsBoss(), "MacGameOptionsWidget.SndQualityValue", Common::U32String());
_sndQualityValue->setFlags(GUI::WIDGET_CLEARBG);
updateQualitySlider();
- createEnhancementsWidget(widgetsBoss(), "LoomMonkeyMacGameOptionsWidget");
- _enableOriginalGUICheckbox = createOriginalGUICheckbox(widgetsBoss(), "LoomMonkeyMacGameOptionsWidget.EnableOriginalGUI");
+ createEnhancementsWidget(widgetsBoss(), "MacGameOptionsWidget");
+ _enableOriginalGUICheckbox = createOriginalGUICheckbox(widgetsBoss(), "MacGameOptionsWidget.EnableOriginalGUI");
- if (gameId == GID_MONKEY)
- _enableCopyProtectionCheckbox = createCopyProtectionCheckbox(widgetsBoss(), "LoomMonkeyMacGameOptionsWidget.EnableCopyProtection");
+ if (gameId == GID_MONKEY || gameId == GID_MONKEY2 || (gameId == GID_INDY4 && extra == "Floppy"))
+ _enableCopyProtectionCheckbox = createCopyProtectionCheckbox(widgetsBoss(), "MacGameOptionsWidget.EnableCopyProtection");
}
-void LoomMonkeyMacGameOptionsWidget::load() {
+void MacGameOptionsWidget::load() {
ScummOptionsContainerWidget::load();
_quality = 0;
@@ -1430,7 +1430,7 @@ void LoomMonkeyMacGameOptionsWidget::load() {
_enableCopyProtectionCheckbox->setState(ConfMan.getBool("copy_protection", _domain));
}
-bool LoomMonkeyMacGameOptionsWidget::save() {
+bool MacGameOptionsWidget::save() {
bool res = ScummOptionsContainerWidget::save();
ConfMan.setInt("mac_snd_quality", _quality, _domain);
ConfMan.setBool("original_gui", _enableOriginalGUICheckbox->getState(), _domain);
@@ -1441,7 +1441,7 @@ bool LoomMonkeyMacGameOptionsWidget::save() {
return res;
}
-void LoomMonkeyMacGameOptionsWidget::defineLayout(GUI::ThemeEval &layouts, const Common::String &layoutName, const Common::String &overlayedLayout) const {
+void MacGameOptionsWidget::defineLayout(GUI::ThemeEval &layouts, const Common::String &layoutName, const Common::String &overlayedLayout) const {
layouts.addDialog(layoutName, overlayedLayout)
.addLayout(GUI::ThemeLayout::kLayoutVertical, 5)
.addPadding(0, 0, 0, 0)
@@ -1467,7 +1467,7 @@ void LoomMonkeyMacGameOptionsWidget::defineLayout(GUI::ThemeEval &layouts, const
.closeDialog();
}
-void LoomMonkeyMacGameOptionsWidget::handleCommand(GUI::CommandSender *sender, uint32 cmd, uint32 data) {
+void MacGameOptionsWidget::handleCommand(GUI::CommandSender *sender, uint32 cmd, uint32 data) {
switch (cmd) {
case kQualitySliderUpdate:
updateQualitySlider();
@@ -1478,7 +1478,7 @@ void LoomMonkeyMacGameOptionsWidget::handleCommand(GUI::CommandSender *sender, u
}
}
-void LoomMonkeyMacGameOptionsWidget::updateQualitySlider() {
+void MacGameOptionsWidget::updateQualitySlider() {
_quality = _sndQualitySlider->getValue();
static const char *const descr1[] = { _s("auto"), _s("Low"), _s("Medium"), _s("High") };
static const char *const descr2[] = { _s("auto"), _s("Good"), _s("Better"), _s("Best") };
diff --git a/engines/scumm/dialogs.h b/engines/scumm/dialogs.h
index 9a50a6c4cfc..877a3ec6eca 100644
--- a/engines/scumm/dialogs.h
+++ b/engines/scumm/dialogs.h
@@ -301,12 +301,12 @@ private:
};
/**
-* Options widget for Mac Loom.
+* Options widget for various Macintosh games.
*/
-class LoomMonkeyMacGameOptionsWidget : public ScummOptionsContainerWidget {
+class MacGameOptionsWidget : public ScummOptionsContainerWidget {
public:
- LoomMonkeyMacGameOptionsWidget(GuiObject *boss, const Common::String &name, const Common::String &domain, int gameId);
- ~LoomMonkeyMacGameOptionsWidget() override {};
+ MacGameOptionsWidget(GuiObject *boss, const Common::String &name, const Common::String &domain, int gameId, const Common::String &extra);
+ ~MacGameOptionsWidget() override {};
void load() override;
bool save() override;
diff --git a/engines/scumm/metaengine.cpp b/engines/scumm/metaengine.cpp
index 4bf12c7e3e3..6269c2f6702 100644
--- a/engines/scumm/metaengine.cpp
+++ b/engines/scumm/metaengine.cpp
@@ -605,7 +605,7 @@ GUI::OptionsContainerWidget *ScummMetaEngine::buildLoomOptionsWidget(GUI::GuiObj
else if (extra == "Steam" && platform == Common::kPlatformMacintosh)
return nullptr;
else if (platform == Common::kPlatformMacintosh)
- return new Scumm::LoomMonkeyMacGameOptionsWidget(boss, name, target, GID_LOOM);
+ return new Scumm::MacGameOptionsWidget(boss, name, target, GID_LOOM, extra);
// These EGA Loom settings are only relevant for the EGA
// version, since that is the only one that has an overture.
@@ -617,7 +617,7 @@ GUI::OptionsContainerWidget *ScummMetaEngine::buildMI1OptionsWidget(GUI::GuiObje
Common::Platform platform = Common::parsePlatform(ConfMan.get("platform", target));
if (platform == Common::kPlatformMacintosh && extra != "Steam")
- return new Scumm::LoomMonkeyMacGameOptionsWidget(boss, name, target, GID_MONKEY);
+ return new Scumm::MacGameOptionsWidget(boss, name, target, GID_MONKEY, extra);
if (extra != "CD" && extra != "FM-TOWNS" && extra != "SEGA")
return nullptr;
@@ -629,6 +629,7 @@ GUI::OptionsContainerWidget *ScummMetaEngine::buildMI1OptionsWidget(GUI::GuiObje
GUI::OptionsContainerWidget *ScummMetaEngine::buildEngineOptionsWidget(GUI::GuiObject *boss, const Common::String &name, const Common::String &target) const {
Common::String gameid = ConfMan.get("gameid", target);
Common::String extra = ConfMan.get("extra", target);
+ Common::Platform platform = Common::parsePlatform(ConfMan.get("platform", target));
if (gameid == "loom") {
GUI::OptionsContainerWidget *widget = buildLoomOptionsWidget(boss, name, target);
@@ -638,6 +639,14 @@ GUI::OptionsContainerWidget *ScummMetaEngine::buildEngineOptionsWidget(GUI::GuiO
GUI::OptionsContainerWidget *widget = buildMI1OptionsWidget(boss, name, target);
if (widget)
return widget;
+ } else if (platform == Common::kPlatformMacintosh) {
+ GUI::OptionsContainerWidget *widget = nullptr;
+ if (gameid == "monkey2")
+ widget = new Scumm::MacGameOptionsWidget(boss, name, target, GID_MONKEY2, extra);
+ else if (gameid == "atlantis")
+ widget = new Scumm::MacGameOptionsWidget(boss, name, target, GID_INDY4, extra);
+ if (widget)
+ return widget;
}
#ifdef USE_ENET
else if (gameid == "football" || gameid == "baseball2001" || gameid == "football2002" ||
More information about the Scummvm-git-logs
mailing list