[Scummvm-git-logs] scummvm master -> 6b7a2a270b08fe71ee28cb7c6809589f3d6f8f6b

Strangerke noreply at scummvm.org
Sat Feb 1 20:54:58 UTC 2025


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:
6b7a2a270b M4: RIDDLE: start implementing opcode 3 in parser()


Commit: 6b7a2a270b08fe71ee28cb7c6809589f3d6f8f6b
    https://github.com/scummvm/scummvm/commit/6b7a2a270b08fe71ee28cb7c6809589f3d6f8f6b
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2025-02-01T21:54:43+01:00

Commit Message:
M4: RIDDLE: start implementing opcode 3 in parser()

Changed paths:
    engines/m4/riddle/rooms/section8/room808.cpp


diff --git a/engines/m4/riddle/rooms/section8/room808.cpp b/engines/m4/riddle/rooms/section8/room808.cpp
index 2499d24541b..1c18f90c02b 100644
--- a/engines/m4/riddle/rooms/section8/room808.cpp
+++ b/engines/m4/riddle/rooms/section8/room808.cpp
@@ -23,6 +23,7 @@
 
 
 #include "m4/adv_r/other.h"
+#include "m4/burger/core/conv.h"
 #include "m4/core/errors.h"
 #include "m4/graphics/gr_series.h"
 #include "m4/riddle/riddle.h"
@@ -702,7 +703,81 @@ void Room808::parser() {
 		return;
 
 	case 3:
-		break;
+		if (_G(flags[V097]) == 0 && _G(flags[V094]) == 4 && inv_object_in_scene("FARMER'S SHOVEL", 808)) {
+			conv_load("conv808a", 10, 10, 747);
+			conv_export_value_curr(_G(flags[V098]), 0);
+			conv_play(conv_get_handle());
+		} else if (_G(flags[V097]) == 0) {
+			switch (_G(kernel).trigger) {
+				// TODO not implemented yet
+			default:
+				break;
+			}
+		} else if (_G(flags[V097]) == 1 && inv_object_in_scene("crank", 808) && _G(flags[V100]) == 0) {
+			switch (_G(kernel).trigger) {
+				// TODO not implemented yet
+			default:
+				break;
+			}
+		} else {
+			switch (_G(kernel).trigger) {
+			case -1:
+				if (_G(flags[V100]) == 0) {
+					ws_turn_to_face(_G(my_walker), 1, 10);
+				} else {
+					ws_walk(_G(my_walker), 335, 121, nullptr, 10, 1, true);
+				}
+
+				break;
+			case 10:
+				player_set_commands_allowed(false);
+				switch (imath_ranged_rand(1, 4)) {
+				case 1:
+					digi_play("com034", 1, 255, 20, 997);
+					break;
+
+				case 2:
+					digi_play("com035", 1, 255, 20, 997);
+					break;
+
+				case 3:
+					digi_play("com036", 1, 255, 20, 997);
+					break;
+
+				case 4:
+				default:
+					digi_play("com037", 1, 255, 20, 997);
+					break;
+				}
+
+				break;
+
+			case 20:
+				player_set_commands_allowed(true);
+				switch (imath_ranged_rand(1, 4)) {
+				case 1:
+					digi_play("com038", 1,255,-1,997);
+					break;
+				case 2:
+					digi_play("com039", 1, 255, -1, 997);
+					break;
+				case 3:
+					digi_play("com040", 1, 255, -1, 997);
+					break;
+				case 4:
+				default:
+					digi_play("com041", 1, 255, -1, 997);
+					break;
+				}
+
+				break;
+			default:
+				break;
+			}
+		}
+
+
+		return;
 
 	case 4:
 		return;




More information about the Scummvm-git-logs mailing list