[Scummvm-git-logs] scummvm master -> 14324cc9aaefc6aeddfdc963bfd680ec6dcd9010

dreammaster noreply at scummvm.org
Sat Oct 12 19:03:15 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:
14324cc9aa M4: RIDDLE: Remove negative hash callback method


Commit: 14324cc9aaefc6aeddfdc963bfd680ec6dcd9010
    https://github.com/scummvm/scummvm/commit/14324cc9aaefc6aeddfdc963bfd680ec6dcd9010
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2024-10-12T12:02:25-07:00

Commit Message:
M4: RIDDLE: Remove negative hash callback method

Turns out it was the standard hash callback method that must
have gotten accidentally renamed at some point.

Changed paths:
    engines/m4/riddle/rooms/section3/room301.cpp
    engines/m4/riddle/rooms/section3/room303.cpp
    engines/m4/riddle/rooms/section3/room303.h
    engines/m4/riddle/rooms/section3/room305.cpp
    engines/m4/riddle/rooms/section4/room401.cpp
    engines/m4/riddle/rooms/section4/room402.cpp
    engines/m4/riddle/rooms/section4/room403.cpp
    engines/m4/riddle/rooms/section4/room404.cpp
    engines/m4/riddle/rooms/section4/room405.cpp
    engines/m4/riddle/rooms/section4/room407.cpp
    engines/m4/riddle/rooms/section4/room408.cpp
    engines/m4/riddle/rooms/section4/room409.cpp
    engines/m4/riddle/rooms/section5/room501.cpp
    engines/m4/riddle/rooms/section5/room504.cpp
    engines/m4/riddle/rooms/section5/room507.cpp
    engines/m4/riddle/rooms/section5/room508.cpp
    engines/m4/riddle/rooms/section5/room509.cpp
    engines/m4/riddle/rooms/section6/room603.cpp
    engines/m4/riddle/rooms/section6/room605.cpp
    engines/m4/riddle/rooms/section6/room608.cpp
    engines/m4/riddle/rooms/section6/room615.cpp
    engines/m4/riddle/rooms/section8/room801.cpp
    engines/m4/riddle/rooms/section8/room802.cpp
    engines/m4/riddle/triggers.cpp
    engines/m4/riddle/triggers.h


diff --git a/engines/m4/riddle/rooms/section3/room301.cpp b/engines/m4/riddle/rooms/section3/room301.cpp
index fc604b34474..f8b8cfa51a9 100644
--- a/engines/m4/riddle/rooms/section3/room301.cpp
+++ b/engines/m4/riddle/rooms/section3/room301.cpp
@@ -60,7 +60,7 @@ void Room301::init() {
 	_agentTalk = series_load("agent animated talk disp");
 	_agentSalutes = series_load("agent salutes rip");
 	_machine1 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x400, 0,
-		triggerMachineByHashCallbackNegative, "guy behind desk");
+		triggerMachineByHashCallback, "guy behind desk");
 
 	sendWSMessage(1, _machine1, _agentStander, 1, 1, 10, _agentStander, 1, 1, 0);
 
@@ -98,7 +98,7 @@ void Room301::daemon() {
 
 	case 9:
 		_machine1 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x400, 0,
-			triggerMachineByHashCallbackNegative, "guy behind desk");
+			triggerMachineByHashCallback, "guy behind desk");
 		_val13 = _val14 = 0;
 		sendWSMessage_10000(1, _machine1, _agentStander, 1,
 			1, 10, _agentStander, 1, 1, 0);
@@ -420,7 +420,7 @@ void Room301::daemon() {
 		break;
 
 	case 12:
-		_machine4 = TriggerMachineByHash(triggerMachineByHashCallbackNegative, "rip");
+		_machine4 = TriggerMachineByHash(triggerMachineByHashCallback, "rip");
 		sendWSMessage_10000(1, _machine4, _ripTrekTravel, 10, 10, 20,
 			_ripTrekTravel, 10, 10, 0);
 		_val15 = _val19 = 0;
@@ -431,7 +431,7 @@ void Room301::daemon() {
 		break;
 
 	case 13:
-		_machine4 = TriggerMachineByHash(triggerMachineByHashCallbackNegative, "rip in conv");
+		_machine4 = TriggerMachineByHash(triggerMachineByHashCallback, "rip in conv");
 		sendWSMessage_10000(1, _machine4, _ripTrekTravel, 10, 10, 20,
 			_ripTrekTravel, 10, 10, 0);
 		_val15 = _val19 = 0;
@@ -728,7 +728,7 @@ void Room301::daemon() {
 	case 300:
 		terminateMachineAndNull(_machine1);
 		_machine4 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x400, 0,
-			triggerMachineByHashCallbackNegative, "rip");
+			triggerMachineByHashCallback, "rip");
 		sendWSMessage_10000(1, _machine4, _agentStander, 7,
 			1, 304, _agentStander, 1, 1, 0);
 		break;
@@ -753,7 +753,7 @@ void Room301::daemon() {
 		sendWSMessage_10000(1, _machine4, _ripTrekTravel,
 			10, 1, 324, _ripTrekTravel, 1, 1, 0);
 		_machine1 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x400, 0,
-			triggerMachineByHashCallbackNegative, "guy behind desk");
+			triggerMachineByHashCallback, "guy behind desk");
 		_val13 = 0;
 		_val14 = 0;
 		sendWSMessage_10000(1, _machine1, _agentStander, 1,
@@ -880,7 +880,7 @@ void Room301::parser() {
 			} else if (_G(kernel).trigger == 1) {
 				_G(kernel).trigger_mode = KT_DAEMON;
 				_machine2 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x400, 0,
-					triggerMachineByHashCallbackNegative, "marshal");
+					triggerMachineByHashCallback, "marshal");
 				sendWSMessage(1, _machine2, _marshalMatt, 1, 2, 202, _marshalMatt, 3, 3, 0);
 				_val17 = 0;
 				_val18 = 0;
@@ -992,7 +992,7 @@ void Room301::parser() {
 		_machine3 = series_show("safari shadow 3", 0xf00, 0, -1, -1, 0,
 			_G(player_info).scale, _G(player_info).x, _G(player_info).y);
 		_machine4 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x400, 0,
-			triggerMachineByHashCallbackNegative, "rip");
+			triggerMachineByHashCallback, "rip");
 
 		_G(kernel).trigger_mode = KT_DAEMON;
 		_val19 = 0;
diff --git a/engines/m4/riddle/rooms/section3/room303.cpp b/engines/m4/riddle/rooms/section3/room303.cpp
index bd86c017883..28894cda903 100644
--- a/engines/m4/riddle/rooms/section3/room303.cpp
+++ b/engines/m4/riddle/rooms/section3/room303.cpp
@@ -104,20 +104,20 @@ void Room303::init() {
 
 			ws_walk_load_walker_series(S3_NORMAL_DIRS, S3_NORMAL_NAMES);
 			ws_walk_load_shadow_series(S3_SHADOW_DIRS, S3_SHADOW_NAMES);
-			loadClasped();
+			loadFengLi();
 
 			if (_val13) {
-				_machine1 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 480, 256, 86, 0xc00, 1,
-					triggerMachineByHashCallbackNegative, "fl");
+				_fengLi = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 480, 256, 86, 0xc00, 1,
+					triggerMachineByHashCallback, "fl");
 				setShadow5(true);
 			} else {
-				_machine1 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 706, 256, 86, 0xc00, 0,
-					triggerMachineByHashCallbackNegative, "fl state machine");
+				_fengLi = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 706, 256, 86, 0xc00, 0,
+					triggerMachineByHashCallback, "fl state machine");
 				setShadow5(false);
 			}
 
-			sendWSMessage_10000(1, _machine1, _clasped4, 1, 1, 400,
-				_clasped4, 1, 6, 0);
+			sendWSMessage_10000(1, _fengLi, _feng4, 1, 1, 400,
+				_feng4, 1, 6, 0);
 			_val14 = _val15 = 1;
 		}
 
@@ -148,13 +148,13 @@ void Room303::init() {
 
 			ws_walk_load_walker_series(S3_NORMAL_DIRS, S3_NORMAL_NAMES);
 			ws_walk_load_shadow_series(S3_SHADOW_DIRS, S3_SHADOW_NAMES);
-			_machine1 = triggerMachineByHash_3000(8, 2, *S3_NORMAL_DIRS, *S3_SHADOW_DIRS,
+			_fengLi = triggerMachineByHash_3000(8, 2, *S3_NORMAL_DIRS, *S3_SHADOW_DIRS,
 				470, 226, 9, triggerMachineByHashCallback3000, "fl");
 			_val13 = 1;
 
 			kernel_load_variant("303lock1");
 			setFengActive(true);
-			loadClasped();
+			loadFengLi();
 
 			ws_walk_load_walker_series(S3_NORMAL_DIRS2, S3_NORMAL_NAMES2);
 			ws_walk_load_shadow_series(S3_SHADOW_DIRS2, S3_SHADOW_NAMES2);
@@ -177,12 +177,12 @@ void Room303::init() {
 
 				ws_walk_load_walker_series(S3_NORMAL_DIRS, S3_NORMAL_NAMES);
 				ws_walk_load_shadow_series(S3_SHADOW_DIRS, S3_SHADOW_NAMES);
-				loadClasped();
+				loadFengLi();
 
-				_machine1 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 480, 256, 86, 0xc00, 1,
-					triggerMachineByHashCallbackNegative, "fl");
-				sendWSMessage_10000(1, _machine1, _clasped4, 1, 1, 400,
-					_clasped4, 1, 6, 0);
+				_fengLi = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 480, 256, 86, 0xc00, 1,
+					triggerMachineByHashCallback, "fl");
+				sendWSMessage_10000(1, _fengLi, _feng4, 1, 1, 400,
+					_feng4, 1, 6, 0);
 
 				_val14 = _val15 = _val13 = 1;
 				setShadow5(true);
@@ -204,12 +204,12 @@ void Room303::init() {
 
 			ws_walk_load_walker_series(S3_NORMAL_DIRS, S3_NORMAL_NAMES);
 			ws_walk_load_shadow_series(S3_SHADOW_DIRS, S3_SHADOW_NAMES);
-			loadClasped();
+			loadFengLi();
 
-			_machine1 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 480, 256, 86, 0xc00, 1,
-				triggerMachineByHashCallbackNegative, "fl");
-			sendWSMessage_10000(1, _machine1, _clasped1, 1, 16, 400,
-				_clasped1, 1, 6, 0);
+			_fengLi = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 480, 256, 86, 0xc00, 1,
+				triggerMachineByHashCallback, "fl");
+			sendWSMessage_10000(1, _fengLi, _feng1, 1, 16, 400,
+				_feng1, 1, 6, 0);
 			_val14 = _val15 = 1;
 			setShadow5(true);
 			_val13 = 1;
@@ -232,12 +232,12 @@ void Room303::init() {
 			ws_walk_load_walker_series(S3_NORMAL_DIRS, S3_NORMAL_NAMES);
 			ws_walk_load_shadow_series(S3_SHADOW_DIRS, S3_SHADOW_NAMES);
 			_val13 = 1;
-			loadClasped();
+			loadFengLi();
 
-			_machine1 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 480, 256, 86, 0xc00, 1,
-				triggerMachineByHashCallbackNegative, "fl");
-			sendWSMessage_10000(1, _machine1, _clasped4, 1, 16, 400,
-				_clasped4, 1, 6, 0);
+			_fengLi = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 480, 256, 86, 0xc00, 1,
+				triggerMachineByHashCallback, "fl");
+			sendWSMessage_10000(1, _fengLi, _feng4, 1, 16, 400,
+				_feng4, 1, 6, 0);
 
 			_val14 = _val15 = 1;
 			setShadow5(true);
@@ -290,11 +290,11 @@ void Room303::init() {
 		ws_walk_load_shadow_series(S3_SHADOW_DIRS, S3_SHADOW_NAMES);
 
 		_val13 = 1;
-		loadClasped();
-		_machine1 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 480, 256, 86, 0xc00, 1,
-			triggerMachineByHashCallbackNegative, "fl");
-		sendWSMessage_10000(1, _machine1, _clasped4, 1, 1, 400,
-			_clasped4, 1, 6, 0);
+		loadFengLi();
+		_fengLi = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 480, 256, 86, 0xc00, 1,
+			triggerMachineByHashCallback, "fl");
+		sendWSMessage_10000(1, _fengLi, _feng4, 1, 1, 400,
+			_feng4, 1, 6, 0);
 		_val14 = _val15 = 1;
 		setShadow5(true);
 
@@ -377,19 +377,19 @@ void Room303::daemon() {
 		break;
 
 	case 38:
-		sendWSMessage_10000(_machine1, 146, 270, 9, 39, 0);
+		sendWSMessage_10000(_fengLi, 146, 270, 9, 39, 0);
 		break;
 
 	case 39:
-		sendWSMessage_10000(_machine1, 480, 256, 7, 40, 1);
+		sendWSMessage_10000(_fengLi, 480, 256, 7, 40, 1);
 		break;
 
 	case 40:
-		sendWSMessage_60000(_machine1);
-		_machine1 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 480, 256, 86, 0xc00, 1,
-			triggerMachineByHashCallbackNegative, "fl");
-		sendWSMessage_10000(1, _machine1, _clasped1, 1, 16, 400,
-			_clasped4, 1, 6, 0);
+		sendWSMessage_60000(_fengLi);
+		_fengLi = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 480, 256, 86, 0xc00, 1,
+			triggerMachineByHashCallback, "fl");
+		sendWSMessage_10000(1, _fengLi, _feng1, 1, 16, 400,
+			_feng4, 1, 6, 0);
 		_val14 = _val15 = 1;
 		setShadow5(true);
 		player_set_commands_allowed(true);
@@ -434,22 +434,22 @@ void Room303::daemon() {
 		break;
 
 	case 103:
-		sendWSMessage_10000(_machine1, 414, 228, 9, 104, 0);
+		sendWSMessage_10000(_fengLi, 414, 228, 9, 104, 0);
 		break;
 
 	case 104:
-		sendWSMessage_10000(_machine1, 399, 256, 7, 105, 0);
+		sendWSMessage_10000(_fengLi, 399, 256, 7, 105, 0);
 		break;
 
 	case 105:
 		terminateMachineAndNull(_door);
 		digi_preload("950_s44");
 		series_plain_play("DOOR", 1, 2, 100, 0xf05, 8, 156);
-		sendWSMessage_10000(_machine1, 480, 256, 7, 106, 1);
+		sendWSMessage_10000(_fengLi, 480, 256, 7, 106, 1);
 		break;
 
 	case 106:
-		sendWSMessage_60000(_machine1);
+		sendWSMessage_60000(_fengLi);
 		priestTalk(true, -1);
 		setShadow5(true);
 		break;
@@ -654,10 +654,10 @@ void Room303::daemon() {
 		_G(flags)[V001] = 0;
 
 		terminateMachineAndNull(_priestTalk);
-		_machine1 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 480, 256, 86, 0xc00, true,
-			triggerMachineByHashCallbackNegative, "fl");
-		sendWSMessage_10000(1, _machine1, _clasped4, 1, 1, 400,
-			_clasped4, 1, 6, 0);
+		_fengLi = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 480, 256, 86, 0xc00, true,
+			triggerMachineByHashCallback, "fl");
+		sendWSMessage_10000(1, _fengLi, _feng4, 1, 1, 400,
+			_feng4, 1, 6, 0);
 		_val14 = _val15 = 1;
 
 		player_set_commands_allowed(true);
@@ -1012,32 +1012,32 @@ void Room303::daemon() {
 		case 0:
 			switch (_val15) {
 			case 0:
-				sendWSMessage_10000(1, _machine1, _clasped1, 1, 1, 400,
-					_clasped1, 1, 1, 0);
+				sendWSMessage_10000(1, _fengLi, _feng1, 1, 1, 400,
+					_feng1, 1, 1, 0);
 				break;
 
 			case 1:
 			case 2:
 			case 4:
-				sendWSMessage_10000(1, _machine1, _clasped1, 1, 18, 400,
-					_clasped4, 1, 6, 1);
+				sendWSMessage_10000(1, _fengLi, _feng1, 1, 18, 400,
+					_feng4, 1, 6, 1);
 				_val14 = 1;
 				break;
 
 			case 3:
-				sendWSMessage_10000(1, _machine1, _clasped2, 1, 13, 400,
-					_clasped2, 14, 19, 1);
+				sendWSMessage_10000(1, _fengLi, _feng2, 1, 13, 400,
+					_feng2, 14, 19, 1);
 				_val14 = 3;
 				break;
 
 			case 5:
-				terminateMachineAndNull(_machine1);
+				terminateMachineAndNull(_fengLi);
 
 				if (_val13)
-					_machine1 = triggerMachineByHash_3000(8, 2, *S3_NORMAL_DIRS, *S3_SHADOW_DIRS,
+					_fengLi = triggerMachineByHash_3000(8, 2, *S3_NORMAL_DIRS, *S3_SHADOW_DIRS,
 						480, 256, 7, triggerMachineByHashCallback3000, "fl walker");
 				else
-					_machine1 = triggerMachineByHash_3000(8, 2, *S3_NORMAL_DIRS, *S3_SHADOW_DIRS,
+					_fengLi = triggerMachineByHash_3000(8, 2, *S3_NORMAL_DIRS, *S3_SHADOW_DIRS,
 						706, 256, 5, triggerMachineByHashCallback3000, "fl walker");
 
 				_G(kernel).trigger_mode = KT_PARSE;
@@ -1052,35 +1052,35 @@ void Room303::daemon() {
 		case 1:
 			switch (_val15) {
 			case 0:
-				sendWSMessage_10000(1, _machine1, _clasped1, 16, 1, 400,
-					_clasped1, 1, 1, 0);
+				sendWSMessage_10000(1, _fengLi, _feng1, 16, 1, 400,
+					_feng1, 1, 1, 0);
 				_val14 = 0;
 				break;
 
 			case 1:
 				frame = imath_ranged_rand(1, 6);
-				sendWSMessage_10000(1, _machine1, _clasped4, frame, frame, 400,
-					_clasped4, frame, frame, 0);
+				sendWSMessage_10000(1, _fengLi, _feng4, frame, frame, 400,
+					_feng4, frame, frame, 0);
 				break;
 
 			case 3:
 			case 5:
-				sendWSMessage_10000(1, _machine1, _clasped1, 16, 1, 400,
-					_clasped2, 1, 1, 0);
+				sendWSMessage_10000(1, _fengLi, _feng1, 16, 1, 400,
+					_feng2, 1, 1, 0);
 				_val14 = 0;
 				break;
 
 			case 4:
 				frame = imath_ranged_rand(1, 6);
-				sendWSMessage_10000(1, _machine1, _clasped4, frame, frame, 400,
-					_clasped4, frame, frame, 0);
+				sendWSMessage_10000(1, _fengLi, _feng4, frame, frame, 400,
+					_feng4, frame, frame, 0);
 				player_set_commands_allowed(true);
 				_val15 = 1;
 				break;
 
 			default:
-				sendWSMessage_10000(1, _machine1, _clasped3, 1, 18, 400,
-					_clasped3, 19, 21, 1);
+				sendWSMessage_10000(1, _fengLi, _feng3, 1, 18, 400,
+					_feng3, 19, 21, 1);
 				_val14 = 2;
 				break;
 			}
@@ -1089,11 +1089,11 @@ void Room303::daemon() {
 		case 2:
 			if (_val15 == 2) {
 				frame = imath_ranged_rand(19, 21);
-				sendWSMessage_10000(1, _machine1, _clasped3, frame, frame, 400,
-					_clasped3, frame, frame, 0);
+				sendWSMessage_10000(1, _fengLi, _feng3, frame, frame, 400,
+					_feng3, frame, frame, 0);
 			} else {
-				sendWSMessage_10000(1, _machine1, _clasped3, 18, 1, 400,
-					_clasped4, 1, 6, 0);
+				sendWSMessage_10000(1, _fengLi, _feng3, 18, 1, 400,
+					_feng4, 1, 6, 0);
 				_val14 = 1;
 			}
 			break;
@@ -1101,11 +1101,11 @@ void Room303::daemon() {
 		case 3:
 			if (_val15 == 3) {
 				frame = imath_ranged_rand(14, 19);
-				sendWSMessage_10000(1, _machine1, _clasped2, frame, frame, 400,
-					_clasped2, frame, frame, 0);
+				sendWSMessage_10000(1, _fengLi, _feng2, frame, frame, 400,
+					_feng2, frame, frame, 0);
 			} else {
-				sendWSMessage_10000(1, _machine1, _clasped2, 20, 31, 400,
-					_clasped2, 1, 1, 0);
+				sendWSMessage_10000(1, _fengLi, _feng2, 20, 31, 400,
+					_feng2, 1, 1, 0);
 				_val14 = 0;
 			}
 			break;
@@ -1169,17 +1169,17 @@ void Room303::parser() {
 			if (player_said("giant matchstick"))
 				ws_demand_location(610, 256);
 
-			sendWSMessage_10000(_machine1, 706, 256, 5, 2, 1);
+			sendWSMessage_10000(_fengLi, 706, 256, 5, 2, 1);
 			break;
 
 		case 2:
 			setShadow5Alt(true);
-			_machine1 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 706, 256, 86, 0xc00, 0,
-				triggerMachineByHashCallbackNegative, "fl state machine");
+			_fengLi = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 706, 256, 86, 0xc00, 0,
+				triggerMachineByHashCallback, "fl state machine");
 
 			_G(kernel).trigger_mode = KT_DAEMON;
-			sendWSMessage_10000(1, _machine1, _clasped1, 1, 16, 400,
-				_clasped4, 1, 6, 0);
+			sendWSMessage_10000(1, _fengLi, _feng1, 1, 16, 400,
+				_feng4, 1, 6, 0);
 			_val14 = _val15 = 1;
 			setFengActive(false);
 			_val13 = 0;
@@ -1197,18 +1197,18 @@ void Room303::parser() {
 		switch (_G(kernel).trigger) {
 		case 1:
 			setShadow5Alt(false);
-			sendWSMessage_10000(_machine1, 480, 256, 7, 2, 1);
+			sendWSMessage_10000(_fengLi, 480, 256, 7, 2, 1);
 			break;
 
 		case 2:
 			setShadow5(true);
-			sendWSMessage_60000(_machine1);
-			_machine1 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 480, 256, 86, 0xc00, 1,
-				triggerMachineByHashCallbackNegative, "fl state machine");
+			sendWSMessage_60000(_fengLi);
+			_fengLi = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 480, 256, 86, 0xc00, 1,
+				triggerMachineByHashCallback, "fl state machine");
 
 			_G(kernel).trigger_mode = KT_DAEMON;
-			sendWSMessage_10000(1, _machine1, _clasped1, 1, 16, 400,
-				_clasped4, 1, 6, 0);
+			sendWSMessage_10000(1, _fengLi, _feng1, 1, 16, 400,
+				_feng4, 1, 6, 0);
 			_val14 = _val15 = 1;
 			setFengActive(true);
 			_val13 = 1;
@@ -1624,7 +1624,7 @@ void Room303::parser() {
 			_G(player_info).scale, _G(player_info).x, _G(player_info).y);
 		_machine3 = TriggerMachineByHash(1, 1, 0, 0, 0, 0,
 			_G(player_info).x, _G(player_info).y, _G(player_info).scale + 1,
-			0x500, 1, triggerMachineByHashCallbackNegative, "rip");
+			0x500, 1, triggerMachineByHashCallback, "rip");
 
 		_G(kernel).trigger_mode = KT_DAEMON;
 		sendWSMessage_10000(1, _machine3, 1, 1, 1, 300, 1, 1, 1, 0);
@@ -1660,14 +1660,14 @@ void Room303::parser() {
 				_G(player_info).scale, _G(player_info).x, _G(player_info).y);
 			_machine3 = TriggerMachineByHash(1, 1, 0, 0, 0, 0,
 				_G(player_info).x, _G(player_info).y, _G(player_info).scale + 1,
-				0x500, 0, triggerMachineByHashCallbackNegative, "rip");
+				0x500, 0, triggerMachineByHashCallback, "rip");
 
 		} else {
 			_ripsh2 = series_show("ripsh2", 0xf00, 128, -1, -1, 0,
 				_G(player_info).scale, _G(player_info).x, _G(player_info).y);
 			_machine3 = TriggerMachineByHash(1, 1, 0, 0, 0, 0,
 				_G(player_info).x, _G(player_info).y, _G(player_info).scale + 1,
-				0x500, 1, triggerMachineByHashCallbackNegative, "rip");
+				0x500, 1, triggerMachineByHashCallback, "rip");
 		}
 
 		_G(kernel).trigger_mode = KT_DAEMON;
@@ -1736,18 +1736,18 @@ void Room303::setupMei() {
 	_mei2 = series_load("MC NY hand on hip pos4");
 	_mei3 = series_load("MC NY hand out talk pos4");
 	_mei = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 357, 255, 86, 0xf00, 0,
-		triggerMachineByHashCallbackNegative, "mc");
+		triggerMachineByHashCallback, "mc");
 
 	_G(kernel).trigger_mode = KT_DAEMON;
 	sendWSMessage_10000(1, _mei, _mei1, 1, 1, 200, _mei1, 1, 1, 0);
 	_val10 = _val11 = 0;
 }
 
-void Room303::loadClasped() {
-	_clasped1 = series_load("hands clasped pos5");
-	_clasped2 = series_load("shrug head shake pos5");
-	_clasped3 = series_load("hands clasped bow pos5");
-	_clasped4 = series_load("hands clasped flame loop pos5");
+void Room303::loadFengLi() {
+	_feng1 = series_load("hands clasped pos5");
+	_feng2 = series_load("shrug head shake pos5");
+	_feng3 = series_load("hands clasped bow pos5");
+	_feng4 = series_load("hands clasped flame loop pos5");
 }
 
 void Room303::setFengActive(bool flag) {
@@ -1995,12 +1995,12 @@ void Room303::priestTalkCallback(frac16 myMessage, machine *sender) {
 }
 
 void Room303::priestTalk(bool flag, int trigger) {
-	ws_hide_walker(_machine1);
-	_G(globals)[GLB_TEMP_1] = _clasped1 << 24;
+	ws_hide_walker(_fengLi);
+	_G(globals)[GLB_TEMP_1] = _feng1 << 24;
 	_G(globals)[GLB_TEMP_2] = 0xD << 24;
-	_G(globals)[GLB_TEMP_3] = _clasped3 << 24;
+	_G(globals)[GLB_TEMP_3] = _feng3 << 24;
 	_G(globals)[GLB_TEMP_4] = 0xD << 24;
-	_G(globals)[GLB_TEMP_9] = _clasped4 << 24;
+	_G(globals)[GLB_TEMP_9] = _feng4 << 24;
 	_G(globals)[GLB_TEMP_10] = 0xD << 24;
 	_G(globals)[GLB_TEMP_5] = (flag ? 480 : 705) << 16;
 	_G(globals)[GLB_TEMP_6] = 1 << 24;
diff --git a/engines/m4/riddle/rooms/section3/room303.h b/engines/m4/riddle/rooms/section3/room303.h
index 2cba7f94d1b..20d3cf258f8 100644
--- a/engines/m4/riddle/rooms/section3/room303.h
+++ b/engines/m4/riddle/rooms/section3/room303.h
@@ -55,13 +55,13 @@ private:
 	int _mei2 = 0;
 	int _mei3 = 0;
 	machine *_mei = nullptr;
-	int _clasped1 = 0;
-	int _clasped2 = 0;
-	int _clasped3 = 0;
-	int _clasped4 = 0;
+	int _feng1 = 0;
+	int _feng2 = 0;
+	int _feng3 = 0;
+	int _feng4 = 0;
 	machine *_shadow4 = nullptr;
 	machine *_shadow5 = nullptr;
-	machine *_machine1 = nullptr;
+	machine *_fengLi = nullptr;
 	machine *_machine2 = nullptr;
 	machine *_machine3 = nullptr;
 	machine *_ripPonders = nullptr;
@@ -84,7 +84,7 @@ private:
 	static void escapePressed(void *, void *);
 
 	void setupMei();
-	void loadClasped();
+	void loadFengLi();
 	void setFengActive(bool flag);
 	void setShadow4(bool active);
 	void setShadow5(bool active);
diff --git a/engines/m4/riddle/rooms/section3/room305.cpp b/engines/m4/riddle/rooms/section3/room305.cpp
index 46047fa26ce..226109e6612 100644
--- a/engines/m4/riddle/rooms/section3/room305.cpp
+++ b/engines/m4/riddle/rooms/section3/room305.cpp
@@ -165,7 +165,7 @@ void Room305::init() {
 	case KERNEL_RESTORING_GAME:
 		if (player_been_here(201)) {
 			_stander = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 494, 278, 73, 0xf00, 1,
-				triggerMachineByHashCallbackNegative, "fl stander");
+				triggerMachineByHashCallback, "fl stander");
 			sendWSMessage_10000(1, _stander, _feng3, 1, 1, 400, _feng3, 1, 6, 0);
 			_val6 = _val7 = 1;
 			setShadow5(true);
@@ -187,7 +187,7 @@ void Room305::init() {
 				_rip5 = series_show("ripsh1", 0xf00, 0, -1, -1, 0,
 					_G(player_info).scale, _G(player_info).x, _G(player_info).y);
 				_rip6 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0xf00, false,
-					triggerMachineByHashCallbackNegative, "rip reach");
+					triggerMachineByHashCallback, "rip reach");
 				sendWSMessage_10000(1, _rip6, _rip4, 5, 5, -1, _rip4, 5, 5, 0);
 			}
 
@@ -215,7 +215,7 @@ void Room305::init() {
 
 			if (player_been_here(201)) {
 				_stander = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 494, 278, 73, 0xf00, true,
-					triggerMachineByHashCallbackNegative, "fl stander");
+					triggerMachineByHashCallback, "fl stander");
 				_G(kernel).trigger_mode = KT_DAEMON;
 				sendWSMessage_10000(1, _stander, _feng3, 1, 1, 400, _feng3, 1, 6, 0);
 				_val6 = _val7 = 1;
@@ -274,7 +274,7 @@ void Room305::daemon() {
 	case 42:
 		sendWSMessage_60000(_stander);
 		_stander = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 494, 278, 73, 0xf00, 1,
-			triggerMachineByHashCallbackNegative, "fl stander");
+			triggerMachineByHashCallback, "fl stander");
 		_G(kernel).trigger_mode = KT_DAEMON;
 		sendWSMessage_10000(1, _stander, _feng3, 1, 1, 400, _feng3, 1, 6, 1);
 		_val6 = _val7 = 1;
@@ -633,7 +633,7 @@ void Room305::parser() {
 
 		_rip6 = TriggerMachineByHash(1, 1, 0, 0, 0, 0,
 			_G(player_info).x, _G(player_info).y, _G(player_info).scale + 1,
-			0x500, 0, triggerMachineByHashCallbackNegative, "rip");
+			0x500, 0, triggerMachineByHashCallback, "rip");
 		_G(kernel).trigger_mode = KT_DAEMON;
 		sendWSMessage_10000(1, _rip6, 1, 1, 1,
 			_G(flags)[V000] == 1 ? 200 : 300,
@@ -724,7 +724,7 @@ void Room305::parser() {
 				_rip5 = series_show("ripsh1", 0xf00, 128, -1, -1, 0,
 					_G(player_info).scale, _G(player_info).x, _G(player_info).y);
 				_rip6 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0xf00, false,
-					triggerMachineByHashCallbackNegative, "rip reach");
+					triggerMachineByHashCallback, "rip reach");
 
 				sendWSMessage_10000(1, _rip6, _rip4, 1, 5, 1, _rip4, 5, 5, 0);
 			}
diff --git a/engines/m4/riddle/rooms/section4/room401.cpp b/engines/m4/riddle/rooms/section4/room401.cpp
index b2d8ca7d7a3..f541fcd7be9 100644
--- a/engines/m4/riddle/rooms/section4/room401.cpp
+++ b/engines/m4/riddle/rooms/section4/room401.cpp
@@ -68,7 +68,7 @@ void Room401::init() {
 	_401rp01 = series_load("401rp01");
 
 	_agent = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x500, 0,
-		triggerMachineByHashCallbackNegative, "agent");
+		triggerMachineByHashCallback, "agent");
 	sendWSMessage_10000(1, _agent, _401a01, 1, 1, 100, _401a01, 1, 1, 0);
 	_val5 = 1;
 	_val6 = 0;
@@ -281,7 +281,7 @@ void Room401::daemon() {
 
 	case 102:
 		_ripMach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x400, 0,
-			triggerMachineByHashCallbackNegative, "rip");
+			triggerMachineByHashCallback, "rip");
 		sendWSMessage_10000(1, _ripMach, _401rp01, 11, 11, 200, _401rp01, 11, 11, 0);
 		_val7 = _val3 = 0;
 
@@ -302,7 +302,7 @@ void Room401::daemon() {
 	case 104:
 		series_show("401a06", 0);
 		_ripMach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x400, 0,
-			triggerMachineByHashCallbackNegative, "rip");
+			triggerMachineByHashCallback, "rip");
 		sendWSMessage_10000(1, _ripMach, _401rp01, 11, 11, 200, _401rp01, 11, 11, 0);
 		_val7 = _val3 = 0;
 
@@ -319,7 +319,7 @@ void Room401::daemon() {
 
 	case 106:
 		_ripMach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x400, 0,
-			triggerMachineByHashCallbackNegative, "rip");
+			triggerMachineByHashCallback, "rip");
 		sendWSMessage_10000(1, _ripMach, _401rp01, 11, 11, 200, _401rp01, 11, 11, 0);
 		_val7 = _val3 = 0;
 
@@ -373,7 +373,7 @@ void Room401::daemon() {
 	case 300:
 		ws_hide_walker();
 		_ripMach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x400, 0,
-			triggerMachineByHashCallbackNegative, "rip");
+			triggerMachineByHashCallback, "rip");
 		sendWSMessage_10000(1, _ripMach, _401rp01, 1, 11, 305, _401rp01, 11, 11, 0);
 		_val6 = 5;
 
@@ -397,7 +397,7 @@ void Room401::daemon() {
 	case 322:
 		sendWSMessage_10000(1, _ripMach, _401rp01, 11, 1, 324, _401rp01, 1, 1, 0);
 		_agent = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x600, 0,
-			triggerMachineByHashCallbackNegative, "agent");
+			triggerMachineByHashCallback, "agent");
 		sendWSMessage_10000(1, _agent, _401a01, 1, 1, 100, _401a01, 1, 1, 0);
 		break;
 
@@ -503,7 +503,7 @@ void Room401::daemon() {
 
 	case 515:
 		_ripMach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x400, 0,
-			triggerMachineByHashCallbackNegative, "rip");
+			triggerMachineByHashCallback, "rip");
 		sendWSMessage_10000(1, _ripMach, _401rp01, 1, 11, 516, _401rp01, 11, 11, 0);
 		break;
 
@@ -524,7 +524,7 @@ void Room401::daemon() {
 		_G(flags)[V366] = 1;
 
 		_ripMach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x400, 0,
-			triggerMachineByHashCallbackNegative, "rip");
+			triggerMachineByHashCallback, "rip");
 		sendWSMessage_10000(1, _ripMach, _401rp01, 11, 1, 520, _401rp01, 1, 1, 0);
 		_val6 = 0;
 		_ctr1 = 0;
@@ -549,7 +549,7 @@ void Room401::daemon() {
 	case 613:
 		ws_hide_walker();
 		_ripMach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x400, 0,
-			triggerMachineByHashCallbackNegative, "rip");
+			triggerMachineByHashCallback, "rip");
 		sendWSMessage_10000(1, _agent, _401rp01, 1, 11, 616, _401rp01, 11, 11, 0);
 		break;
 
@@ -566,7 +566,7 @@ void Room401::daemon() {
 	case 618:
 		series_show("401a06", 0x600, 16);
 		_agent = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x600, 0,
-			triggerMachineByHashCallbackNegative, "agent");
+			triggerMachineByHashCallback, "agent");
 		sendWSMessage_10000(1, _agent, _401a01, 1, 1, 100, _401a01, 1, 1, 0);
 		sendWSMessage_10000(1, _ripMach, _401rp01, 11, 1, 620, _401rp01, 1, 1, 0);
 		_G(flags)[GLB_TEMP_13] = 1;
@@ -620,7 +620,7 @@ void Room401::daemon() {
 	case 715:
 		ws_hide_walker();
 		_ripMach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x400, 0,
-			triggerMachineByHashCallbackNegative, "rip");
+			triggerMachineByHashCallback, "rip");
 		sendWSMessage_10000(1, _ripMach, _401a04, 1, 11, 716, _401rp01, 11, 11, 0);
 		break;
 
@@ -635,7 +635,7 @@ void Room401::daemon() {
 		inv_move_object("TURTLE TREATS", 305);
 
 		_ripMach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x400, 0,
-			triggerMachineByHashCallbackNegative, "rip");
+			triggerMachineByHashCallback, "rip");
 		sendWSMessage_10000(1, _ripMach, _401rp01, 11, 1, 720, _401rp01, 1, 1, 0);
 		_ctr1 = 0;
 		break;
@@ -652,7 +652,7 @@ void Room401::daemon() {
 		sendWSMessage_10000(1, _ripMach, _401rp01, 11, 1, 826, _401rp01, 1, 1, 0);
 		inv_give_to_player("ROMANOV EMERALD");
 		_agent = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x600, 0,
-			triggerMachineByHashCallbackNegative, "agent");
+			triggerMachineByHashCallback, "agent");
 		sendWSMessage_10000(1, _agent, _401a01, 1, 1, 100, _401a01, 1, 1, 0);
 		_val6 = 0;
 		_ctr1 = 0;
@@ -816,7 +816,7 @@ void Room401::parser() {
 		ws_hide_walker();
 		_G(kernel).trigger_mode = KT_DAEMON;
 		_ripMach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x400, 0,
-			triggerMachineByHashCallbackNegative, "rip");
+			triggerMachineByHashCallback, "rip");
 		sendWSMessage_10000(1, _ripMach, _401rp01, 1, 11, 200, _401rp01, 11, 11, 0);
 
 		_val7 = 0;
diff --git a/engines/m4/riddle/rooms/section4/room402.cpp b/engines/m4/riddle/rooms/section4/room402.cpp
index d22629cd9d7..eacb177e42a 100644
--- a/engines/m4/riddle/rooms/section4/room402.cpp
+++ b/engines/m4/riddle/rooms/section4/room402.cpp
@@ -106,7 +106,7 @@ void Room402::init() {
 			_ripHeadTurn = series_load("RIP TREK HEAD TURN POS3");
 
 			_wolfieMach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0x200, 0,
-				triggerMachineByHashCallbackNegative, "WOLFIE");
+				triggerMachineByHashCallback, "WOLFIE");
 			sendWSMessage_10000(1, _wolfieMach, _wolfClipping, 1, 10, 110,
 				_wolfClipping, 10, 10, 0);
 			_val12 = 2001;
@@ -121,7 +121,7 @@ void Room402::init() {
 				_ripDownStairs = series_load("RIP DOWN STAIRS");
 				ws_hide_walker();
 				_ripEnterLeave = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x600, 0,
-					triggerMachineByHashCallbackNegative, "rip leaving castle");
+					triggerMachineByHashCallback, "rip leaving castle");
 				sendWSMessage_10000(1, _ripEnterLeave, _ripDownStairs, 1, 27, 55,
 					_ripDownStairs, 27, 27, 0);
 			}
@@ -146,7 +146,7 @@ void Room402::init() {
 				_ripDownStairs = series_load("RIP DOWN STAIRS");
 				ws_hide_walker();
 				_ripEnterLeave = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x600, 0,
-					triggerMachineByHashCallbackNegative, "rip leaving castle");
+					triggerMachineByHashCallback, "rip leaving castle");
 				sendWSMessage_10000(1, _ripEnterLeave, _ripDownStairs, 1, 27, 55,
 					_ripDownStairs, 27, 27, 0);
 				break;
@@ -177,7 +177,7 @@ void Room402::init() {
 				_wolfWantsMoney = series_load("WOLF WANTS MONEY");
 
 				_wolfieMach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0x200, 0,
-					triggerMachineByHashCallbackNegative, "WOLFIE");
+					triggerMachineByHashCallback, "WOLFIE");
 
 				if (_val6) {
 					sendWSMessage_10000(1, _wolfieMach, _wolfWantsMoney, 16, 16, -1,
@@ -205,7 +205,7 @@ void Room402::init() {
 				ws_hide_walker();
 
 				_ripEnterLeave = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x600, 0,
-					triggerMachineByHashCallbackNegative, "rip leaving castle");
+					triggerMachineByHashCallback, "rip leaving castle");
 				sendWSMessage_10000(1, _ripEnterLeave, _ripDownStairs, 1, 27, 55,
 					_ripDownStairs, 27, 27, 0);
 				break;
@@ -223,7 +223,7 @@ void Room402::init() {
 					_ripLeanWall = series_load("Rip leans against far wall");
 
 					_wolfieMach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0x200, 0,
-						triggerMachineByHashCallbackNegative, "WOLFIE");
+						triggerMachineByHashCallback, "WOLFIE");
 					_val12 = 2001;
 					_val13 = 2300;
 
@@ -263,7 +263,7 @@ void Room402::init() {
 	if (_G(flags)[V139]) {
 		_wolfClipping = series_load("WOLF CLIPPING LOOP");
 		_wolfieMach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0x200, 0,
-			triggerMachineByHashCallbackNegative, "WOLFIE");
+			triggerMachineByHashCallback, "WOLFIE");
 		_val12 = 2001;
 		_val13 = 2300;
 
@@ -323,7 +323,7 @@ void Room402::daemon() {
 	case 27:
 		ws_hide_walker();
 		_ripEnterLeave = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0x100, 0,
-			triggerMachineByHashCallbackNegative, "RIP talks to Wolife");
+			triggerMachineByHashCallback, "RIP talks to Wolife");
 		sendWSMessage_10000(1, _ripEnterLeave, _ripTalkWolf, 1, 13, 28,
 			_ripTalkWolf, 13, 13, 0);
 		digi_play("402r03", 1);
@@ -429,10 +429,10 @@ void Room402::daemon() {
 
 				_ripEnterLeave = TriggerMachineByHash(1, 1, 0, 0, 0, 0,
 					_G(player_info).x, _G(player_info).y, _G(player_info).scale, 0x100, 0,
-					triggerMachineByHashCallbackNegative, "rip talks wolf");
+					triggerMachineByHashCallback, "rip talks wolf");
 				_safariShadow = TriggerMachineByHash(1, 1, 0, 0, 0, 0,
 					_G(player_info).x, _G(player_info).y, _G(player_info).scale, 0x100, 0,
-					triggerMachineByHashCallbackNegative, "rip talks wolf SHADOW");
+					triggerMachineByHashCallback, "rip talks wolf SHADOW");
 
 				sendWSMessage_10000(1, _ripEnterLeave, _ripTalker, 1, 1, -1,
 					_ripTalker, 1, 1, 0);
@@ -506,7 +506,7 @@ void Room402::daemon() {
 			case 1120:
 				terminateMachineAndNull(_ripEnterLeave);
 				_ripEnterLeave = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0x100, 0,
-					triggerMachineByHashCallbackNegative, "rip talks wolf");
+					triggerMachineByHashCallback, "rip talks wolf");
 				_val11 = 1122;
 				_letter = series_load("RIP SHOWS WOLF THE LETTER");
 				sendWSMessage_10000(1, _ripEnterLeave, _letter, 1, 12, 103,
@@ -535,7 +535,7 @@ void Room402::daemon() {
 
 				_ripEnterLeave = TriggerMachineByHash(1, 1, 0, 0, 0, 0,
 					_G(player_info).x, _G(player_info).y, _G(player_info).scale, 0x100, 0,
-					triggerMachineByHashCallbackNegative, "rip talks wolf");
+					triggerMachineByHashCallback, "rip talks wolf");
 				_val10 = 1000;
 				_val11 = 1103;
 				sendWSMessage_10000(1, _ripEnterLeave, _ripTalker, 1, 1, 102,
@@ -554,12 +554,12 @@ void Room402::daemon() {
 				player_update_info();
 				_ripEnterLeave = TriggerMachineByHash(1, 1, 0, 0, 0, 0,
 					_G(player_info).x, _G(player_info).y, _G(player_info).scale, 0x100, 0,
-					triggerMachineByHashCallbackNegative, "rip talks wolf");
+					triggerMachineByHashCallback, "rip talks wolf");
 
 				player_update_info();
 				_safariShadow = TriggerMachineByHash(1, 1, 0, 0, 0, 0,
 					_G(player_info).x, _G(player_info).y, _G(player_info).scale, 0x200, 0,
-					triggerMachineByHashCallbackNegative, "rip talks wolf SHADOW");
+					triggerMachineByHashCallback, "rip talks wolf SHADOW");
 				sendWSMessage_10000(1, _safariShadow, _shadow3, 1, 1, -1,
 					_shadow3, 1, 1, 0);
 				ws_hide_walker();
@@ -781,12 +781,12 @@ void Room402::daemon() {
 
 			case 2240:
 				_ripEnterLeave = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0x100, 0,
-					triggerMachineByHashCallbackNegative, "rip talks wolf");
+					triggerMachineByHashCallback, "rip talks wolf");
 				player_update_info();
 
 				_safariShadow = TriggerMachineByHash(1, 1, 0, 0, 0, 0,
 					_G(player_info).x, _G(player_info).y, _G(player_info).scale, 0x200, 0,
-					triggerMachineByHashCallbackNegative, "rip talks wolf SHADOW");
+					triggerMachineByHashCallback, "rip talks wolf SHADOW");
 				sendWSMessage_10000(1, _safariShadow, _shadow3, 1, 1, -1,
 					_shadow3, 1, 1, 0);
 				ws_hide_walker();
@@ -1026,12 +1026,12 @@ void Room402::daemon() {
 
 	case 200:
 		_ripEnterLeave = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0x100, 0,
-			triggerMachineByHashCallbackNegative, "rip talks wolf");
+			triggerMachineByHashCallback, "rip talks wolf");
 
 		player_update_info();
 		_safariShadow = TriggerMachineByHash(1, 1, 0, 0, 0, 0,
 			_G(player_info).x, _G(player_info).y, _G(player_info).scale, 0x200, 0,
-			triggerMachineByHashCallbackNegative, "rip talks wolf SHADOW");
+			triggerMachineByHashCallback, "rip talks wolf SHADOW");
 		sendWSMessage_10000(1, _ripEnterLeave, _ripTalkWolf, 1, 7, -1,
 			_ripTalkWolf, 7, 7, 0);
 		sendWSMessage_10000(1, _wolfieMach, _wolfClippersDown, 1, 8, 201,
@@ -1093,11 +1093,11 @@ void Room402::daemon() {
 
 	case 210:
 		_ripEnterLeave = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0x100, 0,
-			triggerMachineByHashCallbackNegative, "rip talks wolf");
+			triggerMachineByHashCallback, "rip talks wolf");
 		player_update_info();
 		_safariShadow = TriggerMachineByHash(1, 1, 0, 0, 0, 0,
 			_G(player_info).x, _G(player_info).y, _G(player_info).scale, 0x200, 0,
-			triggerMachineByHashCallbackNegative, "rip talks wolf SHADOW");
+			triggerMachineByHashCallback, "rip talks wolf SHADOW");
 
 		sendWSMessage_10000(1, _safariShadow, _shadow3, 1, 1, -1,
 			_shadow3, 1, 1, 0);
@@ -1165,11 +1165,11 @@ void Room402::daemon() {
 
 	case 221:
 		_ripEnterLeave = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0x100, 0,
-			triggerMachineByHashCallbackNegative, "rip talks wolf");
+			triggerMachineByHashCallback, "rip talks wolf");
 		player_update_info();
 		_safariShadow = TriggerMachineByHash(1, 1, 0, 0, 0, 0,
 			_G(player_info).x, _G(player_info).y, _G(player_info).scale, 0x200, 0,
-			triggerMachineByHashCallbackNegative, "rip talks wolf SHADOW");
+			triggerMachineByHashCallback, "rip talks wolf SHADOW");
 
 		sendWSMessage_10000(1, _safariShadow, _shadow3, 1, 1, -1,
 			_shadow3, 1, 1, 0);
@@ -1218,11 +1218,11 @@ void Room402::daemon() {
 
 	case 230:
 		_ripEnterLeave = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0x100, 0,
-			triggerMachineByHashCallbackNegative, "trip talks wolf");
+			triggerMachineByHashCallback, "trip talks wolf");
 		player_update_info();
 		_safariShadow = TriggerMachineByHash(1, 1, 0, 0, 0, 0,
 			_G(player_info).x, _G(player_info).y, _G(player_info).scale, 0x200, 0,
-			triggerMachineByHashCallbackNegative, "rip talks wolf SHADOW");
+			triggerMachineByHashCallback, "rip talks wolf SHADOW");
 
 		sendWSMessage_10000(1, _safariShadow, _shadow3, 1, 1, -1,
 			_shadow3, 1, 1, 0);
@@ -1297,12 +1297,12 @@ void Room402::daemon() {
 	case 350:
 		ws_hide_walker();
 		_ripEnterLeave = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0x100, 0,
-			triggerMachineByHashCallbackNegative, "rip leans against wall");
+			triggerMachineByHashCallback, "rip leans against wall");
 		sendWSMessage_10000(1, _ripEnterLeave, _ripLeanWall, 1, 23, 351,
 			_ripLeanWall, 23, 23, 0);
 
 		_turtlePopupMach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0, 0,
-			triggerMachineByHashCallbackNegative, "TURTLE POPUP");
+			triggerMachineByHashCallback, "TURTLE POPUP");
 		_val14 = 0;
 		digi_preload("950_s27", 950);
 		break;
@@ -1830,7 +1830,7 @@ void Room402::useTopiary() {
 		_safariShadow = series_place_sprite("SAFARI SHADOW 3", 0,
 			_G(player_info).x, _G(player_info).y, _G(player_info).scale, 0xf00);
 		_ripEnterLeave = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0x200, 0,
-			triggerMachineByHashCallbackNegative, "rip entering castle");
+			triggerMachineByHashCallback, "rip entering castle");
 		sendWSMessage_10000(1, _ripEnterLeave, _ripMessesBush, 1, 10, 1,
 			_ripMessesBush, 10, 10, 0);
 		break;
@@ -1869,7 +1869,7 @@ void Room402::enterCastle() {
 		ws_hide_walker();
 
 		_ripEnterLeave = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x600, 0,
-			triggerMachineByHashCallbackNegative, "rip entering castle");
+			triggerMachineByHashCallback, "rip entering castle");
 		sendWSMessage_10000(1, _ripEnterLeave, _ripClimbKnock, 1,
 			69, 1, _ripClimbKnock, 69, 69, 0);
 		break;
@@ -1886,7 +1886,7 @@ void Room402::enterCastle() {
 
 	case 3:
 		_castleDoor = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0, 0,
-			triggerMachineByHashCallbackNegative, "castle door");
+			triggerMachineByHashCallback, "castle door");
 		sendWSMessage_10000(1, _castleDoor, _doorOpens, 1, 2, -1,
 			_doorOpens, 2, 2, 0);
 		digi_play("402_S05", 1, 255, 4);
diff --git a/engines/m4/riddle/rooms/section4/room403.cpp b/engines/m4/riddle/rooms/section4/room403.cpp
index 87cb526a453..c5e4e6425ed 100644
--- a/engines/m4/riddle/rooms/section4/room403.cpp
+++ b/engines/m4/riddle/rooms/section4/room403.cpp
@@ -152,7 +152,7 @@ void Room403::init() {
 				_wolfEdger = series_load("WOLF EDGER LOOP");
 
 				_wolfie = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x300, 0,
-					triggerMachineByHashCallbackNegative, "WOLFIE");
+					triggerMachineByHashCallback, "WOLFIE");
 
 				if (_val12) {
 					sendWSMessage_10000(1, _wolfie, _wolfTurnHand, 45, 45, -1,
@@ -169,7 +169,7 @@ void Room403::init() {
 				ws_demand_facing(11);
 				ws_hide_walker();
 				_ripOnLadder = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x100, 0,
-					triggerMachineByHashCallbackNegative, "RIP on ladder/plank");
+					triggerMachineByHashCallback, "RIP on ladder/plank");
 
 				switch (_val10) {
 				case 1:
@@ -233,7 +233,7 @@ void Room403::init() {
 				_wolfEdger = series_load("WOLF EDGER LOOP");
 
 				_wolfie = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x300, 0,
-					triggerMachineByHashCallbackNegative, "WOLFIE");
+					triggerMachineByHashCallback, "WOLFIE");
 				sendWSMessage_10000(1, _wolfie, _wolfEdger, 1, 6, 110,
 					_wolfEdger, 6, 6, 0);
 				_val8 = 2001;
@@ -293,10 +293,10 @@ void Room403::daemon() {
 				player_set_commands_allowed(false);
 
 				_ripOnLadder = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x100, 0,
-					triggerMachineByHashCallbackNegative, "rip takes wolf");
+					triggerMachineByHashCallback, "rip takes wolf");
 				_ripTalksWolf = TriggerMachineByHash(1, 1, 0, 0, 0, 0,
 					_G(player_info).x, _G(player_info).y, _G(player_info).scale, 0xf00, 0,
-					triggerMachineByHashCallbackNegative, "rip talks wolf SHADOW");
+					triggerMachineByHashCallback, "rip talks wolf SHADOW");
 
 				sendWSMessage_10000(1, _ripOnLadder, _ripTalkPay, 1, 10, 102,
 					_ripTalkPay, 10, 10, 0);
@@ -395,7 +395,7 @@ void Room403::daemon() {
 				ws_hide_walker();
 
 				_ripOnLadder = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x100, 0,
-					triggerMachineByHashCallbackNegative, "RIP climbs ladder");
+					triggerMachineByHashCallback, "RIP climbs ladder");
 				sendWSMessage_10000(1, _ripOnLadder, _ripClimbsLadder, 1, 12, 103,
 					_ripClimbsLadder, 12, 12, 0);
 				_val7 = 1202;
@@ -518,7 +518,7 @@ void Room403::daemon() {
 				ws_hide_walker();
 
 				_ripOnLadder = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x100, 0,
-					triggerMachineByHashCallbackNegative, "RIP climbs plank");
+					triggerMachineByHashCallback, "RIP climbs plank");
 				sendWSMessage_10000(1, _ripOnLadder, _ripLegUp, 1, 10, 103,
 					_ripLegUp, 10, 10, 0);
 				_val7 = 1302;
@@ -792,7 +792,7 @@ void Room403::daemon() {
 			case 2230:
 				terminateMachineAndNull(_wolfie);
 				_wolfie = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x300, 0,
-					triggerMachineByHashCallbackNegative, "WOLFIE");
+					triggerMachineByHashCallback, "WOLFIE");
 				sendWSMessage_10000(1, _wolfie, _wolfTurnHand, 11, 45, 111,
 					_wolfTurnHand, 45, 45, 0);
 				_val9 = 2231;
@@ -809,12 +809,12 @@ void Room403::daemon() {
 
 			case 2232:
 				_ripOnLadder = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x100, 0,
-					triggerMachineByHashCallbackNegative, "rip talks wolf");
+					triggerMachineByHashCallback, "rip talks wolf");
 				player_update_info();
 
 				_ripTalksWolf = TriggerMachineByHash(1, 1, 0, 0, 0, 0,
 					_G(player_info).x, _G(player_info).y, _G(player_info).scale, 0xf00, 0,
-					triggerMachineByHashCallbackNegative, "rip talks wolf SHADOW");
+					triggerMachineByHashCallback, "rip talks wolf SHADOW");
 				sendWSMessage_10000(1, _ripTalksWolf, _safariShadow, 1, 1, -1,
 					_safariShadow, 1, 1, 0);
 
@@ -978,12 +978,12 @@ void Room403::daemon() {
 	case 200:
 		player_set_commands_allowed(false);
 		_ripOnLadder = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x100, 0,
-			triggerMachineByHashCallbackNegative, "rip talks wolf");
+			triggerMachineByHashCallback, "rip talks wolf");
 
 		player_update_info();
 		_ripTalksWolf = TriggerMachineByHash(1, 1, 0, 0, 0, 0,
 			_G(player_info).x, _G(player_info).y, _G(player_info).scale, 0xf00, 0,
-			triggerMachineByHashCallbackNegative, "rip talks wolf SHADOW");
+			triggerMachineByHashCallback, "rip talks wolf SHADOW");
 		sendWSMessage_10000(1, _ripTalksWolf, _safariShadow, 1, 1, -1,
 			_safariShadow, 1, 1, 0);
 
@@ -1032,12 +1032,12 @@ void Room403::daemon() {
 	case 210:
 		player_set_commands_allowed(false);
 		_ripOnLadder = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x100, 0,
-			triggerMachineByHashCallbackNegative, "rip talks wolf");
+			triggerMachineByHashCallback, "rip talks wolf");
 
 		player_update_info();
 		_ripTalksWolf = TriggerMachineByHash(1, 1, 0, 0, 0, 0,
 			_G(player_info).x, _G(player_info).y, _G(player_info).scale, 0xf00, 0,
-			triggerMachineByHashCallbackNegative, "rip talks wolf SHADOW");
+			triggerMachineByHashCallback, "rip talks wolf SHADOW");
 
 		sendWSMessage_10000(1, _ripTalksWolf, _safariShadow, 1, 1, -1,
 			_safariShadow, 1, 1, 0);
@@ -1111,12 +1111,12 @@ void Room403::daemon() {
 	case 220:
 		player_set_commands_allowed(false);
 		_ripOnLadder = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x100, 0,
-			triggerMachineByHashCallbackNegative, "rip talks wolf");
+			triggerMachineByHashCallback, "rip talks wolf");
 
 		player_update_info();
 		_ripTalksWolf = TriggerMachineByHash(1, 1, 0, 0, 0, 0,
 			_G(player_info).x, _G(player_info).y, _G(player_info).scale, 0xf00, 0,
-			triggerMachineByHashCallbackNegative, "rip talks wolf SHADOW");
+			triggerMachineByHashCallback, "rip talks wolf SHADOW");
 
 		sendWSMessage_10000(1, _ripTalksWolf, _safariShadow, 1, 1, -1,
 			_safariShadow, 1, 1, 0);
@@ -1152,12 +1152,12 @@ void Room403::daemon() {
 	case 230:
 		player_set_commands_allowed(false);
 		_ripOnLadder = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x100, 0,
-			triggerMachineByHashCallbackNegative, "rip talks wolf");
+			triggerMachineByHashCallback, "rip talks wolf");
 
 		player_update_info();
 		_ripTalksWolf = TriggerMachineByHash(1, 1, 0, 0, 0, 0,
 			_G(player_info).x, _G(player_info).y, _G(player_info).scale, 0xf00, 0,
-			triggerMachineByHashCallbackNegative, "rip talks wolf SHADOW");
+			triggerMachineByHashCallback, "rip talks wolf SHADOW");
 
 		sendWSMessage_10000(1, _ripTalksWolf, _safariShadow, 1, 1, -1,
 			_safariShadow, 1, 1, 0);
@@ -1228,7 +1228,7 @@ void Room403::daemon() {
 
 	case 310:
 		_wolfWalker = triggerMachineByHash_3000(8, 8, *S4_NORMAL_DIRS, *S4_SHADOW_DIRS,
-			620, 313, 3, triggerMachineByHashCallbackNegative, "wolf_walker");
+			620, 313, 3, triggerMachineByHashCallback, "wolf_walker");
 		DisposePath(_wolfWalker->walkPath);
 		_wolfWalker->walkPath = CreateCustomPath(1067, 313, -1);
 		ws_custom_walk(_wolfWalker, 3, 312);
@@ -1259,7 +1259,7 @@ void Room403::daemon() {
 		sendWSMessage_60000(_wolfWalker);
 		_wolfIndicatesTomb = series_load("WOLF INDICATES TOMB");
 		_wolfie = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x900, 0,
-			triggerMachineByHashCallbackNegative, "WOLFIE");
+			triggerMachineByHashCallback, "WOLFIE");
 		sendWSMessage_10000(1, _wolfie, _wolfIndicatesTomb, 1, 93, -1,
 			_wolfIndicatesTomb, 93, 93, 0);
 		digi_play("403w01", 1, 255, 316);
@@ -1374,7 +1374,7 @@ void Room403::daemon() {
 		_G(flags)[V125] = 3;
 		_turtlePopup = series_load("403 turtle popup");
 		_wolfJustSo = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x100, 0,
-			triggerMachineByHashCallbackNegative, "Turtle POPUP");
+			triggerMachineByHashCallback, "Turtle POPUP");
 		sendWSMessage_10000(1, _wolfJustSo, _turtlePopup, 1, 46, -1,
 			_turtlePopup, 46, 46, 0);
 		midi_play("turtle", 255, 1, -1, 949);
@@ -1389,7 +1389,7 @@ void Room403::daemon() {
 		ws_hide_walker();
 
 		_ripOnLadder = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x300, 0,
-			triggerMachineByHashCallbackNegative, "RIP plants plank");
+			triggerMachineByHashCallback, "RIP plants plank");
 		sendWSMessage_10000(1, _ripOnLadder, _ripPutBoard, 57, 1, 443,
 			_ripPutBoard, 1, 1, 0);
 		break;
@@ -1880,7 +1880,7 @@ void Room403::edgerBell() {
 			player_update_info();
 			ws_hide_walker();
 			_ripOnLadder = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x100, 0,
-				triggerMachineByHashCallbackNegative, "RIP rings bell");
+				triggerMachineByHashCallback, "RIP rings bell");
 
 			terminateMachineAndNull(_bell);
 			sendWSMessage_10000(1, _ripOnLadder, _ripRingsBell, 1, 19, 1,
@@ -1924,7 +1924,7 @@ void Room403::edgerBell() {
 	case 5:
 		sendWSMessage_60000(_wolfWalker);
 		_wolfie = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x100, 0,
-			triggerMachineByHashCallbackNegative, "WOLFIE");
+			triggerMachineByHashCallback, "WOLFIE");
 		sendWSMessage_10000(1, _wolfie, _wolfAdmonish, 1, 18, 6,
 			_wolfAdmonish, 18, 18, 0);
 
@@ -2069,7 +2069,7 @@ bool Room403::takePlank() {
 			ws_hide_walker();
 
 			_ripOnLadder = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x300, 0,
-				triggerMachineByHashCallbackNegative, "RIP plants plank");
+				triggerMachineByHashCallback, "RIP plants plank");
 			sendWSMessage_10000(1, _ripOnLadder, _ripPutBoard, 57, 1, 2,
 				_ripPutBoard, 1, 1, 0);
 			return true;
diff --git a/engines/m4/riddle/rooms/section4/room404.cpp b/engines/m4/riddle/rooms/section4/room404.cpp
index 13e14aea3dc..4c39439887c 100644
--- a/engines/m4/riddle/rooms/section4/room404.cpp
+++ b/engines/m4/riddle/rooms/section4/room404.cpp
@@ -74,7 +74,7 @@ void Room404::init() {
 	switch (_G(game).previous_room) {
 	case KERNEL_RESTORING_GAME:
 		_butlerTalks = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0x900, 0,
-			triggerMachineByHashCallbackNegative, "BUTLER talks rip");
+			triggerMachineByHashCallback, "BUTLER talks rip");
 		sendWSMessage_10000(1, _butlerTalks, _butlerTalkLoop, 1, 1, -1,
 			_butlerTalkLoop, 1, 1, 0);
 		player_set_commands_allowed(true);
@@ -82,7 +82,7 @@ void Room404::init() {
 
 	case 405:
 		_butlerTalks = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0x900, 0,
-			triggerMachineByHashCallbackNegative, "BUTLER talks rip");
+			triggerMachineByHashCallback, "BUTLER talks rip");
 		sendWSMessage_10000(1, _butlerTalks, _butlerTalkLoop, 1, 1, -1,
 			_butlerTalkLoop, 1, 1, 0);
 		ws_demand_location(58, 347, 3);
@@ -91,7 +91,7 @@ void Room404::init() {
 
 	case 406:
 		_butlerTalks = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0x900, 0,
-			triggerMachineByHashCallbackNegative, "BUTLER talks rip");
+			triggerMachineByHashCallback, "BUTLER talks rip");
 		sendWSMessage_10000(1, _butlerTalks, _butlerTalkLoop, 1, 1, -1,
 			_butlerTalkLoop, 1, 1, 0);
 		ws_demand_location(174, 268, 3);
@@ -128,7 +128,7 @@ void Room404::daemon() {
 	case 21:
 		sendWSMessage_60000(_machine1);
 		_butlerTalks = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0x900, 0,
-			triggerMachineByHashCallbackNegative, "BUTLER talks rip");
+			triggerMachineByHashCallback, "BUTLER talks rip");
 		sendWSMessage_10000(1, _butlerTalks, _butlerTurns7, 1, 10, 23,
 			_butlerTalkLoop, 1, 1, 0);
 		break;
@@ -210,7 +210,7 @@ void Room404::daemon() {
 	case 42:
 		sendWSMessage_60000(_machine1);
 		_butlerTalks = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0x900, 0,
-			triggerMachineByHashCallbackNegative, "BUTLER talks rip");
+			triggerMachineByHashCallback, "BUTLER talks rip");
 		sendWSMessage_10000(1, _butlerTalks, _butlerTurns7, 1, 10, 43,
 			_butlerTalkLoop, 1, 1, 0);
 		break;
diff --git a/engines/m4/riddle/rooms/section4/room405.cpp b/engines/m4/riddle/rooms/section4/room405.cpp
index c7f8c48dcdd..4c7eedde8dc 100644
--- a/engines/m4/riddle/rooms/section4/room405.cpp
+++ b/engines/m4/riddle/rooms/section4/room405.cpp
@@ -79,7 +79,7 @@ void Room405::init() {
 
 	_candlesBurning = series_load("TWO CANDLES BURNING");
 	_candles = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0, 0,
-		triggerMachineByHashCallbackNegative, "candles");
+		triggerMachineByHashCallback, "candles");
 	sendWSMessage_10000(1, _candles, _candlesBurning, 1, 8, -1,
 		_candlesBurning, 1, 8, 0);
 
@@ -139,7 +139,7 @@ void Room405::daemon() {
 		ws_hide_walker();
 		sendWSMessage_150000(-1);
 		_baronWalker = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0x600, 0,
-			triggerMachineByHashCallbackNegative, "BARON talks rip");
+			triggerMachineByHashCallback, "BARON talks rip");
 		sendWSMessage_10000(1, _baronWalker, _baronShakeSit, 1, 48, 23,
 			_baronShakeSit, 48, 48, 0);
 		digi_play("405b01", 1);
@@ -153,7 +153,7 @@ void Room405::daemon() {
 
 	case 24:
 		_ripTalksBaron = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0x600, 0,
-			triggerMachineByHashCallbackNegative, "rip talks baron");
+			triggerMachineByHashCallback, "rip talks baron");
 		_val5 = 1000;
 		_val6 = 1103;
 		kernel_timing_trigger(1, 102);
@@ -223,7 +223,7 @@ void Room405::daemon() {
 
 	case 36:
 		_baronWalker = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0x600, 0,
-			triggerMachineByHashCallbackNegative, "BARON talks rip");
+			triggerMachineByHashCallback, "BARON talks rip");
 		sendWSMessage_10000(1, _baronWalker, _baronTalkLoop, 1, 1, 110,
 			_baronTalkLoop, 1, 1, 0);
 		kernel_timing_trigger(1, 37);
diff --git a/engines/m4/riddle/rooms/section4/room407.cpp b/engines/m4/riddle/rooms/section4/room407.cpp
index 8907bdf7a89..91fac9121c0 100644
--- a/engines/m4/riddle/rooms/section4/room407.cpp
+++ b/engines/m4/riddle/rooms/section4/room407.cpp
@@ -224,13 +224,13 @@ void Room407::init() {
 			_407pu08d = series_load("407PU08D");
 
 			_lockButton1 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0, 0,
-				triggerMachineByHashCallbackNegative, "LOCK button 1");
+				triggerMachineByHashCallback, "LOCK button 1");
 			_lockButton2 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0, 0,
-				triggerMachineByHashCallbackNegative, "LOCK button 2");
+				triggerMachineByHashCallback, "LOCK button 2");
 			_lockButton3 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0, 0,
-				triggerMachineByHashCallbackNegative, "LOCK button 3");
+				triggerMachineByHashCallback, "LOCK button 3");
 			_lockButton4 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0, 0,
-				triggerMachineByHashCallbackNegative, "LOCK button 4");
+				triggerMachineByHashCallback, "LOCK button 4");
 
 			sendWSMessage_10000(1, _lockButton1, _407pu08a,
 				_buttonFrame1 * 2 + 1, _buttonFrame1 * 2 + 1, -1,
@@ -350,7 +350,7 @@ void Room407::init() {
 		if (_frotz2 != 0) {
 			_407h = series_load("407H");
 			_niche = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0xb00, 0,
-				triggerMachineByHashCallbackNegative, "Jar opens cabinet door");
+				triggerMachineByHashCallback, "Jar opens cabinet door");
 			sendWSMessage_10000(1, _niche, _407h, 29, 29, -1, _407h, 29, 29, 0);
 
 			if (_frotz4 == 0)
@@ -524,7 +524,7 @@ void Room407::init() {
 		ws_hide_walker();
 
 		_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0xe00, 0,
-			triggerMachineByHashCallbackNegative, "RIP enters");
+			triggerMachineByHashCallback, "RIP enters");
 		sendWSMessage_10000(1, _ripley, _ripEnters, 1, 27, 400,
 			_ripEnters, 27, 27, 0);
 
@@ -541,7 +541,7 @@ void Room407::init() {
 
 		_407h = series_load("407H");
 		_niche = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0xb00, 0,
-			triggerMachineByHashCallbackNegative, "Jar opens cabinet door");
+			triggerMachineByHashCallback, "Jar opens cabinet door");
 		sendWSMessage_10000(1, _niche, _407h, 29, 29, -1,
 			_407h, 29, 29, 0);
 		inv_give_to_player("EMERALD/CORK");
@@ -595,7 +595,7 @@ void Room407::daemon() {
 			_407tpis2 = series_load("407tpis2");
 			terminateMachineAndNull(_tpist);
 			_tpist = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0xe00, 0,
-				triggerMachineByHashCallbackNegative, "PISTON ONLY");
+				triggerMachineByHashCallback, "PISTON ONLY");
 			sendWSMessage_10000(1, _tpist, _407tpis2, 1, 33, 40,
 				_407tpis2, 33, 33, 0);
 			digi_play("407_s18", 2);
@@ -631,7 +631,7 @@ void Room407::daemon() {
 		terminateMachineAndNull(_tpist);
 
 		_tpist = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0xe00, 0,
-			triggerMachineByHashCallbackNegative, "PISTON & LEVER");
+			triggerMachineByHashCallback, "PISTON & LEVER");
 		sendWSMessage_10000(1, _tpist, _407j, 1, 33, 52,
 			_407j, 33, 33, 0);
 		digi_play("407_s18", 2);
@@ -653,7 +653,7 @@ void Room407::daemon() {
 		terminateMachineAndNull(_tpist);
 
 		_tpist = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0xe00, 0,
-			triggerMachineByHashCallbackNegative, "PISTON & LEVER");
+			triggerMachineByHashCallback, "PISTON & LEVER");
 		sendWSMessage_10000(1, _tpist, _407k, 1, 33, 61, _407k, 33, 33, 0);
 		digi_play("407_s18", 2);
 		break;
@@ -669,7 +669,7 @@ void Room407::daemon() {
 		terminateMachineAndNull(_chart);
 
 		_bottle = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0xe00, 0,
-			triggerMachineByHashCallbackNegative, "GLASS JAR SHAKES");
+			triggerMachineByHashCallback, "GLASS JAR SHAKES");
 		sendWSMessage_10000(1, _bottle, _407o, 1, 51, 62,
 			_407o, 51, 51, 0);
 		digi_play("407_s16", 3);
@@ -700,7 +700,7 @@ void Room407::daemon() {
 		terminateMachineAndNull(_tpist);
 
 		_tpist = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0xe00, 0,
-			triggerMachineByHashCallbackNegative, "PISTON & LEVER");
+			triggerMachineByHashCallback, "PISTON & LEVER");
 		sendWSMessage_10000(1, _tpist, _407l, 1, 33, 72, _407l, 33, 33, 0);
 		digi_play("407_s18", 2);
 		break;
@@ -721,7 +721,7 @@ void Room407::daemon() {
 		terminateMachineAndNull(_lever);
 		terminateMachineAndNull(_tpist);
 		_tpist = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0xe00, 0,
-			triggerMachineByHashCallbackNegative, "PISTON & LEVER");
+			triggerMachineByHashCallback, "PISTON & LEVER");
 		sendWSMessage_10000(1, _tpist, _407m, 1, 33, 81, _407m, 33, 33, 0);
 		digi_play("407_s18", 2);
 		break;
@@ -737,7 +737,7 @@ void Room407::daemon() {
 		terminateMachineAndNull(_chart);
 
 		_bottle = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0xe00, 0,
-			triggerMachineByHashCallbackNegative, "GLASS JAR TURNS");
+			triggerMachineByHashCallback, "GLASS JAR TURNS");
 		sendWSMessage_10000(1, _bottle, _407p, 1, 51, 82, _407p, 51, 51, 0);
 		break;
 
@@ -766,7 +766,7 @@ void Room407::daemon() {
 		terminateMachineAndNull(_tpist);
 
 		_tpist = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0xe00, 0,
-			triggerMachineByHashCallbackNegative, "PISTON & LEVER");
+			triggerMachineByHashCallback, "PISTON & LEVER");
 		sendWSMessage_10000(1, _tpist, _407q, 1, 33, 92, _407q, 33, 33, 0);
 		digi_play("407_s18", 2);
 		break;
@@ -785,7 +785,7 @@ void Room407::daemon() {
 
 		_407a = series_load("407a");
 		_bottle = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0xe00, 0,
-			triggerMachineByHashCallbackNegative, "GLASS JAR TURNS");
+			triggerMachineByHashCallback, "GLASS JAR TURNS");
 		sendWSMessage_10000(1, _bottle, _407a, 1, 30, 151, _407a, 30, 30, 0);
 		digi_play("407_s16", 3);
 
@@ -812,7 +812,7 @@ void Room407::daemon() {
 
 		_407b = series_load("407b");
 		_bottle = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0xe00, 0,
-			triggerMachineByHashCallbackNegative, "GLASS JAR TURNS");
+			triggerMachineByHashCallback, "GLASS JAR TURNS");
 		sendWSMessage_10000(1, _bottle, _407b, 1, 30, 161, _407b, 30, 30, 0);
 		digi_play("407_s16", 3);
 		kernel_timing_trigger(240, 450);
@@ -838,7 +838,7 @@ void Room407::daemon() {
 
 		_407c = series_load("407c");
 		_bottle = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0xe00, 0,
-			triggerMachineByHashCallbackNegative, "GLASS JAR TURNS");
+			triggerMachineByHashCallback, "GLASS JAR TURNS");
 		sendWSMessage_10000(1, _bottle, _407c, 1, 30, 171, _407c, 30, 30, 0);
 		digi_play("407_s16", 3);
 		kernel_timing_trigger(240, 450);
@@ -865,7 +865,7 @@ void Room407::daemon() {
 
 		_407d = series_load("407d");
 		_bottle = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0xe00, 0,
-			triggerMachineByHashCallbackNegative, "GLASS JAR TURNS");
+			triggerMachineByHashCallback, "GLASS JAR TURNS");
 		sendWSMessage_10000(1, _bottle, _407d, 1, 30, 176, _407d, 30, 30, 0);
 		digi_play("407_s16", 3);
 		kernel_timing_trigger(240, 450);
@@ -891,7 +891,7 @@ void Room407::daemon() {
 
 		_407s = series_load("407s");
 		_gears = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0xe00, 0,
-			triggerMachineByHashCallbackNegative, "GEARS TURN");
+			triggerMachineByHashCallback, "GEARS TURN");
 		sendWSMessage_10000(1, _bottle, _407s, 1, 30, 181, _407s, 30, 30, 0);
 		digi_play("407_s16", 3);
 		break;
@@ -914,7 +914,7 @@ void Room407::daemon() {
 
 		_407r = series_load("407r");
 		_bottle = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0xe00, 0,
-			triggerMachineByHashCallbackNegative, "GLASS JAR TURNS");
+			triggerMachineByHashCallback, "GLASS JAR TURNS");
 		sendWSMessage_10000(1, _bottle, _407r, 1, 30, 186, _407r, 30, 30, 0);
 		digi_play("407_s16", 3);
 		break;
@@ -1229,14 +1229,14 @@ void Room407::daemon() {
 			_letter = series_place_sprite("407 letter", 0, 0, 0, 100, 0xc00);
 			_407h = series_load("407H");
 			_niche = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0xb00, 0,
-				triggerMachineByHashCallbackNegative, "Jar opens cabinet door");
+				triggerMachineByHashCallback, "Jar opens cabinet door");
 			sendWSMessage_10000(1, _niche, _407h, 1, 29, 330, _407h, 29, 29, 0);
 			digi_play("407_s21", 2);
 		} else {
 			if (_xyzzy5 == 1116) {
 				_jarWaterFallingLeft = series_load("407 JAR WATER FALLING LEFT");
 				_jarLeft = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0xe00, 0,
-					triggerMachineByHashCallbackNegative, "407 JAR WATER FALLING LEFT");
+					triggerMachineByHashCallback, "407 JAR WATER FALLING LEFT");
 				sendWSMessage_10000(1, _jarLeft, _jarWaterFallingLeft, 1, 13, 323,
 					_jarWaterFallingLeft, 14, 19, 0);
 			}
@@ -1244,7 +1244,7 @@ void Room407::daemon() {
 			if (_xyzzy9 != 1116) {
 				_jarWaterFallingCentre = series_load("407 JAR WATER FALLING CENTRE");
 				_jarCentre = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0xe00, 0,
-					triggerMachineByHashCallbackNegative, "Center jar hole leaks");
+					triggerMachineByHashCallback, "Center jar hole leaks");
 				sendWSMessage_10000(1, _jarCentre, _jarWaterFallingCentre, 1, 11, 323,
 					_jarWaterFallingCentre, 12, 15, 0);
 			}
@@ -1252,7 +1252,7 @@ void Room407::daemon() {
 			if (_xyzzy4 != 1116) {
 				_jarWaterFallingRight = series_load("407 JAR WATER FALLING RIGHT");
 				_jarRight = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0xe00, 0,
-					triggerMachineByHashCallbackNegative, "Right jar hole leaks");
+					triggerMachineByHashCallback, "Right jar hole leaks");
 				sendWSMessage_10000(1, _jarRight, _jarWaterFallingRight, 1, 13, 323,
 					_jarWaterFallingRight, 14, 20, 0);
 			}
@@ -1362,7 +1362,7 @@ void Room407::daemon() {
 		_407e = series_load("407E");
 		terminateMachineAndNull(_escape);
 		_escape = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0xd00, 0,
-			triggerMachineByHashCallbackNegative, "METAL DOOR");
+			triggerMachineByHashCallback, "METAL DOOR");
 		sendWSMessage_10000(1, _escape, _407e, 1, 30, 364, _407e, 30, 30, 0);
 		digi_play("407_s24", 2);
 		kernel_timing_trigger(30, 362);
@@ -1387,7 +1387,7 @@ void Room407::daemon() {
 	case 365:
 		ws_hide_walker();
 		_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0xe00, 0,
-			triggerMachineByHashCallbackNegative, "RIP exits");
+			triggerMachineByHashCallback, "RIP exits");
 		sendWSMessage_10000(1, _ripley, _exit, 1, 22, 366, _exit, 22, 22, 0);
 		break;
 
@@ -1497,13 +1497,13 @@ void Room407::daemon() {
 		} else if (_xyzzy3 == 1100) {
 			digi_play_loop("407_s31", 3);
 			_sink = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0xe00, 0,
-				triggerMachineByHashCallbackNegative, "water into sink");
+				triggerMachineByHashCallback, "water into sink");
 			sendWSMessage_10000(1, _sink, _waterFlowTube, 1, 4, -1,
 				_waterFlowTube, 1, 4, 0);
 			hotspot_set_active("WATER ", true);
 		} else {
 			_sink = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0xe00, 0,
-				triggerMachineByHashCallbackNegative, "water into sink");
+				triggerMachineByHashCallback, "water into sink");
 			sendWSMessage_10000(1, _sink, _waterFlowFaucet, 1, 4, -1,
 				_waterFlowFaucet, 1, 4, 0);
 			hotspot_set_active("WATER", true);
@@ -1519,7 +1519,7 @@ void Room407::daemon() {
 		} else {
 			digi_play_loop("407_s31", 3);
 			_sink = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0xe00, 0,
-				triggerMachineByHashCallbackNegative, "water into sink");
+				triggerMachineByHashCallback, "water into sink");
 			sendWSMessage_10000(1, _sink, _waterFlowStem, 1, 4, -1,
 				_waterFlowStem, 1, 4, 0);
 			hotspot_set_active("WATER  ", true);
@@ -3476,7 +3476,7 @@ void Room407::placeLeverKey() {
 		ws_hide_walker();
 
 		_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0, 0,
-			triggerMachineByHashCallbackNegative, "RIP levers ceiling");
+			triggerMachineByHashCallback, "RIP levers ceiling");
 		sendWSMessage_10000(1, _ripley, _placeLeverKey, 1, 42, 2,
 			_placeLeverKey, 42, 42, 0);
 		break;
@@ -3668,7 +3668,7 @@ void Room407::periodicTableGlassJar() {
 			ws_hide_walker();
 
 			_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0, 0,
-				triggerMachineByHashCallbackNegative, "RIP folds table into jar");
+				triggerMachineByHashCallback, "RIP folds table into jar");
 			sendWSMessage_10000(1, _ripley, _rollStuff, 1, 90, 2,
 				_rollStuff, 90, 90, 0);
 			kernel_timing_trigger(130, 1);
@@ -3777,7 +3777,7 @@ void Room407::pumpRodBracket() {
 		ws_hide_walker();
 
 		_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0, 0,
-			triggerMachineByHashCallbackNegative, "RIP levers ceiling");
+			triggerMachineByHashCallback, "RIP levers ceiling");
 		sendWSMessage_10000(1, _ripley, _407rp99, 1, 35, 2,
 			_407rp99, 35, 35, 0);
 		break;
@@ -3820,7 +3820,7 @@ void Room407::leverKey1() {
 		ws_hide_walker();
 
 		_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0, 0,
-			triggerMachineByHashCallbackNegative, "RIP levers ceiling");
+			triggerMachineByHashCallback, "RIP levers ceiling");
 		sendWSMessage_10000(1, _ripley, _407rp98, 1, 53, 2,
 			_407rp98, 53, 53, 0);
 		break;
@@ -3868,7 +3868,7 @@ void Room407::leverKey2() {
 		ws_hide_walker();
 
 		_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0, 0,
-			triggerMachineByHashCallbackNegative, "RIP levers ceiling");
+			triggerMachineByHashCallback, "RIP levers ceiling");
 		sendWSMessage_10000(1, _ripley, _placeLeverKey, 1, 30, 1,
 			_placeLeverKey, 30, 30, 0);
 		break;
@@ -4008,7 +4008,7 @@ void Room407::pumpRodPump() {
 
 		ws_hide_walker();
 		_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0, 0,
-			triggerMachineByHashCallbackNegative, "RIP pumps");
+			triggerMachineByHashCallback, "RIP pumps");
 		sendWSMessage_10000(1, _ripley, _pump407, 1, 40, 1,
 			_pump407, 40, 40, 0);
 		kernel_timing_trigger(150, 69);
@@ -4052,7 +4052,7 @@ void Room407::pumpGripsPump() {
 		ws_hide_walker();
 
 		_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0, 0,
-			triggerMachineByHashCallbackNegative, "RIP pumps");
+			triggerMachineByHashCallback, "RIP pumps");
 		sendWSMessage_10000(1, _ripley, _pump407, 1, 40, 1,
 			_pump407, 40, 40, 0);
 		kernel_timing_trigger(180, 69);
@@ -4261,13 +4261,13 @@ void Room407::useButtons() {
 		_407pu08d = series_load("407PU08D");
 
 		_lockButton1 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0, 0,
-			triggerMachineByHashCallbackNegative, "LOCK button 1");
+			triggerMachineByHashCallback, "LOCK button 1");
 		_lockButton2 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0, 0,
-			triggerMachineByHashCallbackNegative, "LOCK button 2");
+			triggerMachineByHashCallback, "LOCK button 2");
 		_lockButton3 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0, 0,
-			triggerMachineByHashCallbackNegative, "LOCK button 3");
+			triggerMachineByHashCallback, "LOCK button 3");
 		_lockButton4 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0, 0,
-			triggerMachineByHashCallbackNegative, "LOCK button 4");
+			triggerMachineByHashCallback, "LOCK button 4");
 
 		int frame1 = _buttonFrame1 * 2 + 1;
 		int frame2 = _buttonFrame2 * 2 + 1;
@@ -4304,7 +4304,7 @@ void Room407::useLeverKey() {
 		ws_hide_walker();
 
 		_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0, 0,
-			triggerMachineByHashCallbackNegative, "RIP hangs from lever");
+			triggerMachineByHashCallback, "RIP hangs from lever");
 		sendWSMessage_10000(1, _ripley, _hangRip, 1, 25, 2,
 			_hangRip, 25, 25, 0);
 		break;
@@ -4472,7 +4472,7 @@ void Room407::usePump2() {
 		ws_hide_walker();
 
 		_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0, 0,
-			triggerMachineByHashCallbackNegative, "RIP pumps");
+			triggerMachineByHashCallback, "RIP pumps");
 		sendWSMessage_10000(1, _ripley, _pump407, 81, 62, 1,
 			_pump407, 62, 62, 0);
 		_val11 = 1;
@@ -5495,7 +5495,7 @@ void Room407::takeLeverKey3() {
 
 		ws_hide_walker();
 		_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0, 0,
-			triggerMachineByHashCallbackNegative, "RIP levers ceiling");
+			triggerMachineByHashCallback, "RIP levers ceiling");
 		sendWSMessage_10000(1, _ripley, _407rp98, 101, 81, 2,
 			_407rp98, 81, 81, 0);
 		break;
@@ -5622,7 +5622,7 @@ void Room407::takePumpRod1() {
 
 		ws_hide_walker();
 		_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0, 0,
-			triggerMachineByHashCallbackNegative, "RIP pumps");
+			triggerMachineByHashCallback, "RIP pumps");
 		sendWSMessage_10000(1, _ripley, _pump407, 1, 40, 1,
 			_pump407, 40, 40, 0);
 		kernel_timing_trigger(150, 69);
@@ -5687,7 +5687,7 @@ void Room407::takePumpRod2() {
 
 			ws_hide_walker();
 			_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0, 0,
-				triggerMachineByHashCallbackNegative, "RIP levers ceiling");
+				triggerMachineByHashCallback, "RIP levers ceiling");
 			sendWSMessage_10000(1, _ripley, _placeLeverKey, 70, 49, 2,
 				_placeLeverKey, 49, 49, 0);
 		}
@@ -5733,7 +5733,7 @@ void Room407::takePumpRod3() {
 			_G(player_info).x, _G(player_info).y, _G(player_info).scale, 0xf00);
 
 		_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0, 0,
-			triggerMachineByHashCallbackNegative, "RIP takes pump rod from ceiling");
+			triggerMachineByHashCallback, "RIP takes pump rod from ceiling");
 		sendWSMessage_10000(1, _ripley, _407rp99, 61, 42, 2,
 			_407rp99, 42, 42, 0);
 		break;
@@ -5802,7 +5802,7 @@ void Room407::takePumpGrips2() {
 		ws_hide_walker();
 
 		_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0, 0,
-			triggerMachineByHashCallbackNegative, "RIP pumps");
+			triggerMachineByHashCallback, "RIP pumps");
 		sendWSMessage_10000(1, _ripley, _pump407, 1, 40, 1,
 			_pump407, 40, 40, 0);
 		kernel_timing_trigger(150, 69);
diff --git a/engines/m4/riddle/rooms/section4/room408.cpp b/engines/m4/riddle/rooms/section4/room408.cpp
index e7990618b5e..1b3e6bb60d4 100644
--- a/engines/m4/riddle/rooms/section4/room408.cpp
+++ b/engines/m4/riddle/rooms/section4/room408.cpp
@@ -93,7 +93,7 @@ void Room408::init() {
 				_val9 = 2200;
 				_wolf = series_load("WOLF CLPNG LOOP LOOKS TO SIDE");
 				_wolfie = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0xd00, 0,
-					triggerMachineByHashCallbackNegative, "WOLFIE");
+					triggerMachineByHashCallback, "WOLFIE");
 				sendWSMessage_10000(1, _wolfie, _wolf, 1, 10, 110, _wolf, 10, 10, 0);
 			}
 
@@ -111,7 +111,7 @@ void Room408::init() {
 					hotspot_set_active("WOLF", true);
 					_wolf = series_load("WOLF CLPNG LOOP LOOKS TO SIDE");
 					_wolfie = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0xd00, 0,
-						triggerMachineByHashCallbackNegative, "WOLFIE");
+						triggerMachineByHashCallback, "WOLFIE");
 					sendWSMessage_10000(1, _wolfie, _wolf, 1, 10, 110, _wolf, 10, 10, 0);
 					_val8 = 2001;
 					_val9 = 2200;
@@ -142,7 +142,7 @@ void Room408::init() {
 			ws_hide_walker();
 
 			_exit = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0, 0,
-				triggerMachineByHashCallbackNegative, "RIP ENTERS from GIZMO");
+				triggerMachineByHashCallback, "RIP ENTERS from GIZMO");
 			sendWSMessage_10000(1, _exit, _ripExits, 1, 75, 40, _ripExits, 75, 75, 0);
 			digi_play("408_s01", 2);
 			break;
@@ -161,7 +161,7 @@ void Room408::init() {
 				hotspot_set_active("WOLF", true);
 				_wolf = series_load("WOLF CLPNG LOOP LOOKS TO SIDE");
 				_wolfie = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0xd00, 0,
-					triggerMachineByHashCallbackNegative, "WOLFIE");
+					triggerMachineByHashCallback, "WOLFIE");
 				sendWSMessage_10000(1, _wolfie, _wolf, 1, 10, 110, _wolf, 10, 10, 0);
 				_val8 = 2001;
 				_val9 = 2200;
@@ -241,10 +241,10 @@ void Room408::daemon() {
 				player_update_info();
 				_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0,
 					_G(player_info).x, _G(player_info).y, _G(player_info).scale, 0x100, 0,
-					triggerMachineByHashCallbackNegative, "rip talks wolf");
+					triggerMachineByHashCallback, "rip talks wolf");
 				_ripleyShadow = TriggerMachineByHash(1, 1, 0, 0, 0, 0,
 					_G(player_info).x, _G(player_info).y, _G(player_info).scale, 0x100, 0,
-					triggerMachineByHashCallbackNegative, "rip talks wolf SHADOW");
+					triggerMachineByHashCallback, "rip talks wolf SHADOW");
 
 				sendWSMessage_10000(1, _ripley, _ripHandsBehindBack, 1, 15, 102,
 					_ripHandsBehindBack, 15, 15, 0);
@@ -401,10 +401,10 @@ void Room408::daemon() {
 		player_update_info();
 		_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0,
 			_G(player_info).x, _G(player_info).y, _G(player_info).scale,
-			0x100, 0, triggerMachineByHashCallbackNegative, "rip talks wolf");
+			0x100, 0, triggerMachineByHashCallback, "rip talks wolf");
 		_ripleyShadow = TriggerMachineByHash(1, 1, 0, 0, 0, 0,
 			_G(player_info).x, _G(player_info).y, _G(player_info).scale,
-			0x100, 0, triggerMachineByHashCallbackNegative, "rip talks wolf SHADOW");
+			0x100, 0, triggerMachineByHashCallback, "rip talks wolf SHADOW");
 
 		sendWSMessage_10000(1, _ripleyShadow, _ripShadowSeries, 1, 1, -1,
 			_ripShadowSeries, 1, 1, 0);
diff --git a/engines/m4/riddle/rooms/section4/room409.cpp b/engines/m4/riddle/rooms/section4/room409.cpp
index 30d341628e8..ed09ef8c676 100644
--- a/engines/m4/riddle/rooms/section4/room409.cpp
+++ b/engines/m4/riddle/rooms/section4/room409.cpp
@@ -46,7 +46,7 @@ void Room409::init() {
 	_seriesReachHand = series_load("RIP TREK MED REACH HAND POS1");
 
 	_turtleRope = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0, 0,
-		triggerMachineByHashCallbackNegative, "TURTLE & rope");
+		triggerMachineByHashCallback, "TURTLE & rope");
 	sendWSMessage_10000(1, _turtleRope, _seriesRope, 1, 20, 100, _seriesRope, 20, 20, 0);
 
 	_volume = 255;
@@ -56,7 +56,7 @@ void Room409::init() {
 	digi_play("409_s04", 3);
 
 	_wolfWalker = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x300, 0,
-		triggerMachineByHashCallbackNegative, "WOLFIE");
+		triggerMachineByHashCallback, "WOLFIE");
 	sendWSMessage_10000(1, _wolfWalker, _seriesWolfOpensDoor, 1, 20, 350,
 		_seriesWolfOpensDoor, 20, 20, 0);
 }
@@ -107,7 +107,7 @@ void Room409::daemon() {
 	case 357:
 		ws_hide_walker();
 		_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x100, 0,
-			triggerMachineByHashCallbackNegative, "rip looks at turtle");
+			triggerMachineByHashCallback, "rip looks at turtle");
 		sendWSMessage_10000(1, _ripley, _seriesRp02, 1, 16, 358,
 			_seriesRp02, 16, 16, 0);
 		break;
@@ -127,7 +127,7 @@ void Room409::daemon() {
 		player_update_info();
 		_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0,
 			_G(player_info).x, _G(player_info).y, _G(player_info).scale, 0x100, 0,
-			triggerMachineByHashCallbackNegative, "rip looks around");
+			triggerMachineByHashCallback, "rip looks around");
 		ws_hide_walker();
 		sendWSMessage_10000(1, _ripley, _seriesHeadTurn, 1, 6, -1,
 			_seriesHeadTurn, 6, 6, 0);
@@ -194,7 +194,7 @@ void Room409::daemon() {
 		player_update_info();
 		_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0,
 			_G(player_info).x, _G(player_info).y, _G(player_info).scale, 0x100, 0,
-			triggerMachineByHashCallbackNegative, "rip looks around");
+			triggerMachineByHashCallback, "rip looks around");
 		_shadow = series_place_sprite("SAFARI SHADOW 5", 0,
 			_G(player_info).x, _G(player_info).y, _G(player_info).scale, 0xf00);
 		sendWSMessage_10000(1, _ripley, _seriesReadTelegram, 1, 21, 386,
@@ -272,7 +272,7 @@ void Room409::daemon() {
 	case 408:
 		ws_hide_walker();
 		_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x100, 0,
-			triggerMachineByHashCallbackNegative, "rip looks at turtle");
+			triggerMachineByHashCallback, "rip looks at turtle");
 		sendWSMessage_10000(1, _ripley, _seriesRp02, 1, 16, 409, _seriesRp02, 16, 16, 0);
 		break;
 
diff --git a/engines/m4/riddle/rooms/section5/room501.cpp b/engines/m4/riddle/rooms/section5/room501.cpp
index a238bab776e..a4879f030d1 100644
--- a/engines/m4/riddle/rooms/section5/room501.cpp
+++ b/engines/m4/riddle/rooms/section5/room501.cpp
@@ -104,7 +104,7 @@ void Room501::daemon() {
 		_shadow = series_show("SAFARI SHADOW 3", 0xf00, 128, -1, -1, 0,
 			_G(player_info).scale, _G(player_info).x, _G(player_info).y);
 		_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x700, 0,
-			triggerMachineByHashCallbackNegative, "Rip Delta Machine State");
+			triggerMachineByHashCallback, "Rip Delta Machine State");
 
 		switch (_val3) {
 		case 3:
@@ -336,7 +336,7 @@ void Room501::daemon() {
 		_xyzzy7 = -1;
 		_xyzzy5 = -1;
 		_agent = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x700, 0,
-			triggerMachineByHashCallbackNegative, "Agent at Desk");
+			triggerMachineByHashCallback, "Agent at Desk");
 		sendWSMessage_10000(1, _agent, _agentTalkLoop, 1, 1, 506,
 			_agentTalkLoop, 1, 1, 0);
 		_xyzzy8 = 1;
@@ -349,7 +349,7 @@ void Room501::daemon() {
 		_xyzzy7 = -1;
 		_xyzzy5 = -1;
 		_agent = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x700, 0,
-			triggerMachineByHashCallbackNegative, "Agent at Desk");
+			triggerMachineByHashCallback, "Agent at Desk");
 		sendWSMessage_10000(1, _agent, _agentStridesForward, 15, 15, 506,
 			_agentStridesForward, 15, 15, 0);
 		break;
@@ -831,7 +831,7 @@ void Room501::daemon() {
 
 	case 557:
 		_deltaPuffinMachine = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x700, 0,
-			triggerMachineByHashCallbackNegative, "Delta Puffin Machine State");
+			triggerMachineByHashCallback, "Delta Puffin Machine State");
 		_xyzzy3 = 1;
 		_xyzzy1 = 1;
 		_xyzzy5 = 1;
@@ -1038,7 +1038,7 @@ void Room501::daemon() {
 
 	case 596:
 		_deltaPuffinMachine = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x700, 0,
-			triggerMachineByHashCallbackNegative, "Delta Puffin Machine State");
+			triggerMachineByHashCallback, "Delta Puffin Machine State");
 		_xyzzy3 = 1;
 		_xyzzy1 = 1;
 		_xyzzy5 = 1;
diff --git a/engines/m4/riddle/rooms/section5/room504.cpp b/engines/m4/riddle/rooms/section5/room504.cpp
index 9b38328e77c..73802f1738c 100644
--- a/engines/m4/riddle/rooms/section5/room504.cpp
+++ b/engines/m4/riddle/rooms/section5/room504.cpp
@@ -72,7 +72,7 @@ void Room504::init() {
 		_downSteps = series_load("504 down steps");
 		player_update_info();
 		_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100,
-			_G(player_info).depth, 0, triggerMachineByHashCallbackNegative, "Rp");
+			_G(player_info).depth, 0, triggerMachineByHashCallback, "Rp");
 		sendWSMessage_10000(1, _ripley, _downSteps, 1, 27, 647,
 			_downSteps, 27, 27, 0);
 		break;
@@ -133,7 +133,7 @@ void Room504::daemon() {
 		_mzDigs = series_load("504 MZ DIGS");
 		_mzStandsTalks = series_load("504 MZ STANDS TALKS");
 		_mzMachine = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0xb00, 0,
-			triggerMachineByHashCallbackNegative, "Emilio Menendez Machine");
+			triggerMachineByHashCallback, "Emilio Menendez Machine");
 		kernel_timing_trigger(1, 503);
 		break;
 
@@ -396,7 +396,7 @@ void Room504::daemon() {
 	case 505:
 		_trigger4 = -1;
 		_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x900, 0,
-			triggerMachineByHashCallbackNegative, "Rip Delta Machine State");
+			triggerMachineByHashCallback, "Rip Delta Machine State");
 		player_update_info();
 		_ripKneels = series_load("504 rip kneels talks");
 		ws_hide_walker();
@@ -1007,7 +1007,7 @@ void Room504::daemon() {
 		digi_preload("COM125");
 		_ripWipe = series_load("504WIPE");
 		_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100,
-			_G(player_info).depth, 0, triggerMachineByHashCallbackNegative,
+			_G(player_info).depth, 0, triggerMachineByHashCallback,
 			"Rip Delta Machine State");
 		sendWSMessage_10000(1, _ripley, _ripWipe, 1, 6, 568,
 			_ripWipe, 6, 6, 0);
@@ -1084,7 +1084,7 @@ void Room504::daemon() {
 
 	case 581:
 		_vineMachine2 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0xe00, 0,
-			triggerMachineByHashCallbackNegative, "Rope Falling to the Ground");
+			triggerMachineByHashCallback, "Rope Falling to the Ground");
 		sendWSMessage_10000(1, _vineMachine2, _vineTie, 1, 6, 582, _vineTie, 6, 6, 0);
 		break;
 
@@ -1201,7 +1201,7 @@ void Room504::daemon() {
 		ws_hide_walker();
 
 		_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x300, 0,
-			triggerMachineByHashCallbackNegative, "Rip Crossing");
+			triggerMachineByHashCallback, "Rip Crossing");
 		sendWSMessage_10000(1, _ripley, _ripStepUpRight, 1, 33, 596,
 			_ripStepUpRight, 33, 33, 0);
 		break;
@@ -1295,7 +1295,7 @@ void Room504::daemon() {
 	case 605:
 		setVines();
 		_vineMachine2 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0xe00, 0,
-			triggerMachineByHashCallbackNegative, "Rope Being Slurped Up from right");
+			triggerMachineByHashCallback, "Rope Being Slurped Up from right");
 		sendWSMessage_10000(1, _vineMachine2, _ropeRSlurpsUp, 1, 14, 606,
 			_ropeRSlurpsUp, 14, 14, 0);
 		break;
@@ -1371,7 +1371,7 @@ void Room504::daemon() {
 
 		setVines();
 		_vineMachine2 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0xe00, 0,
-			triggerMachineByHashCallbackNegative, "Tie Thrown Coil to tree");
+			triggerMachineByHashCallback, "Tie Thrown Coil to tree");
 		sendWSMessage_10000(1, _vineMachine2, _rightVineTie, 1, 10, -1,
 			_rightVineTie, 10, 10, 0);
 		setGlobals1(_ripHiReach2Handed, 1, 13, 13, 13, 0, 13, 1, 1, 1);
@@ -1407,7 +1407,7 @@ void Room504::daemon() {
 	case 613:
 		_vineUnrolling = series_load("VINE UNROLLING AS TIED");
 		_vineMachine1 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0xe00, 0,
-			triggerMachineByHashCallbackNegative, "Vine Unrolling as Tied");
+			triggerMachineByHashCallback, "Vine Unrolling as Tied");
 		sendWSMessage_10000(1, _vineMachine1, _vineUnrolling, 1, 6, 614,
 			_vineUnrolling, 6, 6, 0);
 		break;
@@ -1440,7 +1440,7 @@ void Room504::daemon() {
 		ws_hide_walker();
 
 		_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x300, 0,
-			triggerMachineByHashCallbackNegative, "Rip Throwing Right");
+			triggerMachineByHashCallback, "Rip Throwing Right");
 		sendWSMessage_10000(1, _ripley, _ripStepUpLeft, 1, 25, 622,
 			_ripStepUpLeft, 25, 25, 0);
 		break;
@@ -1524,7 +1524,7 @@ void Room504::daemon() {
 
 	case 632:
 		_vineMachine2 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0xe00, 0,
-			triggerMachineByHashCallbackNegative, "Vine Unrolling as Tied");
+			triggerMachineByHashCallback, "Vine Unrolling as Tied");
 		sendWSMessage_10000(1, _vineMachine2, _vineUnrolling, 1, 6, 633,
 			_vineUnrolling, 6, 6, 0);
 		break;
@@ -1596,7 +1596,7 @@ void Room504::daemon() {
 
 		setVines();
 		_vineMachine2 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0xe00, 0,
-			triggerMachineByHashCallbackNegative, "Rope Rising");
+			triggerMachineByHashCallback, "Rope Rising");
 		sendWSMessage_120000(640);
 		break;
 
@@ -1629,7 +1629,7 @@ void Room504::daemon() {
 	case 641:
 		_vineTie = series_load("504 R VINE TIE BEFORE THROW");
 		_vine = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0xe00, 0,
-			triggerMachineByHashCallbackNegative, "Vine Unrolling as Tied");
+			triggerMachineByHashCallback, "Vine Unrolling as Tied");
 		sendWSMessage_10000(1, _vine, _vineTie, 1, 6, 642, _vineTie, 6, 6, 0);
 		break;
 
@@ -1770,7 +1770,7 @@ void Room504::daemon() {
 
 		setVines();
 		_vineMachine2 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0xe00, 0,
-			triggerMachineByHashCallbackNegative, "Rope Falling");
+			triggerMachineByHashCallback, "Rope Falling");
 		sendWSMessage_10000(1, _vineMachine2, _leftVineTie, 9, 1, 677,
 			_leftVineTie, 1, 1, 0);
 		break;
@@ -1838,7 +1838,7 @@ void Room504::daemon() {
 
 		setVines();
 		_vineMachine2 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0xe00, 0,
-			triggerMachineByHashCallbackNegative, "Tie Thrown Coil to tree");
+			triggerMachineByHashCallback, "Tie Thrown Coil to tree");
 		sendWSMessage_10000(1, _vineMachine2, _rightVineTie, 10, 1, 686,
 			_rightVineTie, 1, 1, 0);
 		break;
@@ -1907,7 +1907,7 @@ void Room504::daemon() {
 		setVines();
 		setVinesRope();
 		_vineMachine2 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0xe00, 0,
-			triggerMachineByHashCallbackNegative, "Vine Untied ");
+			triggerMachineByHashCallback, "Vine Untied ");
 		sendWSMessage_10000(1, _vineMachine2, _vineUnrolling, 6, 1, 695,
 			_vineUnrolling, 1, 1, 0);
 		break;
@@ -1984,7 +1984,7 @@ void Room504::daemon() {
 		setVines();
 		setVinesRope();
 		_vineMachine2 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0xe00, 0,
-			triggerMachineByHashCallbackNegative, "Left Slurp");
+			triggerMachineByHashCallback, "Left Slurp");
 		sendWSMessage_10000(1, _vineMachine2, _ropeLSlurpsUp, 1, 11, 702,
 			_ropeLSlurpsUp, 11, 11, 0);
 		break;
@@ -2425,7 +2425,7 @@ void Room504::parser() {
 			player_update_info();
 			ws_hide_walker();
 			_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100,
-				_G(player_info).depth, 0, triggerMachineByHashCallbackNegative, "Rp");
+				_G(player_info).depth, 0, triggerMachineByHashCallback, "Rp");
 			sendWSMessage_10000(1, _ripley, _upSteps, 1, 25, -1, _upSteps, 25, 25, 0);
 			kernel_timing_trigger(60, 2);
 			break;
diff --git a/engines/m4/riddle/rooms/section5/room507.cpp b/engines/m4/riddle/rooms/section5/room507.cpp
index fec7aff6f77..0429bb4ac3a 100644
--- a/engines/m4/riddle/rooms/section5/room507.cpp
+++ b/engines/m4/riddle/rooms/section5/room507.cpp
@@ -195,7 +195,7 @@ void Room507::useStoneGlyph(int blockNum) {
 	if (!_blockFlag[blockNum]) {
 		terminateMachineAndNull(_block[blockNum]);
 		_block[blockNum] = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x400, 0,
-			triggerMachineByHashCallbackNegative, BLOCK_NAMES[blockNum]);
+			triggerMachineByHashCallback, BLOCK_NAMES[blockNum]);
 		_blockFlag[blockNum] = true;
 		_G(flags)[V172] = 1;
 	}
diff --git a/engines/m4/riddle/rooms/section5/room508.cpp b/engines/m4/riddle/rooms/section5/room508.cpp
index e9e1a2c9deb..354c4ed7f08 100644
--- a/engines/m4/riddle/rooms/section5/room508.cpp
+++ b/engines/m4/riddle/rooms/section5/room508.cpp
@@ -110,7 +110,7 @@ void Room508::daemon() {
 		ws_hide_walker();
 
 		_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100,
-			_G(player_info).depth, 0, triggerMachineByHashCallbackNegative, "Rp1");
+			_G(player_info).depth, 0, triggerMachineByHashCallback, "Rp1");
 		sendWSMessage_10000(1, _ripley, _ripPutsShovel, 1, 22, 505,
 			_ripPutsShovel, 22, 22, 0);
 		inv_move_object("SHOVEL", 508);
@@ -144,7 +144,7 @@ void Room508::daemon() {
 		ws_hide_walker();
 
 		_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100,
-			_G(player_info).depth, 0, triggerMachineByHashCallbackNegative, "Rp2");
+			_G(player_info).depth, 0, triggerMachineByHashCallback, "Rp2");
 		sendWSMessage_10000(1, _ripley, _ripPutsShovel, 34, 25, 509,
 			_ripPutsShovel, 25, 25, 0);
 		hotspot_set_active("SHOVEL", false);
@@ -173,7 +173,7 @@ void Room508::daemon() {
 		ws_hide_walker();
 
 		_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100,
-			_G(player_info).depth, 0, triggerMachineByHashCallbackNegative, "Rp3");
+			_G(player_info).depth, 0, triggerMachineByHashCallback, "Rp3");
 		terminateMachineAndNull(_shovel);
 		sendWSMessage_10000(1, _ripley, _ripTryTurnDome, 1, 29, 512,
 			_ripTryTurnDome, 29, 29, 0);
@@ -215,7 +215,7 @@ void Room508::daemon() {
 		ws_hide_walker();
 
 		_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100,
-			_G(player_info).depth, 0, triggerMachineByHashCallbackNegative, "Rp4");
+			_G(player_info).depth, 0, triggerMachineByHashCallback, "Rp4");
 		sendWSMessage_10000(1, _ripley, _ripTryTurnDome, 1, 29, 516,
 			_ripTryTurnDome, 29, 29, 0);
 		break;
@@ -267,18 +267,18 @@ void Room508::daemon() {
 		_statue = series_place_sprite("STATU SPRITE AFTER DOME TURN", 0, 0, 0, 100, 0x450);
 
 		_light = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0xf00, 0,
-			triggerMachineByHashCallbackNegative, "Receeding Light");
+			triggerMachineByHashCallback, "Receeding Light");
 		sendWSMessage_10000(1, _light, _lightAppearing, 12, 12, -1,
 			_lightAppearing, 12, 12, 0);
 
 		player_update_info();
 		_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100,
-			_G(player_info).depth, 0, triggerMachineByHashCallbackNegative, "Rp");
+			_G(player_info).depth, 0, triggerMachineByHashCallback, "Rp");
 		sendWSMessage_10000(1, _ripley, _ripReturnsToStander, 1, 10, -1,
 			_ripReturnsToStander, 10, 10, 0);
 
 		_chain = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0xf00, 0,
-			triggerMachineByHashCallbackNegative, "Chain Breaking Machine");
+			triggerMachineByHashCallback, "Chain Breaking Machine");
 		sendWSMessage_10000(1, _chain, _chainBreaking, 1, 58, 675,
 			_chainBreaking, 58, 58, 0);
 		digi_play("508_s08", 1, 255, 555);
@@ -292,7 +292,7 @@ void Room508::daemon() {
 
 	case 539:
 		_x = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0xf00, 0,
-			triggerMachineByHashCallbackNegative, "x");
+			triggerMachineByHashCallback, "x");
 		sendWSMessage_10000(1, _x, _flick, 1, 2, -1, _flick, 1, 2, 0);
 		sendWSMessage_190000(_x, 1);
 		sendWSMessage_1a0000(_x, 1);
diff --git a/engines/m4/riddle/rooms/section5/room509.cpp b/engines/m4/riddle/rooms/section5/room509.cpp
index 5aee12020da..fcc9f95da5b 100644
--- a/engines/m4/riddle/rooms/section5/room509.cpp
+++ b/engines/m4/riddle/rooms/section5/room509.cpp
@@ -66,7 +66,7 @@ void Room509::daemon() {
 	case 2:
 		ws_hide_walker();
 		_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x400, 0,
-			triggerMachineByHashCallbackNegative, "Rip climbs steps from 506");
+			triggerMachineByHashCallback, "Rip climbs steps from 506");
 		sendWSMessage_10000(1, _ripley, _ripFrom506, 1, 39, 6,
 			_ripFrom506, 40, 40, 0);
 		break;
@@ -74,7 +74,7 @@ void Room509::daemon() {
 	case 3:
 		ws_hide_walker();
 		_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x400, 0,
-			triggerMachineByHashCallbackNegative, "Rip climbs steps from 506");
+			triggerMachineByHashCallback, "Rip climbs steps from 506");
 		sendWSMessage_10000(1, _ripley, _ripFrom510, 1, 15, 7,
 			_ripFrom510, 16, 16, 0);
 		break;
@@ -184,7 +184,7 @@ void Room509::parser() {
 		ws_hide_walker();
 		digi_preload("509_s02");
 		_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x400, 0,
-			triggerMachineByHashCallbackNegative, "RIP DIGS AT WALL");
+			triggerMachineByHashCallback, "RIP DIGS AT WALL");
 		_G(kernel).trigger_mode = KT_DAEMON;
 		sendWSMessage_10000(1, _ripley, _ripDigsWall, 1, 33, 8,
 			_ripDigsWall, 34, 34, 0);
@@ -199,7 +199,7 @@ void Room509::parser() {
 			ws_hide_walker();
 			_roomNum = 510;
 			_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x400, 0,
-				triggerMachineByHashCallbackNegative, "RIP CLIMBS UP TO 510");
+				triggerMachineByHashCallback, "RIP CLIMBS UP TO 510");
 			sendWSMessage_10000(1, _ripley, _ripClimbStairs3, 1, 8, 1,
 				_ripClimbStairs3, 9, 16, 0);
 			break;
@@ -219,7 +219,7 @@ void Room509::parser() {
 			ws_hide_walker();
 			_roomNum = 506;
 			_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x400, 0,
-				triggerMachineByHashCallbackNegative, "RIP CLIMBS DOWN TO 506");
+				triggerMachineByHashCallback, "RIP CLIMBS DOWN TO 506");
 			sendWSMessage_10000(1, _ripley, _ripClimbStairs1, 1, 14, 1,
 				_ripClimbStairs1, 15, 28, 0);
 			break;
diff --git a/engines/m4/riddle/rooms/section6/room603.cpp b/engines/m4/riddle/rooms/section6/room603.cpp
index eb4ebe73069..2e66f9298bc 100644
--- a/engines/m4/riddle/rooms/section6/room603.cpp
+++ b/engines/m4/riddle/rooms/section6/room603.cpp
@@ -219,7 +219,7 @@ void Room603::init() {
 		_door = series_show("603DOOR", 0xf00, 16, -1, -1, 23, 100, 0, 0);
 		_ttDigShirtOff = series_load("TT DIG LOOP NO SHIRT");
 		_tt = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0xf00, 0,
-			triggerMachineByHashCallbackNegative, "tt");
+			triggerMachineByHashCallback, "tt");
 		sendWSMessage_10000(1, _tt, _ttDigShirtOff, 2, 2, 200, _ttDigShirtOff, 2, 2, 0);
 
 		_trigger1 = 200;
@@ -247,7 +247,7 @@ void Room603::init() {
 
 		if (_val5) {
 			_tt = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x200, 0,
-				triggerMachineByHashCallbackNegative, "tt");
+				triggerMachineByHashCallback, "tt");
 			sendWSMessage_10000(1, _tt, _ttD01, 1, 1, 400, _ttD01, 1, 1, 0);
 			_trigger1 = 400;
 			hotspot_set_active("twelvetrees ", false);
@@ -255,7 +255,7 @@ void Room603::init() {
 
 		} else {
 			_tt = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0xf00, 0,
-				triggerMachineByHashCallbackNegative, "tt");
+				triggerMachineByHashCallback, "tt");
 			sendWSMessage_10000(1, _tt, _ttDigShirtOn, 1, 1, 500,
 				_ttDigShirtOn, 1, 1, 0);
 			_trigger1 = 500;
@@ -782,7 +782,7 @@ void Room603::daemon() {
 		terminateMachineAndNull(_ripley);
 		_treesGoneHome = series_show("603rp02a", 0x100, 16);
 		_tt = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x200, 0,
-			triggerMachineByHashCallbackNegative, "tt");
+			triggerMachineByHashCallback, "tt");
 		sendWSMessage_10000(1, _tt, _tt03, 1, 39, 322, _tt03, 39, 39, 0);
 		break;
 
@@ -808,7 +808,7 @@ void Room603::daemon() {
 	case 326:
 		terminateMachineAndNull(_tt);
 		_tt = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x200, 0,
-			triggerMachineByHashCallbackNegative, "tt");
+			triggerMachineByHashCallback, "tt");
 		sendWSMessage_10000(1, _tt, _ttD01, 1, 1, 400, _ttD01, 1, 1, 0);
 		_val8 = 6;
 		_val7 = 6;
@@ -1305,7 +1305,7 @@ void Room603::parser() {
 			sendWSMessage_150000(-1);
 			ws_hide_walker();
 			_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 311, 308, -59, 0x100, 0,
-				triggerMachineByHashCallbackNegative, "rip");
+				triggerMachineByHashCallback, "rip");
 			_G(kernel).trigger_mode = KT_DAEMON;
 			sendWSMessage_10000(1, _ripley, _rp01, 1, 15, 302, _rp01, 15, 15, 0);
 			sendWSMessage_1e0000(0, 0);
@@ -1331,7 +1331,7 @@ void Room603::parser() {
 		ws_hide_walker();
 		_val2 = 1;
 		_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 345, 300, -56, 0x100, 1,
-			triggerMachineByHashCallbackNegative, "rip");
+			triggerMachineByHashCallback, "rip");
 		_shadow = series_show("safari shadow 2", 0xf00, 128, -1, -1, 0, 56, 345, 300);
 		_G(kernel).trigger_mode = KT_DAEMON;
 		sendWSMessage_10000(1, _ripley, _ripTalk, 1, 1, 300, _ripTalk, 1, 1, 0);
@@ -1350,7 +1350,7 @@ void Room603::parser() {
 		ws_hide_walker();
 		_val2 = 1;
 		_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 311, 308, -59, 0x100, 1,
-			triggerMachineByHashCallbackNegative, "rip");
+			triggerMachineByHashCallback, "rip");
 		_shadow = series_show("safari shadow 2", 0xf00, 128, -1, -1, 0, 59, 311, 308);
 		_G(kernel).trigger_mode = KT_DAEMON;
 
@@ -1709,7 +1709,7 @@ void Room603::conv603a() {
 		_ttShadow = series_show("tt walker shadow 4", 0xf00, 0, -1, -1, 0, 53, 291, 293);
 		_trigger1 = 400;
 		_tt = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x200, 0,
-			triggerMachineByHashCallbackNegative, "tt");
+			triggerMachineByHashCallback, "tt");
 		_G(kernel).trigger_mode = KT_DAEMON;
 		sendWSMessage_10000(1, _tt, _tt03, 110, 122, 400, _ttD01, 1, 1, 0);
 		_G(kernel).trigger_mode = KT_PARSE;
@@ -1723,7 +1723,7 @@ void Room603::conv603a() {
 		ws_hide_walker();
 		_val2 = 1;
 		_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 345, 300, -56, 0x100, 1,
-			triggerMachineByHashCallbackNegative, "rip");
+			triggerMachineByHashCallback, "rip");
 		_shadow = series_show("safari shadow 2", 0xf00, 128, -1, -1, 0, 56, 345, 300);
 		_G(kernel).trigger_mode = KT_DAEMON;
 		sendWSMessage_10000(1, _ripley, _ripHandsBehindBack, 1, 15, 300,
diff --git a/engines/m4/riddle/rooms/section6/room605.cpp b/engines/m4/riddle/rooms/section6/room605.cpp
index d4d7ffa3b9a..6aca82b44b0 100644
--- a/engines/m4/riddle/rooms/section6/room605.cpp
+++ b/engines/m4/riddle/rooms/section6/room605.cpp
@@ -64,7 +64,7 @@ void Room605::init() {
 			ws_walk_load_walker_series(SECTION6_NORMAL_DIRS, SECTION6_NORMAL_NAMES);
 			ws_walk_load_shadow_series(SECTION6_SHADOW_DIRS, SECTION6_SHADOW_NAMES);
 			_tt = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x700, 0,
-				triggerMachineByHashCallbackNegative, "tt");
+				triggerMachineByHashCallback, "tt");
 			sendWSMessage_10000(1, _tt, _605tt, 1, 1, 200, _605tt, 1, 1, 0);
 			_ttShadow = series_show("tt walker shadow 5", 0x701, 16, -1, -1, 0, 68, 476, 290);
 		}
@@ -125,7 +125,7 @@ void Room605::daemon() {
 
 	case 10:
 		_tt = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x700, 0,
-			triggerMachineByHashCallbackNegative, "tt");
+			triggerMachineByHashCallback, "tt");
 		sendWSMessage_10000(1, _tt, _605tt, 222, 234, 11, _605tt, 1, 1, 0);
 		_ttShadow = series_show("tt walker shadow 5", 0x701, 16, -1,
 			-1, 0, 68, 476, 290);
@@ -443,7 +443,7 @@ void Room605::parser() {
 		ws_hide_walker();
 		_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0,
 			_G(player_info).x, _G(player_info).y, _G(player_info).scale + 1,
-			0x100, 1, triggerMachineByHashCallbackNegative, "rip");
+			0x100, 1, triggerMachineByHashCallback, "rip");
 
 		_G(kernel).trigger_mode = KT_DAEMON;
 		sendWSMessage_10000(1, _ripley, 1, 1, 1, 300, 1, 1, 1, 0);
@@ -577,7 +577,7 @@ void Room605::conv605a() {
 		ws_hide_walker();
 		_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0,
 			_G(player_info).x, _G(player_info).y, _G(player_info).scale + 1,
-			0x100, 1, triggerMachineByHashCallbackNegative, "rip");
+			0x100, 1, triggerMachineByHashCallback, "rip");
 
 		_G(kernel).trigger_mode = KT_DAEMON;
 		sendWSMessage_10000(1, _ripley, 1, 1, 1, 300, 1, 1, 1, 0);
@@ -646,7 +646,7 @@ bool Room605::takePupilDisk() {
 			_ripHandOnIris = series_load("RIP BURNS HAND ON IRIS");
 			ws_hide_walker();
 			_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x100, 0,
-				triggerMachineByHashCallbackNegative, "take pupil");
+				triggerMachineByHashCallback, "take pupil");
 			sendWSMessage_10000(1, _ripley, _ripHandOnIris, 1, 26, 2,
 				_ripHandOnIris, 26, 26, 1);
 			return true;
@@ -699,7 +699,7 @@ bool Room605::sleeveDisk1() {
 			digi_preload("605_s01");
 			digi_preload("605_s02");
 			_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x100, 0,
-				triggerMachineByHashCallbackNegative, "take pupil");
+				triggerMachineByHashCallback, "take pupil");
 			sendWSMessage_10000(1, _ripley, _ripGetsIrisWithCloth, 1, 41, 1,
 				_ripGetsIrisWithCloth, 41, 41, 1);
 			return true;
@@ -737,7 +737,7 @@ bool Room605::sleeveDisk1() {
 		_val6 = 7;
 		kernel_timing_trigger(1, 200, KT_DAEMON, KT_PARSE);
 		_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x100, 0,
-			triggerMachineByHashCallbackNegative, "take pupil");
+			triggerMachineByHashCallback, "take pupil");
 		sendWSMessage_10000(1, _ripley, _ripGetsIrisWithCloth, 1, 41, 10,
 			_ripGetsIrisWithCloth, 41, 41, 1);
 		return true;
@@ -764,7 +764,7 @@ bool Room605::sleeveDisk2() {
 			_ripGetsIrisWithCloth = series_load("RIP GETS IRIS WITH CLOTH");
 			digi_preload("605_s01");
 			_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x100, 0,
-				triggerMachineByHashCallbackNegative, "take pupil");
+				triggerMachineByHashCallback, "take pupil");
 			sendWSMessage_10000(1, _ripley, _ripGetsIrisWithCloth, 1, 41, 1,
 				_ripGetsIrisWithCloth, 41, 41, 1);
 			return true;
diff --git a/engines/m4/riddle/rooms/section6/room608.cpp b/engines/m4/riddle/rooms/section6/room608.cpp
index f2c150aa1ce..3ed0e34056a 100644
--- a/engines/m4/riddle/rooms/section6/room608.cpp
+++ b/engines/m4/riddle/rooms/section6/room608.cpp
@@ -57,7 +57,7 @@ void Room608::init() {
 		ws_walk_load_walker_series(NORMAL_DIRS1, NORMAL_NAMES1);
 		ws_walk_load_shadow_series(SHADOW_DIRS1, SHADOW_NAMES1);
 		_ol = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x200, 0,
-			triggerMachineByHashCallbackNegative, "ol");
+			triggerMachineByHashCallback, "ol");
 		sendWSMessage_10000(1, _ol, _old1, 1, 1, 200, _old1, 1, 1, 0);
 		_val1 = 0;
 		_val2 = 0;
@@ -214,7 +214,7 @@ void Room608::daemon() {
 		_shadow = series_show("safari shadow 3", 0xf00, 0, -1, -1, 0,
 			_G(player_info).scale, _G(player_info).x, _G(player_info).y);
 		_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x100, 0,
-			triggerMachineByHashCallbackNegative, "rip talker");
+			triggerMachineByHashCallback, "rip talker");
 		sendWSMessage_10000(1, _ripley, _rp01, 1, 13, -1, _rp01, 20, 20, 0);
 		break;
 
@@ -225,7 +225,7 @@ void Room608::daemon() {
 		_ttShadow = series_show("tt walker shadow 5", 0xf00, 0, -1, -1, 0,
 			_G(player_info).scale, _G(player_info).x, _G(player_info).y);
 		_ttTalker = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x100, 0,
-			triggerMachineByHashCallbackNegative, "tt talker");
+			triggerMachineByHashCallback, "tt talker");
 		sendWSMessage_10000(1, _ttTalker, _tt01, 63, 54, 22, _tt01, 54, 54, 0);
 		break;
 
@@ -686,7 +686,7 @@ void Room608::daemon() {
 		_val2 = 0;
 		_val3 = 1;
 		_ol2 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x100, 0,
-			triggerMachineByHashCallbackNegative, "rip talker");
+			triggerMachineByHashCallback, "rip talker");
 		sendWSMessage_10000(1, _ol2, _old5f, 1, 1, -1, _old5f, 1, 4, 1);
 		sendWSMessage_1a0000(_ol2, 11);
 		digi_play("608r44", 1, 255, 226);
@@ -732,7 +732,7 @@ void Room608::daemon() {
 		_val2 = 0;
 		_val3 = 1;
 		_ol2 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x100, 0,
-			triggerMachineByHashCallbackNegative, "rip talker");
+			triggerMachineByHashCallback, "rip talker");
 		sendWSMessage_10000(1, _ol2, _old5f, 1, 1, -1, _old5f, 1, 4, 1);
 		sendWSMessage_1a0000(_ol2, 11);
 		digi_play("608r44", 1, 255, 268);
@@ -1003,7 +1003,7 @@ void Room608::daemon() {
 
 		sendWSMessage_10000(_G(my_walker), 524, 296, 9, 532, 1);
 		_ol = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x200, 0,
-			triggerMachineByHashCallbackNegative, "ol");
+			triggerMachineByHashCallback, "ol");
 		sendWSMessage_10000(1, _ol, _old8, 1, 1, -1, _old8, 1, 1, 1);
 		break;
 
@@ -1124,7 +1124,7 @@ void Room608::daemon() {
 		_ttShadow = series_show("tt walker shadow 3", 0xf00, 0, -1, -1, 0,
 			_G(player_info).scale, _G(player_info).x, _G(player_info).y);
 		_ttTalker = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x100, 0,
-			triggerMachineByHashCallbackNegative, "tt walker");
+			triggerMachineByHashCallback, "tt walker");
 		sendWSMessage_10000(1, _ttTalker, _tt02, 1, 11, 703, _tt02, 11, 11, 0);
 		break;
 
@@ -1193,7 +1193,7 @@ void Room608::daemon() {
 		series_unload(204);
 
 		_ttTalker = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0xd00, 0,
-			triggerMachineByHashCallbackNegative, "tt walker");
+			triggerMachineByHashCallback, "tt walker");
 		sendWSMessage_10000(1, _ttTalker, _tt03, 1, 60, -1, _tt03, 60, 60, 0);
 		digi_play("608t06", 1, 255, 726);
 		break;
@@ -1291,7 +1291,7 @@ void Room608::daemon() {
 		ws_hide_walker(_tt);
 
 		_ttTalker = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x100, 0,
-			triggerMachineByHashCallbackNegative, "tt walker");
+			triggerMachineByHashCallback, "tt walker");
 		sendWSMessage_10000(1, _ttTalker, _all5a, 1, 1, -1, _all5a, 1, 6, 4);
 		digi_play("608r58", 2, 255, 752);
 		break;
@@ -1334,11 +1334,11 @@ void Room608::daemon() {
 	case 766:
 		terminateMachineAndNull(_ttTalker);
 		_ttTalker = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x100, 0,
-			triggerMachineByHashCallbackNegative, "tt talker");
+			triggerMachineByHashCallback, "tt talker");
 		sendWSMessage_10000(1, _ttTalker, _loop0, 1, 1, -1, _loop0, 1, 6, 4);
 
 		_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x100, 0,
-			triggerMachineByHashCallbackNegative, "rip talker");
+			triggerMachineByHashCallback, "rip talker");
 		sendWSMessage_10000(1, _ripley, _loop1, 1, 1, -1, _loop1, 1, 1, 0);
 		digi_play("608t11a", 2, 255, 767);
 		break;
@@ -1476,7 +1476,7 @@ void Room608::parser() {
 					_G(player_info).scale, _G(player_info).x, _G(player_info).y);
 				ws_hide_walker();
 				_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x100, 0,
-					triggerMachineByHashCallbackNegative, "rip");
+					triggerMachineByHashCallback, "rip");
 
 				_G(kernel).trigger_mode = KT_DAEMON;
 				sendWSMessage_10000(1, _ripley, _rp09, 1, 23, 300, _rp09, 23, 23, 0);
@@ -1525,7 +1525,7 @@ void Room608::parser() {
 				_G(player_info).x, _G(player_info).y);
 			_horn = series_load("608rp03");
 			_ol2 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x100, 0,
-				triggerMachineByHashCallbackNegative, "ol");
+				triggerMachineByHashCallback, "ol");
 			sendWSMessage_10000(1, _ol2, _horn, 1, 24, 2, _horn, 24, 24, 0);
 			break;
 		case 2:
@@ -1565,7 +1565,7 @@ void Room608::parser() {
 				_G(player_info).x, _G(player_info).y);
 			_horn = series_load("608rp03");
 			_ol2 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x100, 0,
-				triggerMachineByHashCallbackNegative, "ol");
+				triggerMachineByHashCallback, "ol");
 			sendWSMessage_10000(1, _ol2, _horn, 39, 1, 2, _horn, 1, 1, 0);
 			break;
 		case 2:
@@ -1679,7 +1679,7 @@ void Room608::parser() {
 
 			ws_hide_walker();
 			_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x100, 0,
-				triggerMachineByHashCallbackNegative, "rip");
+				triggerMachineByHashCallback, "rip");
 
 			_G(kernel).trigger_mode = KT_DAEMON;
 			sendWSMessage_10000(1, _ripley, _rp09, 1, 23, 300, _rp09, 23, 23, 0);
@@ -1733,7 +1733,7 @@ void Room608::parser() {
 
 			ws_hide_walker();
 			_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x100, 0,
-				triggerMachineByHashCallbackNegative, "rip");
+				triggerMachineByHashCallback, "rip");
 
 			_G(kernel).trigger_mode = KT_DAEMON;
 			sendWSMessage_10000(1, _ripley, _rp09, 1, 23, 300, _rp09, 23, 23, 0);
@@ -2095,7 +2095,7 @@ bool Room608::hornCordWater() {
 			_shadow5 = series_show("safari shadow 5", _G(player_info).depth, 144, -1, -1, 0,
 				_G(player_info).scale, _G(player_info).x, _G(player_info.y));
 			_ol2 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x100, 0,
-				triggerMachineByHashCallbackNegative, "ol");
+				triggerMachineByHashCallback, "ol");
 			sendWSMessage_10000(1, _ol2, _horn, 1, 16, 2, _horn, 16, 16, 0);
 			return true;
 
diff --git a/engines/m4/riddle/rooms/section6/room615.cpp b/engines/m4/riddle/rooms/section6/room615.cpp
index 0827707c33e..5cf9d155338 100644
--- a/engines/m4/riddle/rooms/section6/room615.cpp
+++ b/engines/m4/riddle/rooms/section6/room615.cpp
@@ -148,7 +148,7 @@ void Room615::daemon() {
 	case 25:
 		_flag1 = false;
 		_ripTalker = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 393, 361, 97, 256, 1,
-			triggerMachineByHashCallbackNegative, "rip talker");
+			triggerMachineByHashCallback, "rip talker");
 		sendWSMessage_10000(1, _ripTalker, _ripTalk, 1, 1, 40, _ripTalk, 1, 7, 4);
 		sendWSMessage_1a0000(_ripTalker, 11);
 		digi_play("615r03", 1, 255, 40);
@@ -197,7 +197,7 @@ void Room615::daemon() {
 			sendWSMessage_10000(_pu, 426, 347, 9, 50, 1);
 
 			_tt = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x400, 0,
-				triggerMachineByHashCallbackNegative, "untie tt");
+				triggerMachineByHashCallback, "untie tt");
 			sendWSMessage_10000(1, _tt, _loop7, 1, 1, 50, _loop7, 1, 5, 1);
 			sendWSMessage_1a0000(_tt, 15);
 			digi_play("615t04", 1, 255, 50);
@@ -228,7 +228,7 @@ void Room615::daemon() {
 
 	case 57:
 		_tt = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x400, 0,
-			triggerMachineByHashCallbackNegative, "x");
+			triggerMachineByHashCallback, "x");
 		sendWSMessage_10000(1, _tt, _loop0, 1, 1, 60, _loop0, 1, 5, 1);
 		sendWSMessage_1a0000(_tt, 13);
 		break;
@@ -250,7 +250,7 @@ void Room615::daemon() {
 
 	case 65:
 		_tt = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x400, 0,
-			triggerMachineByHashCallbackNegative, "spleen");
+			triggerMachineByHashCallback, "spleen");
 		sendWSMessage_10000(1, _tt, _loop1, 1, 1, 75, _loop1, 1, 7, 1);
 		sendWSMessage_1a0000(_tt, 13);
 		break;
@@ -270,7 +270,7 @@ void Room615::daemon() {
 		if (_ctr1 >= 1) {
 			_ctr1 = 0;
 			_tt = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x400, 0,
-				triggerMachineByHashCallbackNegative, "spleen");
+				triggerMachineByHashCallback, "spleen");
 			sendWSMessage_10000(1, _tt, _loop2, 1, 1, 85, _loop2, 1, 9, 1);
 			sendWSMessage_1a0000(_tt, 13);
 			digi_play("615t07", 1, 255, 85);
@@ -335,12 +335,12 @@ void Room615::daemon() {
 		if (_ctr1 >= 1) {
 			_ctr1 = 0;
 			_untie = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x400, 0,
-				triggerMachineByHashCallbackNegative, "spleen");
+				triggerMachineByHashCallback, "spleen");
 			sendWSMessage_10000(1, _untie, _loop5, 1, 1, 105, _loop5, 1, 5, 1);
 			sendWSMessage_1a0000(_untie, 15);
 
 			_tt = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x400, 0,
-				triggerMachineByHashCallbackNegative, "spleen");
+				triggerMachineByHashCallback, "spleen");
 			sendWSMessage_10000(1, _tt, _loop6, 1, 1, 105, _loop6, 1, 1, 1);
 			digi_play("615r09", 1, 255, 105);
 		} else {
@@ -424,13 +424,13 @@ void Room615::daemon() {
 	case 120:
 		midi_play("love", 255, 0, -1, 949);
 		_untie = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x400, 0,
-			triggerMachineByHashCallbackNegative, "spleen");
+			triggerMachineByHashCallback, "spleen");
 		sendWSMessage_10000(1, _untie, _loop5, 1, 1, 125, _loop5, 1, 1, 1);
 		sendWSMessage_190000(_untie, 15);
 		sendWSMessage_1a0000(_untie, 15);
 
 		_tt = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x400, 0,
-			triggerMachineByHashCallbackNegative, "spleen");
+			triggerMachineByHashCallback, "spleen");
 		sendWSMessage_10000(1, _tt, _loop7, 1, 1, 125, _loop7, 1, 5, 1);
 		sendWSMessage_1a0000(_tt, 13);
 		digi_play("615t10a", 1, 255, 125);
diff --git a/engines/m4/riddle/rooms/section8/room801.cpp b/engines/m4/riddle/rooms/section8/room801.cpp
index 37065fa8121..6601ab5adfe 100644
--- a/engines/m4/riddle/rooms/section8/room801.cpp
+++ b/engines/m4/riddle/rooms/section8/room801.cpp
@@ -72,9 +72,9 @@ void Room801::init() {
 	_roomStates_val2 = series_load("rip looks l r down", -1, nullptr);
 	series_load("SAFARI SHADOW 5", -1, nullptr);
 	_roomStates_loop4 = series_load("MCTSH1", -1, nullptr);
-	_roomStates_field96h = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 1024, 0, triggerMachineByHashCallbackNegative, "farmer displacement");
+	_roomStates_field96h = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 1024, 0, triggerMachineByHashCallback, "farmer displacement");
 	sendWSMessage_10000(1, _roomStates_field96h, _roomStates_field642, 1, 14, 0, _roomStates_field642, 14, 14, 0);
-	_roomStates_field9Ah = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 151, 317, 100, 1280, 0, triggerMachineByHashCallbackNegative, "farmer shadow");
+	_roomStates_field9Ah = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 151, 317, 100, 1280, 0, triggerMachineByHashCallback, "farmer shadow");
 	sendWSMessage_10000(1, _roomStates_field9Ah, _roomStates_loop4, 1, 1, -1, _roomStates_loop4, 1, 1, 0);
 	if (inv_player_has("farmer's shovel"))
 		hotspot_set_active(_G(currentSceneDef).hotspots, "farmer's shovel", false);
@@ -137,7 +137,7 @@ void Room801::init() {
 			_roomStates_fieldA6h = series_place_sprite("CELLAR DOOR CLOSED", 0, 0, -53, 100, 1280);
 		}
 
-		_roomStates_field9Eh = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 1280, 0, triggerMachineByHashCallbackNegative, "mc talk frames");
+		_roomStates_field9Eh = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 1280, 0, triggerMachineByHashCallback, "mc talk frames");
 		_roomStates_fieldA2h = series_show("SAFARI SHADOW 5", 1280, 16, -1, -1, 0, 50, 124, 304);
 		sendWSMessage_10000(1, _roomStates_field9Eh, _roomStates_field782, 42, 42, 0, _roomStates_field782, 42, 42, 0);
 	}
@@ -477,7 +477,7 @@ void Room801::parser() {
 				ws_hide_walker();
 				terminateMachine(_roomStates_fieldA6h);
 				_roomStates_field18 = series_load("RIP OPENS CELLAR", -1, nullptr);
-				_roomStates_field8Ah = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 256, 0, triggerMachineByHashCallbackNegative, "rip opens cellar");
+				_roomStates_field8Ah = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 256, 0, triggerMachineByHashCallback, "rip opens cellar");
 				sendWSMessage_10000(1, _roomStates_field8Ah, 1, _roomStates_field18, 28, 10, _roomStates_field18, 28, 28, 0);
 			}
 			break;
@@ -516,7 +516,7 @@ void Room801::parser() {
 				ws_hide_walker(_G(my_walker));
 				terminateMachine(_roomStates_fieldAAh);
 				_roomStates_ripTalking = series_load("RIP CLOSES CELLAR", -1, nullptr);
-				_roomStates_field8Ah = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 256, 0, triggerMachineByHashCallbackNegative, "rip closes cellar");
+				_roomStates_field8Ah = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 256, 0, triggerMachineByHashCallback, "rip closes cellar");
 				sendWSMessage_10000(1, _roomStates_field8Ah, _roomStates_ripTalking, 1, 19, 10, _roomStates_ripTalking, 34, 34, 0);
 			}
 			break;
@@ -549,7 +549,7 @@ void Room801::parser() {
 		if (_G(flags)[V252] || _G(flags)[V253] || _G(flags)[V255]) {
 			ws_hide_walker(_G(my_walker));
 			player_set_commands_allowed(false);
-			_roomStates_field8Ah = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 167, 303, 49, 1280, 1, triggerMachineByHashCallbackNegative, "rip talking to farmer");
+			_roomStates_field8Ah = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 167, 303, 49, 1280, 1, triggerMachineByHashCallback, "rip talking to farmer");
 			sendWSMessage_10000(1, _roomStates_field8Ah, _roomStates_loop62, 1, 1, -1, _roomStates_loop62, 1, 1, 0);
 			_roomStates_field8Eh = series_show("SAFARI SHADOW 5", 1280, 144, -1, -1, 0, 48, 167, 303);
 			_roomStates_pu2 = 1;
@@ -667,7 +667,7 @@ void Room801::parser() {
 		case -1:
 			player_set_commands_allowed(false);
 			ws_hide_walker(_G(my_walker));
-			_roomStates_field8Ah = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 256, 0, triggerMachineByHashCallbackNegative, "rip enters cellar");
+			_roomStates_field8Ah = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 256, 0, triggerMachineByHashCallback, "rip enters cellar");
 			sendWSMessage_10000(1, _roomStates_field8Ah, _roomStates_loop2, 1, 14, 5, _roomStates_loop2, 15, 19, 0);
 			break;
 		case 5:
@@ -722,14 +722,14 @@ void Room801::daemon() {
 	case 7:
 		player_set_commands_allowed(false);
 		ws_hide_walker(_G(my_walker));
-		_roomStates_field9Eh = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 1280, 0, triggerMachineByHashCallbackNegative, "mc talk frames");
+		_roomStates_field9Eh = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 1280, 0, triggerMachineByHashCallback, "mc talk frames");
 		_roomStates_fieldA2h = series_show("SAFARI SHADOW 5", 1280, 16, -1, -1, 0, 50, 124, 304);
 		sendWSMessage_10000(1, _roomStates_field9Eh, _roomStates_field782, 42, 42, 0, _roomStates_field782, 42, 42, 0);
 
 		if (_G(flags)[V260]) {
 			kernel_timing_trigger(30, 81, nullptr);
 		} else {
-			_roomStates_field8Ah = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0, 0, triggerMachineByHashCallbackNegative, "rip returns from cellar");
+			_roomStates_field8Ah = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0, 0, triggerMachineByHashCallback, "rip returns from cellar");
 			sendWSMessage_10000(1, _roomStates_field8Ah, _roomStates_loop3, 1, 22, 8, _roomStates_loop3, 22, 22, 0);
 		}
 		break;
@@ -745,9 +745,9 @@ void Room801::daemon() {
 		break;
 	case 10:
 		terminateMachine(_roomStates_field96h);
-		_roomStates_field92h = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 2048, 0, triggerMachineByHashCallbackNegative, "shadow of de plane");
-		_roomStates_field96h = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 1024, 0, triggerMachineByHashCallbackNegative, "farmer looks to zero");
-		_roomStates_field8Ah = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 1536, 0, triggerMachineByHashCallbackNegative, "rip looks to zero");
+		_roomStates_field92h = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 2048, 0, triggerMachineByHashCallback, "shadow of de plane");
+		_roomStates_field96h = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 1024, 0, triggerMachineByHashCallback, "farmer looks to zero");
+		_roomStates_field8Ah = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 1536, 0, triggerMachineByHashCallback, "rip looks to zero");
 		sendWSMessage_10000(1, _roomStates_field92h, _roomStates_field60, 1, 47, 2, _roomStates_field60, 47, 47, 0);
 		_roomStates_field4 = 0;
 		sendWSMessage_10000(1, _roomStates_field96h, _roomStates_field702, 1, 48, 12, _roomStates_field702, 48, 48, 0);
@@ -760,7 +760,7 @@ void Room801::daemon() {
 	case 11:
 		digi_play("801_s01", 2, 255, -1, -1);
 		sendWSMessage_60000(_roomStates_field9Eh);
-		_roomStates_field9Eh = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 1280, 0, triggerMachineByHashCallbackNegative, "mei chen looks to zero");
+		_roomStates_field9Eh = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 1280, 0, triggerMachineByHashCallback, "mei chen looks to zero");
 		sendWSMessage_10000(1, _roomStates_field9Eh, _roomStates_field782, 1, 7, 0, _roomStates_field782, 7, 7, 0);
 		_roomStates_fieldA2h = series_show("SAFARI SHADOW 5", 1280, 16, -1, -1, 0, 50, 124, 304);
 		break;
@@ -881,9 +881,9 @@ void Room801::daemon() {
 			series_unload(_roomStates_field702);
 			series_unload(_roomStates_field7E);
 			series_unload(_roomStates_field2A);
-			_roomStates_field96h = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 1024, 0, triggerMachineByHashCallbackNegative, "farmer talk frames");
+			_roomStates_field96h = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 1024, 0, triggerMachineByHashCallback, "farmer talk frames");
 			sendWSMessage_10000(1, _roomStates_field96h, _roomStates_field742, 1, 1, 0, _roomStates_field742, 1, 1, 0);
-			_roomStates_field9Eh = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 1280, 0, triggerMachineByHashCallbackNegative, "mc talk frames");
+			_roomStates_field9Eh = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 1280, 0, triggerMachineByHashCallback, "mc talk frames");
 			sendWSMessage_10000(1, _roomStates_field9Eh, _roomStates_field782, 8, 17, 33, _roomStates_field782, 17, 17, 0);
 			_roomStates_field502 = series_load("RIP TREK HAT TIP POS5", -1, nullptr);
 			kernel_timing_trigger(210, 62, nullptr);
diff --git a/engines/m4/riddle/rooms/section8/room802.cpp b/engines/m4/riddle/rooms/section8/room802.cpp
index 5ca31e240a3..e3eec9d81a1 100644
--- a/engines/m4/riddle/rooms/section8/room802.cpp
+++ b/engines/m4/riddle/rooms/section8/room802.cpp
@@ -219,7 +219,7 @@ void Room802::parser() {
 			player_set_commands_allowed(false);
 			interface_hide();
 			ws_unhide_walker(_G(my_walker));
-			_ripWalksDownstairsMach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 512, 0, triggerMachineByHashCallbackNegative, "rip lights match");
+			_ripWalksDownstairsMach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 512, 0, triggerMachineByHashCallback, "rip lights match");
 			sendWSMessage_10000(1, _ripWalksDownstairsMach, _lookWithMatch, 1, 12, 10, _lookWithMatch, 12, 12, 0);
 			break;
 		case 1:
@@ -254,7 +254,7 @@ void Room802::parser() {
 		case -1:
 			player_set_commands_allowed(false);
 			ws_hide_walker(_G(my_walker));
-			_ripWalksDownstairsMach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 512, 0, triggerMachineByHashCallbackNegative, "rip bends down to look in hole / at hand");
+			_ripWalksDownstairsMach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 512, 0, triggerMachineByHashCallback, "rip bends down to look in hole / at hand");
 			sendWSMessage_10000(1, _ripWalksDownstairsMach, _ripLooksAtHand, 1, 17, 1, _ripLooksAtHand, 17, 17, 0);
 			break;
 		case 1:
@@ -288,7 +288,7 @@ void Room802::parser() {
 		switch (_G(kernel).trigger) {
 		case -1:
 			player_set_commands_allowed(false);
-			_ripWalksDownstairsMach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 512, 0, triggerMachineByHashCallbackNegative, "rip moves sack of rice");
+			_ripWalksDownstairsMach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 512, 0, triggerMachineByHashCallback, "rip moves sack of rice");
 			ws_hide_walker(_G(my_walker));
 			terminateMachine(_sackAgainstWallMach);
 			sendWSMessage_10000(1, _ripWalksDownstairsMach, _ripDragsSack, 1, 15, 10, _ripDragsSack, 15, 15, 0);
@@ -331,7 +331,7 @@ void Room802::parser() {
 				player_set_commands_allowed(false);
 				ws_hide_walker(_G(my_walker));
 				terminateMachine(_handInWallMach);
-				_ripWalksDownstairsMach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 512, 0, triggerMachineByHashCallbackNegative, "802 rip digs at wall");
+				_ripWalksDownstairsMach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 512, 0, triggerMachineByHashCallback, "802 rip digs at wall");
 				sendWSMessage_10000(1, _ripWalksDownstairsMach, _ripDigsWall, 1, 24, 10, _ripDigsWall, 24, 24, 0);
 				break;
 			case 1:
@@ -364,7 +364,7 @@ void Room802::parser() {
 				case -1:
 					player_set_commands_allowed(false);
 					ws_unhide_walker(_G(my_walker));
-					_ripWalksDownstairsMach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 512, 0, triggerMachineByHashCallbackNegative, "rip tugs at hand and removes it");
+					_ripWalksDownstairsMach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 512, 0, triggerMachineByHashCallback, "rip tugs at hand and removes it");
 					terminateMachine(_handInWallMach);
 					sendWSMessage_10000(1, _ripWalksDownstairsMach, _ripTugsOnArm, 1, 36, 10, _ripTugsOnArm, 36, 36, 0);
 					break;
@@ -402,7 +402,7 @@ void Room802::parser() {
 			case -1:
 				player_set_commands_allowed(false);
 				ws_hide_walker(_G(my_walker));
-				_ripWalksDownstairsMach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 512, 0, triggerMachineByHashCallbackNegative, "rip tugs at hand (noshovel)");
+				_ripWalksDownstairsMach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 512, 0, triggerMachineByHashCallback, "rip tugs at hand (noshovel)");
 				terminateMachine(_handInWallMach);
 				sendWSMessage_10000(1, _ripWalksDownstairsMach, _ripTugsBeforeDigging, 1, 15, 10, _ripTugsBeforeDigging, 15, 15, 0);
 				break;
@@ -446,7 +446,7 @@ void Room802::parser() {
 		switch (_G(kernel).trigger) {
 		case -1:
 			player_set_commands_allowed(false);
-			_ripWalksDownstairsMach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 768, 0, triggerMachineByHashCallbackNegative, "rip walks up stairs");
+			_ripWalksDownstairsMach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 768, 0, triggerMachineByHashCallback, "rip walks up stairs");
 			ws_hide_walker(_G(my_walker));
 			sendWSMessage_10000(1, _ripWalksDownstairsMach, _ripUpStairs, 1, 23, 1, _ripUpStairs, 24, 29, 0);
 			break;
@@ -474,7 +474,7 @@ void Room802::daemon() {
 	case 6:
 	case 7:
 		player_set_commands_allowed(false);
-		_ripWalksDownstairsMach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 768, 0, triggerMachineByHashCallbackNegative, "rip walks down stairs");
+		_ripWalksDownstairsMach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 768, 0, triggerMachineByHashCallback, "rip walks down stairs");
 		sendWSMessage_10000(1, _ripWalksDownstairsMach, _ripDownStairs, 1, 20, 51, _ripDownStairs, 20, 20, 0);
 		break;
 	case 14:
diff --git a/engines/m4/riddle/triggers.cpp b/engines/m4/riddle/triggers.cpp
index 74e1903667d..ce269357928 100644
--- a/engines/m4/riddle/triggers.cpp
+++ b/engines/m4/riddle/triggers.cpp
@@ -434,13 +434,6 @@ void triggerMachineByHashCallback(frac16 myMessage, machine *) {
 		kernel_trigger_dispatch_now(hi);
 }
 
-void triggerMachineByHashCallbackNegative(frac16 myMessage, machine *) {
-	int32 hi = myMessage >> 16;
-
-	if (hi < 0)
-		kernel_trigger_dispatchx(hi);
-}
-
 void triggerMachineByHashCallbackAlways(frac16 myMessage, machine *sender) {
 	kernel_trigger_dispatchx(myMessage);
 }
diff --git a/engines/m4/riddle/triggers.h b/engines/m4/riddle/triggers.h
index 7615fb37c5b..ac05984af60 100644
--- a/engines/m4/riddle/triggers.h
+++ b/engines/m4/riddle/triggers.h
@@ -89,7 +89,6 @@ extern void sendWSMessage_29a0000(int val1);
 
 extern void intrMsgNull(frac16 myMessage, machine *sender);
 extern void triggerMachineByHashCallback(frac16 myMessage, machine *sender = nullptr);
-extern void triggerMachineByHashCallbackNegative(frac16 myMessage, machine *sender = nullptr);
 extern void triggerMachineByHashCallback3000(frac16 myMessage, machine *sender = nullptr);
 extern void triggerMachineByHashCallbackAlways(frac16 myMessage, machine *sender = nullptr);
 




More information about the Scummvm-git-logs mailing list