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

neuromancer noreply at scummvm.org
Mon Jan 17 09:00:34 UTC 2022


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:
b7c06ee881 HYPNO: fixes in puzzles and menu in spider


Commit: b7c06ee881280b0f447ce31ba8d9f6fe8386a474
    https://github.com/scummvm/scummvm/commit/b7c06ee881280b0f447ce31ba8d9f6fe8386a474
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-01-17T09:58:49+01:00

Commit Message:
HYPNO: fixes in puzzles and menu in spider

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


diff --git a/engines/hypno/actions.cpp b/engines/hypno/actions.cpp
index f740e132120..88b2955512c 100644
--- a/engines/hypno/actions.cpp
+++ b/engines/hypno/actions.cpp
@@ -71,13 +71,12 @@ void HypnoEngine::runMenu(Hotspots hs) {
 	if (_conversation.empty()) {
 		if (h.flags[0] == "HINTS" || h.flags[1] == "HINTS" || h.flags[2] == "HINTS")
 			loadImage("int_main/hint1.smk", 0, 0, true);
-		else if (h.flags[0] == "AUTO_BUTTONS") {
+		else if (h.flags[0] == "AUTO_BUTTONS" || h.flags[0] == "SINGLE_RUN") {
 			if (isDemo())
 				loadImage("int_main/resume.smk", 0, 0, true, false, 0);
 			else
 				loadImage("int_main/menu.smk", 0, 0, true, false, 0);
 		}
-
 	}
 }
 
diff --git a/engines/hypno/spider/hard.cpp b/engines/hypno/spider/hard.cpp
index 60cb7c4464f..c099f7d9ab1 100644
--- a/engines/hypno/spider/hard.cpp
+++ b/engines/hypno/spider/hard.cpp
@@ -174,7 +174,7 @@ void SpiderEngine::addIngredient(Code *code) {
 void SpiderEngine::checkMixture(Code *code) {
 	_nextLevel = "bushard2.mi_";
 	if (ingredients[0]) {
-		MVideo video("spider/cine/blcs005s.smk", Common::Point(0, 0), false, true, false);
+		MVideo video("cine/blcs005s.smk", Common::Point(0, 0), false, true, false);
 		runIntro(video);
 		memset(ingredients, 0, 7);
 		return;
@@ -191,7 +191,7 @@ void SpiderEngine::checkMixture(Code *code) {
 
 	for (int i = 1; i < 7; i++) {
 		if (!ingredients[i]) {
-			MVideo video("spider/cine/blcs005s.smk", Common::Point(0, 0), false, true, false);
+			MVideo video("cine/blcs005s.smk", Common::Point(0, 0), false, true, false);
 			runIntro(video);
 			memset(ingredients, 0, 7);
 			return;
@@ -558,20 +558,20 @@ void SpiderEngine::runFileCabinet(Code *code) {
 	sel[4] = Common::Rect(453, 176, 526, 301);
 	sel[5] = Common::Rect(545, 176, 618, 301);
 
-	Common::String intro = "spider/cine/spv040s.smk"; 
+	Common::String intro = "cine/spv040s.smk"; 
 	if (!_intros.contains(intro)) {
 		MVideo v(intro, Common::Point(0, 0), false, false, false);
 		runIntro(v);
 		_intros[intro] = true;
 	}
 
-	Frames nums = decodeFrames("spider/int_alof/combo.smk");
+	Frames nums = decodeFrames("int_alof/combo.smk");
 	if (nums.size() != 10)
 		error("Invalid number of digits: %d", nums.size());
 
 	defaultCursor();
 	Common::Rect back(0, 446, 640, 480);
-	loadImage("spider/int_alof/combobg.smk", 0, 0, false, true);
+	loadImage("int_alof/combobg.smk", 0, 0, false, true);
 	for (int i = 0; i < 6; i++) {
 		drawImage(*nums[comb[i]], sel[i].left, sel[i].top, true);
 	}
@@ -589,8 +589,9 @@ void SpiderEngine::runFileCabinet(Code *code) {
 
 			case Common::EVENT_LBUTTONDOWN:
 				if (back.contains(mousePos)) {
-					if (comb[0] == 3 && comb[1] == 2 && comb[2] == 5 && comb[3] == 7 && comb[4] == 0 && comb[5] == 1) {
-						MVideo v("spider/cine/file0000.smk", Common::Point(0, 0), false, false, false);
+					if ((_sceneState["GS_PUZZLELEVEL"] == 0 && comb[0] == 3 && comb[1] == 2 && comb[2] == 5 && comb[3] == 7 && comb[4] == 0 && comb[5] == 1) \
+					||  (_sceneState["GS_PUZZLELEVEL"] == 1 && comb[0] == 2 && comb[1] == 2 && comb[2] == 5 && comb[3] == 7 && comb[4] == 1 && comb[5] == 6)) {
+						MVideo v("cine/file0000.smk", Common::Point(0, 0), false, false, false);
 						runIntro(v);
 						_sceneState["GS_SWITCH0"] = 1;
 					}
@@ -604,7 +605,7 @@ void SpiderEngine::runFileCabinet(Code *code) {
 						comb[i] = (comb[i] + 1) % 10;
 				}
 
-				loadImage("spider/int_alof/combobg.smk", 0, 0, false, true);
+				loadImage("int_alof/combobg.smk", 0, 0, false, true);
 				for (int i = 0; i < 6; i++) {
 					drawImage(*nums[comb[i]], sel[i].left, sel[i].top, true);
 				}
@@ -619,7 +620,7 @@ void SpiderEngine::runFileCabinet(Code *code) {
 							comb[i] = comb[i] - 1;
 					}
 
-				loadImage("spider/int_alof/combobg.smk", 0, 0, false, true);
+				loadImage("int_alof/combobg.smk", 0, 0, false, true);
 				for (int i = 0; i < 6; i++) {
 					drawImage(*nums[comb[i]], sel[i].left, sel[i].top, true);
 				}
@@ -685,7 +686,7 @@ void SpiderEngine::runLock(Code *code) {
 				if (act.contains(mousePos)) {
 					if (_sceneState["GS_PUZZLELEVEL"] == 0 && comb[0] == 4 && comb[1] == 0 && comb[2] == 3 && comb[3] == 1 && comb[4] == 2) {
 						_nextLevel = code->levelIfWin;
-					} else if (_sceneState["GS_PUZZLELEVEL"] == 1 && comb[0] == 1 && comb[1] == 1 && comb[2] == 1 && comb[3] == 1 && comb[4] == 1) {
+					} else if (_sceneState["GS_PUZZLELEVEL"] == 1 && comb[0] == 1 && comb[1] == 3 && comb[2] == 4 && comb[3] == 2 && comb[4] == 0) {
 					 	_nextLevel = code->levelIfWin;
 					}
 				}
diff --git a/engines/hypno/spider/spider.cpp b/engines/hypno/spider/spider.cpp
index 0d033df4034..e5255f8b1be 100644
--- a/engines/hypno/spider/spider.cpp
+++ b/engines/hypno/spider/spider.cpp
@@ -264,7 +264,7 @@ void SpiderEngine::loadAssetsFullGame() {
 
 	// Transitions
 	Transition *after_bank = new Transition("<trans_apt_2>");
-	after_bank->intros.push_back("spider/cine/blcs003.smk");
+	after_bank->intros.push_back("spider/cine/bals003s.smk");
 	_levels["<after_bank>"] = after_bank;
 
 	Transition *trans_apt_1 = new Transition("busint.mi_");
@@ -482,6 +482,14 @@ void SpiderEngine::loadAssetsFullGame() {
 	_levels["<file_cabinet>"] = file_cabinet;
 
 	loadSceneLevel("alverofh.mi_", "", prefix);
+	sc = (Scene *) _levels["alverofh.mi_"];
+
+	cl = new ChangeLevel("<tape>");
+	sc->hots[2].actions.push_back(cl);
+
+	cl = new ChangeLevel("<file_cabinet>");
+	sc->hots[3].actions.push_back(cl);
+
 	loadSceneLevel("alveroff.mi_", "", prefix);
 	sc = (Scene *) _levels["alveroff.mi_"];
 




More information about the Scummvm-git-logs mailing list