[Scummvm-git-logs] scummvm master -> a5c454a410fdf9eec0fd8b9c8081ddc85022da66
dreammaster
noreply at scummvm.org
Sat Feb 8 06:39:19 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:
a5c454a410 M4: RIDDLE: Fixes for Hall of Classics cutscene
Commit: a5c454a410fdf9eec0fd8b9c8081ddc85022da66
https://github.com/scummvm/scummvm/commit/a5c454a410fdf9eec0fd8b9c8081ddc85022da66
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2025-02-07T22:39:14-08:00
Commit Message:
M4: RIDDLE: Fixes for Hall of Classics cutscene
Changed paths:
engines/m4/platform/sound/midi.cpp
engines/m4/riddle/rooms/section2/room205.cpp
diff --git a/engines/m4/platform/sound/midi.cpp b/engines/m4/platform/sound/midi.cpp
index a0d46a2a85f..d108bec7a76 100644
--- a/engines/m4/platform/sound/midi.cpp
+++ b/engines/m4/platform/sound/midi.cpp
@@ -27,6 +27,8 @@ namespace Sound {
void Midi::midi_play(const char *name, int volume, int loop, int trigger, int roomNum) {
warning("TODO: midi_play");
+ if (trigger != -1)
+ kernel_timing_trigger(10, trigger);
}
void Midi::task() {
diff --git a/engines/m4/riddle/rooms/section2/room205.cpp b/engines/m4/riddle/rooms/section2/room205.cpp
index bc6088af436..27b7fa762b3 100644
--- a/engines/m4/riddle/rooms/section2/room205.cpp
+++ b/engines/m4/riddle/rooms/section2/room205.cpp
@@ -75,7 +75,7 @@ void Room205::init() {
_fieldD8 = 0;
_askUnhideMyWalkerFl = false;
_fieldE4 = 0;
- series_show("205PRIES", 3840, 16, -1, -1, 0, 100, 0, 0);
+ series_show("205PRIES", 0xf00, 16, -1, -1, 0, 100, 0, 0);
_205LeftEntranceTabletMach = series_show("205 LEFT ENTRANCE TABLET", 257, 16, -1, -1, 0, 100, 0, 0);
if (!_G(flags)[V028])
@@ -106,7 +106,7 @@ void Room205::init() {
if (_G(flags)[V029])
hotspot_set_active(_G(currentSceneDef).hotspots, "CHARCOAL", false);
} else if (_G(flags)[V029])
- _205CharcoalSpriteMach = series_show("205 CHARCOAL SPRITE", 3840, 16, -1, -1, 0, 100, 0, 0);
+ _205CharcoalSpriteMach = series_show("205 CHARCOAL SPRITE", 0xf00, 16, -1, -1, 0, 100, 0, 0);
if (_G(flags)[V025]) {
series_show("205 MALLET LAYED ON GONG", 1024, 16, -1, -1, 0, 100, 0, 0);
@@ -122,8 +122,8 @@ void Room205::init() {
if (_G(flags)[V028]) {
_205MeiStanderMach = series_show("205 MEI STANDER", 3845, 16, -1, -1, 0, 100, 0, 0);
- series_show("205 TABLETS DOWN", 3840, 16, -1, -1, 0, 100, 0, 0);
- series_show("205GLASS", 3840, 16, -1, -1, 0, 100, 0, 0);
+ series_show("205 TABLETS DOWN", 0xf00, 16, -1, -1, 0, 100, 0, 0);
+ series_show("205GLASS", 0xf00, 16, -1, -1, 0, 100, 0, 0);
hotspot_set_active(_G(currentSceneDef).hotspots, "TABLET ", false);
hotspot_set_active(_G(currentSceneDef).hotspots, "RIGHT TABLET", false);
@@ -846,9 +846,9 @@ void Room205::daemon() {
if (_fieldD8) {
_fieldD8 = 0;
terminateMachine(_205MeiStanderMach);
- series_play("205MC02", 1792, 0, 507, 5, 0, 100, 0, 0, 0, 5);
+ series_play("205MC02", 0x700, 0, 507, 5, 0, 100, 0, 0, 0, 5);
} else {
- kernel_timing_trigger(10, 529, nullptr);
+ kernel_timing_trigger(10, 506, nullptr);
}
break;
@@ -980,7 +980,7 @@ void Room205::daemon() {
case 527:
ws_hide_walker(_G(my_walker));
- _205rp1Mach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 3840, false, triggerMachineByHashCallback, "205rp03");
+ _205rp1Mach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0xf00, false, triggerMachineByHashCallback, "205rp03");
sendWSMessage_10000(1, _205rp1Mach, _205rp03Series, 1, 11, -1, _205rp03Series, 2, 10, 4);
sendWSMessage_1a0000(_205rp1Mach, 11);
digi_play("205R02", 1, 255, 528, -1);
@@ -1009,7 +1009,7 @@ void Room205::daemon() {
digi_preload("205_s01", -1);
digi_preload("205R13", -1);
terminateMachine(_205rp1Mach);
- series_play("205ALL0", 3840, 0, 530, 5, 0, 100, 0, 0, 0, 32);
+ series_play("205ALL0", 0xf00, 0, 530, 5, 0, 100, 0, 0, 0, 32);
} else {
kernel_timing_trigger(10, 529, nullptr);
}
@@ -1018,13 +1018,13 @@ void Room205::daemon() {
case 530:
digi_play("205_s01", 2, 255, -1, -1);
- series_play("205ALL0", 3840, 0, 531, 5, 0, 100, 0, 0, 33, 56);
+ series_play("205ALL0", 0xf00, 0, 531, 5, 0, 100, 0, 0, 33, 56);
break;
case 531:
digi_play("205_s01", 2, 255, -1, -1);
- series_play("205ALL0", 3840, 0, 533, 5, 0, 100, 0, 0, 57, 65);
+ series_play("205ALL0", 0xf00, 0, 533, 5, 0, 100, 0, 0, 57, 65);
break;
@@ -1038,7 +1038,7 @@ void Room205::daemon() {
break;
case 533:
- series_play("205ALL0", 3840, 0, 534, 5, 0, 100, 0, 0, 66, -1);
+ series_play("205ALL0", 0xf00, 0, 534, 5, 0, 100, 0, 0, 66, -1);
_G(flags)[V289] = 1;
digi_play("205R13", 1, 255, 538, -1);
@@ -1047,10 +1047,10 @@ void Room205::daemon() {
case 534:
if (_fieldD8) {
_fieldD8 = 0;
- _205all0Mach = series_show("205ALL0", 3840, 16, -1, -1, 88, 100, 0, 0);
+ _205all0Mach = series_show("205ALL0", 0xf00, 16, -1, -1, 88, 100, 0, 0);
kernel_timing_trigger(10, 539, nullptr);
} else {
- series_play("205ALL0", 3840, 2, 535, 5, 0, 100, 0, 0, 66, -1);
+ series_play("205ALL0", 0xf00, 2, 535, 5, 0, 100, 0, 0, 66, -1);
}
break;
@@ -1058,12 +1058,11 @@ void Room205::daemon() {
case 535:
if (_fieldD8) {
_fieldD8 = 0;
- _205all0Mach = series_show("205ALL0", 3840, 16, -1, -1, 88, 100, 0, 0);
+ _205all0Mach = series_show("205ALL0", 0xf00, 16, -1, -1, 88, 100, 0, 0);
kernel_timing_trigger(10, 539, nullptr);
} else {
- series_play("205ALL0", 3840, 16, 536, 5, 0, 100, 0, 0, 66, -1);
+ _205all0Mach = series_play("205ALL0", 0xf00, 16, 536, 5, 0, 100, 0, 0, 66, -1);
}
-
break;
case 536:
@@ -1098,7 +1097,7 @@ void Room205::daemon() {
kernel_timing_trigger(10, 537, nullptr);
} else {
_fieldD8 = 0;
- kernel_timing_trigger(10, 538, nullptr);
+ kernel_timing_trigger(10, 539, nullptr);
}
break;
@@ -1117,13 +1116,13 @@ void Room205::daemon() {
case 540:
terminateMachine(_205all0Mach);
- series_play("205ALL1", 3840, 0, 541, 5, 0, 100, 0, 0, 0, 6);
+ series_play("205ALL1", 0xf00, 0, 541, 5, 0, 100, 0, 0, 0, 6);
break;
case 541:
digi_play("205_s02", 2, 255, 542, -1);
- _205all0Mach = series_play("205ALL1", 3840, 16, 545, 5, 0, 100, 0, 0, 7, -1);
+ _205all0Mach = series_play("205ALL1", 0xf00, 16, 545, 5, 0, 100, 0, 0, 7, -1);
break;
@@ -1148,10 +1147,10 @@ void Room205::daemon() {
_205TabletsMach = series_show("205 TABLETS", 3584, 16, -1, -1, 0, 100, 0, 0);
_fieldD8 = 0;
terminateMachine(_205all0Mach);
- _candlemanShadow3Mach = series_show("CANDLEMAN SHADOW5", 3840, 16, -1, -1, 0, 50, 299, 247);
- _205MeiStanderMach = series_show("205MTLK1", 3840, 16, -1, -1, 0, 100, 0, 0);
- _safariShadow1Mach = series_show("SAFARI SHADOW 4", 3840, 16, -1, -1, 0, 51, 356, 253);
- _205rp1Mach = series_play("205RTLK1", 3840, 16, -1, 5, 0, 100, 0, 0, 0, -1);
+ _candlemanShadow3Mach = series_show("CANDLEMAN SHADOW5", 0xf00, 16, -1, -1, 0, 50, 299, 247);
+ _205MeiStanderMach = series_show("205MTLK1", 0xf00, 16, -1, -1, 0, 100, 0, 0);
+ _safariShadow1Mach = series_show("SAFARI SHADOW 4", 0xf00, 16, -1, -1, 0, 51, 356, 253);
+ _205rp1Mach = series_play("205RTLK1", 0xf00, 16, -1, 5, 0, 100, 0, 0, 0, -1);
digi_play("205R04", 1, 255, 546);
}
@@ -1159,14 +1158,14 @@ void Room205::daemon() {
case 546:
terminateMachine(_205MeiStanderMach);
- _205MeiStanderMach = series_play("205MTLK1", 3840, 16, -1, 5, 0, 100, 0, 0, 0, -1);
+ _205MeiStanderMach = series_play("205MTLK1", 0xf00, 16, -1, 5, 0, 100, 0, 0, 0, -1);
digi_play("205M01", 1, 255, 547, -1);
break;
case 547:
ws_hide_walker(_kuangWalker205Mach);
- _kuangsShadow2Mach = series_show("KUANGS SHADOW 2", 3840, 16, -1, -1, 0, 52, 394, 254);
+ _kuangsShadow2Mach = series_show("KUANGS SHADOW 2", 0xf00, 16, -1, -1, 0, 52, 394, 254);
_kuangTalkerMach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 3584, false, triggerMachineByHashCallback, "kuang talker");
sendWSMessage_10000(1, _kuangTalkerMach, _205ktlk1Series, 1, 1, -1, _205ktlk1Series, 1, 5, 1);
sendWSMessage_1a0000(_kuangTalkerMach, 11);
@@ -1177,7 +1176,7 @@ void Room205::daemon() {
case 548:
sendWSMessage_10000(1, _kuangTalkerMach, _205ktlk1Series, 1, 1, -1, _205ktlk1Series, 1, 1, 0);
terminateMachine(_205rp1Mach);
- _205rp1Mach = series_play("205RTLK1", 3840, 16, -1, 5, 0, 100, 0, 0, 0, -1);
+ _205rp1Mach = series_play("205RTLK1", 0xf00, 16, -1, 5, 0, 100, 0, 0, 0, -1);
kernel_timing_trigger(10, 553, nullptr);
digi_play("205R05", 1, 255, 549, -1);
@@ -1303,11 +1302,11 @@ void Room205::daemon() {
case 563:
sendWSMessage_60000(_shenSuitGunWalkerMach);
- _shenGuoShadow12Mach = series_show("SHEN GUO SHADOW 12", 3840, 16, -1, -1, 0, 63, 344, 291);
- _kuangsShadow2Mach = series_show("KUANGS SHADOW 6", 3840, 16, -1, -1, 0, 63, 390, 276);
- _candlemanShadow3Mach = series_show("CANDLEMAN SHADOW5", 3840, 16, -1, -1, 0, 50, 293, 248);
+ _shenGuoShadow12Mach = series_show("SHEN GUO SHADOW 12", 0xf00, 16, -1, -1, 0, 63, 344, 291);
+ _kuangsShadow2Mach = series_show("KUANGS SHADOW 6", 0xf00, 16, -1, -1, 0, 63, 390, 276);
+ _candlemanShadow3Mach = series_show("CANDLEMAN SHADOW5", 0xf00, 16, -1, -1, 0, 50, 293, 248);
digi_play("205k07", 1, 255, -1, -1);
- _205all0Mach = series_stream("205ALL3", 5, 3840, 564);
+ _205all0Mach = series_stream("205ALL3", 5, 0xf00, 564);
break;
@@ -1318,7 +1317,7 @@ void Room205::daemon() {
ws_demand_facing(_kuangWalker205Mach, 7);
sendWSMessage_10000(_kuangWalker205Mach, 400, 600, 0, 565, true);
terminateMachine(_shenGuoShadow12Mach);
- _205all0Mach = series_play("205ALL4", 3840, 16, 567, 5, 0, 100, 0, 0, 0, -1);
+ _205all0Mach = series_play("205ALL4", 0xf00, 16, 567, 5, 0, 100, 0, 0, 0, -1);
digi_unload("205k06");
digi_unload("205_s05");
digi_unload("205_s06");
@@ -1345,7 +1344,7 @@ void Room205::daemon() {
case 567:
terminateMachine(_205all0Mach);
series_unload(_205all4Series);
- _205all0Mach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 3840, false, triggerMachineByHashCallback, "rip talker");
+ _205all0Mach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0xf00, false, triggerMachineByHashCallback, "rip talker");
sendWSMessage_10000(1, _205all0Mach, _205rtlk2Series, 1, 14, -1, _205rtlk2Series, 4, 14, 4);
digi_play("205r06", 1, 255, 568, -1);
@@ -1384,7 +1383,7 @@ void Room205::daemon() {
break;
case 575:
- series_play("205ALL5", 3840, 0, 576, 5, 0, 100, 0, 0, 0, -1);
+ series_play("205ALL5", 0xf00, 0, 576, 5, 0, 100, 0, 0, 0, -1);
break;
@@ -1392,8 +1391,8 @@ void Room205::daemon() {
_unkInventoryId = 0;
digi_play("205r07", 1, 255, 578, -1);
- _candlemanShadow3Mach = series_show("MCTSH1", 3840, 16, -1, -1, 2, 51, 290, 251);
- _205all0Mach = series_play("205RTLK3", 3840, 16, 577, 5, 0, 100, 0, 0, 0, -1);
+ _candlemanShadow3Mach = series_show("MCTSH1", 0xf00, 16, -1, -1, 2, 51, 290, 251);
+ _205all0Mach = series_play("205RTLK3", 0xf00, 16, 577, 5, 0, 100, 0, 0, 0, -1);
break;
@@ -1407,7 +1406,7 @@ void Room205::daemon() {
inv_move_object(Inventory::get_name(_unkInventoryId), 999);
player_set_commands_allowed(true);
player_set_commands_allowed(false);
- kernel_timing_trigger(30, 277, nullptr);
+ kernel_timing_trigger(30, 577, nullptr);
} else {
kernel_timing_trigger(1, 577, nullptr);
}
@@ -1427,7 +1426,7 @@ void Room205::daemon() {
series_unload(_205rtlk3Series);
terminateMachine(_candlemanShadow3Mach);
_205GunPointedSeries = series_load("205 GUN POINTED", -1, nullptr);
- _205all0Mach = series_stream("205SRISE", 5, 0, 500);
+ _205all0Mach = series_stream("205SRISE", 5, 0, 580);
}
break;
@@ -1470,8 +1469,8 @@ void Room205::daemon() {
case 584:
digi_play("205r08", 1, 255, 585, -1);
- _candlemanShadow3Mach = series_show("CANDLEMAN SHADOW3", 3840, 16, -1, -1, 0, 61, 312, 283);
- _205all0Mach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 3840, false, triggerMachineByHashCallback, "rip talker");
+ _candlemanShadow3Mach = series_show("CANDLEMAN SHADOW3", 0xf00, 16, -1, -1, 0, 61, 312, 283);
+ _205all0Mach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0xf00, false, triggerMachineByHashCallback, "rip talker");
sendWSMessage_10000(1, _205all0Mach, _205rtlk4Series, 1, 10, -1, _205rtlk4Series, 2, 10, 4);
break;
@@ -1486,7 +1485,7 @@ void Room205::daemon() {
terminateMachine(_205all0Mach);
series_unload(_205rtlk4Series);
digi_play("205s02", 1, 255, 588, -1);
- _shenSuitGunWalkerMach = series_play("205STLK1", 3840, 16, 589, 5, 0, 100, 0, 0, 0, -1);
+ _shenSuitGunWalkerMach = series_play("205STLK1", 0xf00, 16, 589, 5, 0, 100, 0, 0, 0, -1);
break;
@@ -1512,7 +1511,7 @@ void Room205::daemon() {
terminateMachine(_candlemanShadow3Mach);
terminateMachine(_shenSuitGunWalkerMach);
series_unload(_205strlk1Series);
- _205all0Mach = series_play("205RTLK5", 3840, 16, 592, 5, 0, 100, 0, 0, 0, -1);
+ _205all0Mach = series_play("205RTLK5", 0xf00, 16, 592, 5, 0, 100, 0, 0, 0, -1);
break;
@@ -2263,9 +2262,9 @@ void Room205::daemon() {
ws_demand_facing(_G(my_walker), 1);
ws_demand_location(_G(my_walker), 494, 351);
_205MeiStanderMach = series_show("205 MEI STANDER" ,3584, 16, -1, -1, 0, 100, 0, 0);
- _candlemanShadow3Mach = series_show("CANDLEMAN SHADOW5", 3840, 16, -1, -1, 0, 50, 314, 248);
- series_show("205 TABLETS DOWN", 3840, 16, -1, -1, 0, 100, 0, 0);
- series_show("205GLASS", 3840, 16, -1, -1, 0, 100, 0, 0);
+ _candlemanShadow3Mach = series_show("CANDLEMAN SHADOW5", 0xf00, 16, -1, -1, 0, 50, 314, 248);
+ series_show("205 TABLETS DOWN", 0xf00, 16, -1, -1, 0, 100, 0, 0);
+ series_show("205GLASS", 0xf00, 16, -1, -1, 0, 100, 0, 0);
kernel_timing_trigger(180, 1041, nullptr);
break;
@@ -2279,7 +2278,7 @@ void Room205::daemon() {
case 1042:
ws_hide_walker(_G(my_walker));
terminateMachine(_205MeiStanderMach);
- _safariShadow1Mach = series_show("SAFARI SHADOW 2", 3840, 16, -1, -1, 0, 51, 324, 252);
+ _safariShadow1Mach = series_show("SAFARI SHADOW 2", 0xf00, 16, -1, -1, 0, 51, 324, 252);
series_play("205ALL8", 256, 0, 1043, 7, 0, 100, 0, 0, 0, -1);
digi_play("205M03", 1, 255, 1044, -1);
@@ -2314,7 +2313,7 @@ void Room205::daemon() {
break;
case 1048:
- _safariShadow1Mach = series_show("SAFARI SHADOW 3", 3840, 16, -1, -1, 0, 53, 304, 257);
+ _safariShadow1Mach = series_show("SAFARI SHADOW 3", 0xf00, 16, -1, -1, 0, 53, 304, 257);
_205MeiStanderMach = series_play("205MTLK2", 1792, 16, -1, 7, 0, 100, 0, 0, 0, -1);
digi_play("205M04", 1, 255, 1049, -1);
More information about the Scummvm-git-logs
mailing list