[Scummvm-git-logs] scummvm master -> e90c014c1f894b9231239aa50773e06cb28d4543

neuromancer noreply at scummvm.org
Mon Nov 21 22:57:12 UTC 2022


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

Summary:
1eb45bc162 FREESCAPE: move specific game option to driller
e90c014c1f FREESCAPE: added game option to disable demo mode


Commit: 1eb45bc16288e938570b2f797d6f4d5f58478d6d
    https://github.com/scummvm/scummvm/commit/1eb45bc16288e938570b2f797d6f4d5f58478d6d
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-11-21T23:58:09+01:00

Commit Message:
FREESCAPE: move specific game option to driller

Changed paths:
    engines/freescape/detection.cpp


diff --git a/engines/freescape/detection.cpp b/engines/freescape/detection.cpp
index 20b8c45c9d9..9957790c593 100644
--- a/engines/freescape/detection.cpp
+++ b/engines/freescape/detection.cpp
@@ -48,7 +48,7 @@ static const ADGameDescription gameDescriptions[] = {
 	 Common::EN_ANY,
 	 Common::kPlatformDOS,
 	 ADGF_UNSTABLE,
-	 GUIO3(GUIO_NOMIDI, GUIO_RENDEREGA, GUIO_RENDERCGA)},
+	 GUIO4(GUIO_NOMIDI, GUIO_RENDEREGA, GUIO_RENDERCGA, GAMEOPTION_AUTOMATIC_DRILLING)},
 	{"driller",
 	 "",
 	 {
@@ -59,7 +59,7 @@ static const ADGameDescription gameDescriptions[] = {
 	 Common::EN_ANY,
 	 Common::kPlatformAtariST,
 	 ADGF_UNSTABLE,
-	 GUIO1(GUIO_NOMIDI)},
+	 GUIO2(GUIO_NOMIDI, GAMEOPTION_AUTOMATIC_DRILLING)},
 	{"spacestationoblivion",
 	 "",
 	 {
@@ -70,7 +70,7 @@ static const ADGameDescription gameDescriptions[] = {
 	 Common::EN_ANY,
 	 Common::kPlatformAtariST,
 	 ADGF_UNSUPPORTED,
-	 GUIO1(GUIO_NOMIDI)},
+	 GUIO2(GUIO_NOMIDI, GAMEOPTION_AUTOMATIC_DRILLING)},
 	{"driller",
 	 "",
 	 {
@@ -81,7 +81,7 @@ static const ADGameDescription gameDescriptions[] = {
 	 Common::EN_ANY,
 	 Common::kPlatformAmiga,
 	 ADGF_AMIGA_RETAIL | ADGF_UNSTABLE,
-	 GUIO1(GUIO_NOMIDI)},
+	 GUIO2(GUIO_NOMIDI, GAMEOPTION_AUTOMATIC_DRILLING)},
 	{"driller",
 	 "",
 	 {
@@ -92,7 +92,7 @@ static const ADGameDescription gameDescriptions[] = {
 	 Common::EN_ANY,
 	 Common::kPlatformAmiga,
 	 ADGF_AMIGA_BUDGET | ADGF_UNSTABLE,
-	 GUIO1(GUIO_NOMIDI)},
+	 GUIO2(GUIO_NOMIDI, GAMEOPTION_AUTOMATIC_DRILLING)},
 	{"driller",
 	 "Rolling Demo",
 	 {
@@ -104,7 +104,7 @@ static const ADGameDescription gameDescriptions[] = {
 	 Common::EN_ANY,
 	 Common::kPlatformAmiga,
 	 ADGF_UNSTABLE | ADGF_DEMO,
-	 GUIO1(GUIO_NOMIDI)},
+	 GUIO2(GUIO_NOMIDI, GAMEOPTION_AUTOMATIC_DRILLING)},
 	{"driller",
 	 "Rolling Demo",
 	 {
@@ -116,7 +116,7 @@ static const ADGameDescription gameDescriptions[] = {
 	 Common::EN_ANY,
 	 Common::kPlatformAtariST,
 	 ADGF_UNSTABLE | ADGF_DEMO,
-	 GUIO1(GUIO_NOMIDI)},
+	 GUIO2(GUIO_NOMIDI, GAMEOPTION_AUTOMATIC_DRILLING)},
 	{"darkside",
 	 "",
 	 {
@@ -156,7 +156,7 @@ static const ADGameDescription gameDescriptions[] = {
 	 Common::EN_ANY,
 	 Common::kPlatformDOS,
 	 ADGF_UNSTABLE,
-	 GUIO3(GUIO_NOMIDI, GUIO_RENDEREGA, GUIO_RENDERCGA)},
+	 GUIO4(GUIO_NOMIDI, GUIO_RENDEREGA, GUIO_RENDERCGA, GAMEOPTION_AUTOMATIC_DRILLING)},
 	{"castlemaster",
 	 "",
 	 {
@@ -252,7 +252,7 @@ static const DebugChannelDef debugFlagList[] = {
 class FreescapeMetaEngineDetection : public AdvancedMetaEngineDetection {
 public:
 	FreescapeMetaEngineDetection() : AdvancedMetaEngineDetection(Freescape::gameDescriptions, sizeof(ADGameDescription), Freescape::freescapeGames) {
-		_guiOptions = GUIO3(GUIO_NOMIDI, GAMEOPTION_PRERECORDED_SOUNDS, GAMEOPTION_AUTOMATIC_DRILLING);
+		_guiOptions = GUIO2(GUIO_NOMIDI, GAMEOPTION_PRERECORDED_SOUNDS);
 	}
 
 	const char *getName() const override {


Commit: e90c014c1f894b9231239aa50773e06cb28d4543
    https://github.com/scummvm/scummvm/commit/e90c014c1f894b9231239aa50773e06cb28d4543
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-11-21T23:58:09+01:00

Commit Message:
FREESCAPE: added game option to disable demo mode

Changed paths:
    engines/freescape/detection.cpp
    engines/freescape/detection.h
    engines/freescape/freescape.cpp
    engines/freescape/freescape.h
    engines/freescape/games/driller.cpp
    engines/freescape/metaengine.cpp


diff --git a/engines/freescape/detection.cpp b/engines/freescape/detection.cpp
index 9957790c593..e93aadb0742 100644
--- a/engines/freescape/detection.cpp
+++ b/engines/freescape/detection.cpp
@@ -252,7 +252,7 @@ static const DebugChannelDef debugFlagList[] = {
 class FreescapeMetaEngineDetection : public AdvancedMetaEngineDetection {
 public:
 	FreescapeMetaEngineDetection() : AdvancedMetaEngineDetection(Freescape::gameDescriptions, sizeof(ADGameDescription), Freescape::freescapeGames) {
-		_guiOptions = GUIO2(GUIO_NOMIDI, GAMEOPTION_PRERECORDED_SOUNDS);
+		_guiOptions = GUIO3(GUIO_NOMIDI, GAMEOPTION_PRERECORDED_SOUNDS, GAMEOPTION_DISABLE_DEMO_MODE);
 	}
 
 	const char *getName() const override {
diff --git a/engines/freescape/detection.h b/engines/freescape/detection.h
index 76b5d0be0f9..4fb0f207015 100644
--- a/engines/freescape/detection.h
+++ b/engines/freescape/detection.h
@@ -24,5 +24,6 @@
 
 #define GAMEOPTION_PRERECORDED_SOUNDS   GUIO_GAMEOPTIONS1
 #define GAMEOPTION_AUTOMATIC_DRILLING   GUIO_GAMEOPTIONS2
+#define GAMEOPTION_DISABLE_DEMO_MODE    GUIO_GAMEOPTIONS3
 
 #endif
diff --git a/engines/freescape/freescape.cpp b/engines/freescape/freescape.cpp
index b73dd71738e..8f58a3207c2 100644
--- a/engines/freescape/freescape.cpp
+++ b/engines/freescape/freescape.cpp
@@ -56,6 +56,9 @@ FreescapeEngine::FreescapeEngine(OSystem *syst, const ADGameDescription *gd)
 	if (!Common::parseBool(ConfMan.get("prerecorded_sounds"), _usePrerecordedSounds))
 		error("Failed to parse bool from prerecorded_sounds option");
 
+	if (!Common::parseBool(ConfMan.get("disable_demo_mode"), _disableDemoMode))
+		error("Failed to parse bool from disable_demo_mode option");
+
 	_startArea = 0;
 	_startEntrance = 0;
 	_currentArea = nullptr;
diff --git a/engines/freescape/freescape.h b/engines/freescape/freescape.h
index 78cea78a017..5c08352d951 100644
--- a/engines/freescape/freescape.h
+++ b/engines/freescape/freescape.h
@@ -163,6 +163,7 @@ public:
 
 	// Input
 	bool _demoMode;
+	bool _disableDemoMode;
 	bool _flyMode;
 	bool _shootMode;
 	bool _noClipMode;
diff --git a/engines/freescape/games/driller.cpp b/engines/freescape/games/driller.cpp
index e3e48353bf2..fdd36e0bdc8 100644
--- a/engines/freescape/games/driller.cpp
+++ b/engines/freescape/games/driller.cpp
@@ -245,7 +245,7 @@ void DrillerEngine::loadAssetsDemo() {
 	} else
 		error("Unsupported demo for Driller");
 
-	_demoMode = true;
+	_demoMode = !_disableDemoMode;
 	_angleRotationIndex = 0;
 }
 
diff --git a/engines/freescape/metaengine.cpp b/engines/freescape/metaengine.cpp
index 5e3e98edc1b..2c5ade56a3f 100644
--- a/engines/freescape/metaengine.cpp
+++ b/engines/freescape/metaengine.cpp
@@ -47,6 +47,18 @@ static const ADExtraGuiOptionsMap optionsList[] = {
 			0
 		}
 	},
+	{
+		GAMEOPTION_DISABLE_DEMO_MODE,
+		{
+			_s("Disable demo mode"),
+			_s("Never activate demo mode"),
+			"disable_demo_mode",
+			false,
+			0,
+			0
+		}
+	},
+
 	AD_EXTRA_GUI_OPTIONS_TERMINATOR
 };
 




More information about the Scummvm-git-logs mailing list