[Scummvm-git-logs] scummvm master -> 9d484dcc76fd34f4cc0f16b99e4fc1c20810a5c7
Strangerke
noreply at scummvm.org
Thu Nov 28 21:50:10 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:
9d484dcc76 M4: RIDDLE: room 703 - more work on parser
Commit: 9d484dcc76fd34f4cc0f16b99e4fc1c20810a5c7
https://github.com/scummvm/scummvm/commit/9d484dcc76fd34f4cc0f16b99e4fc1c20810a5c7
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2024-11-28T22:49:18+01:00
Commit Message:
M4: RIDDLE: room 703 - more work on parser
Changed paths:
engines/m4/riddle/rooms/section7/room703.cpp
engines/m4/riddle/rooms/section7/room703.h
diff --git a/engines/m4/riddle/rooms/section7/room703.cpp b/engines/m4/riddle/rooms/section7/room703.cpp
index 3d7ae93d68d..6b57da74a6b 100644
--- a/engines/m4/riddle/rooms/section7/room703.cpp
+++ b/engines/m4/riddle/rooms/section7/room703.cpp
@@ -509,6 +509,141 @@ void Room703::parser() {
player_set_commands_allowed(true);
else
sub9E50F(_G(kernel).trigger, 4);
+ } else if (player_said("PEACE WHEEL", "EMPTY NICHE")) {
+ if (_G(kernel).trigger == -1 && !inv_player_has("PEACE WHEEL"))
+ player_set_commands_allowed(true);
+ else
+ sub9E50F(_G(kernel).trigger, 1);
+ } else if (player_said("WISDOM WHEEL", "EMPTY NICHE")) {
+ if (_G(kernel).trigger == -1 && !inv_player_has("WISDOM WHEEL"))
+ player_set_commands_allowed(true);
+ else
+ sub9E50F(_G(kernel).trigger, 5);
+ } else if (player_said("INSIGHT WHEEL", "EMPTY NICHE")) {
+ if (_G(kernel).trigger == -1 && !inv_player_has("INSIGHT WHEEL"))
+ player_set_commands_allowed(true);
+ else
+ sub9E50F(_G(kernel).trigger, 2);
+ } else if (player_said("SERENITY WHEEL", "EMPTY NICHE")) {
+ if (_G(kernel).trigger == -1 && !inv_player_has("SERENITY WHEEL"))
+ player_set_commands_allowed(true);
+ else
+ sub9E50F(_G(kernel).trigger, 3);
+ } else if (player_said("TRUTH WHEEL", "PRAYER WHEEL #1") || player_said("PEACE WHEEL", "PRAYER WHEEL #1") || player_said("WISDOM WHEEL", "PRAYER WHEEL #1") || player_said("INSIGHT WHEEL", "PRAYER WHEEL #1") || player_said("SERENITY WHEEL", "PRAYER WHEEL #1")
+ || player_said("TRUTH WHEEL", "PRAYER WHEEL #2") || player_said("PEACE WHEEL", "PRAYER WHEEL #2") || player_said("WISDOM WHEEL", "PRAYER WHEEL #2") || player_said("INSIGHT WHEEL", "PRAYER WHEEL #2") || player_said("SERENITY WHEEL", "PRAYER WHEEL #2")
+ || player_said("TRUTH WHEEL", "PRAYER WHEEL #3") || player_said("PEACE WHEEL", "PRAYER WHEEL #3") || player_said("WISDOM WHEEL", "PRAYER WHEEL #3") || player_said("INSIGHT WHEEL", "PRAYER WHEEL #3") || player_said("SERENITY WHEEL", "PRAYER WHEEL #3")
+ || player_said("TRUTH WHEEL", "PRAYER WHEEL #4") || player_said("PEACE WHEEL", "PRAYER WHEEL #4") || player_said("WISDOM WHEEL", "PRAYER WHEEL #4") || player_said("INSIGHT WHEEL", "PRAYER WHEEL #4") || player_said("SERENITY WHEEL", "PRAYER WHEEL #4")) {
+ digi_play("com080", 1, 255, -1, -1);
+ } else if (lookFl && player_said("EMPTY NICHE")) {
+ digi_play("com127", 1, 255, -1, 997);
+ } else if (lookFl && player_said_any("PRAYER WHEEL #1", "PRAYER WHEEL #2", "PRAYER WHEEL #3")) {
+ digi_play("com076", 1, 255, -1, -1);
+ } else if (lookFl && player_said("PRAYER WHEEL #4") && _G(flags[V217])) {
+ digi_play("com076", 1, 255, -1, -1);
+ } else if (takeFl && player_said_any("PRAYER WHEEL #1", "PRAYER WHEEL #2", "PRAYER WHEEL #3", "PRAYER WHEEL #4") && _G(flags[V286])) {
+ if (_G(flags[V224]))
+ digi_play("706r26", 1, 255, -1, -1);
+ else
+ digi_play("com143", 1, 255, -1, -1);
+ } else if (takeFl && player_said_any("PRAYER WHEEL #1", "PRAYER WHEEL #2", "PRAYER WHEEL #3")) {
+ _G(kernel).trigger_mode = KT_DAEMON;
+ kernel_trigger_dispatchx(kernel_trigger_create(80));
+ _G(kernel).trigger_mode = KT_PARSE;
+ } else if (takeFl && player_said("PRAYER WHEEL #1")) {
+ _G(kernel).trigger_mode = KT_DAEMON;
+ kernel_trigger_dispatchx(kernel_trigger_create(70));
+ _G(kernel).trigger_mode = KT_PARSE;
+ } else if (takeFl && _G(player).click_y <= 374) {
+ switch (imath_ranged_rand(1, 6)) {
+ case 1:
+ digi_play("207r09", 1, 255, -1, -1);
+ break;
+
+ case 2:
+ digi_play("207r10", 1, 255, -1, -1);
+ break;
+
+ case 3:
+ digi_play("207r11", 1, 255, -1, -1);
+ break;
+
+ case 4:
+ digi_play("207r37", 1, 255, -1, -1);
+ break;
+
+ case 5:
+ digi_play("207r38", 1, 255, -1, -1);
+ break;
+
+ case 6:
+ digi_play("207r39", 1, 255, -1, -1);
+ break;
+
+ default:
+ break;
+ }
+ } // takeFl && _G(player).click_y <= 374
+ else if (lookFl && player_said(" ")) {
+ if (_G(flags[V224])) {
+ digi_play("706r24", 1, 255, -1, -1);
+ } else {
+ digi_play("com075", 1, 255, -1, -1);
+ }
+ } else if (player_said("CUPOLA")) {
+ switch (_G(kernel).trigger) {
+ case -1:
+ player_set_commands_allowed(false);
+ ws_hide_walker(_G(my_walker));
+ _ripGoesUpStairsSeries = series_load("703 RIP GOES UP STAIRS", -1, nullptr);
+ _ripStairsMach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 320, 0, 100, 0, false, callback, "rip stairs machine");
+ sendWSMessage_10000(1, _ripStairsMach, _ripGoesUpStairsSeries, 1, 29, 2, _ripGoesUpStairsSeries, 29, 29, 0);
+
+ break;
+
+ case 2:
+ sendWSMessage_10000(1, _ripStairsMach, _ripGoesUpStairsSeries, 30, 39, -1, _ripGoesUpStairsSeries, 39, 39, 0);
+ disable_player_commands_and_fade_init(4);
+
+ break;
+
+ case 4:
+ terminateMachine(_ripStairsMach);
+ player_set_commands_allowed(true);
+ adv_kill_digi_between_rooms(false);
+ digi_play_loop("950_s39", 3, 255, -1, -1);
+ _G(game).new_room = 707;
+
+ break;
+
+ default:
+ break;
+ }
+ } else if (player_said("GATE")) {
+ switch (_G(kernel).trigger) {
+ case -1:
+ ws_walk(_G(my_walker), 1200, 360, nullptr, 2, 11, true);
+ break;
+
+ case 2:
+ ws_walk(_G(my_walker), 1288, 500, nullptr, -1, 11, true);
+ kernel_timing_trigger(60, 3, nullptr);
+
+ break;
+
+ case 3:
+ disable_player_commands_and_fade_init(4);
+ break;
+
+ case 4:
+ adv_kill_digi_between_rooms(false);
+ digi_play_loop("950_s39", 3, 255, -1, -1);
+ _G(game).new_room = 702;
+
+ break;
+
+ default:
+ break;
+ }
}
//TODO incomplete implementation
diff --git a/engines/m4/riddle/rooms/section7/room703.h b/engines/m4/riddle/rooms/section7/room703.h
index e7e9afded7c..87f4ebad6b7 100644
--- a/engines/m4/riddle/rooms/section7/room703.h
+++ b/engines/m4/riddle/rooms/section7/room703.h
@@ -58,6 +58,7 @@ private:
int32 _monk2Series = 0;
int32 _monk3Series = 0;
int32 _monk4Series = 0;
+ int32 _ripGoesUpStairsSeries = 0;
int32 _ripLooksDownSeries = 0;
int32 _ripTrekMedReachHandPos1Series = 0;
};
More information about the Scummvm-git-logs
mailing list