[Scummvm-git-logs] scummvm master -> 25a0e90ef591cad19fade33fe2671a4b77d78617
Strangerke
noreply at scummvm.org
Thu Feb 20 22:49:48 UTC 2025
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
25a0e90ef5 M4: RIDDLE: Room 303 - Remove default parameter values for SenWSMEssage B0000 to E0000, fix 2 crashes related to torso t
Commit: 25a0e90ef591cad19fade33fe2671a4b77d78617
https://github.com/scummvm/scummvm/commit/25a0e90ef591cad19fade33fe2671a4b77d78617
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2025-02-20T23:49:16+01:00
Commit Message:
M4: RIDDLE: Room 303 - Remove default parameter values for SenWSMEssage B0000 to E0000, fix 2 crashes related to torso tomato, some doc added to flags
Changed paths:
engines/m4/riddle/flags.h
engines/m4/riddle/rooms/section3/room303.cpp
engines/m4/riddle/rooms/section3/room305.cpp
engines/m4/riddle/triggers.cpp
engines/m4/riddle/triggers.h
diff --git a/engines/m4/riddle/flags.h b/engines/m4/riddle/flags.h
index 7bec244bfff..8435e120563 100644
--- a/engines/m4/riddle/flags.h
+++ b/engines/m4/riddle/flags.h
@@ -112,8 +112,8 @@ enum Flag {
kTabletsCartoon = 77,
V078 = 78,
V079 = 79,
- V080 = 80,
- V081 = 81,
+ V080 = 80, // Room 303 Puffball : first look animation played
+ V081 = 81, // Room 303 Torso Tomato : first look animation played
V082 = 82,
V083 = 83,
V084 = 84,
diff --git a/engines/m4/riddle/rooms/section3/room303.cpp b/engines/m4/riddle/rooms/section3/room303.cpp
index ec3c1490e80..459166bf5c1 100644
--- a/engines/m4/riddle/rooms/section3/room303.cpp
+++ b/engines/m4/riddle/rooms/section3/room303.cpp
@@ -539,12 +539,12 @@ void Room303::daemon() {
case 125:
_chinTalk4 = series_load("rip suit lft hand gest talk");
setGlobals4(_chinTalk4, 6, 6, 13);
- sendWSMessage_C0000(126);
+ sendWSMessage_C0000(_G(my_walker), 126);
break;
case 126:
digi_play("303r07", 1, 255, 150);
- sendWSMessage_D0000();
+ sendWSMessage_D0000(_G(my_walker));
break;
case 127:
@@ -623,7 +623,7 @@ void Room303::daemon() {
break;
case 150:
- sendWSMessage_B0000(127);
+ sendWSMessage_B0000(_G(my_walker), 127);
playSound("303f02", -1, 129);
break;
@@ -1234,12 +1234,12 @@ void Room303::parser() {
player_set_commands_allowed(false);
_chinTalk4 = series_load("suit chin in hand pos4");
setGlobals4(_chinTalk4, 15, 15, 15);
- sendWSMessage_C0000(0);
+ sendWSMessage_C0000(_G(my_walker), 0);
digi_play("303r37", 1, 255, 2);
break;
case 2:
- sendWSMessage_B0000(3);
+ sendWSMessage_B0000(_G(my_walker), 3);
break;
case 3:
@@ -1257,7 +1257,7 @@ void Room303::parser() {
player_set_commands_allowed(false);
_chinTalk4 = series_load("rip hand to chin talk pos4");
setGlobals4(_chinTalk4, 15, 16, 19);
- sendWSMessage_C0000(0);
+ sendWSMessage_C0000(_G(my_walker), 0);
digi_play("303F13", 1, 255, 1);
_fengShould = 2;
break;
@@ -1268,12 +1268,12 @@ void Room303::parser() {
break;
case 2:
- sendWSMessage_D0000();
- digi_play("303r26", 1, 255, 3);
+ sendWSMessage_D0000(_G(my_walker));
+ digi_play("303r26", 1, 255, 3, -1);
break;
case 3:
- sendWSMessage_E0000();
+ sendWSMessage_E0000(_G(my_walker));
sendWSMessage(0xe0000, 0, _G(my_walker), 0, nullptr, 1);
kernel_timing_trigger(30, 4);
break;
@@ -1289,12 +1289,12 @@ void Room303::parser() {
break;
case 6:
- sendWSMessage_D0000();
+ sendWSMessage_D0000(_G(my_walker));
digi_play("303r27", 1, 255, 7);
break;
case 7:
- sendWSMessage_B0000(8);
+ sendWSMessage_B0000(_G(my_walker), 8);
break;
case 8:
@@ -1318,12 +1318,12 @@ void Room303::parser() {
player_set_commands_allowed(false);
_chinTalk4 = series_load("suit hand in pocket pos2");
setGlobals4(_chinTalk4, 19, 19, 19);
- sendWSMessage_C0000(0);
+ sendWSMessage_C0000(_G(my_walker), 0);
digi_play("303r31", 1, 255, 2);
break;
case 2:
- sendWSMessage_B0000(3);
+ sendWSMessage_B0000(_G(my_walker), 3);
break;
case 3:
@@ -1345,16 +1345,17 @@ void Room303::parser() {
player_set_commands_allowed(false);
_chinTalk4 = series_load("suit chin in hand pos4");
setGlobals4(_chinTalk4, 15, 15, 15);
- sendWSMessage_C0000(-2);
+ sendWSMessage_C0000(_G(my_walker), -2);
digi_play("303r28a", 1, 255, 1);
break;
case 1:
- sendWSMessage_B0000(3);
+ sendWSMessage_B0000(_G(my_walker), 3);
break;
case 3:
series_unload(_chinTalk4);
+ player_set_commands_allowed(true);
break;
default:
@@ -1367,18 +1368,23 @@ void Room303::parser() {
player_set_commands_allowed(false);
_chinTalk4 = series_load("rip suit talker pos4");
setGlobals4(_chinTalk4, 1, 1, 5);
- sendWSMessage_C0000(-1);
+ sendWSMessage_C0000(_G(my_walker), -1);
digi_play("303F15", 1, 255, 1);
- _fengShould = 2;
+ _fengMode = 2;
break;
+ case 1:
+ _fengMode = 1;
+ kernel_timing_trigger(30, 2);
+ break;
+
case 2:
- sendWSMessage_D0000();
+ sendWSMessage_D0000(_G(my_walker));
digi_play("303r28", 1, 255, 3);
break;
case 3:
- sendWSMessage_B0000(4);
+ sendWSMessage_B0000(_G(my_walker), 4);
break;
case 4:
@@ -1424,14 +1430,14 @@ void Room303::parser() {
player_set_commands_allowed(false);
_chinTalk4 = series_load("rip hand to chin talk pos4");
setGlobals4(_chinTalk4, 15, 16, 19);
- sendWSMessage_C0000(0);
+ sendWSMessage_C0000(_G(my_walker), 0);
digi_play("303F10", 1, 255, 6);
_fengShould = 2;
break;
case 1:
digi_play("303r24", 1, 255, 3);
- sendWSMessage_D0000();
+ sendWSMessage_D0000(_G(my_walker));
_fengShould = 0;
break;
@@ -1440,7 +1446,7 @@ void Room303::parser() {
break;
case 4:
- sendWSMessage_B0000(7);
+ sendWSMessage_B0000(_G(my_walker), 7);
_fengShould = 3;
digi_play("303f11", 1, 255, 5);
break;
@@ -1474,18 +1480,18 @@ void Room303::parser() {
player_set_commands_allowed(false);
_chinTalk4 = series_load("rip suit talker pos4");
setGlobals4(_chinTalk4, 1, 1, 5);
- sendWSMessage_C0000(1);
+ sendWSMessage_C0000(_G(my_walker), 1);
break;
case 2:
- sendWSMessage_D0000();
+ sendWSMessage_D0000(_G(my_walker));
digi_play("303r25", 1, 255, 3);
break;
case 3:
digi_play("303F12", 1, 255, 4);
_fengShould = 2;
- sendWSMessage_B0000(0);
+ sendWSMessage_B0000(_G(my_walker), 0);
break;
case 4:
diff --git a/engines/m4/riddle/rooms/section3/room305.cpp b/engines/m4/riddle/rooms/section3/room305.cpp
index 61a27c309e3..df69dbff583 100644
--- a/engines/m4/riddle/rooms/section3/room305.cpp
+++ b/engines/m4/riddle/rooms/section3/room305.cpp
@@ -995,7 +995,7 @@ next4:
else
setGlobals4(_suit1, 17, 17, 17);
- sendWSMessage_C0000(0);
+ sendWSMessage_C0000(_G(my_walker), 0);
if (_G(flags)[V087]) {
digi_play("305r31", 1, 255, 2);
@@ -1009,7 +1009,7 @@ next4:
break;
case 2:
- sendWSMessage_B0000(3);
+ sendWSMessage_B0000(_G(my_walker), 3);
break;
case 3:
@@ -1033,12 +1033,12 @@ next4:
setGlobals4(_lookUp, 7, 7, 7);
}
- sendWSMessage_C0000(0);
+ sendWSMessage_C0000(_G(my_walker), 0);
digi_play("305r13", 1, 255, 2);
break;
case 2:
- sendWSMessage_B0000(3);
+ sendWSMessage_B0000(_G(my_walker), 3);
break;
case 3:
@@ -1112,12 +1112,12 @@ next4:
else
setGlobals4(_suit1, 17, 17, 17);
- sendWSMessage_C0000(0);
+ sendWSMessage_C0000(_G(my_walker), 0);
digi_play("305r14", 1, 255, 2);
break;
case 2:
- sendWSMessage_B0000(3);
+ sendWSMessage_B0000(_G(my_walker), 3);
break;
case 3:
@@ -1141,12 +1141,12 @@ next4:
setGlobals4(_lookUp, 7, 7, 7);
}
- sendWSMessage_C0000(0);
+ sendWSMessage_C0000(_G(my_walker), 0);
digi_play("305r12", 1, 255, 2);
break;
case 2:
- sendWSMessage_B0000(3);
+ sendWSMessage_B0000(_G(my_walker), 3);
break;
case 3:
diff --git a/engines/m4/riddle/triggers.cpp b/engines/m4/riddle/triggers.cpp
index a1de3d921df..99f94e0a806 100644
--- a/engines/m4/riddle/triggers.cpp
+++ b/engines/m4/riddle/triggers.cpp
@@ -141,10 +141,6 @@ void sendWSMessage_B0000(machine *mach, int trigger) {
sendWSMessage(ACTION_11 << 16, 0, mach, 0, nullptr, 1);
}
-void sendWSMessage_B0000(int trigger) {
- sendWSMessage_B0000(_G(my_walker), trigger);
-}
-
void sendWSMessage_C0000(machine *mach, int trigger) {
if (!trigger)
trigger = -1;
@@ -153,26 +149,14 @@ void sendWSMessage_C0000(machine *mach, int trigger) {
sendWSMessage(ACTION_12 << 16, 0, mach, 0, nullptr, 1);
}
-void sendWSMessage_C0000(int trigger) {
- sendWSMessage_C0000(_G(my_walker), trigger);
-}
-
void sendWSMessage_D0000(machine *mach) {
sendWSMessage(ACTION_13 << 16, 0, mach, 0, nullptr, 1);
}
-void sendWSMessage_D0000() {
- sendWSMessage_D0000(_G(my_walker));
-}
-
void sendWSMessage_E0000(machine *mach) {
sendWSMessage(ACTION_14 << 16, 0, mach, 0, nullptr, 1);
}
-void sendWSMessage_E0000() {
- sendWSMessage_E0000(_G(my_walker));
-}
-
void sendWSMessage_F0000(machine *mach, int trigger) {
if (!trigger)
trigger = -1;
diff --git a/engines/m4/riddle/triggers.h b/engines/m4/riddle/triggers.h
index b19f0fe9c84..5ef7ad18949 100644
--- a/engines/m4/riddle/triggers.h
+++ b/engines/m4/riddle/triggers.h
@@ -49,13 +49,9 @@ machine *triggerMachineByHash_3000(int myHash, int dataHash,
extern void sendWSMessage_60000(machine *mach);
extern void sendWSMessage_80000(machine *mach);
extern void sendWSMessage_B0000(machine *mach, int trigger);
-extern void sendWSMessage_B0000(int trigger);
extern void sendWSMessage_C0000(machine *mach, int trigger);
-extern void sendWSMessage_C0000(int trigger);
extern void sendWSMessage_D0000(machine *mach);
-extern void sendWSMessage_D0000();
extern void sendWSMessage_E0000(machine *mach);
-extern void sendWSMessage_E0000();
extern void sendWSMessage_F0000(machine *mach, int trigger);
extern void sendWSMessage_F0000(int trigger);
extern void sendWSMessage_110000(machine *mach, int trigger);
More information about the Scummvm-git-logs
mailing list