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

neuromancer noreply at scummvm.org
Sun Feb 6 17:40:26 UTC 2022


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

Summary:
b5686e6951 HYPNO: check lives count in wet
6254f47372 HYPNO: refactor loadArcadeLevel
fd0908d061 HYPNO: fix incorrect level name in spider


Commit: b5686e69518b3dc5f6b9720b6952f56948ec9c11
    https://github.com/scummvm/scummvm/commit/b5686e69518b3dc5f6b9720b6952f56948ec9c11
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-02-06T18:37:25+01:00

Commit Message:
HYPNO: check lives count in wet

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


diff --git a/engines/hypno/wet/arcade.cpp b/engines/hypno/wet/arcade.cpp
index 88325eaefad..abc4cb05ac7 100644
--- a/engines/hypno/wet/arcade.cpp
+++ b/engines/hypno/wet/arcade.cpp
@@ -28,6 +28,7 @@
 namespace Hypno {
 
 void WetEngine::runBeforeArcade(ArcadeShooting *arc) {
+	_checkpoint = _currentLevel;
 	MVideo *video;
 	if (!isDemo()) {
 
@@ -37,6 +38,8 @@ void WetEngine::runBeforeArcade(ArcadeShooting *arc) {
 		byte p[3] = {0xff, 0x00, 0x00}; // Always red?
 		loadPalette((byte *) &p, 240 - arc->id % 10, 1);
 		drawImage(*frame, 0, 0, false);
+		frame->free();
+		delete frame;
 		bool showedBriefing = false;
 		bool endedBriefing = false;
 		Common::Event event;
diff --git a/engines/hypno/wet/wet.cpp b/engines/hypno/wet/wet.cpp
index 8c64f0c71d6..48a26c74623 100644
--- a/engines/hypno/wet/wet.cpp
+++ b/engines/hypno/wet/wet.cpp
@@ -50,6 +50,7 @@ static const chapterEntry rawChapterTable[] = {
 WetEngine::WetEngine(OSystem *syst, const ADGameDescription *gd) : HypnoEngine(syst, gd) {
 	_screenW = 320;
 	_screenH = 200;
+	_lives = 2;
  
     const chapterEntry *entry = rawChapterTable;
     while (entry->id) {
@@ -166,7 +167,7 @@ void WetEngine::loadAssetsDemoDisc() {
 
 	Transition *over = new Transition("<quit>");
 	over->intros.push_back("movie/gameover.smk");
-	_levels["<gameover>"] = over;
+	_levels["<game_over>"] = over;
 
 	loadLib("", "wetlands/c_misc/fonts.lib", true);
 	loadFonts();
@@ -219,7 +220,7 @@ void WetEngine::loadAssetsPCG() {
 
 	Transition *over = new Transition("<quit>");
 	over->intros.push_back("g.s");
-	_levels["<gameover>"] = over;
+	_levels["<game_over>"] = over;
 
 	loadLib("sound/", "sound.lib", false);
 	loadLib("", "fonts.lib", true);
@@ -245,20 +246,28 @@ void WetEngine::loadAssetsFullGame() {
 	_levels["<main_menu>"] = menu;
 	_levels["<main_menu>"]->levelIfWin = "<intros>";
 
+	Transition *over = new Transition("<quit>");
+	over->intros.push_back("c_misc/gameover.smk");
+	_levels["<game_over>"] = over;
+
 	Transition *intros = new Transition("c11");
 	intros->intros.push_back("c_misc/stardate.smk");
 	intros->intros.push_back("c_misc/intros.smk");
 	intros->intros.push_back("c_misc/confs.smk");
 	_levels["<intros>"] = intros;
 
+	Code *check_lives = new Code();
+	check_lives->name = "<check_lives>";
+	_levels["<check_lives>"] = check_lives;
+
 	loadArcadeLevel("c110.mi_", "c10", "");
-	_levels["c110.mi_"]->levelIfLose = "<quit>";
+	_levels["c110.mi_"]->levelIfLose = "<check_lives>";
 
 	loadArcadeLevel("c111.mi_", "c10", "");
-	_levels["c111.mi_"]->levelIfLose = "<quit>";
+	_levels["c111.mi_"]->levelIfLose = "<check_lives>";
 
 	loadArcadeLevel("c112.mi_", "c10", "");
-	_levels["c112.mi_"]->levelIfLose = "<quit>";
+	_levels["c112.mi_"]->levelIfLose = "<check_lives>";
 
 	loadArcadeLevel("c100.mi_", "c21", "");
 	loadArcadeLevel("c101.mi_", "c21", "");
@@ -358,6 +367,8 @@ void WetEngine::runCode(Code *code) {
 	changeScreenMode("320x200");
 	if (code->name == "<main_menu>")
 		runMainMenu(code);
+	else if (code->name == "<check_lives>")
+		runCheckLives(code);
 	else
 		error("invalid hardcoded level: %s", code->name.c_str());
 }


Commit: 6254f47372c9c540790c3b2b5cb7ff8a1ea69c63
    https://github.com/scummvm/scummvm/commit/6254f47372c9c540790c3b2b5cb7ff8a1ea69c63
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-02-06T18:37:25+01:00

Commit Message:
HYPNO: refactor loadArcadeLevel

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


diff --git a/engines/hypno/arcade.cpp b/engines/hypno/arcade.cpp
index f2ad9adacc7..bb159fada60 100644
--- a/engines/hypno/arcade.cpp
+++ b/engines/hypno/arcade.cpp
@@ -111,7 +111,7 @@ ShootSequence HypnoEngine::parseShootList(const Common::String &filename, const
 	return seq;
 }
 
-void HypnoEngine::loadArcadeLevel(const Common::String &arclevel, const Common::String &next, const Common::String &prefix) {
+void HypnoEngine::loadArcadeLevel(const Common::String &arclevel, const Common::String &nextWin, const Common::String &nextLose, const Common::String &prefix) {
 	debugC(1, kHypnoDebugParser, "Parsing %s", arclevel.c_str());
 	Common::String arc;
 	Common::String list;
@@ -121,7 +121,8 @@ void HypnoEngine::loadArcadeLevel(const Common::String &arclevel, const Common::
 	ArcadeShooting *arcade = (ArcadeShooting *) _levels[arclevel]; 
 	arcade->shootSequence = parseShootList(arclevel, list);
 	arcade->prefix = prefix;
-	arcade->levelIfWin = next;
+	arcade->levelIfWin = nextWin;
+	arcade->levelIfLose = nextLose;
 }
 
 void HypnoEngine::drawPlayer() { error("Function \"%s\" not implemented", __FUNCTION__); }
diff --git a/engines/hypno/hypno.h b/engines/hypno/hypno.h
index f5373c6eb42..4adecb9efd3 100644
--- a/engines/hypno/hypno.h
+++ b/engines/hypno/hypno.h
@@ -112,7 +112,7 @@ public:
 	void splitArcadeFile(const Common::String &filename, Common::String &arc, Common::String &list);
 	void parseArcadeShooting(const Common::String &prefix, const Common::String &name, const Common::String &data);
 	ShootSequence parseShootList(const Common::String &name, const Common::String &data);
-	void loadArcadeLevel(const Common::String &current, const Common::String &next, const Common::String &prefix);
+	void loadArcadeLevel(const Common::String &current, const Common::String &nextWin, const Common::String &nextLose, const Common::String &prefix);
 	void loadSceneLevel(const Common::String &current, const Common::String &next, const Common::String &prefix);
 	LibFile *loadLib(const Filename &prefix, const Filename &filename, bool encrypted);
 
diff --git a/engines/hypno/spider/spider.cpp b/engines/hypno/spider/spider.cpp
index 6f88975cc9f..00fd801ba4e 100644
--- a/engines/hypno/spider/spider.cpp
+++ b/engines/hypno/spider/spider.cpp
@@ -149,78 +149,67 @@ void SpiderEngine::loadAssetsFullGame() {
 	practice_lose->intros.push_back("spider/cine/praclose.smk");
 	_levels["<practice_lose>"] = practice_lose;
 
-	loadArcadeLevel("c1h.mi_", "<practice_win>", prefix);
-	_levels["c1h.mi_"]->levelIfLose = "<practice_lose>";
+	loadArcadeLevel("c1h.mi_", "<practice_win>", "<practice_lose>", prefix);
 	_levels["c1h_solo.mi_"] = _levels["c1h.mi_"];
 
 	cl = new ChangeLevel("c1h_solo.mi_");
 	sc->hots[2].actions.push_back(cl);
 
-	loadArcadeLevel("c2h.mi_", "<practice_win>", prefix);
-	_levels["c2h.mi_"]->levelIfLose = "<practice_lose>";
+	loadArcadeLevel("c2h.mi_", "<practice_win>", "<practice_lose>", prefix);
 	_levels["c2h_solo.mi_"] = _levels["c2h.mi_"];
 
 	cl = new ChangeLevel("c2h_solo.mi_");
 	sc->hots[4].actions.push_back(cl);
 
-	loadArcadeLevel("c3h.mi_", "<practice_win>", prefix);
-	_levels["c3h.mi_"]->levelIfLose = "<practice_lose>";
+	loadArcadeLevel("c3h.mi_", "<practice_win>", "<practice_lose>", prefix);
 	_levels["c3h_solo.mi_"] = _levels["c3h.mi_"];
 
 	cl = new ChangeLevel("c3h_solo.mi_");
 	sc->hots[6].actions.push_back(cl);
 
-	loadArcadeLevel("c4h.mi_", "<practice_win>", prefix);
-	_levels["c4h.mi_"]->levelIfLose = "<practice_lose>";
+	loadArcadeLevel("c4h.mi_", "<practice_win>", "<practice_lose>", prefix);
 	_levels["c4h_solo.mi_"] = _levels["c4h.mi_"];
 
 	cl = new ChangeLevel("c4h_solo.mi_");
 	sc->hots[3].actions.push_back(cl);
 
-	loadArcadeLevel("c5h.mi_", "<practice_win>", prefix);
-	_levels["c5h.mi_"]->levelIfLose = "<practice_lose>";
+	loadArcadeLevel("c5h.mi_", "<practice_win>", "<practice_lose>", prefix);
 	_levels["c5h_solo.mi_"] = _levels["c5h.mi_"];
 
 	cl = new ChangeLevel("c5h_solo.mi_");
 	sc->hots[5].actions.push_back(cl);
 
-	loadArcadeLevel("c8h.mi_", "<practice_win>", prefix);
-	_levels["c8h.mi_"]->levelIfLose = "<practice_lose>";
+	loadArcadeLevel("c8h.mi_", "<practice_win>", "<practice_lose>", prefix);
 	_levels["c8h_solo.mi_"] = _levels["c8h.mi_"];
 
 	cl = new ChangeLevel("c8h_solo.mi_");
 	sc->hots[7].actions.push_back(cl);
 
-	loadArcadeLevel("c9h.mi_", "<practice_win>", prefix);
-	_levels["c9h.mi_"]->levelIfLose = "<practice_lose>";
+	loadArcadeLevel("c9h.mi_", "<practice_win>", "<practice_lose>", prefix);
 	_levels["c9h_solo.mi_"] = _levels["c9h.mi_"];
 
 	cl = new ChangeLevel("c9h_solo.mi_");
 	sc->hots[8].actions.push_back(cl);
 
-	loadArcadeLevel("c10h.mi_", "<practice_win>", prefix);
-	_levels["c10h.mi_"]->levelIfLose = "<practice_lose>";
+	loadArcadeLevel("c10h.mi_", "<practice_win>", "<practice_lose>", prefix);
 	_levels["c10h_solo.mi_"] = _levels["c10h.mi_"];
 
 	cl = new ChangeLevel("c10h_solo.mi_");
 	sc->hots[9].actions.push_back(cl);
 
-	loadArcadeLevel("c11h.mi_", "<practice_win>", prefix);
-	_levels["c11h.mi_"]->levelIfLose = "<practice_lose>";
+	loadArcadeLevel("c11h.mi_", "<practice_win>", "<practice_lose>", prefix);
 	_levels["c11h_solo.mi_"] = _levels["c11h.mi_"];
 
 	cl = new ChangeLevel("c11h_solo.mi_");
 	sc->hots[10].actions.push_back(cl);
 
-	loadArcadeLevel("c12h.mi_", "<practice_win>", prefix);
-	_levels["c12h.mi_"]->levelIfLose = "<practice_lose>";
+	loadArcadeLevel("c12h.mi_", "<practice_win>", "<practice_lose>", prefix);
 	_levels["c12h_solo.mi_"] = _levels["c12h.mi_"];
 
 	cl = new ChangeLevel("c12h_solo.mi_");
 	sc->hots[12].actions.push_back(cl);
 
-	loadArcadeLevel("c13h.mi_", "<practice_win>", prefix);
-	_levels["c13h.mi_"]->levelIfLose = "<practice_lose>";
+	loadArcadeLevel("c13h.mi_", "<practice_win>", "<practice_lose>", prefix);
 	_levels["c13h_solo.mi_"] = _levels["c13h.mi_"];
 
 	cl = new ChangeLevel("c13h_solo.mi_");
@@ -259,13 +248,11 @@ void SpiderEngine::loadAssetsFullGame() {
 	_levels["alley.mi_"]->music = "sound.lib/alleymus.raw";
 	_levels["alley.mi_"]->intros.push_back("cine/aleyc01s.smk");
 
-	loadArcadeLevel("c1.mi_", "<trans_apt_1>", prefix);
+	loadArcadeLevel("c1.mi_", "<trans_apt_1>", "<over_apt_1>", prefix);
 	_levels["c1.mi_"]->intros.push_back("cine/ross002s.smk");
-	_levels["c1.mi_"]->levelIfLose = "<over_apt_1>";
 
-	loadArcadeLevel("c1h.mi_", "<trans_apt_1>", prefix);
+	loadArcadeLevel("c1h.mi_", "<trans_apt_1>", "<over_apt_1>", prefix);
 	_levels["c1h.mi_"]->intros.push_back("cine/ross002s.smk");
-	_levels["c1h.mi_"]->levelIfLose = "<over_apt_1>";
 
 	// Hardcoded levels
 	Code *matrix = new Code();
@@ -547,20 +534,16 @@ void SpiderEngine::loadAssetsFullGame() {
 	_levels["<back_roof_2>"] = back_roof_2;
 	_levels["<back_roof_2>"]->intros.push_back("spider/cine/recpout.smk");
 
-	loadArcadeLevel("c4.mi_", "c2", prefix);
-	_levels["c4.mi_"]->levelIfLose = "<over_hob_vul>";
+	loadArcadeLevel("c4.mi_", "c2", "<over_hob_vul>", prefix);
 	_levels["c4.mi_"]->intros.push_back("cine/dals001s.smk");
 
-	loadArcadeLevel("c2.mi_", "<after_c2>", prefix);
-	_levels["c2.mi_"]->levelIfLose = "<over_hob_vul>";
+	loadArcadeLevel("c2.mi_", "<after_c2>", "<over_hob_vul>", prefix);
 	_levels["c2.mi_"]->intros.push_back("cine/dals002s.smk");
 
-	loadArcadeLevel("c4h.mi_", "c2", prefix);
-	_levels["c4h.mi_"]->levelIfLose = "<over_hob_vul>";
+	loadArcadeLevel("c4h.mi_", "c2", "<over_hob_vul>", prefix);
 	_levels["c4h.mi_"]->intros.push_back("cine/dals001s.smk");
 
-	loadArcadeLevel("c2h.mi_", "<after_c2>", prefix);
-	_levels["c2h.mi_"]->levelIfLose = "<over_hob_vul>";
+	loadArcadeLevel("c2h.mi_", "<after_c2>", "<over_hob_vul>", prefix);
 	_levels["c2h.mi_"]->intros.push_back("cine/dals002s.smk");
 
 	Transition *after_c2 = new Transition("decide4.mi_");
@@ -580,12 +563,12 @@ void SpiderEngine::loadAssetsFullGame() {
 	gl = new Global("GS_LEVELWON", "TURNON");
 	sc->hots[4].actions.push_back(gl);
 
-	loadArcadeLevel("c5.mi_", "<trans_apt_6>", prefix);
-	_levels["c5.mi_"]->levelIfLose = "<over_hob2>";
+	loadArcadeLevel("c5.mi_", "<trans_apt_6>", "<over_hob2>", prefix);
 	_levels["c5.mi_"]->intros.push_back("cine/ctss001s.smk");
-	loadArcadeLevel("c5h.mi_", "<trans_apt_6>", prefix);
-	_levels["c5h.mi_"]->levelIfLose = "<over_hob2>";
+
+	loadArcadeLevel("c5h.mi_", "<trans_apt_6>", "<over_hob2>", prefix);
 	_levels["c5h.mi_"]->intros.push_back("cine/ctss001s.smk");
+
 	Transition *trans_apt_6 = new Transition("factory1.mi_");
 	trans_apt_6->intros.push_back("spider/cine/ctss002s.smk");
 	trans_apt_6->intros.push_back("spider/cine/apts06as.smk");
@@ -610,22 +593,18 @@ void SpiderEngine::loadAssetsFullGame() {
 	_levels["factory1.mi_"]->intros.push_back("cine/swc003s.smk");
 	loadSceneLevel("intercom.mi_", "c3", prefix);
 
-	loadArcadeLevel("c3.mi_", "c6", prefix);
-	_levels["c3.mi_"]->levelIfLose = "<over_octo1>";
+	loadArcadeLevel("c3.mi_", "c6", "<over_octo1>", prefix);
 	_levels["c3.mi_"]->intros.push_back("cine/vrfs001s.smk");
 
-	loadArcadeLevel("c3h.mi_", "c6", prefix);
-	_levels["c3h.mi_"]->levelIfLose = "<over_octo1>";
+	loadArcadeLevel("c3h.mi_", "c6", "<over_octo1>", prefix);
 	_levels["c3h.mi_"]->intros.push_back("cine/vrfs001s.smk");
 
-	loadArcadeLevel("c6.mi_", "<lock>", "spider");
-	_levels["c6.mi_"]->levelIfLose = "<over_gas>";
+	loadArcadeLevel("c6.mi_", "<lock>", "<over_gas>", prefix);
 	_levels["c6.mi_"]->intros.push_back("cine/vrfs002s.smk");
 	_levels["c6.mi_"]->intros.push_back("cine/dia007s.smk");
 	_levels["c6.mi_"]->intros.push_back("cine/rdss001s.smk");
 
-	loadArcadeLevel("c6h.mi_", "<lock>", prefix);
-	_levels["c6h.mi_"]->levelIfLose = "<over_gas>";
+	loadArcadeLevel("c6h.mi_", "<lock>", "<over_gas>", prefix);
 	_levels["c6h.mi_"]->intros.push_back("cine/vrfs002s.smk");
 	_levels["c6h.mi_"]->intros.push_back("cine/dia007s.smk");
 	_levels["c6h.mi_"]->intros.push_back("cine/rdss001s.smk");
@@ -696,12 +675,10 @@ void SpiderEngine::loadAssetsFullGame() {
 	gl = new Global("GS_LEVELWON", "TURNON");
 	sc->hots[4].actions.push_back(gl);
 
-	loadArcadeLevel("c13.mi_", "<after_c13>", prefix);
-	_levels["c13.mi_"]->levelIfLose = "<over_shock>";
+	loadArcadeLevel("c13.mi_", "<after_c13>", "<over_shock>", prefix);
 	_levels["c13.mi_"]->intros.push_back("cine/spf007bs.smk");
 
-	loadArcadeLevel("c13h.mi_", "<after_c13>", prefix);
-	_levels["c13h.mi_"]->levelIfLose = "<over_shock>";
+	loadArcadeLevel("c13h.mi_", "<after_c13>", "<over_shock>", prefix);
 	_levels["c13h.mi_"]->intros.push_back("cine/spf007bs.smk");
 
 	Transition *after_c13 = new Transition("docoffi2.mi_");
@@ -711,14 +688,12 @@ void SpiderEngine::loadAssetsFullGame() {
 
 	loadSceneLevel("docoffi2.mi_", "c12a", prefix);
 
-	loadArcadeLevel("c12.mi_", "<chip_lives_with_spiderman>", prefix);
-	_levels["c12.mi_"]->levelIfLose = "<over_vr>";
+	loadArcadeLevel("c12.mi_", "<chip_lives_with_spiderman>", "<over_vr>", prefix);
 	_levels["c12.mi_"]->intros.push_back("cine/vrws010s.smk");
 	_levels["c12.mi_"]->intros.push_back("cine/cybs001s.smk");
 	_levels["c12a.mi_"] = _levels["c12.mi_"];
 
-	loadArcadeLevel("c12h.mi_", "<chip_lives_with_spiderman>", prefix);
-	_levels["c12h.mi_"]->levelIfLose = "<over_vr>";
+	loadArcadeLevel("c12h.mi_", "<chip_lives_with_spiderman>", "<over_vr>", prefix);
 	_levels["c12h.mi_"]->intros.push_back("cine/vrws010s.smk");
 	_levels["c12h.mi_"]->intros.push_back("cine/cybs001s.smk");
 	_levels["c12ah.mi_"] = _levels["c12h.mi_"];
@@ -736,33 +711,30 @@ void SpiderEngine::loadAssetsFullGame() {
 	gl = new Global("GS_LEVELWON", "TURNON");
 	sc->hots[4].actions.push_back(gl);
 
-	loadArcadeLevel("c8.mi_", "<after_c8>", prefix);
-	_levels["c8.mi_"]->levelIfLose = "<over_myst2>";
+	loadArcadeLevel("c8.mi_", "<after_c8>", "<over_myst2>", prefix);
 	_levels["c8.mi_"]->intros.push_back("cine/utns001s.smk");
-	loadArcadeLevel("c8h.mi_", "<after_c8>", prefix);
-	_levels["c8h.mi_"]->levelIfLose = "<over_myst2>";
+
+	loadArcadeLevel("c8h.mi_", "<after_c8>", "<over_myst2>", prefix);
 	_levels["c8h.mi_"]->intros.push_back("cine/utns001s.smk");
 
 	Transition *after_c8 = new Transition("c10");
 	after_c8->intros.push_back("spider/cine/utns002s.smk");
 	_levels["<after_c8>"] = after_c8;
 
-	loadArcadeLevel("c9.mi_", "<after_c9>", prefix);
-	_levels["c9.mi_"]->levelIfLose = "<over_vul2>";
+	loadArcadeLevel("c9.mi_", "<after_c9>", "<over_vul2>", prefix);
 	_levels["c9.mi_"]->intros.push_back("cine/vrfs005s.smk");
-	loadArcadeLevel("c9h.mi_", "<after_c9>", prefix);
-	_levels["c9h.mi_"]->levelIfLose = "<over_vul2>";
+
+	loadArcadeLevel("c9h.mi_", "<after_c9>", "<over_vul2>", prefix);
 	_levels["c9h.mi_"]->intros.push_back("cine/vrfs005s.smk");
 
 	Transition *after_c9 = new Transition("c10");
 	after_c9->intros.push_back("spider/cine/vrfs006s.smk");
 	_levels["<after_c9>"] = after_c9;
 
-	loadArcadeLevel("c10.mi_", "<after_c10>", prefix);
-	_levels["c10.mi_"]->levelIfLose = "<over_cam>";
+	loadArcadeLevel("c10.mi_", "<after_c10>", "<over_cam>", prefix);
 	_levels["c10.mi_"]->intros.push_back("cine/utns003s.smk");
-	loadArcadeLevel("c10h.mi_", "<after_c10>", prefix);
-	_levels["c10h.mi_"]->levelIfLose = "<over_cam>";
+
+	loadArcadeLevel("c10h.mi_", "<after_c10>", "<over_cam>", prefix);
 	_levels["c10h.mi_"]->intros.push_back("cine/utns003s.smk");
 
 	Transition *after_c10 = new Transition("docoffic.mi_");
@@ -785,21 +757,18 @@ void SpiderEngine::loadAssetsFullGame() {
 	sc->hots[4].actions.push_back(gl);
 
 	// Octopus fight without Mason
-	loadArcadeLevel("c11.mi_", "<chip_dies_with_shocker>", prefix);
-	_levels["c11.mi_"]->levelIfLose = "<over_octo2>";
+	loadArcadeLevel("c11.mi_", "<chip_dies_with_shocker>", "<over_octo2>", prefix);
 	_levels["c11s.mi_"] = _levels["c11.mi_"];
-	loadArcadeLevel("c11h.mi_", "<chip_dies_with_shocker>", prefix);
-	_levels["c11h.mi_"]->levelIfLose = "<over_octo2>";
+
+	loadArcadeLevel("c11h.mi_", "<chip_dies_with_shocker>", "<over_octo2>", prefix);
 	_levels["c11sh.mi_"] = _levels["c11h.mi_"];
 
-	loadArcadeLevel("c12.mi_", "<chip_lives_with_shocker>", prefix);
-	_levels["c12.mi_"]->levelIfLose = "<over_vr>";
+	loadArcadeLevel("c12.mi_", "<chip_lives_with_shocker>", "<over_vr>", prefix);
 	_levels["c12.mi_"]->intros.push_back("cine/vrwd001s.smk");
 	_levels["c12.mi_"]->intros.push_back("cine/cybs001s.smk");
 	_levels["c12s.mi_"] = _levels["c12.mi_"];
 
-	loadArcadeLevel("c12h.mi_", "<chip_lives_with_shocker>", prefix);
-	_levels["c12h.mi_"]->levelIfLose = "<over_vr>";
+	loadArcadeLevel("c12h.mi_", "<chip_lives_with_shocker>", "<over_vr>", prefix);
 	_levels["c12h.mi_"]->intros.push_back("cine/vrwd001s.smk");
 	_levels["c12h.mi_"]->intros.push_back("cine/cybs001s.smk");
 
@@ -839,20 +808,16 @@ void SpiderEngine::loadAssetsFullGame() {
 
 	// No c7/c7h level?
 	// Octopus fight with Mason
-	loadArcadeLevel("c11.mi_", "<chip_dies_with_mason>", prefix);
-	_levels["c11.mi_"]->levelIfLose = "<over_octo>";
+	loadArcadeLevel("c11.mi_", "<chip_dies_with_mason>", "<over_octo>", prefix);
 	_levels["c11m.mi_"] = _levels["c11.mi_"];
-	loadArcadeLevel("c11h.mi_", "<chip_dies_with_mason>", prefix);
-	_levels["c11h.mi_"]->levelIfLose = "<over_octo>";
+	loadArcadeLevel("c11h.mi_", "<chip_dies_with_mason>", "<over_octo>", prefix);
 	_levels["c11mh.mi_"] = _levels["c11h.mi_"];
 
-	loadArcadeLevel("c12.mi_", "<chip_lives_with_mason>", prefix);
-	_levels["c12.mi_"]->levelIfLose = "<over_vr>";
+	loadArcadeLevel("c12.mi_", "<chip_lives_with_mason>", "<over_vr>", prefix);
 	_levels["c12.mi_"]->intros.push_back("cine/cybs001s.smk");
 	_levels["c12m.mi_"] = _levels["c12.mi_"];
 
-	loadArcadeLevel("c12h.mi_", "<chip_lives_with_mason>", prefix);
-	_levels["c12h.mi_"]->levelIfLose = "<over_vr>";
+	loadArcadeLevel("c12h.mi_", "<chip_lives_with_mason>", "<over_vr>", prefix);
 	_levels["c12h.mi_"]->intros.push_back("cine/cybs001s.smk");
 	_levels["c12mh.mi_"] = _levels["c12h.mi_"];
 
@@ -985,8 +950,7 @@ void SpiderEngine::loadAssetsDemo() {
 	start->intros.push_back("demo/dcine2.smk");
 	_levels["<start>"] = start;
 
-	loadArcadeLevel("c1.mi_", "sixdemo/mis/demo.mis", prefix);
-	_levels["c1.mi_"]->levelIfLose = "sixdemo/mis/demo.mis";
+	loadArcadeLevel("c1.mi_", "sixdemo/mis/demo.mis", "sixdemo/mis/demo.mis", prefix);
 
 	loadLib("", "sixdemo/c_misc/fonts.lib", true);
 	loadFonts();
diff --git a/engines/hypno/wet/wet.cpp b/engines/hypno/wet/wet.cpp
index 48a26c74623..3a691841d3f 100644
--- a/engines/hypno/wet/wet.cpp
+++ b/engines/hypno/wet/wet.cpp
@@ -152,15 +152,11 @@ void WetEngine::loadAssetsDemoDisc() {
 	_levels["<movies>"] = movies;
 
 	if (_language == Common::EN_USA) {
-		loadArcadeLevel("c31.mi_", "c52", "wetlands");
-		_levels["c31.mi_"]->levelIfLose = "c52";
-		loadArcadeLevel("c52.mi_", "<gameover>", "wetlands");
-		_levels["c52.mi_"]->levelIfLose = "<gameover>";
+		loadArcadeLevel("c31.mi_", "c52", "c52", "wetlands");
+		loadArcadeLevel("c52.mi_", "<game_over>", "<quit>", "wetlands");
 	} else if (_language == Common::HE_ISR) {
-		loadArcadeLevel("c31.mis", "c52.mis", "wetlands");
-		_levels["c31.mis"]->levelIfLose = "c52.mis";
-		loadArcadeLevel("c52.mis", "<gameover>", "wetlands");
-		_levels["c52.mis"]->levelIfLose = "<gameover>";
+		loadArcadeLevel("c31.mis", "c52.mis", "c52.mis", "wetlands");
+		loadArcadeLevel("c52.mis", "<game_over>", "<quit>", "wetlands");
 	} else {
 		error("Unsupported language");
 	}
@@ -188,11 +184,10 @@ void WetEngine::loadAssetsPCW() {
 	intro->intros.push_back("c_misc/wet.smk");
 	_levels["<start>"] = intro;
 
-	loadArcadeLevel("c11.mis", "<gameover>", "");
-	_levels["c11.mis"]->levelIfLose = "<gameover>";
+	loadArcadeLevel("c11.mis", "<quit>", "<check_lives>", "");
 
 	Transition *over = new Transition("<quit>");
-	_levels["<gameover>"] = over;
+	_levels["<game_over>"] = over;
 
 	loadLib("", "c_misc/sound.lib", false);
 	loadLib("", "c_misc/fonts.lib", true);
@@ -215,8 +210,7 @@ void WetEngine::loadAssetsPCG() {
 	intro->frameNumber = 0;
 	_levels["<start>"] = intro;
 
-	loadArcadeLevel("c31.mis", "<gameover>", "");
-	_levels["c31.mis"]->levelIfLose = "<gameover>";
+	loadArcadeLevel("c31.mis", "<quit>", "<check_lives>", "");
 
 	Transition *over = new Transition("<quit>");
 	over->intros.push_back("g.s");
@@ -260,42 +254,38 @@ void WetEngine::loadAssetsFullGame() {
 	check_lives->name = "<check_lives>";
 	_levels["<check_lives>"] = check_lives;
 
-	loadArcadeLevel("c110.mi_", "c10", "");
-	_levels["c110.mi_"]->levelIfLose = "<check_lives>";
-
-	loadArcadeLevel("c111.mi_", "c10", "");
-	_levels["c111.mi_"]->levelIfLose = "<check_lives>";
+	loadArcadeLevel("c110.mi_", "c10", "<check_lives>", "");
+	loadArcadeLevel("c111.mi_", "c10", "<check_lives>", "");
+	loadArcadeLevel("c112.mi_", "c10", "<check_lives>", "");
 
-	loadArcadeLevel("c112.mi_", "c10", "");
-	_levels["c112.mi_"]->levelIfLose = "<check_lives>";
 
-	loadArcadeLevel("c100.mi_", "c21", "");
-	loadArcadeLevel("c101.mi_", "c21", "");
-	loadArcadeLevel("c102.mi_", "c21", "");
+	loadArcadeLevel("c100.mi_", "c21", "<check_lives>", "");
+	loadArcadeLevel("c101.mi_", "c21", "<check_lives>", "");
+	loadArcadeLevel("c102.mi_", "c21", "<check_lives>", "");
 
-	loadArcadeLevel("c210.mi_", "c22", "");
-	loadArcadeLevel("c211.mi_", "c22", "");
-	loadArcadeLevel("c212.mi_", "c22", "");
+	loadArcadeLevel("c210.mi_", "c22", "<check_lives>", "");
+	loadArcadeLevel("c211.mi_", "c22", "<check_lives>", "");
+	loadArcadeLevel("c212.mi_", "c22", "<check_lives>", "");
 
-	loadArcadeLevel("c220.mi_", "c23", "");
-	loadArcadeLevel("c221.mi_", "c23", "");
-	loadArcadeLevel("c222.mi_", "c23", "");
+	loadArcadeLevel("c220.mi_", "c23", "<check_lives>", "");
+	loadArcadeLevel("c221.mi_", "c23", "<check_lives>", "");
+	loadArcadeLevel("c222.mi_", "c23", "<check_lives>", "");
 
-	loadArcadeLevel("c230.mi_", "c20", "");
-	loadArcadeLevel("c231.mi_", "c20", "");
-	loadArcadeLevel("c232.mi_", "c20", "");
+	loadArcadeLevel("c230.mi_", "c20", "<check_lives>", "");
+	loadArcadeLevel("c231.mi_", "c20", "<check_lives>", "");
+	loadArcadeLevel("c232.mi_", "c20", "<check_lives>", "");
 
-	loadArcadeLevel("c200.mi_", "c31", "");
-	loadArcadeLevel("c201.mi_", "c31", "");
-	loadArcadeLevel("c202.mi_", "c31", "");
+	loadArcadeLevel("c200.mi_", "c31", "<check_lives>", "");
+	loadArcadeLevel("c201.mi_", "c31", "<check_lives>", "");
+	loadArcadeLevel("c202.mi_", "c31", "<check_lives>", "");
 
-	loadArcadeLevel("c310.mi_", "c32", "");
-	loadArcadeLevel("c311.mi_", "c32", "");
-	loadArcadeLevel("c312.mi_", "c32", "");
+	loadArcadeLevel("c310.mi_", "c32", "<check_lives>", "");
+	loadArcadeLevel("c311.mi_", "c32", "<check_lives>", "");
+	loadArcadeLevel("c312.mi_", "c32", "<check_lives>", "");
 
-	loadArcadeLevel("c320.mi_", "c41", "");
-	loadArcadeLevel("c321.mi_", "c41", "");
-	loadArcadeLevel("c322.mi_", "c41", "");
+	loadArcadeLevel("c320.mi_", "c41", "<check_lives>", "");
+	loadArcadeLevel("c321.mi_", "c41", "<check_lives>", "");
+	loadArcadeLevel("c322.mi_", "c41", "<check_lives>", "");
 
 	//loadArcadeLevel("c330.mi_", "???", "");
 	//loadArcadeLevel("c331.mi_", "???", "");
@@ -305,41 +295,41 @@ void WetEngine::loadAssetsFullGame() {
 	//loadArcadeLevel("c301.mi_", "???", "");
 	//loadArcadeLevel("c302.mi_", "???", "");
 
-	loadArcadeLevel("c410.mi_", "c42", "");
-	loadArcadeLevel("c411.mi_", "c42", "");
-	loadArcadeLevel("c412.mi_", "c42", "");
+	loadArcadeLevel("c410.mi_", "c42", "<check_lives>", "");
+	loadArcadeLevel("c411.mi_", "c42", "<check_lives>", "");
+	loadArcadeLevel("c412.mi_", "c42", "<check_lives>", "");
 
-	loadArcadeLevel("c420.mi_", "c43", "");
-	loadArcadeLevel("c421.mi_", "c43", "");
-	loadArcadeLevel("c422.mi_", "c43", "");
+	loadArcadeLevel("c420.mi_", "c43", "<check_lives>", "");
+	loadArcadeLevel("c421.mi_", "c43", "<check_lives>", "");
+	loadArcadeLevel("c422.mi_", "c43", "<check_lives>", "");
 
-	loadArcadeLevel("c430.mi_", "c44", "");
-	loadArcadeLevel("c431.mi_", "c44", "");
-	loadArcadeLevel("c432.mi_", "c44", "");
+	loadArcadeLevel("c430.mi_", "c44", "<check_lives>", "");
+	loadArcadeLevel("c431.mi_", "c44", "<check_lives>", "");
+	loadArcadeLevel("c432.mi_", "c44", "<check_lives>", "");
 
-	loadArcadeLevel("c440.mi_", "c51", "");
-	loadArcadeLevel("c441.mi_", "c51", "");
-	loadArcadeLevel("c442.mi_", "c51", "");
+	loadArcadeLevel("c440.mi_", "c51", "<check_lives>", "");
+	loadArcadeLevel("c441.mi_", "c51", "<check_lives>", "");
+	loadArcadeLevel("c442.mi_", "c51", "<check_lives>", "");
 
 	//loadArcadeLevel("c400.mi_", "???", "");
 	//loadArcadeLevel("c401.mi_", "???", "");
 	//loadArcadeLevel("c402.mi_", "???", "");
 
-	loadArcadeLevel("c510.mi_", "c52", "");
-	loadArcadeLevel("c511.mi_", "c52", "");
-	loadArcadeLevel("c512.mi_", "c52", "");
+	loadArcadeLevel("c510.mi_", "c52", "<check_lives>", "");
+	loadArcadeLevel("c511.mi_", "c52", "<check_lives>", "");
+	loadArcadeLevel("c512.mi_", "c52", "<check_lives>", "");
 
-	loadArcadeLevel("c520.mi_", "c61", "");
-	loadArcadeLevel("c521.mi_", "c61", "");
-	loadArcadeLevel("c522.mi_", "c61", "");
+	loadArcadeLevel("c520.mi_", "c61", "<check_lives>", "");
+	loadArcadeLevel("c521.mi_", "c61", "<check_lives>", "");
+	loadArcadeLevel("c522.mi_", "c61", "<check_lives>", "");
 
 	//loadArcadeLevel("c500.mi_", "???", "");
 	//loadArcadeLevel("c501.mi_", "???", "");
 	//loadArcadeLevel("c502.mi_", "???", "");
 
-	loadArcadeLevel("c610.mi_", "<quit>", "");
-	loadArcadeLevel("c611.mi_", "<quit>", "");
-	loadArcadeLevel("c612.mi_", "<quit>", "");
+	loadArcadeLevel("c610.mi_", "<quit>", "<check_lives>", "");
+	loadArcadeLevel("c611.mi_", "<quit>", "<check_lives>", "");
+	loadArcadeLevel("c612.mi_", "<quit>", "<check_lives>", "");
 
 	//loadArcadeLevel("c600.mi_", "???", "");
 	//loadArcadeLevel("c601.mi_", "???", "");


Commit: fd0908d061f52c8ae3ce8d67500e7d4ff729ab7b
    https://github.com/scummvm/scummvm/commit/fd0908d061f52c8ae3ce8d67500e7d4ff729ab7b
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-02-06T18:40:33+01:00

Commit Message:
HYPNO: fix incorrect level name in spider

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


diff --git a/engines/hypno/spider/spider.cpp b/engines/hypno/spider/spider.cpp
index 00fd801ba4e..f57f4ab664a 100644
--- a/engines/hypno/spider/spider.cpp
+++ b/engines/hypno/spider/spider.cpp
@@ -843,7 +843,7 @@ void SpiderEngine::loadAssetsFullGame() {
 
 	Transition *over_octo1 = new Transition("tryagain.mi_");
 	over_octo1->intros.push_back("spider/cine/doos001a.smk");
-	_levels["<over_octo>"] = over_octo1;
+	_levels["<over_octo1>"] = over_octo1;
 
 	Transition *over_hob_vul = new Transition("tryagain.mi_");
 	over_hob_vul->intros.push_back("spider/cine/dals001a.smk");




More information about the Scummvm-git-logs mailing list