[Scummvm-git-logs] scummvm master -> 78b152b68a3a1feed0119473283c78a456818f5a

Strangerke noreply at scummvm.org
Fri Nov 29 06:48:54 UTC 2024


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:
78b152b68a M4: RIDDLE: room 703 - Implement playCheckBrochureAnim


Commit: 78b152b68a3a1feed0119473283c78a456818f5a
    https://github.com/scummvm/scummvm/commit/78b152b68a3a1feed0119473283c78a456818f5a
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2024-11-29T07:48:43+01:00

Commit Message:
M4: RIDDLE: room 703 - Implement playCheckBrochureAnim

Changed paths:
    engines/m4/riddle/rooms/section7/room703.cpp
    engines/m4/riddle/rooms/section7/room703.h


diff --git a/engines/m4/riddle/rooms/section7/room703.cpp b/engines/m4/riddle/rooms/section7/room703.cpp
index c05b23c4b58..715aefe98a4 100644
--- a/engines/m4/riddle/rooms/section7/room703.cpp
+++ b/engines/m4/riddle/rooms/section7/room703.cpp
@@ -152,31 +152,31 @@ void Room703::parser() {
 	} else if (player_said("PRAYER WHEEL BROCHURE", "EMPTY NICHE") && inv_player_has("PRAYER WHEEL BROCHURE")) {
 		digi_play("com123", 1, 255, -1, 997);
 	} else if (player_said("PRAYER WHEEL BROCHURE", "PRAYER WHEEL #1") && inv_player_has("PRAYER WHEEL BROCHURE")) {
-		sub9EA78("703r04", _G(kernel).trigger);
+		playCheckBrochureAnim("703r04", _G(kernel).trigger);
 	} else if (player_said("PRAYER WHEEL BROCHURE", "PRAYER WHEEL #2") && inv_player_has("PRAYER WHEEL BROCHURE")) {
-		sub9EA78("703r09", _G(kernel).trigger);
+		playCheckBrochureAnim("703r09", _G(kernel).trigger);
 	} else if (player_said("PRAYER WHEEL BROCHURE", "PRAYER WHEEL #3") && inv_player_has("PRAYER WHEEL BROCHURE")) {
-		sub9EA78("703r10", _G(kernel).trigger);
+		playCheckBrochureAnim("703r10", _G(kernel).trigger);
 	} else if (player_said("PRAYER WHEEL BROCHURE", "PRAYER WHEEL #4") && inv_player_has("PRAYER WHEEL BROCHURE")) {
 		switch (_G(flags[V217])) {
 		case 1:
-			sub9EA78("704r09", _G(kernel).trigger);
+			playCheckBrochureAnim("704r09", _G(kernel).trigger);
 			break;
 
 		case 2:
-			sub9EA78("705r04", _G(kernel).trigger);
+			playCheckBrochureAnim("705r04", _G(kernel).trigger);
 			break;
 
 		case 3:
-			sub9EA78("703r11", _G(kernel).trigger);
+			playCheckBrochureAnim("703r11", _G(kernel).trigger);
 			break;
 
 		case 4:
-			sub9EA78("705r14a", _G(kernel).trigger);
+			playCheckBrochureAnim("705r14a", _G(kernel).trigger);
 			break;
 
 		case 5:
-			sub9EA78("706r10", _G(kernel).trigger);
+			playCheckBrochureAnim("706r10", _G(kernel).trigger);
 			break;
 
 		default:
@@ -975,7 +975,7 @@ void Room703::callback(frac16 myMessage, machine *sender) {
 }
 
 void Room703::conv703a() {
-	int32 who = conv_whos_talking();
+	const int32 who = conv_whos_talking();
 
 	if (conv_sound_to_play() == nullptr) {
 		conv_resume(conv_get_handle());
@@ -989,9 +989,47 @@ void Room703::conv703a() {
 	}
 }
 
-void Room703::sub9EA78(const char *digiName, int32 trigger) {
-	//TODO not implemented
-	warning("STUB sub9EA78");
+void Room703::playCheckBrochureAnim(const char *digiName, int32 trigger) {
+	switch (trigger) {
+	case -1:
+		player_set_commands_allowed(false);
+		_ripChecksBrochureSeries = series_load("RIP CHECKS BROCHURE", -1, nullptr);
+		setGlobals1(_ripChecksBrochureSeries, 1, 25, 25, 25, 0, 25, 31, 31, 31, 0, 31, 1, 1, 1, 0, 0, 0, 0, 0, 0);
+		sendWSMessage_110000(_G(my_walker), 41);
+
+		break;
+		
+	case 41:
+		kernel_timing_trigger(60, 43, nullptr);
+		break;
+		
+	case 43:
+		sendWSMessage_120000(_G(my_walker), -1);
+		digi_play(digiName, 1, 255, 44, -1);
+
+		break;
+		
+	case 44:
+		kernel_timing_trigger(10, 45, nullptr);
+		break;
+		
+	case 45:
+		sendWSMessage_130000(_G(my_walker), 48);
+		break;
+
+	case 48:
+		sendWSMessage_150000(_G(my_walker), 49);
+		break;
+		
+	case 49:
+		series_unload(_ripChecksBrochureSeries);
+		player_set_commands_allowed(true);
+
+		break;
+		
+	default:
+		break;
+	}
 }
 
 void Room703::sub9E50F(int32 trigger, int i) {
diff --git a/engines/m4/riddle/rooms/section7/room703.h b/engines/m4/riddle/rooms/section7/room703.h
index 87f4ebad6b7..49007ca8a08 100644
--- a/engines/m4/riddle/rooms/section7/room703.h
+++ b/engines/m4/riddle/rooms/section7/room703.h
@@ -42,7 +42,7 @@ public:
 private:
 	static void callback(frac16 myMessage, machine *sender);
 	void conv703a();
-	void sub9EA78(const char *digiName, int32 trigger);
+	void playCheckBrochureAnim(const char *digiName, int32 trigger);
 	void sub9E50F(int32 trigger, int i);
 	
 	machine *_monkMach = nullptr;
@@ -58,6 +58,7 @@ private:
 	int32 _monk2Series = 0;
 	int32 _monk3Series = 0;
 	int32 _monk4Series = 0;
+	int32 _ripChecksBrochureSeries = 0;
 	int32 _ripGoesUpStairsSeries = 0;
 	int32 _ripLooksDownSeries = 0;
 	int32 _ripTrekMedReachHandPos1Series = 0;




More information about the Scummvm-git-logs mailing list