[Scummvm-git-logs] scummvm master -> 5c2102df932d8aa0255ba4f25f81d34f2ba02e1e

neuromancer noreply at scummvm.org
Sat Jun 4 21:59:56 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:
ad89bc4289 HYPNO: make sure all the doors targets are correctly handled in the last level of wet
d91f8e876b HYPNO: restore music after showing credits in wet
5c2102df93 HYPNO: added missing walkers in level c30 in wet


Commit: ad89bc42897978205cd47ce7eb9dbe90e88e22e4
    https://github.com/scummvm/scummvm/commit/ad89bc42897978205cd47ce7eb9dbe90e88e22e4
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-06-05T00:00:11+02:00

Commit Message:
HYPNO: make sure all the doors targets are correctly handled in the last level of wet

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


diff --git a/engines/hypno/wet/arcade.cpp b/engines/hypno/wet/arcade.cpp
index 62b3c601c72..19d725b42e8 100644
--- a/engines/hypno/wet/arcade.cpp
+++ b/engines/hypno/wet/arcade.cpp
@@ -810,7 +810,7 @@ void WetEngine::missedTarget(Shoot *s, ArcadeShooting *arc) {
 		_background->decoder->pauseVideo(false);
 		updateScreen(*_background);
 		drawScreen();
-	} else if (s->name == "DOOR1" || s->name == "DOOR2") {
+	} else if (s->name.hasPrefix("DOOR")) {
 		_health = 0;
 		_background->decoder->pauseVideo(true);
 		// In some levels, the hit boss video is used to store this ending


Commit: d91f8e876b328f76ce2c31267ece69170fbb69d5
    https://github.com/scummvm/scummvm/commit/d91f8e876b328f76ce2c31267ece69170fbb69d5
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-06-05T00:00:11+02:00

Commit Message:
HYPNO: restore music after showing credits in wet

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


diff --git a/engines/hypno/arcade.cpp b/engines/hypno/arcade.cpp
index cfe99d674b7..9835d77b43e 100644
--- a/engines/hypno/arcade.cpp
+++ b/engines/hypno/arcade.cpp
@@ -530,7 +530,8 @@ void HypnoEngine::runArcade(ArcadeShooting *arc) {
 
 		if (_music.empty() && !arc->music.empty()) {
 			_music = _soundPath + arc->music;
-			playSound(_music, 0, arc->musicRate); // music loop forever
+			_musicRate = arc->musicRate;
+			playSound(_music, 0, _musicRate); // music loop forever
 		}
 
 		if (needsUpdate) {
@@ -691,7 +692,7 @@ bool HypnoEngine::shoot(const Common::Point &mousePos, ArcadeShooting *arc, bool
 				updateScreen(*_background);
 				drawScreen();
 				if (!_music.empty())
-					playSound(_music, 0, arc->musicRate); // restore music
+					playSound(_music, 0, _musicRate); // restore music
 			} else if (_objIdx == 1 && !arc->hitBoss2Video.empty()) {
 				_background->decoder->pauseVideo(true);
 				MVideo video(arc->hitBoss2Video, Common::Point(0, 0), false, true, false);
@@ -703,7 +704,7 @@ bool HypnoEngine::shoot(const Common::Point &mousePos, ArcadeShooting *arc, bool
 				drawScreen();
 				drawCursorArcade(mousePos);
 				if (!_music.empty())
-					playSound(_music, 0, arc->musicRate); // restore music
+					playSound(_music, 0, _musicRate); // restore music
 			}
 			byte p[3] = {0x00, 0x00, 0x00}; // Always black?
 			assert(_shoots[i].paletteSize == 1 || _shoots[i].paletteSize == 0);
diff --git a/engines/hypno/hypno.cpp b/engines/hypno/hypno.cpp
index 864855b1361..90911a6c896 100644
--- a/engines/hypno/hypno.cpp
+++ b/engines/hypno/hypno.cpp
@@ -54,7 +54,7 @@ HypnoEngine::HypnoEngine(OSystem *syst, const ADGameDescription *gd)
 	  _playerFrameIdx(0), _playerFrameSep(0), _refreshConversation(false),
 	  _countdown(0), _timerStarted(false), _score(0), _lives(0),
 	  _defaultCursor(""), _defaultCursorIdx(0),  _skipDefeatVideo(false),
-	  _background(nullptr), _masks(nullptr),
+	  _background(nullptr), _masks(nullptr), _musicRate(0),
 	  _additionalVideo(nullptr), _ammo(0), _maxAmmo(0),
 	  _doNotStopSounds(false), _screenW(0), _screenH(0) { // Every games initializes its own resolution
 	_rnd = new Common::RandomSource("hypno");
diff --git a/engines/hypno/hypno.h b/engines/hypno/hypno.h
index 6a92586aabb..8d3e5afba8d 100644
--- a/engines/hypno/hypno.h
+++ b/engines/hypno/hypno.h
@@ -240,6 +240,7 @@ public:
 	// Sounds
 	Filename _soundPath;
 	Filename _music;
+	int _musicRate;
 	bool _doNotStopSounds;
 	void playSound(const Filename &filename, uint32 loops, uint32 sampleRate = 22050);
 	void stopSound();
diff --git a/engines/hypno/wet/arcade.cpp b/engines/hypno/wet/arcade.cpp
index 19d725b42e8..2e8f099c35e 100644
--- a/engines/hypno/wet/arcade.cpp
+++ b/engines/hypno/wet/arcade.cpp
@@ -357,7 +357,7 @@ bool WetEngine::checkTransition(ArcadeTransitions &transitions, ArcadeShooting *
 			drawScreen();
 			drawCursorArcade(g_system->getEventManager()->getMousePos());
 			if (!_music.empty())
-				playSound(_music, 0, arc->musicRate); // restore music
+				playSound(_music, 0, _musicRate); // restore music
 		} else
 			error ("Invalid transition at %d", ttime);
 
@@ -677,6 +677,8 @@ void WetEngine::pressedKey(const int keycode) {
 		_background->decoder->pauseVideo(false);
 		updateScreen(*_background);
 		drawScreen();
+		if (!_music.empty())
+			playSound(_music, 0, _musicRate); // restore music
 	} else if (keycode == Common::KEYCODE_s) { // Added for testing
 		if (_cheatsEnabled) {
 			_skipLevel = true;
@@ -842,7 +844,7 @@ void WetEngine::missNoTarget(ArcadeShooting *arc) {
 			updateScreen(*_background);
 			drawScreen();
 			if (!_music.empty())
-				playSound(_music, 0, arc->musicRate); // restore music
+				playSound(_music, 0, _musicRate); // restore music
 			break;
 		} else if (it->name == "SP_BOSS2" && !arc->missBoss2Video.empty()) {
 			_background->decoder->pauseVideo(true);
@@ -855,7 +857,7 @@ void WetEngine::missNoTarget(ArcadeShooting *arc) {
 			updateScreen(*_background);
 			drawScreen();
 			if (!_music.empty())
-				playSound(_music, 0, arc->musicRate); // restore music
+				playSound(_music, 0, _musicRate); // restore music
 			break;
 		}
 	}


Commit: 5c2102df932d8aa0255ba4f25f81d34f2ba02e1e
    https://github.com/scummvm/scummvm/commit/5c2102df932d8aa0255ba4f25f81d34f2ba02e1e
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-06-05T00:00:11+02:00

Commit Message:
HYPNO: added missing walkers in level c30 in wet

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


diff --git a/engines/hypno/wet/arcade.cpp b/engines/hypno/wet/arcade.cpp
index 2e8f099c35e..5fd110723d5 100644
--- a/engines/hypno/wet/arcade.cpp
+++ b/engines/hypno/wet/arcade.cpp
@@ -181,12 +181,25 @@ void WetEngine::findNextSegment(ArcadeShooting *arc) {
 		} else if (_segments[_segmentIdx].type == 0xcc) {
 			if (mousePos.x <= 160)
 				_segmentIdx = _segmentIdx + 1;
-			else
+			else {
 				_segmentIdx = _segmentIdx + 2;
+				if (_arcadeMode == "Y3") {
+					ShootInfo si;
+					si.name = "SP_WALKER_U";
+					si.timestamp = 25;
+					_shootSequence.push_back(si);
+				}
+			}
 		} else if (_segments[_segmentIdx].type == 'Y') {
-			if (mousePos.x <= 160)
+			if (mousePos.x <= 160) {
 				_segmentIdx = _segmentIdx + 2;
-			else
+				if (_arcadeMode == "Y3") {
+					ShootInfo si;
+					si.name = "SP_WALKER_D";
+					si.timestamp = 25;
+					_shootSequence.push_back(si);
+				}
+			} else
 				_segmentIdx = _segmentIdx + 1;
 
 		/*} else if (_segments[_segmentIdx].type == 'a') {




More information about the Scummvm-git-logs mailing list