[Scummvm-git-logs] scummvm master -> 2a4828956e9a85565d2e5bf17670d645ea8f62dd

neuromancer noreply at scummvm.org
Thu Jun 16 07:50:11 UTC 2022


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

Summary:
8360e708ca HYPNO: use the correct video when the alarm is activated in boyz
2a6a5f3750 HYPNO: fix crash when getting certain territory numbers in boyz
c27b3e13d8 HYPNO: avoid zero division and added some missing videos in boyz
b338306f80 HYPNO: show c5 map in boyz
2a4828956e HYPNO: added missing videos accesible from c5 in boyz


Commit: 8360e708ca7bcc72a07cc0ab01b9c3fcdd1b8524
    https://github.com/scummvm/scummvm/commit/8360e708ca7bcc72a07cc0ab01b9c3fcdd1b8524
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-06-16T09:50:40+02:00

Commit Message:
HYPNO: use the correct video when the alarm is activated in boyz

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


diff --git a/engines/hypno/boyz/arcade.cpp b/engines/hypno/boyz/arcade.cpp
index 73b3fd9803f..6734dfd139b 100644
--- a/engines/hypno/boyz/arcade.cpp
+++ b/engines/hypno/boyz/arcade.cpp
@@ -724,9 +724,21 @@ void BoyzEngine::missedTarget(Shoot *s, ArcadeShooting *arc) {
 		if (s->missedAnimation != uint32(-1) && uint32(_background->decoder->getCurFrame()) > s->missedAnimation)
 			return;
 		_background->decoder->pauseVideo(true);
-		MVideo video(_warningAlarmVideos.front(), Common::Point(0, 0), false, true, false);
+		int territory = getTerritory(_currentLevel);
+		Filename path;
+		if (territory <= 2)
+			path = "misc/alrm_brs.smk";
+		else if (territory <= 4)
+			path = "misc/alrm_mbs.smk";
+		else
+			path = "misc/alrm_c5.smk";
+
 		disableCursor();
-		runIntro(video);
+		MVideo alarmVideo(path, Common::Point(0, 0), false, true, false);
+		runIntro(alarmVideo);
+
+		MVideo warningVideo(_warningAlarmVideos.front(), Common::Point(0, 0), false, true, false);
+		runIntro(warningVideo);
 		_health = 0;
 		return;
 	} else if (s->direction > 0) {


Commit: 2a6a5f375002821afcacfdbcd40934ceb2a8218e
    https://github.com/scummvm/scummvm/commit/2a6a5f375002821afcacfdbcd40934ceb2a8218e
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-06-16T09:50:40+02:00

Commit Message:
HYPNO: fix crash when getting certain territory numbers in boyz

Changed paths:
    engines/hypno/boyz/hard.cpp


diff --git a/engines/hypno/boyz/hard.cpp b/engines/hypno/boyz/hard.cpp
index dc598d81434..1371d0ee288 100644
--- a/engines/hypno/boyz/hard.cpp
+++ b/engines/hypno/boyz/hard.cpp
@@ -354,6 +354,8 @@ int BoyzEngine::getTerritory(const Common::String &level) {
 		return 2;
 	else if (Common::matchString(level.c_str(), "c3#.mi_"))
 		return 3;
+	else if (Common::matchString(level.c_str(), "c3##.mi_"))
+		return 3;
 	else if (Common::matchString(level.c_str(), "c4#.mi_"))
 		return 4;
 	else if (Common::matchString(level.c_str(), "c5#.mi_"))
@@ -369,6 +371,8 @@ Common::String BoyzEngine::firstLevelTerritory(const Common::String &level) {
 		return "c21.mi_";
 	else if (Common::matchString(level.c_str(), "c3#.mi_"))
 		return "c31.mi_";
+	else if (Common::matchString(level.c_str(), "c3##.mi_"))
+		return "c31.mi_";
 	else if (Common::matchString(level.c_str(), "c4#.mi_"))
 		return "c41.mi_";
 	else if (Common::matchString(level.c_str(), "c5#.mi_"))
@@ -384,6 +388,8 @@ Common::String BoyzEngine::lastLevelTerritory(const Common::String &level) {
 		return "c22.mi_";
 	else if (Common::matchString(level.c_str(), "c3#.mi_"))
 		return "c38.mi_";
+	else if (Common::matchString(level.c_str(), "c3##.mi_"))
+		return "c38.mi_";
 	else if (Common::matchString(level.c_str(), "c4#.mi_"))
 		return "c42.mi_";
 	else if (Common::matchString(level.c_str(), "c5#.mi_"))


Commit: c27b3e13d8f1295a34b96d2620be3af516253fa3
    https://github.com/scummvm/scummvm/commit/c27b3e13d8f1295a34b96d2620be3af516253fa3
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-06-16T09:50:40+02:00

Commit Message:
HYPNO: avoid zero division and added some missing videos in boyz

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


diff --git a/engines/hypno/boyz/arcade.cpp b/engines/hypno/boyz/arcade.cpp
index 6734dfd139b..4199d51b414 100644
--- a/engines/hypno/boyz/arcade.cpp
+++ b/engines/hypno/boyz/arcade.cpp
@@ -110,6 +110,12 @@ void BoyzEngine::runAfterArcade(ArcadeShooting *arc) {
 			}
 		}
 		return;
+	} else {
+		if (_levelId == 42) {
+			disableCursor();
+			MVideo video("c4/c4bro8s.smk", Common::Point(0, 0), false, true, false);
+			runIntro(video);
+		}
 	}
 
 	if (_currentLevel == lastLevelTerritory(_currentLevel)) {
@@ -120,9 +126,10 @@ void BoyzEngine::runAfterArcade(ArcadeShooting *arc) {
 		drawImage(*stats, 0, 0, true);
 		stats->free();
 		delete stats;
-		uint32 enemyAvailable = _stats.targetsDestroyed + _stats.targetsMissed;
-		drawString("scifi08.fgx", Common::String::format("%d", enemyAvailable), 240, 40, 0, kHypnoColorWhiteOrBlue);
-		drawString("scifi08.fgx", Common::String::format("%d%%", 100 * _stats.targetsDestroyed / enemyAvailable), 240, 54, 0, kHypnoColorWhiteOrBlue);
+		uint32 enemiesAvailable = _stats.targetsDestroyed + _stats.targetsMissed;
+		drawString("scifi08.fgx", Common::String::format("%d", enemiesAvailable), 240, 40, 0, kHypnoColorWhiteOrBlue);
+		uint32 killRatio = enemiesAvailable > 0 ? 100 * _stats.targetsDestroyed / enemiesAvailable : 0;
+		drawString("scifi08.fgx", Common::String::format("%d%%", killRatio), 240, 54, 0, kHypnoColorWhiteOrBlue);
 		drawString("scifi08.fgx", Common::String::format("%d", _stats.shootsFired), 240, 77, 0, kHypnoColorWhiteOrBlue);
 		drawString("scifi08.fgx", Common::String::format("%d%%", accuracyRatio()), 240, 92, 0, kHypnoColorWhiteOrBlue);
 		drawString("scifi08.fgx", Common::String::format("%d", -uint32(-1) - _lives), 240, 117, 0, kHypnoColorWhiteOrBlue);
diff --git a/engines/hypno/boyz/boyz.cpp b/engines/hypno/boyz/boyz.cpp
index bf55f42ed88..5931c3cc51a 100644
--- a/engines/hypno/boyz/boyz.cpp
+++ b/engines/hypno/boyz/boyz.cpp
@@ -262,10 +262,16 @@ void BoyzEngine::loadAssets() {
 
 	loadArcadeLevel("c41.mi_", "c42.mi_", "<retry_menu>", "");
 	loadArcadeLevel("c42.mi_", "<territory_5>", "<retry_menu>", "");
+	ar = (ArcadeShooting *) _levels["c42.mi_"];
+	// We remove the last element, which plays c4/c4bro8s.smk
+	// This transition is too close to the end of the level
+	// and will likely not be executed
+	ar->transitions.pop_back();
 
 	Transition *territory_5 = new Transition("<check_c5>");
 	territory_5->intros.push_back("warnings/w16s.smk");
 	territory_5->intros.push_back("c5/c5t01.smk");
+	territory_5->intros.push_back("c5/c5intras.smk");
 	_levels["<territory_5>"] = territory_5;
 
 	loadArcadeLevel("c51.mi_", "<check_c5>", "<retry_menu>", "");


Commit: b338306f80fb23b3e00afd53bfaf4d55d9558b42
    https://github.com/scummvm/scummvm/commit/b338306f80fb23b3e00afd53bfaf4d55d9558b42
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-06-16T09:50:40+02:00

Commit Message:
HYPNO: show c5 map in boyz

Changed paths:
    engines/hypno/boyz/hard.cpp


diff --git a/engines/hypno/boyz/hard.cpp b/engines/hypno/boyz/hard.cpp
index 1371d0ee288..28ea11712fa 100644
--- a/engines/hypno/boyz/hard.cpp
+++ b/engines/hypno/boyz/hard.cpp
@@ -287,6 +287,17 @@ void BoyzEngine::runRetryMenu(Code *code) {
 }
 
 void BoyzEngine::runCheckC5(Code *code) {
+	if (_sceneState["GS_C5MAP"]) {
+		if (!_sceneState["GS_MINEMAP_VIEWED"]) {
+			MVideo video("c5/c5_maps.smk", Common::Point(0, 0), false, true, false);
+			disableCursor();
+			runIntro(video);
+			defaultCursor();
+			waitForUserClick(1);
+			_sceneState["GS_MINEMAP_VIEWED"] = true;
+		}
+	}
+
 	Common::String nextLevel;
 	if (_sceneState["GS_SEQ_51"] &&
 		_sceneState["GS_SEQ_52"] &&\


Commit: 2a4828956e9a85565d2e5bf17670d645ea8f62dd
    https://github.com/scummvm/scummvm/commit/2a4828956e9a85565d2e5bf17670d645ea8f62dd
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-06-16T09:50:40+02:00

Commit Message:
HYPNO: added missing videos accesible from c5 in boyz

Changed paths:
    engines/hypno/boyz/boyz.cpp
    engines/hypno/boyz/hard.cpp
    engines/hypno/hypno.h


diff --git a/engines/hypno/boyz/boyz.cpp b/engines/hypno/boyz/boyz.cpp
index 5931c3cc51a..49e46f630db 100644
--- a/engines/hypno/boyz/boyz.cpp
+++ b/engines/hypno/boyz/boyz.cpp
@@ -434,6 +434,9 @@ void BoyzEngine::loadAssets() {
 	sc = (Scene *) _levels["<select_c5>"];
 	sc->resolution = "320x200";
 
+	Code *alarm_c5 = new Code("<alarm_c5>");
+	_levels["<alarm_c5>"] = alarm_c5;
+
 	hl = new Highlight("GS_SEQ_51");
 	sc->hots[1].actions.push_back(hl);
 	gl = new Global("GS_SEQ_51", "NCHECK");
@@ -455,6 +458,24 @@ void BoyzEngine::loadAssets() {
 	cl = new ChangeLevel("c53.mi_");
 	sc->hots[3].actions.push_back(cl);
 
+	hl = new Highlight("GS_SWITCH7");
+	sc->hots[4].actions.push_back(hl);
+	gl = new Global("GS_SWITCH7", "NCHECK");
+	sc->hots[4].actions.push_back(gl);
+	gl = new Global("GS_SWITCH7", "TURNON");
+	sc->hots[4].actions.push_back(gl);
+	cl = new ChangeLevel("<alarm_c5>");
+	sc->hots[4].actions.push_back(cl);
+
+	hl = new Highlight("GS_SWITCH8");
+	sc->hots[5].actions.push_back(hl);
+	gl = new Global("GS_SWITCH8", "NCHECK");
+	sc->hots[5].actions.push_back(gl);
+	gl = new Global("GS_SWITCH8", "TURNON");
+	sc->hots[5].actions.push_back(gl);
+	cl = new ChangeLevel("<alarm_c5>");
+	sc->hots[5].actions.push_back(cl);
+
 	for (int t = 1; t <= 5; t++) {
 		Common::String fterrMis = Common::String::format(fterr, t);
 		Common::String fterrName = Common::String::format("<select_t%d>", t);
diff --git a/engines/hypno/boyz/hard.cpp b/engines/hypno/boyz/hard.cpp
index 28ea11712fa..1b18f9a5f03 100644
--- a/engines/hypno/boyz/hard.cpp
+++ b/engines/hypno/boyz/hard.cpp
@@ -42,6 +42,8 @@ void BoyzEngine::runCode(Code *code) {
 		runCheckHo(code);
 	else if (code->name == "<check_c5>")
 		runCheckC5(code);
+	else if (code->name == "<alarm_c5>")
+		runAlarmC5(code);
 	else if (code->name == "<credits>")
 		endCredits(code);
 	else
@@ -286,6 +288,19 @@ void BoyzEngine::runRetryMenu(Code *code) {
 	delete menu;
 }
 
+void BoyzEngine::runAlarmC5(Code *code) {
+	MVideo video1("misc/alrm_c5s.smk", Common::Point(0, 0), false, true, false);
+	disableCursor();
+	runIntro(video1);
+
+	MVideo video2("preload/deathn4s.smk", Common::Point(0, 0), false, true, false);
+	disableCursor();
+	runIntro(video2);
+
+	_nextLevel = "<check_c5>";
+}
+
+
 void BoyzEngine::runCheckC5(Code *code) {
 	if (_sceneState["GS_C5MAP"]) {
 		if (!_sceneState["GS_MINEMAP_VIEWED"]) {
diff --git a/engines/hypno/hypno.h b/engines/hypno/hypno.h
index b73e72b7339..3d82e0918c2 100644
--- a/engines/hypno/hypno.h
+++ b/engines/hypno/hypno.h
@@ -592,6 +592,7 @@ public:
 	void runCheckC3(Code *code);
 	void runCheckHo(Code *code);
 	void runCheckC5(Code *code);
+	void runAlarmC5(Code *code);
 	void runDifficultyMenu(Code *code);
 	void endCredits(Code *code);
 	int getTerritory(const Common::String &level);




More information about the Scummvm-git-logs mailing list