[Scummvm-git-logs] scummvm master -> 6bb6a3178461625703fab2b90928228220e2f2a3

fracturehill noreply at scummvm.org
Sun Apr 9 12:59:25 UTC 2023


This automated email contains information about 7 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
da1dd57aa7 NANCY: Modify detection entries
13d6cd0836 DISTS: Update nancy.dat
4f10a4c08e NANCY: Coverity issues fixes
e5aa308769 NANCY: Remove custom engine settings dialog
c1fa6c2b06 NANCY: Build engine by default
b67040b4ac NANCY: Update engine status
6bb6a31784 NANCY: Add detection entries for nancy2 (Russian)


Commit: da1dd57aa7e4b33cb750460213e937215ca7776f
    https://github.com/scummvm/scummvm/commit/da1dd57aa7e4b33cb750460213e937215ca7776f
Author: Kaloyan Chehlarski (strahy at outlook.com)
Date: 2023-04-09T15:52:13+03:00

Commit Message:
NANCY: Modify detection entries

Added relevant flags and GUIO options to all detection entries.

Changed paths:
    engines/nancy/detection.cpp


diff --git a/engines/nancy/detection.cpp b/engines/nancy/detection.cpp
index 62e5476d4a7..6ab48dae8b0 100644
--- a/engines/nancy/detection.cpp
+++ b/engines/nancy/detection.cpp
@@ -39,14 +39,14 @@ static const DebugChannelDef debugFlagList[] = {
 
 static const PlainGameDescriptor nancyGames[] = {
 	// Games
-	{"vampirediaries", "The Vampire Diaries"},
-	{"nancy1", "Nancy Drew: Secrets Can Kill"},
-	{"nancy2", "Nancy Drew: Stay Tuned for Danger"},
-	{"nancy3", "Nancy Drew: Message in a Haunted Mansion"},
-	{"nancy4", "Nancy Drew: Treasure in the Royal Tower"},
-	{"nancy5", "Nancy Drew: The Final Scene"},
-	{"nancy6", "Nancy Drew: Secret of the Scarlet Hand"},
-	{nullptr, nullptr}
+	{ "vampirediaries", "The Vampire Diaries" },
+	{ "nancy1", "Nancy Drew: Secrets Can Kill" },
+	{ "nancy2", "Nancy Drew: Stay Tuned for Danger" },
+	{ "nancy3", "Nancy Drew: Message in a Haunted Mansion" },
+	{ "nancy4", "Nancy Drew: Treasure in the Royal Tower" },
+	{ "nancy5", "Nancy Drew: The Final Scene" },
+	{ "nancy6", "Nancy Drew: Secret of the Scarlet Hand" },
+	{ nullptr, nullptr }
 };
 
 static const Nancy::NancyGameDescription gameDescriptions[] = {
@@ -57,8 +57,8 @@ static const Nancy::NancyGameDescription gameDescriptions[] = {
 			AD_ENTRY1s("boot.iff", "66d3b6fe9a90d35de7a28950870719ec", 20340),
 			Common::EN_ANY,
 			Common::kPlatformWindows,
-			ADGF_NO_FLAGS,
-			GUIO0()
+			ADGF_TESTING | ADGF_DROPLANGUAGE | ADGF_DROPPLATFORM,
+			GUIO1(GUIO_NOLANG)
 		},
 		Nancy::kGameTypeVampire
 	},
@@ -68,7 +68,7 @@ static const Nancy::NancyGameDescription gameDescriptions[] = {
 			AD_ENTRY1s("ciftree.dat", "9f89e0b53717515ae0eb82d14ffe0e88", 4317962),
 			Common::EN_ANY,
 			Common::kPlatformWindows,
-			ADGF_NO_FLAGS,
+			ADGF_TESTING | ADGF_DROPPLATFORM,
 			GUIO0()
 		},
 		Nancy::kGameTypeNancy1
@@ -79,7 +79,7 @@ static const Nancy::NancyGameDescription gameDescriptions[] = {
 			AD_ENTRY1s("ciftree.dat", "e1cd21841ab1b83a0ea0755ce0254cbc", 4480956),
 			Common::RU_RUS,
 			Common::kPlatformWindows,
-			ADGF_NO_FLAGS,
+			ADGF_TESTING | ADGF_DROPPLATFORM,
 			GUIO0()
 		},
 		Nancy::kGameTypeNancy1
@@ -88,14 +88,14 @@ static const Nancy::NancyGameDescription gameDescriptions[] = {
 		{
 			"nancy1", nullptr,
 			{
-				{"data1.hdr", 0, "39b33ad649d3e7261508d3c6907f237f", 139814},
-				{"data1.cab", 0, "f900861c47b0cb88191f5c6189db6cb1", 1916153},
-				{"data2.cab", 0, "9c652edb9846a721839cb7e1dcc94a3e", 462008320},
+				{ "data1.hdr", 0, "39b33ad649d3e7261508d3c6907f237f", 139814},
+				{ "data1.cab", 0, "f900861c47b0cb88191f5c6189db6cb1", 1916153},
+				{ "data2.cab", 0, "9c652edb9846a721839cb7e1dcc94a3e", 462008320},
 				AD_LISTEND
 			},
 			Common::RU_RUS,
 			Common::kPlatformWindows,
-			Nancy::GF_COMPRESSED,
+			ADGF_TESTING | ADGF_DROPPLATFORM | Nancy::GF_COMPRESSED,
 			GUIO0()
 		},
 		Nancy::kGameTypeNancy1
@@ -106,7 +106,7 @@ static const Nancy::NancyGameDescription gameDescriptions[] = {
 			AD_ENTRY1s("ciftree.dat", "fa4293d728a1b31407961cd82e86a015", 7784516),
 			Common::EN_ANY,
 			Common::kPlatformWindows,
-			ADGF_NO_FLAGS,
+			ADGF_UNSTABLE,
 			GUIO0()
 		},
 		Nancy::kGameTypeNancy2
@@ -117,7 +117,7 @@ static const Nancy::NancyGameDescription gameDescriptions[] = {
 			AD_ENTRY1s("ciftree.dat", "ee5f8832226567c3610556497c451b09", 16256355),
 			Common::EN_ANY,
 			Common::kPlatformWindows,
-			ADGF_NO_FLAGS,
+			ADGF_UNSTABLE | ADGF_DROPPLATFORM,
 			GUIO0()
 		},
 		Nancy::kGameTypeNancy3
@@ -126,14 +126,14 @@ static const Nancy::NancyGameDescription gameDescriptions[] = {
 		{
 			"nancy3", nullptr,
 			{
-				{"data1.hdr", 0, "44906f3d2242f73f16feb8eb6a5161cb", 207327},
-				{"data1.cab", 0, "e258cc871e5de5ae004d03c4e31431c7", 1555916},
-				{"data2.cab", 0, "364dfd25677026da505f1fa6edd5571f", 137373135},
+				{ "data1.hdr", 0, "44906f3d2242f73f16feb8eb6a5161cb", 207327},
+				{ "data1.cab", 0, "e258cc871e5de5ae004d03c4e31431c7", 1555916},
+				{ "data2.cab", 0, "364dfd25677026da505f1fa6edd5571f", 137373135},
 				AD_LISTEND
 			},
 			Common::EN_ANY,
 			Common::kPlatformWindows,
-			Nancy::GF_COMPRESSED,
+			ADGF_UNSTABLE | ADGF_DROPPLATFORM | Nancy::GF_COMPRESSED,
 			GUIO0()
 		},
 		Nancy::kGameTypeNancy3
@@ -144,7 +144,7 @@ static const Nancy::NancyGameDescription gameDescriptions[] = {
 			AD_ENTRY1s("ciftree.dat", "e9d45f7db453b0d8f37d202fc979537c", 8742289),
 			Common::EN_ANY,
 			Common::kPlatformWindows,
-			ADGF_NO_FLAGS,
+			ADGF_UNSTABLE | ADGF_DROPPLATFORM,
 			GUIO0()
 		},
 		Nancy::kGameTypeNancy3
@@ -153,14 +153,14 @@ static const Nancy::NancyGameDescription gameDescriptions[] = {
 		{
 			"nancy4", nullptr,
 			{
-				{"data1.hdr", 0, "fa4e7a1c411053557169a7731f287012", 263443},
-				{"data1.cab", 0, "8f689f92fcca443d6a03faa5de7e2f1c", 1568756},
-				{"data2.cab", 0, "5525aa428041f3f1421a6fb5d1b8dba1", 140518758},
+				{ "data1.hdr", 0, "fa4e7a1c411053557169a7731f287012", 263443},
+				{ "data1.cab", 0, "8f689f92fcca443d6a03faa5de7e2f1c", 1568756},
+				{ "data2.cab", 0, "5525aa428041f3f1421a6fb5d1b8dba1", 140518758},
 				AD_LISTEND
 			},
 			Common::EN_ANY,
 			Common::kPlatformWindows,
-			Nancy::GF_COMPRESSED,
+			ADGF_UNSTABLE | ADGF_DROPPLATFORM | Nancy::GF_COMPRESSED,
 			GUIO0()
 		},
 		Nancy::kGameTypeNancy3
@@ -171,7 +171,7 @@ static const Nancy::NancyGameDescription gameDescriptions[] = {
 			AD_ENTRY1s("ciftree.dat", "21fa81f322595c3100d8d58d100852d5", 8187692),
 			Common::EN_ANY,
 			Common::kPlatformWindows,
-			ADGF_NO_FLAGS,
+			ADGF_UNSTABLE | ADGF_DROPPLATFORM,
 			GUIO0()
 		},
 		Nancy::kGameTypeNancy3
@@ -180,14 +180,14 @@ static const Nancy::NancyGameDescription gameDescriptions[] = {
 		{
 			"nancy5", nullptr,
 			{
-				{"data1.hdr", 0, "261105fba2a1226eedb090c2ce79fd35", 284091},
-				{"data1.cab", 0, "7d27bb947ef7305831f1faaf1512a598", 1446301},
-				{"data2.cab", 0, "00719c86cab733c1094b27079ce030f3", 145857935},
+				{ "data1.hdr", 0, "261105fba2a1226eedb090c2ce79fd35", 284091},
+				{ "data1.cab", 0, "7d27bb947ef7305831f1faaf1512a598", 1446301},
+				{ "data2.cab", 0, "00719c86cab733c1094b27079ce030f3", 145857935},
 				AD_LISTEND
 			},
 			Common::EN_ANY,
 			Common::kPlatformWindows,
-			Nancy::GF_COMPRESSED,
+			ADGF_UNSTABLE | ADGF_DROPPLATFORM | Nancy::GF_COMPRESSED,
 			GUIO0()
 		},
 		Nancy::kGameTypeNancy3
@@ -196,14 +196,14 @@ static const Nancy::NancyGameDescription gameDescriptions[] = {
 		{
 			"nancy5", nullptr,
 			{
-				{"data1.hdr", 0, "258e27792fa7cc7a7125fd74d89f8487", 284091},
-				{"data1.cab", 0, "70433b30b6114031d54d0c991ad44577", 1446301},
-				{"data2.cab", 0, "66f47e4f5e6d431f815aa5250eb044bc", 145857937},
+				{ "data1.hdr", 0, "258e27792fa7cc7a7125fd74d89f8487", 284091},
+				{ "data1.cab", 0, "70433b30b6114031d54d0c991ad44577", 1446301},
+				{ "data2.cab", 0, "66f47e4f5e6d431f815aa5250eb044bc", 145857937},
 				AD_LISTEND
 			},
 			Common::EN_ANY,
 			Common::kPlatformWindows,
-			Nancy::GF_COMPRESSED,
+			ADGF_UNSTABLE | ADGF_DROPPLATFORM | Nancy::GF_COMPRESSED,
 			GUIO0()
 		},
 		Nancy::kGameTypeNancy3
@@ -214,12 +214,12 @@ static const Nancy::NancyGameDescription gameDescriptions[] = {
 			AD_ENTRY1s("ciftree.dat", "a97b848651fdcf38f5cad7092d98e4a1", 28888006),
 			Common::EN_ANY,
 			Common::kPlatformWindows,
-			ADGF_NO_FLAGS,
+			ADGF_UNSTABLE | ADGF_DROPPLATFORM,
 			GUIO0()
 		},
 		Nancy::kGameTypeNancy3
 	},
-	{AD_TABLE_END_MARKER, Nancy::kGameTypeNone}
+	{ AD_TABLE_END_MARKER, Nancy::kGameTypeNone }
 };
 
 class NancyMetaEngineDetection : public AdvancedMetaEngineDetection {
@@ -227,6 +227,7 @@ public:
 	NancyMetaEngineDetection() : AdvancedMetaEngineDetection(gameDescriptions, sizeof(Nancy::NancyGameDescription), nancyGames) {
 		_maxScanDepth = 2;
 		_directoryGlobs = directoryGlobs;
+		_guiOptions = GUIO2(GUIO_NOMIDI, GUIO_NOASPECT);
 	}
 
 	const char *getName() const override {


Commit: 13d6cd08362f9688259548d84f32c58fc317ff6c
    https://github.com/scummvm/scummvm/commit/13d6cd08362f9688259548d84f32c58fc317ff6c
Author: Kaloyan Chehlarski (strahy at outlook.com)
Date: 2023-04-09T15:52:13+03:00

Commit Message:
DISTS: Update nancy.dat

Changed paths:
    dists/engine-data/nancy.dat


diff --git a/dists/engine-data/nancy.dat b/dists/engine-data/nancy.dat
index 1d238387232..b99742d5b87 100644
Binary files a/dists/engine-data/nancy.dat and b/dists/engine-data/nancy.dat differ


Commit: 4f10a4c08e19dc34ff0c994a37d82b971b66fcba
    https://github.com/scummvm/scummvm/commit/4f10a4c08e19dc34ff0c994a37d82b971b66fcba
Author: Kaloyan Chehlarski (strahy at outlook.com)
Date: 2023-04-09T15:52:14+03:00

Commit Message:
NANCY: Coverity issues fixes

Changed paths:
    engines/nancy/action/primaryvideo.cpp
    engines/nancy/action/secondarymovie.cpp
    engines/nancy/commontypes.h
    engines/nancy/enginedata.cpp
    engines/nancy/nancy.cpp
    engines/nancy/state/logo.cpp
    engines/nancy/ui/clock.h


diff --git a/engines/nancy/action/primaryvideo.cpp b/engines/nancy/action/primaryvideo.cpp
index 606ed7426fa..c7f31e8775e 100644
--- a/engines/nancy/action/primaryvideo.cpp
+++ b/engines/nancy/action/primaryvideo.cpp
@@ -367,7 +367,7 @@ void PlayPrimaryVideoChan0::execute() {
 		break;
 	case kActionTrigger:
 		// process flags structs
-		for (auto flags : _flagsStructs) {
+		for (auto &flags : _flagsStructs) {
 			if (flags.conditions.isSatisfied()) {
 				flags.flagToSet.set();
 			}
diff --git a/engines/nancy/action/secondarymovie.cpp b/engines/nancy/action/secondarymovie.cpp
index a40fe4d09ff..c459d6d88cb 100644
--- a/engines/nancy/action/secondarymovie.cpp
+++ b/engines/nancy/action/secondarymovie.cpp
@@ -146,7 +146,7 @@ void PlaySecondaryMovie::updateGraphics() {
 		
 		_needsRedraw = true;
 
-		for (auto f : _frameFlags) {
+		for (auto &f : _frameFlags) {
 			if (_decoder.getCurFrame() == f.frameID) {
 				NancySceneState.setEventFlag(f.flagDesc);
 			}
diff --git a/engines/nancy/commontypes.h b/engines/nancy/commontypes.h
index 28a8f7a95c2..a4194503dda 100644
--- a/engines/nancy/commontypes.h
+++ b/engines/nancy/commontypes.h
@@ -124,8 +124,8 @@ struct SceneChangeDescription {
 
 // Describes a single flag change or comparison
 struct FlagDescription {
-	int16 label;
-	byte flag;
+	int16 label = -1;
+	byte flag = 0;
 };
 
 // Describes a hotspot
diff --git a/engines/nancy/enginedata.cpp b/engines/nancy/enginedata.cpp
index 61cbdb806e8..1c1f6d75d93 100644
--- a/engines/nancy/enginedata.cpp
+++ b/engines/nancy/enginedata.cpp
@@ -298,7 +298,7 @@ HINT::HINT(Common::SeekableReadStream *chunkStream) {
 
 	chunkStream->seek(0);
 	numHints.resize(chunkStream->size());
-	for (uint i = 0; i < chunkStream->size(); ++i) {
+	for (uint i = 0; i < numHints.size(); ++i) {
 		numHints[i] = chunkStream->readByte();
 	}
 
diff --git a/engines/nancy/nancy.cpp b/engines/nancy/nancy.cpp
index 760e50eba11..a899017c13e 100644
--- a/engines/nancy/nancy.cpp
+++ b/engines/nancy/nancy.cpp
@@ -308,10 +308,13 @@ Common::Error NancyEngine::run() {
 
 void NancyEngine::pauseEngineIntern(bool pause) {
 	State::State *s = getStateObject(_gameFlow.curState);
-	if (pause) {
-		s->onStateExit(NancyState::kPause);
-	} else {
-		s->onStateEnter(NancyState::kPause);
+
+	if (s) {
+		if (pause) {
+			s->onStateExit(NancyState::kPause);
+		} else {
+			s->onStateEnter(NancyState::kPause);
+		}
 	}
 }
 
diff --git a/engines/nancy/state/logo.cpp b/engines/nancy/state/logo.cpp
index 44369f045bb..21bbf1429fe 100644
--- a/engines/nancy/state/logo.cpp
+++ b/engines/nancy/state/logo.cpp
@@ -84,8 +84,7 @@ void Logo::init() {
 	_logoImage.init(g_nancy->_imageChunks["LG0"].imageName);
 	_logoImage.registerGraphics();
 
-	if (g_nancy->getGameType() == kGameTypeVampire) {
-		_tvdVideoDecoder.loadFile("VAMPINTR.AVI");
+	if (g_nancy->getGameType() == kGameTypeVampire && _tvdVideoDecoder.loadFile("VAMPINTR.AVI")) {
 		_tvdVideoDecoder.start();
 		_videoObj.moveTo(Common::Rect(0, 0, 640, 480));
 		_videoObj._drawSurface.create(_tvdVideoDecoder.getWidth(), _tvdVideoDecoder.getHeight(), _tvdVideoDecoder.getPixelFormat());
diff --git a/engines/nancy/ui/clock.h b/engines/nancy/ui/clock.h
index fbae366076a..b788fd5a76b 100644
--- a/engines/nancy/ui/clock.h
+++ b/engines/nancy/ui/clock.h
@@ -23,6 +23,8 @@
 #define NANCY_UI_CLOCK_H
 
 #include "engines/nancy/renderobject.h"
+#include "engines/nancy/enginedata.h"
+#include "engines/nancy/time.h"
 
 #include "engines/nancy/ui/animatedbutton.h"
 
@@ -48,7 +50,7 @@ public:
 protected:
 	class ClockGlobe : public AnimatedButton {
 	public:
-		ClockGlobe(uint zOrder, Clock *owner) : AnimatedButton(zOrder), _owner(owner), _closeTime(0) {}
+		ClockGlobe(uint zOrder, Clock *owner) : AnimatedButton(zOrder), _owner(owner), _closeTime(0), _timeToKeepOpen(0) {}
 		virtual ~ClockGlobe() = default;
 
 		void init() override;


Commit: e5aa3087694f2efaed75b27674ef24807b5df780
    https://github.com/scummvm/scummvm/commit/e5aa3087694f2efaed75b27674ef24807b5df780
Author: Kaloyan Chehlarski (strahy at outlook.com)
Date: 2023-04-09T15:52:15+03:00

Commit Message:
NANCY: Remove custom engine settings dialog

Replaced nancy's custom settings dialog with metaengine's
extra GUI options feature.

Changed paths:
  R engines/nancy/dialogs.cpp
  R engines/nancy/dialogs.h
    engines/nancy/POTFILES
    engines/nancy/detection.cpp
    engines/nancy/metaengine.cpp
    engines/nancy/module.mk
    engines/nancy/nancy.cpp


diff --git a/engines/nancy/POTFILES b/engines/nancy/POTFILES
index 65da832d683..559f0704aec 100644
--- a/engines/nancy/POTFILES
+++ b/engines/nancy/POTFILES
@@ -1,2 +1,2 @@
 engines/nancy/input.cpp
-engines/nancy/dialogs.cpp
+engines/nancy/metaengine.cpp
diff --git a/engines/nancy/detection.cpp b/engines/nancy/detection.cpp
index 6ab48dae8b0..79357d343c3 100644
--- a/engines/nancy/detection.cpp
+++ b/engines/nancy/detection.cpp
@@ -227,7 +227,7 @@ public:
 	NancyMetaEngineDetection() : AdvancedMetaEngineDetection(gameDescriptions, sizeof(Nancy::NancyGameDescription), nancyGames) {
 		_maxScanDepth = 2;
 		_directoryGlobs = directoryGlobs;
-		_guiOptions = GUIO2(GUIO_NOMIDI, GUIO_NOASPECT);
+		_guiOptions = GUIO4(GUIO_NOMIDI, GUIO_NOASPECT, GUIO_GAMEOPTIONS1, GUIO_GAMEOPTIONS2);
 	}
 
 	const char *getName() const override {
diff --git a/engines/nancy/dialogs.cpp b/engines/nancy/dialogs.cpp
deleted file mode 100644
index 1ccf35c74f6..00000000000
--- a/engines/nancy/dialogs.cpp
+++ /dev/null
@@ -1,73 +0,0 @@
-/* ScummVM - Graphic Adventure Engine
- *
- * ScummVM is the legal property of its developers, whose names
- * are too numerous to list here. Please refer to the COPYRIGHT
- * file distributed with this source distribution.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#include "common/formats/winexe.h"
-#include "common/translation.h"
-#include "common/stream.h"
-
-#include "gui/widgets/tab.h"
-#include "gui/widgets/edittext.h"
-
-#include "gui/ThemeEval.h"
-
-#include "engines/nancy/dialogs.h"
-#include "engines/nancy/iff.h"
-
-#include "engines/nancy/state/scene.h"
-
-namespace Nancy {
-
-NancyOptionsWidget::NancyOptionsWidget(GuiObject *boss, const Common::String &name, const Common::String &domain) :
-		OptionsContainerWidget(boss, name, "NancyOptionsDialog", false, domain) {
-	_playerSpeechCheckbox = new GUI::CheckboxWidget(widgetsBoss(), "NancyOptionsDialog.PlayerSpeech", _("Player Speech"), _("Enable player speech. Only works if speech is enabled in the Audio settings."));
-	_characterSpeechCheckbox = new GUI::CheckboxWidget(widgetsBoss(), "NancyOptionsDialog.CharacterSpeech", _("Character Speech"), _("Enable NPC speech. Only works if speech is enabled in the Audio settings."));
-	
-	new GUI::StaticTextWidget(widgetsBoss(), "NancyOptionsDialog.SpeechSettingsLabel", _("Speech Options"));
-}
-
-void NancyOptionsWidget::load() {
-	_playerSpeechCheckbox->setState(ConfMan.getBool("player_speech", _domain));
-	_characterSpeechCheckbox->setState(ConfMan.getBool("character_speech", _domain));
-}
-
-bool NancyOptionsWidget::save() {
-	ConfMan.setBool("player_speech", _playerSpeechCheckbox->getState(), _domain);
-	ConfMan.setBool("character_speech", _characterSpeechCheckbox->getState(), _domain);
-
-	return true;
-}
-
-void NancyOptionsWidget::defineLayout(GUI::ThemeEval &layouts, const Common::String &layoutName, const Common::String &overlayedLayout) const {
-	layouts.addDialog(layoutName, overlayedLayout)
-		.addLayout(GUI::ThemeLayout::kLayoutVertical)
-			.addPadding(16, 16, 16, 16)
-			.addWidget("SpeechSettingsLabel", "OptionsLabel")
-			.addWidget("PlayerSpeech", "Checkbox")
-			.addWidget("CharacterSpeech", "Checkbox")
-		.closeLayout()
-	.closeDialog();
-}
-
-bool NancyOptionsWidget::isInGame() const {
-	return _domain.equals(ConfMan.getActiveDomainName());
-}
-
-} // End of namespace Nancy
diff --git a/engines/nancy/dialogs.h b/engines/nancy/dialogs.h
deleted file mode 100644
index 82a5fef81b8..00000000000
--- a/engines/nancy/dialogs.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/* ScummVM - Graphic Adventure Engine
- *
- * ScummVM is the legal property of its developers, whose names
- * are too numerous to list here. Please refer to the COPYRIGHT
- * file distributed with this source distribution.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#include "engines/dialogs.h"
-
-#ifndef NANCY_DIALOGS_H
-#define NANCY_DIALOGS_H
-
-namespace Nancy {
-
-class NancyOptionsWidget : public GUI::OptionsContainerWidget {
-public:
-	NancyOptionsWidget(GuiObject *boss, const Common::String &name, const Common::String &domain);
-	~NancyOptionsWidget() override {};
-
-	void load() override;
-	bool save() override;
-
-private:
-	void defineLayout(GUI::ThemeEval &layouts, const Common::String &layoutName, const Common::String &overlayedLayout) const override;
-
-	bool isInGame() const;
-
-	GUI::CheckboxWidget *_playerSpeechCheckbox;
-	GUI::CheckboxWidget *_characterSpeechCheckbox;
-};
-
-} // End of namespace Nancy
-
-#endif // NANCY_DIALOGS_H
diff --git a/engines/nancy/metaengine.cpp b/engines/nancy/metaengine.cpp
index bef49f39ff8..786b953aa11 100644
--- a/engines/nancy/metaengine.cpp
+++ b/engines/nancy/metaengine.cpp
@@ -24,7 +24,35 @@
 #include "engines/nancy/nancy.h"
 #include "engines/nancy/graphics.h"
 #include "engines/nancy/input.h"
-#include "engines/nancy/dialogs.h"
+
+#include "common/translation.h"
+#include "common/config-manager.h"
+
+static const ADExtraGuiOptionsMap optionsList[] = {
+	{
+		GUIO_GAMEOPTIONS1,
+		{
+			_s("Player Speech"),
+			_s("Enable player speech. Only works if speech is enabled in the Audio settings."),
+			"player_speech",
+			true,
+			0,
+			0
+		}
+	},
+	{
+		GUIO_GAMEOPTIONS2,
+		{
+			_s("Character Speech"),
+			_s("Enable NPC speech. Only works if speech is enabled in the Audio settings."),
+			"character_speech",
+			true,
+			0,
+			0
+		}
+	},
+	AD_EXTRA_GUI_OPTIONS_TERMINATOR
+};
 
 class NancyMetaEngine : public AdvancedMetaEngine {
 public:
@@ -42,7 +70,8 @@ public:
 	void getSavegameThumbnail(Graphics::Surface &thumb) override;
 
 	void registerDefaultSettings(const Common::String &target) const override;
-	GUI::OptionsContainerWidget *buildEngineOptionsWidget(GUI::GuiObject *boss, const Common::String &name, const Common::String &target) const override;
+	
+	const ADExtraGuiOptionsMap *getAdvancedExtraGuiOptions() const override;
 };
 
 Common::KeymapArray NancyMetaEngine::initKeymaps(const char *target) const {
@@ -88,8 +117,8 @@ void NancyMetaEngine::registerDefaultSettings(const Common::String &target) cons
 	ConfMan.setBool("character_speech", true, target);
 }
 
-GUI::OptionsContainerWidget *NancyMetaEngine::buildEngineOptionsWidget(GUI::GuiObject *boss, const Common::String &name, const Common::String &target) const {
-	return new Nancy::NancyOptionsWidget(boss, name, target);
+const ADExtraGuiOptionsMap *NancyMetaEngine::getAdvancedExtraGuiOptions() const {
+	return optionsList;
 }
 
 #if PLUGIN_ENABLED_DYNAMIC(NANCY)
diff --git a/engines/nancy/module.mk b/engines/nancy/module.mk
index 8fb00a1f180..1d062e9081f 100644
--- a/engines/nancy/module.mk
+++ b/engines/nancy/module.mk
@@ -35,7 +35,6 @@ MODULE_OBJS = \
   console.o \
   cursor.o \
   decompress.o \
-  dialogs.o \
   enginedata.o \
   font.o \
   graphics.o \
diff --git a/engines/nancy/nancy.cpp b/engines/nancy/nancy.cpp
index a899017c13e..ff90fcbc758 100644
--- a/engines/nancy/nancy.cpp
+++ b/engines/nancy/nancy.cpp
@@ -33,7 +33,6 @@
 #include "engines/nancy/input.h"
 #include "engines/nancy/sound.h"
 #include "engines/nancy/graphics.h"
-#include "engines/nancy/dialogs.h"
 #include "engines/nancy/console.h"
 #include "engines/nancy/util.h"
 


Commit: c1fa6c2b063f9b7344d388ecfb8b1ce0474dbae6
    https://github.com/scummvm/scummvm/commit/c1fa6c2b063f9b7344d388ecfb8b1ce0474dbae6
Author: Kaloyan Chehlarski (strahy at outlook.com)
Date: 2023-04-09T15:52:15+03:00

Commit Message:
NANCY: Build engine by default

Changed paths:
    engines/nancy/configure.engine


diff --git a/engines/nancy/configure.engine b/engines/nancy/configure.engine
index 51fdfc16c3d..6c977d9fc51 100644
--- a/engines/nancy/configure.engine
+++ b/engines/nancy/configure.engine
@@ -1,3 +1,3 @@
 # This file is included from the main "configure" script
 # add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps]
-add_engine nancy "Nancy Drew" no "" "" "16bit highres vorbis"
+add_engine nancy "Nancy Drew" yes "" "" "16bit highres vorbis"


Commit: b67040b4accf0a542610aa9bc7dd32a5094937f4
    https://github.com/scummvm/scummvm/commit/b67040b4accf0a542610aa9bc7dd32a5094937f4
Author: Kaloyan Chehlarski (strahy at outlook.com)
Date: 2023-04-09T15:52:15+03:00

Commit Message:
NANCY: Update engine status

Changed paths:
    engines/nancy/nancy.h


diff --git a/engines/nancy/nancy.h b/engines/nancy/nancy.h
index 9c4f3b0b513..4f9631406ed 100644
--- a/engines/nancy/nancy.h
+++ b/engines/nancy/nancy.h
@@ -41,14 +41,13 @@ class Serializer;
  * This is the namespace of the Nancy engine.
  *
  * Status of this engine:
- * Nancy Drew: Secrets can kill is completable,
- * with a few minor graphical glitches;
- * The Vampire Diaries boots, but crashes almost immediately;
- * every other game is untested but definitely unplayable
+ * The Vampire Diaries and Nancy Drew: Secrets can Kill are completable.
+ * Every other game is untested but definitely unplayable
  *
  * Games using this engine:
  *	- The Vampire Diaries (1996)
  *	- Almost every mainline Nancy Drew game by HeR Interactive,
+ *		beginnning with Nancy Drew: Secrets can Kill (1998)
  *		up to and including Nancy Drew: Sea of Darkness (2015)
  */
 namespace Nancy {


Commit: 6bb6a3178461625703fab2b90928228220e2f2a3
    https://github.com/scummvm/scummvm/commit/6bb6a3178461625703fab2b90928228220e2f2a3
Author: Kaloyan Chehlarski (strahy at outlook.com)
Date: 2023-04-09T15:52:16+03:00

Commit Message:
NANCY: Add detection entries for nancy2 (Russian)

Changed paths:
    engines/nancy/detection.cpp


diff --git a/engines/nancy/detection.cpp b/engines/nancy/detection.cpp
index 79357d343c3..1170651de6f 100644
--- a/engines/nancy/detection.cpp
+++ b/engines/nancy/detection.cpp
@@ -111,13 +111,40 @@ static const Nancy::NancyGameDescription gameDescriptions[] = {
 		},
 		Nancy::kGameTypeNancy2
 	},
+	{ // MD5 by fracturehill
+		{
+			"nancy2", nullptr,
+			AD_ENTRY1s("ciftree.dat", "c19f4a1193b58939ab1a7e314e9a550e", 7756789),
+			Common::RU_RUS,
+			Common::kPlatformWindows,
+			ADGF_UNSTABLE | ADGF_DROPPLATFORM,
+			GUIO0()
+		},
+		Nancy::kGameTypeNancy2
+	},
+	{ // MD5 by fracturehill
+		{
+			"nancy2", nullptr,
+			{
+				{"data1.hdr", 0, "af916152b6cbf1810076517897585f62", 227999},
+				{"data1.cab", 0, "8139908ecba23f6cf58711ebd59c5b8b", 3854339},
+				{"data2.cab", 0, "99926a30ced5af845220a96d3b657498", 459982848},
+				{"data3.cab", 0, "39d396865ab10f908d55eb2ec733cb45", 60604580},
+			},
+			Common::RU_RUS,
+			Common::kPlatformWindows,
+			ADGF_UNSTABLE | ADGF_DROPPLATFORM | Nancy::GF_COMPRESSED,
+			GUIO0()
+		},
+		Nancy::kGameTypeNancy2
+	},
 	{ // MD5 by waltervn
 		{
 			"nancy3", nullptr,
 			AD_ENTRY1s("ciftree.dat", "ee5f8832226567c3610556497c451b09", 16256355),
 			Common::EN_ANY,
 			Common::kPlatformWindows,
-			ADGF_UNSTABLE | ADGF_DROPPLATFORM,
+			ADGF_UNSTABLE | ADGF_DROPPLATFORM | ADGF_DROPPLATFORM,
 			GUIO0()
 		},
 		Nancy::kGameTypeNancy3




More information about the Scummvm-git-logs mailing list