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

neuromancer noreply at scummvm.org
Thu Nov 25 13:15:16 UTC 2021


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:
7d32aaab2a HYPNO: improved detection of wetlands demos
d5d52d5f96 HYPNO: corrected filenames for arcade level parsing + fixes


Commit: 7d32aaab2a49a68350a3fb22f1d3f6261195552a
    https://github.com/scummvm/scummvm/commit/7d32aaab2a49a68350a3fb22f1d3f6261195552a
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2021-11-25T14:14:55+01:00

Commit Message:
HYPNO: improved detection of wetlands demos

Changed paths:
    engines/hypno/arcade.cpp
    engines/hypno/detection.cpp
    engines/hypno/hypno.cpp
    engines/hypno/hypno.h
    engines/hypno/wet/wet.cpp


diff --git a/engines/hypno/arcade.cpp b/engines/hypno/arcade.cpp
index 76b5830155..1da9dc0d90 100644
--- a/engines/hypno/arcade.cpp
+++ b/engines/hypno/arcade.cpp
@@ -88,8 +88,7 @@ ShootSequence HypnoEngine::parseShootList(const Common::String &filename, const
 	return seq;
 }
 
-void HypnoEngine::loadArcadeLevel(const Common::String &current, const Common::String &next, const Common::String &prefix) {
-	Common::String arclevel = current + ".mi_";
+void HypnoEngine::loadArcadeLevel(const Common::String &arclevel, const Common::String &next, const Common::String &prefix) {
 	debugC(1, kHypnoDebugParser, "Parsing %s", arclevel.c_str());
 	Common::String arc;
 	Common::String list;
diff --git a/engines/hypno/detection.cpp b/engines/hypno/detection.cpp
index be58165471..af0d718648 100644
--- a/engines/hypno/detection.cpp
+++ b/engines/hypno/detection.cpp
@@ -93,7 +93,7 @@ static const ADGameDescription gameDescriptions[] = {
 	},
 	{
 		"wetlands", // Personal Computer World (UK) (May 1996) - Chapter 11 demo
-		"Demo",
+		"PCWDemo",
 		AD_ENTRY2s("wetlands.exe", "15a6b1b3819ef002438df340509b5373", 553355,
 				"missions.lib", "6ffa658f22a00b6e17d7f920fcc13578", 12469),
 		Common::EN_GRB,
@@ -103,7 +103,7 @@ static const ADGameDescription gameDescriptions[] = {
 	},
 	{
 		"wetlands", // PC Gamer Disc 12 (November 1995) - Chapter 31 demo
-		"Demo",
+		"PCGDemo",
 		AD_ENTRY2s("wetlands.exe", "15a6b1b3819ef002438df340509b5373", 553355,
 				"missions.lib", "34b922fac8f64546c0690aa83f09e98e", 40891),
 		Common::EN_USA,
diff --git a/engines/hypno/hypno.cpp b/engines/hypno/hypno.cpp
index 32b53f1f22..2f0319b171 100644
--- a/engines/hypno/hypno.cpp
+++ b/engines/hypno/hypno.cpp
@@ -34,6 +34,7 @@
 #include "common/str.h"
 #include "common/system.h"
 #include "common/timer.h"
+#include "engines/advancedDetector.h"
 #include "engines/util.h"
 #include "image/bmp.h"
 
@@ -63,6 +64,7 @@ HypnoEngine::HypnoEngine(OSystem *syst, const ADGameDescription *gd)
 	  _screenW(640), _screenH(480) {
 	_rnd = new Common::RandomSource("hypno");
 
+	_variant = gd->extra;
 	g_hypno = this;
 	g_parsedArc = new ArcadeShooting();
 	_defaultCursor = "";
diff --git a/engines/hypno/hypno.h b/engines/hypno/hypno.h
index 0f677e779c..244dd31ed9 100644
--- a/engines/hypno/hypno.h
+++ b/engines/hypno/hypno.h
@@ -72,6 +72,7 @@ public:
 	bool isDemo() const;
 	Common::Language _language;
 	Common::Platform _platform;
+	Common::String _variant;
 
 	Audio::SoundHandle _soundHandle;
 	Common::InstallShieldV3 _installerArchive;
diff --git a/engines/hypno/wet/wet.cpp b/engines/hypno/wet/wet.cpp
index c66eb3bcec..6a868cbfa5 100644
--- a/engines/hypno/wet/wet.cpp
+++ b/engines/hypno/wet/wet.cpp
@@ -51,15 +51,14 @@ void WetEngine::loadAssets() {
 	}
 	_difficulty = ""; // No difficulty selection in demo
 
-	Common::String demoVersion = "Wetlands Demo Disc";
-	if (demoVersion == "Wetlands Demo Disc")
+	if (_variant == "Demo")
 		loadAssetsDemoDisc();
-	else if (demoVersion == "Personal Computer World Disc")
+	else if (_variant == "PCWDemo")
 		loadAssetsPCW();
-	else if (demoVersion == "Personal Computer Gamer Disc")
+	else if (_variant == "PCGDemo")
 		loadAssetsPCG();
 	else
-		error("Invalid demo version: \"%s\"", demoVersion.c_str());
+		error("Invalid demo version: \"%s\"", _variant.c_str());
 }
 
 
@@ -161,13 +160,14 @@ void WetEngine::loadAssetsPCW() {
 	intro->frameImage.clear();
 	_levels["<start>"] = intro;
 
-	loadArcadeLevel("c11", "<gameover>", "");
+	loadArcadeLevel("c11.mis", "<gameover>", "");
 
 	Transition *over = new Transition("<quit>");
 	over->intros.push_back("movie/gameover.smk");
 	_levels["<gameover>"] = over;
 
 	loadLib("", "c_misc/sound.lib", false);
+	_nextLevel = "<start>";
 }
 
 void WetEngine::loadAssetsPCG() {
@@ -177,20 +177,21 @@ void WetEngine::loadAssetsPCG() {
 	if (missions->listMembers(files) == 0)
 		error("Failed to load any files from missions.lib");
 
-	Transition *intro = new Transition("c31.mi_");
+	Transition *intro = new Transition("c31.mis");
 	intro->intros.push_back("nw_logo.smk");
 	intro->intros.push_back("h.s");
 	intro->intros.push_back("wet.smk");
 	intro->frameImage.clear();
 	_levels["<start>"] = intro;
 
-	loadArcadeLevel("c31", "<gameover>", "");
+	loadArcadeLevel("c31.mis", "<gameover>", "");
 
 	Transition *over = new Transition("<quit>");
 	over->intros.push_back("gameover.smk");
 	_levels["<gameover>"] = over;
 
 	loadLib("", "sound.lib", false);
+	_nextLevel = "<start>";
 }
 
 void WetEngine::loadAssetsFullGame() {


Commit: d5d52d5f96ec60e6d8faba3e3059d3168e0a71fc
    https://github.com/scummvm/scummvm/commit/d5d52d5f96ec60e6d8faba3e3059d3168e0a71fc
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2021-11-25T14:14:55+01:00

Commit Message:
HYPNO: corrected filenames for arcade level parsing + fixes

Changed paths:
    engines/hypno/hypno.cpp
    engines/hypno/spider/spider.cpp
    engines/hypno/wet/wet.cpp


diff --git a/engines/hypno/hypno.cpp b/engines/hypno/hypno.cpp
index 2f0319b171..cb5399092c 100644
--- a/engines/hypno/hypno.cpp
+++ b/engines/hypno/hypno.cpp
@@ -64,7 +64,10 @@ HypnoEngine::HypnoEngine(OSystem *syst, const ADGameDescription *gd)
 	  _screenW(640), _screenH(480) {
 	_rnd = new Common::RandomSource("hypno");
 
-	_variant = gd->extra;
+	if (gd->extra)
+		_variant = gd->extra;
+	else
+		_variant = "FullGame";
 	g_hypno = this;
 	g_parsedArc = new ArcadeShooting();
 	_defaultCursor = "";
diff --git a/engines/hypno/spider/spider.cpp b/engines/hypno/spider/spider.cpp
index b584fe1770..3a7d1a42af 100644
--- a/engines/hypno/spider/spider.cpp
+++ b/engines/hypno/spider/spider.cpp
@@ -102,7 +102,7 @@ void SpiderEngine::loadAssetsFullGame() {
 	_levels["alley.mi_"]->music = "alleymus.raw";
 	_levels["alley.mi_"]->intros.push_back("cine/aleyc01s.smk");
 
-	loadArcadeLevel("c1", "<trans_apt_1>", prefix);
+	loadArcadeLevel("c1.mi_", "<trans_apt_1>", prefix);
 	_levels["c1.mi_"]->intros.push_back("cine/ross002s.smk");
 	_levels["c1.mi_"]->levelIfLose = "<over_apt_1>";
 
@@ -204,33 +204,33 @@ void SpiderEngine::loadAssetsFullGame() {
 	// _levels["<bank_hard>"] = bankHard;
 
 	// Easy arcade levels
-	loadArcadeLevel("c2", "", prefix);
-	loadArcadeLevel("c3", "", prefix);
-	loadArcadeLevel("c4", "", prefix);
-	loadArcadeLevel("c5", "", prefix);
-	//loadArcadeLevel("c6", "", "spider");
+	loadArcadeLevel("c2.mi_", "", prefix);
+	loadArcadeLevel("c3.mi_", "", prefix);
+	loadArcadeLevel("c4.mi_", "", prefix);
+	loadArcadeLevel("c5.mi_", "", prefix);
+	//loadArcadeLevel("c6.mi_", "", "spider");
 	// No c7 level?
-	loadArcadeLevel("c8", "", prefix);
-	loadArcadeLevel("c9", "", prefix);
-	loadArcadeLevel("c10", "", prefix);
-	loadArcadeLevel("c11", "", prefix);
-	loadArcadeLevel("c12", "", prefix);
-	loadArcadeLevel("c13", "", prefix);
+	loadArcadeLevel("c8.mi_", "", prefix);
+	loadArcadeLevel("c9.mi_", "", prefix);
+	loadArcadeLevel("c10.mi_", "", prefix);
+	loadArcadeLevel("c11.mi_", "", prefix);
+	loadArcadeLevel("c12.mi_", "", prefix);
+	loadArcadeLevel("c13.mi_", "", prefix);
 
 	// // Hard arcade levels
-	loadArcadeLevel("c1h", "", prefix);
-	loadArcadeLevel("c2h", "", prefix);
-	loadArcadeLevel("c3h", "", prefix);
-	loadArcadeLevel("c4h", "", prefix);
-	loadArcadeLevel("c5h", "", prefix);
-	//loadArcadeLevel("c6h", "", "spider");
+	loadArcadeLevel("c1h.mi_", "", prefix);
+	loadArcadeLevel("c2h.mi_", "", prefix);
+	loadArcadeLevel("c3h.mi_", "", prefix);
+	loadArcadeLevel("c4h.mi_", "", prefix);
+	loadArcadeLevel("c5h.mi_", "", prefix);
+	//loadArcadeLevel("c6h.mi_", "", "spider");
 	// No c7h level?
-	loadArcadeLevel("c8h", "", prefix);
-	loadArcadeLevel("c9h", "", prefix);
-	loadArcadeLevel("c10h", "", prefix);
-	loadArcadeLevel("c11h", "", prefix);
-	loadArcadeLevel("c12h", "", prefix);
-	loadArcadeLevel("c13h", "", prefix);
+	loadArcadeLevel("c8h.mi_", "", prefix);
+	loadArcadeLevel("c9h.mi_", "", prefix);
+	loadArcadeLevel("c10h.mi_", "", prefix);
+	loadArcadeLevel("c11h.mi_", "", prefix);
+	loadArcadeLevel("c12h.mi_", "", prefix);
+	loadArcadeLevel("c13h.mi_", "", prefix);
 
 	// start level
 	Transition *start = new Transition("mainmenu.mi_");
@@ -331,7 +331,7 @@ void SpiderEngine::loadAssetsDemo() {
 	start->intros.push_back("sixdemo/demo/dcine2.smk");
 	_levels["<start>"] = start;
 
-	loadArcadeLevel("c1", "sixdemo/mis/demo.mis", "sixdemo");
+	loadArcadeLevel("c1.mi_", "sixdemo/mis/demo.mis", "sixdemo");
 
 	loadLib("", "sixdemo/c_misc/fonts.lib", true);
 	loadLib("sixdemo/c_misc/sound.lib/", "sixdemo/c_misc/sound.lib", true);
diff --git a/engines/hypno/wet/wet.cpp b/engines/hypno/wet/wet.cpp
index 6a868cbfa5..662aaa5a56 100644
--- a/engines/hypno/wet/wet.cpp
+++ b/engines/hypno/wet/wet.cpp
@@ -132,9 +132,9 @@ void WetEngine::loadAssetsDemoDisc() {
 	movies->frameNumber = 0;
 	_levels["<movies>"] = movies;
 
-	loadArcadeLevel("c31", "c52", "wetlands");
+	loadArcadeLevel("c31.mi_", "c52", "wetlands");
 	_levels["c31.mi_"]->levelIfLose = "c52";
-	loadArcadeLevel("c52", "<gameover>", "wetlands");
+	loadArcadeLevel("c52.mi_", "<gameover>", "wetlands");
 	_levels["c52.mi_"]->levelIfLose = "<gameover>";
 
 	Transition *over = new Transition("<quit>");
@@ -212,18 +212,18 @@ void WetEngine::loadAssetsFullGame() {
 	_levels["<main_menu>"] = menu;
 	_levels["<main_menu>"]->levelIfWin = "c11";
 
-	loadArcadeLevel("c110", "c20", "");
+	loadArcadeLevel("c110.mi_", "c20", "");
 	_levels["c110.mi_"]->intros.push_front("c_misc/intros.smk");
 
-	loadArcadeLevel("c111", "c20", "");
+	loadArcadeLevel("c111.mi_", "c20", "");
 	_levels["c111.mi_"]->intros.push_front("c_misc/intros.smk");
 
-	loadArcadeLevel("c112", "c20", "");
+	loadArcadeLevel("c112.mi_", "c20", "");
 	_levels["c112.mi_"]->intros.push_front("c_misc/intros.smk");
 
-	loadArcadeLevel("c200", "???", "");
-	loadArcadeLevel("c201", "???", "");
-	loadArcadeLevel("c202", "???", "");
+	loadArcadeLevel("c200.mi_", "???", "");
+	loadArcadeLevel("c201.mi_", "???", "");
+	loadArcadeLevel("c202.mi_", "???", "");
 
 	//loadArcadeLevel("c20", "", "");
 




More information about the Scummvm-git-logs mailing list