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

Strangerke noreply at scummvm.org
Wed Jun 4 21:56:24 UTC 2025


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

Summary:
e6360384ef M4: RIDDLE: Change the type of the 'loop' parameter of midi_play, very all calls (and fix several)


Commit: e6360384efd4c874b7b92ed7667855a07ff62d0c
    https://github.com/scummvm/scummvm/commit/e6360384efd4c874b7b92ed7667855a07ff62d0c
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2025-06-04T22:55:24+01:00

Commit Message:
M4: RIDDLE: Change the type of the 'loop' parameter of midi_play, very all calls (and fix several)

Changed paths:
    engines/m4/console.cpp
    engines/m4/platform/sound/midi.cpp
    engines/m4/platform/sound/midi.h
    engines/m4/riddle/rooms/section2/room203.cpp
    engines/m4/riddle/rooms/section2/room204.cpp
    engines/m4/riddle/rooms/section2/room205.cpp
    engines/m4/riddle/rooms/section3/room303.cpp
    engines/m4/riddle/rooms/section3/room304.cpp
    engines/m4/riddle/rooms/section4/room402.cpp
    engines/m4/riddle/rooms/section4/room403.cpp
    engines/m4/riddle/rooms/section4/room407.cpp
    engines/m4/riddle/rooms/section4/room409.cpp
    engines/m4/riddle/rooms/section4/room410.cpp
    engines/m4/riddle/rooms/section5/room501.cpp
    engines/m4/riddle/rooms/section5/room504.cpp
    engines/m4/riddle/rooms/section6/room604.cpp
    engines/m4/riddle/rooms/section6/room605.cpp
    engines/m4/riddle/rooms/section6/room608.cpp
    engines/m4/riddle/rooms/section6/room610.cpp
    engines/m4/riddle/rooms/section6/room615.cpp
    engines/m4/riddle/rooms/section7/room710.cpp
    engines/m4/riddle/rooms/section8/room861.cpp


diff --git a/engines/m4/console.cpp b/engines/m4/console.cpp
index a2b91141cdb..d735972f64b 100644
--- a/engines/m4/console.cpp
+++ b/engines/m4/console.cpp
@@ -151,10 +151,10 @@ bool Console::cmdInterface(int argc, const char **argv) {
 bool Console::cmdMusic(int argc, const char **argv) {
 	if (argc != 2) {
 		debugPrintf("music <name>\n");
-		midi_play("ripthem1", 255, 0, -1, 999);
+		midi_play("ripthem1", 255, false, -1, 999);
 		return true;
 	} else {
-		midi_play(argv[1], 255, 0, -1, 999);
+		midi_play(argv[1], 255, false, -1, 999);
 		return false;
 	}
 }
diff --git a/engines/m4/platform/sound/midi.cpp b/engines/m4/platform/sound/midi.cpp
index 510a5b4d6c5..bf3d7d7ae31 100644
--- a/engines/m4/platform/sound/midi.cpp
+++ b/engines/m4/platform/sound/midi.cpp
@@ -43,18 +43,22 @@ Midi::Midi(Audio::Mixer *mixer) : _mixer(mixer) {
 	}
 }
 
-void Midi::midi_play(const char *name, int volume, int loop, int trigger, int roomNum) {
-	MemHandle workHandle;
-	int32 assetSize;
-
+void Midi::midi_play(const char *name, int volume, bool loop, int trigger, int roomNum) {
 	_midiEndTrigger = trigger;
 
 	// Load in the resource
 	Common::String fileName = expand_name_2_HMP(name, roomNum);
-	if ((workHandle = rget(fileName, &assetSize)) == nullptr)
+	int32 assetSize;
+	MemHandle workHandle = rget(fileName, &assetSize);
+	if (workHandle == nullptr)
 		error("Could not find music - %s", fileName.c_str());
 
 	HLock(workHandle);
+	Common::DumpFile dump;
+	dump.open(fileName.c_str());
+	dump.write(*workHandle, assetSize);
+	dump.close();
+	
 #ifdef TODO
 	byte *pSrc = (byte *)*workHandle;
 
@@ -100,7 +104,7 @@ int Midi::get_overall_volume() const {
 
 } // namespace Sound
 
-void midi_play(const char *name, int volume, int loop, int trigger, int roomNum) {
+void midi_play(const char *name, int volume, bool loop, int trigger, int roomNum) {
 	_G(midi).midi_play(name, volume, loop, trigger, roomNum);
 }
 
diff --git a/engines/m4/platform/sound/midi.h b/engines/m4/platform/sound/midi.h
index 413972ad10d..04f6ee93f09 100644
--- a/engines/m4/platform/sound/midi.h
+++ b/engines/m4/platform/sound/midi.h
@@ -36,7 +36,7 @@ private:
 public:
 	Midi(Audio::Mixer *mixer);
 
-	void midi_play(const char *name, int volume, int loop, int trigger, int roomNum);
+	void midi_play(const char *name, int volume, bool loop, int trigger, int roomNum);
 	void task();
 	void loop();
 	void set_overall_volume(int vol);
@@ -45,7 +45,7 @@ public:
 
 } // namespace Sound
 
-void midi_play(const char *name, int volume, int loop, int trigger, int roomNum);
+void midi_play(const char *name, int volume, bool loop, int trigger, int roomNum);
 void midi_loop();
 void midi_stop();
 void midi_set_overall_volume(int vol);
diff --git a/engines/m4/riddle/rooms/section2/room203.cpp b/engines/m4/riddle/rooms/section2/room203.cpp
index 81b5f70b361..548fb617785 100644
--- a/engines/m4/riddle/rooms/section2/room203.cpp
+++ b/engines/m4/riddle/rooms/section2/room203.cpp
@@ -605,7 +605,7 @@ void Room203::daemon() {
 		break;
 
 	case 66:
-		midi_play("HELMET", 255, 1, -1, 949);
+		midi_play("HELMET", 255, true, -1, 949);
 		break;
 
 	case 67:
diff --git a/engines/m4/riddle/rooms/section2/room204.cpp b/engines/m4/riddle/rooms/section2/room204.cpp
index 76b0a6f946f..87e61a03cec 100644
--- a/engines/m4/riddle/rooms/section2/room204.cpp
+++ b/engines/m4/riddle/rooms/section2/room204.cpp
@@ -2410,7 +2410,7 @@ void Room204::daemon() {
 	case 675:
 		player_set_commands_allowed(false);
 		digi_preload("950_s34", -1);
-		midi_play("RIPTHEM1", 180, 0, -1, 949);
+		midi_play("RIPTHEM1", 180, false, -1, 949);
 		_204pu99Series = series_load("204PU99", -1, nullptr);
 		_ripSketchingInNotebookPos2Series = series_load("RIP SKETCHING IN NOTEBOOK POS 2", -1, nullptr);
 		setGlobals1(_ripSketchingInNotebookPos2Series, 1, 17, 17, 17, 0, 18, 39, 39, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
diff --git a/engines/m4/riddle/rooms/section2/room205.cpp b/engines/m4/riddle/rooms/section2/room205.cpp
index 3ab82606246..5be7beee2b9 100644
--- a/engines/m4/riddle/rooms/section2/room205.cpp
+++ b/engines/m4/riddle/rooms/section2/room205.cpp
@@ -43,7 +43,7 @@ static const int16 SHADOW_DIRS2[] = {250, -1};
 static const char *SHADOW_NAMES2[] = {"shen guo shadow 12"};
 
 void Room205::init() {
-	midi_play("vines", 0, -1, -1, 949);
+	midi_play("vines", 0, true, -1, 949);
 	_ripTrekMedReachHandPos1Series = series_load("RIP TREK MED REACH HAND POS1", -1, nullptr);
 	_ripTrekLowReacherPos5Series = series_load("RIP TREK LOW REACHER POS5", -1, nullptr);
 	_ripTrekLowReachPos2Series = series_load("RIP TREK LOW REACH POS2", -1, nullptr);
@@ -1307,7 +1307,7 @@ void Room205::daemon() {
 		break;
 
 	case 580:
-		midi_play("suspens2", 255, 0, 581, 949);
+		midi_play("suspens2", 255, false, 581, 949);
 		_205GunPointedMach = series_play("205 GUN POINTED", 0, 16, 582, 5, 0, 100, 0, 0, 0, 4);
 		break;
 
@@ -1555,7 +1555,7 @@ void Room205::daemon() {
 
 	case 1000:
 		_G(flags)[V029] = 1;
-		midi_play("vines", 191, -1, -1, 949);
+		midi_play("vines", 191, true, -1, 949);
 		digi_preload("205_s09", -1);
 		digi_preload("205_s10", -1);
 		digi_preload("205_s11", -1);
diff --git a/engines/m4/riddle/rooms/section3/room303.cpp b/engines/m4/riddle/rooms/section3/room303.cpp
index f5d147eb6ed..f813c6f30f8 100644
--- a/engines/m4/riddle/rooms/section3/room303.cpp
+++ b/engines/m4/riddle/rooms/section3/room303.cpp
@@ -1838,7 +1838,7 @@ void Room303::conv303a() {
 		} else if (who == 1) {
 			if ((node == 0 && entry != 0) || (node == 0 && entry == 1)) {
 				if (!_lonelyFlag) {
-					midi_play("ppstreet", 140, 1, -1, 949);
+					midi_play("ppstreet", 140, true, -1, 949);
 				}
 			}
 
@@ -1908,7 +1908,7 @@ void Room303::conv303b() {
 		} else if (who == 1) {
 			if ((node == 0 && entry == 0) || (node == 0 && entry == 1)) {
 				if (!_lonelyFlag) {
-					midi_play("lonelyme", 140, 1, -1, 949);
+					midi_play("lonelyme", 140, true, -1, 949);
 					_lonelyFlag = true;
 				}
 			}
diff --git a/engines/m4/riddle/rooms/section3/room304.cpp b/engines/m4/riddle/rooms/section3/room304.cpp
index 32e9188380d..525edd5fb9f 100644
--- a/engines/m4/riddle/rooms/section3/room304.cpp
+++ b/engines/m4/riddle/rooms/section3/room304.cpp
@@ -60,7 +60,7 @@ void Room304::init() {
 	switch (_G(game).previous_room) {
 	case KERNEL_RESTORING_GAME:
 		if (_G(flags)[V001])
-			midi_play("thinker2", 255, 1, -1, 949);
+			midi_play("thinker2", 255, true, -1, 949);
 
 		if (_G(flags)[V084] == 2 || player_been_here(201))
 			_sword = series_show_sprite("one frame sword", 0, 0xa00);
@@ -157,7 +157,7 @@ void Room304::daemon() {
 		break;
 
 	case 60:
-		midi_play("thinker2", 255, 1, -1, 949);
+		midi_play("thinker2", 255, true, -1, 949);
 		break;
 
 	default:
diff --git a/engines/m4/riddle/rooms/section4/room402.cpp b/engines/m4/riddle/rooms/section4/room402.cpp
index 27726cc8710..e93bd782713 100644
--- a/engines/m4/riddle/rooms/section4/room402.cpp
+++ b/engines/m4/riddle/rooms/section4/room402.cpp
@@ -1264,7 +1264,7 @@ void Room402::daemon() {
 	case 300:
 		sendWSMessage_10000(1, _wolfieMach, _wolfClippersDown, 43, 18, 302,
 			_wolfClippersDown, 18, 18, 0);
-		midi_play("DANZIG1", 1, 255, -1, 949);
+		midi_play("DANZIG1", 255, true, -1, 949);
 		break;
 
 	case 302:
diff --git a/engines/m4/riddle/rooms/section4/room403.cpp b/engines/m4/riddle/rooms/section4/room403.cpp
index 69c021150a4..b876f2811c5 100644
--- a/engines/m4/riddle/rooms/section4/room403.cpp
+++ b/engines/m4/riddle/rooms/section4/room403.cpp
@@ -1315,7 +1315,7 @@ void Room403::daemon() {
 		break;
 
 	case 322:
-		midi_play("DANZIG1", 255, 1, -1, 949);
+		midi_play("DANZIG1", 255, true, -1, 949);
 		sendWSMessage_120000(-1);
 		terminateMachineAndNull(_wolfie);
 
@@ -1393,7 +1393,7 @@ void Room403::daemon() {
 			triggerMachineByHashCallback, "Turtle POPUP");
 		sendWSMessage_10000(1, _wolfJustSo, _turtlePopup, 1, 46, -1,
 			_turtlePopup, 46, 46, 0);
-		midi_play("turtle", 255, 1, -1, 949);
+		midi_play("turtle", 255, true, -1, 949);
 		_ripleyMode = 1020;
 		_ripleyShould = 1330;
 		kernel_timing_trigger(1, 102);
@@ -1811,7 +1811,7 @@ void Room403::conv403a() {
 			case 17:
 				if (entry == 1) {
 					_val5 = 1;
-					midi_play("DANZIG1", 255, 1, -1, 949);
+					midi_play("DANZIG1", 255, true, -1, 949);
 				}
 
 				_wolfShould = 2250;
diff --git a/engines/m4/riddle/rooms/section4/room407.cpp b/engines/m4/riddle/rooms/section4/room407.cpp
index be68969d615..f4acfeb24e3 100644
--- a/engines/m4/riddle/rooms/section4/room407.cpp
+++ b/engines/m4/riddle/rooms/section4/room407.cpp
@@ -529,7 +529,7 @@ void Room407::init() {
 		player_set_commands_allowed(true);
 
 	} else if (!_G(kittyScreaming)) {
-		midi_play("DRAMA1", 255, 0, -1, 949);
+		midi_play("DRAMA1", 255, false, -1, 949);
 		_ripEnters = series_load("407 RIP ENTERS");
 		_stair = series_load("407STAIR");
 		ws_demand_location(_G(my_walker), 250, 331, 3);
@@ -960,7 +960,7 @@ void Room407::daemon() {
 		hotspot_set_active("PERIODIC TABLE ", true);
 		_periodicTableState = 1120;
 
-		midi_play("EMERALD", 255, 0, 194, 949);
+		midi_play("EMERALD", 255, false, 194, 949);
 		kernel_examine_inventory_object("PING EMERALD/CORK",
 			_G(master_palette), 5, 1, 50, 200, 195, nullptr, -1);
 		break;
diff --git a/engines/m4/riddle/rooms/section4/room409.cpp b/engines/m4/riddle/rooms/section4/room409.cpp
index 51825f83e81..0e8950a0af3 100644
--- a/engines/m4/riddle/rooms/section4/room409.cpp
+++ b/engines/m4/riddle/rooms/section4/room409.cpp
@@ -158,7 +158,7 @@ void Room409::daemon() {
 	case 366:
 		sendWSMessage_10000(1, _ripley, _seriesTalker, 1, 4, -1, _seriesTalker, 1, 4, 1);
 		digi_play("409r01a", 1, 255, 367);
-		midi_play("ATONING", 255, 1, -1, 949);
+		midi_play("ATONING", 255, true, -1, 949);
 		break;
 
 	case 367:
diff --git a/engines/m4/riddle/rooms/section4/room410.cpp b/engines/m4/riddle/rooms/section4/room410.cpp
index f2f9e16ca87..370677c2280 100644
--- a/engines/m4/riddle/rooms/section4/room410.cpp
+++ b/engines/m4/riddle/rooms/section4/room410.cpp
@@ -44,7 +44,7 @@ void Room410::init() {
 	digi_preload("410_s02");
 	_val1 = 140;
 
-	midi_play("danzig1", 0, 1, -1, 949);
+	midi_play("danzig1", 0, true, -1, 949);
 	interface_hide();
 	_pu = series_stream("410PU01", 8, 0x100, -1);
 	series_stream_break_on_frame(_pu, 2, 100);
@@ -74,7 +74,7 @@ void Room410::daemon() {
 		break;
 
 	case 103:
-		midi_play("danzig1", 255, 1, -1, 949);
+		midi_play("danzig1", 255, true, -1, 949);
 		break;
 
 	case 104:
diff --git a/engines/m4/riddle/rooms/section5/room501.cpp b/engines/m4/riddle/rooms/section5/room501.cpp
index 2dd4d617ca8..a0877ce6684 100644
--- a/engines/m4/riddle/rooms/section5/room501.cpp
+++ b/engines/m4/riddle/rooms/section5/room501.cpp
@@ -867,7 +867,7 @@ void Room501::daemon() {
 		break;
 
 	case 562:
-		midi_play("SADBOY2", 255, 0, -1, 949);
+		midi_play("SADBOY2", 255, false, -1, 949);
 		_xyzzy10 = 0;
 		break;
 
@@ -1342,7 +1342,7 @@ void Room501::conv501a() {
 	} else {
 		if (who <= 0) {
 			if (node == 15 && entry == 5)
-				midi_play("SADBOY1", 255, 0, -1, 949);
+				midi_play("SADBOY1", 255, false, -1, 949);
 
 			if (node == 7 && entry == 0) {
 				_G(kernel).trigger_mode = KT_DAEMON;
diff --git a/engines/m4/riddle/rooms/section5/room504.cpp b/engines/m4/riddle/rooms/section5/room504.cpp
index 67d56fe41ad..78b158984b8 100644
--- a/engines/m4/riddle/rooms/section5/room504.cpp
+++ b/engines/m4/riddle/rooms/section5/room504.cpp
@@ -80,7 +80,7 @@ void Room504::init() {
 	default:
 		player_set_commands_allowed(false);
 		ws_demand_location(_G(my_walker), 50, 226, 3);
-		midi_play("MOCAMO", 200, 0, -1, 949);
+		midi_play("MOCAMO", 200, false, -1, 949);
 
 		if (player_been_here(504)) {
 			inv_give_to_player("ROPE");
diff --git a/engines/m4/riddle/rooms/section6/room604.cpp b/engines/m4/riddle/rooms/section6/room604.cpp
index 1b0360f0d00..cf95ed74fd4 100644
--- a/engines/m4/riddle/rooms/section6/room604.cpp
+++ b/engines/m4/riddle/rooms/section6/room604.cpp
@@ -133,7 +133,7 @@ void Room604::init() {
 	switch (_G(game).previous_room) {
 	case KERNEL_RESTORING_GAME:
 		if (_G(flags)[V203] == 8)
-			midi_play("tensions", 255, 1, -1, 949);
+			midi_play("tensions", 255, true, -1, 949);
 
 		_shedDoor = series_show("SHED DOOR OPENS", 0xf00, 16);
 
diff --git a/engines/m4/riddle/rooms/section6/room605.cpp b/engines/m4/riddle/rooms/section6/room605.cpp
index 9413e3e5fb9..285de7d09d9 100644
--- a/engines/m4/riddle/rooms/section6/room605.cpp
+++ b/engines/m4/riddle/rooms/section6/room605.cpp
@@ -800,7 +800,7 @@ bool Room605::parserMisc() {
 	switch (_G(kernel).trigger) {
 	case 555:
 		digi_stop(1);
-		midi_play("tensions", 255, 1, -1, 949);
+		midi_play("tensions", 255, true, -1, 949);
 		adv_kill_digi_between_rooms(false);
 		digi_play_loop("950_s28", 3, 90);
 		_G(game).setRoom(610);
diff --git a/engines/m4/riddle/rooms/section6/room608.cpp b/engines/m4/riddle/rooms/section6/room608.cpp
index 5da21a6bc2f..acc4acd66e6 100644
--- a/engines/m4/riddle/rooms/section6/room608.cpp
+++ b/engines/m4/riddle/rooms/section6/room608.cpp
@@ -1064,7 +1064,7 @@ void Room608::daemon() {
 			487, 293, 9, triggerMachineByHashCallback3000, "ow walker");
 		sendWSMessage_10000(_ol, 417, 295, 9, 549, 0);
 		kernel_timing_trigger(300, 551);
-		midi_play("eastiswo", 255, 1, -1, 949);
+		midi_play("eastiswo", 255, true, -1, 949);
 		_G(player).disable_hyperwalk = true;
 		break;
 
@@ -1375,7 +1375,7 @@ void Room608::daemon() {
 		break;
 
 	case 771:
-		midi_play("thelook", 255, 0, -1, 949);
+		midi_play("thelook", 255, false, -1, 949);
 		break;
 
 	case 773:
@@ -1807,7 +1807,7 @@ void Room608::conv608a() {
 	} else if (sound) {
 		if (who <= 0) {
 			if (node == 4 && entry == 0)
-				midi_play("eastiswo", 255, 0, -1, 949);
+				midi_play("eastiswo", 255, false, -1, 949);
 			if ((node == 2 && entry == 1) || (node == 3 && entry == 2))
 				_oldShould = 7;
 			else if ((node == 2 && entry == 0) || (node == 3 && entry == 1))
diff --git a/engines/m4/riddle/rooms/section6/room610.cpp b/engines/m4/riddle/rooms/section6/room610.cpp
index 0b8b820f328..1197dda7e62 100644
--- a/engines/m4/riddle/rooms/section6/room610.cpp
+++ b/engines/m4/riddle/rooms/section6/room610.cpp
@@ -78,7 +78,7 @@ void Room610::init() {
 
 	switch (_G(game).previous_room) {
 	case KERNEL_RESTORING_GAME:
-		midi_play("tensions", 255, 1, -1, 949);
+		midi_play("tensions", 255, true, -1, 949);
 
 		if (_flag1)
 			ws_demand_location(_G(my_walker), 615, 364, 10);
diff --git a/engines/m4/riddle/rooms/section6/room615.cpp b/engines/m4/riddle/rooms/section6/room615.cpp
index 6e1d115f374..8270f4016eb 100644
--- a/engines/m4/riddle/rooms/section6/room615.cpp
+++ b/engines/m4/riddle/rooms/section6/room615.cpp
@@ -422,7 +422,7 @@ void Room615::daemon() {
 		break;
 
 	case 120:
-		midi_play("love", 255, 0, -1, 949);
+		midi_play("love", 255, false, -1, 949);
 		_untie = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x400, false,
 			triggerMachineByHashCallback, "spleen");
 		sendWSMessage_10000(1, _untie, _loop5, 1, 1, 125, _loop5, 1, 1, 1);
diff --git a/engines/m4/riddle/rooms/section7/room710.cpp b/engines/m4/riddle/rooms/section7/room710.cpp
index 482b9859de4..fa67c29ade6 100644
--- a/engines/m4/riddle/rooms/section7/room710.cpp
+++ b/engines/m4/riddle/rooms/section7/room710.cpp
@@ -125,7 +125,7 @@ void Room710::init() {
 	}
 
 	if (player_been_here(710))
-		midi_play("drama1", 127, 0, -1, 949);
+		midi_play("drama1", 127, false, -1, 949);
 
 	digi_play_loop("950_s41", 3, 255, -1, -1);
 }
diff --git a/engines/m4/riddle/rooms/section8/room861.cpp b/engines/m4/riddle/rooms/section8/room861.cpp
index e611a41688c..40168e5371d 100644
--- a/engines/m4/riddle/rooms/section8/room861.cpp
+++ b/engines/m4/riddle/rooms/section8/room861.cpp
@@ -79,7 +79,7 @@ void Room861::daemon() {
 
 	case 10:
 		digi_play("861_s01", 2, 255, -1, 861);
-		midi_play("tiawa", 180, 1, -1, 949);
+		midi_play("tiawa", 180, true, -1, 949);
 		_all2Mach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0,
 			100, 0x200, false, triggerMachineByHashCallback, "861 all2");
 		sendWSMessage_10000(1, _all2Mach, _all2Series, 1, 20, 20,




More information about the Scummvm-git-logs mailing list