[Scummvm-git-logs] scummvm master -> 301852402127475845721b2386dee1fbfcd2b356
Strangerke
noreply at scummvm.org
Fri Nov 1 23:16:28 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:
3018524021 M4: RIDDLE: Partial implementation of room 205 (daemon up to trigger 1000)
Commit: 301852402127475845721b2386dee1fbfcd2b356
https://github.com/scummvm/scummvm/commit/301852402127475845721b2386dee1fbfcd2b356
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2024-11-02T00:11:28+01:00
Commit Message:
M4: RIDDLE: Partial implementation of room 205 (daemon up to trigger 1000)
Changed paths:
engines/m4/riddle/rooms/section2/room205.cpp
engines/m4/riddle/rooms/section2/room205.h
diff --git a/engines/m4/riddle/rooms/section2/room205.cpp b/engines/m4/riddle/rooms/section2/room205.cpp
index 900524bdecc..a7375553e30 100644
--- a/engines/m4/riddle/rooms/section2/room205.cpp
+++ b/engines/m4/riddle/rooms/section2/room205.cpp
@@ -962,7 +962,179 @@ void Room205::daemon() {
break;
+ case 669:
+ sendWSMessage_150000(_G(my_walker), 670);
+
+ break;
+
+ case 670:
+ _fieldDC = 0;
+ _fieldE0 = 0;
+ other_save_game_for_resurrection();
+ _G(game).new_section = 4;
+ _G(game).new_room = 413;
+
+ break;
+
+ case 901:
+ if (_fieldE0 || !player_commands_allowed()) {
+ kernel_timing_trigger(60, 901, nullptr);
+ } else if (_G(flags[V024])) {
+ digi_stop(1);
+
+ switch (imath_ranged_rand(1, 2)) {
+ case 1:
+ digi_play("205_s24", 1, 255, -1, -1);
+ break;
+
+ case 2:
+ digi_play("205_s25", 1, 255, -1, -1);
+ break;
+
+ default:
+
+ break;
+ }
+ } else {
+ player_set_commands_allowed(false);
+ intr_cancel_sentence();
+ digi_stop(1);
+ series_play("205 gun fire", 768, 0, -1, 3, 0, 100, 0, 0, 0,-1);
+
+ switch (_G(flags[V027])) {
+ case 0:
+ digi_play("205_s26", 1, 255, -1, -1);
+ kernel_timing_trigger(10, 902, nullptr);
+
+ break;
+
+ case 1:
+ digi_play("205_s27", 1, 255, -1, -1);
+ kernel_timing_trigger(10, 902, nullptr);
+
+ break;
+
+ case 2:
+ digi_play("205_s28", 1, 255, -1, -1);
+ kernel_timing_trigger(10, 902, nullptr);
+
+ break;
+
+ case 3:
+ kernel_timing_trigger(10, 906, nullptr);
+
+ break;
+
+ default:
+ break;
+ }
+ }
+
+ break;
+
+ case 902:
+ player_update_info(_G(my_walker), &_G(player_info));
+ ws_walk(_G(my_walker), _G(player_info).x, _G(player_info).y, nullptr, 903, 1, true);
+
+ break;
+
+ case 903:
+ setGlobals1(_ripGetsShotSeries, 1, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
+ sendWSMessage_110000(_G(my_walker), 904);
+
+ break;
+
+ case 904:
+ sendWSMessage_140000(_G(my_walker), 905);
+
+ break;
+
+ case 905:
+ _fieldDC = 0;
+ ++_G(flags[V027]);
+ player_set_commands_allowed(true);
+ kernel_timing_trigger(imath_ranged_rand(1200, 1800), 901, nullptr);
+
+ break;
+
+ case 906:
+ player_update_info(_G(my_walker), &_G(player_info));
+ if (_G(player_info).x < 170) {
+ ws_walk(_G(my_walker), 190, _G(player_info).y, nullptr, 907, 1, true);
+ } else if (_G(player_info).x <= 470) {
+ kernel_timing_trigger(10, 907, nullptr);
+ } else {
+ ws_walk(_G(my_walker), 450, _G(player_info).y, nullptr, 907, 1, true);
+ }
+
+ break;
+
+ case 907:
+ digi_stop(1);
+ midi_stop();
+ digi_play("205_s29", 1, 255, -1, -1);
+ setGlobals1(_ripGetsShotSeries, 14, 32, 32, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
+ sendWSMessage_110000(_G(my_walker), 908);
+
+ break;
+
+ case 908:
+ kernel_timing_trigger(60, 909, nullptr);
+
+ break;
+
+ case 909:
+ player_set_commands_allowed(false);
+ disable_player_commands_and_fade_init(910);
+
+ break;
+
+ case 910:
+
+ sendWSMessage_150000(_G(my_walker), 666);
+ break;
+
+ case 1000:
+ _G(flags[V029]) = 1;
+ midi_play("vines", 191, -1, -1, 949);
+ digi_preload("205_s09", -1);
+ digi_preload("205_s10", -1);
+ digi_preload("205_s11", -1);
+ digi_preload("205_s13", -1);
+ digi_preload("205_s14", -1);
+ digi_preload("205_s15", -1);
+ digi_preload("205_s16", -1);
+ digi_preload("205_s17", -1);
+ digi_preload("205_s18", -1);
+ digi_preload("205_s19", -1);
+ digi_preload("205_s20", -1);
+ digi_preload("205_s21", -1);
+ digi_preload("205_s24", -1);
+ digi_preload("205_s25", -1);
+ digi_preload("205_s26", -1);
+ digi_preload("205_s27", -1);
+ digi_preload("205_s28", -1);
+ digi_preload("205_s29", -1);
+ _205Fite1Series = series_load("205FITE1", -1, nullptr);
+ _205Fite2Series = series_load("205FITE2", -1, nullptr);
+
+ if (_fieldE8) {
+ _fieldE8 = 0;
+ ws_unhide_walker(_G(my_walker));
+ ws_demand_location(_G(my_walker), 340, 284);
+ ws_demand_facing(_G(my_walker), 1);
+ player_set_commands_allowed(true);
+ }
+
+ terminateMachine(_205all0Mach);
+ series_unload(_205RipGetsBitchSlappedSeries);
+ terminateMachine(_205MeiStanderMach);
+ series_play("205FITE1", 3845, 0, 1001, 5, 0, 100, 0, 0, 0, 15);
+
+ break;
+
default:
+
break;
}
}
diff --git a/engines/m4/riddle/rooms/section2/room205.h b/engines/m4/riddle/rooms/section2/room205.h
index 42ba43a1c09..f3993798e05 100644
--- a/engines/m4/riddle/rooms/section2/room205.h
+++ b/engines/m4/riddle/rooms/section2/room205.h
@@ -55,6 +55,8 @@ private:
int32 _205all5Series = 0;
int32 _205all6Series = 0;
int32 _205FireInBrazierSeries = 0;
+ int32 _205Fite1Series = 0;
+ int32 _205Fite2Series = 0;
int32 _205GunFireSeries = 0;
int32 _205GunPointedSeries = 0;
int32 _205ktlk1Series = 0;
@@ -63,6 +65,7 @@ private:
int32 _205mc02Series = 0;
int32 _205mc03Series = 0;
int32 _205mtlk1Series = 0;
+ int32 _205RipGetsBitchSlappedSeries = 0;
int32 _205rp01Series = 0;
int32 _205rp02Series = 0;
int32 _205rp03Series = 0;
@@ -99,7 +102,6 @@ private:
machine *_safariShadow1Mach = nullptr;
machine *_shenGuoShadow12Mach = nullptr;
machine *_shenSuitGunWalkerMach = nullptr;
- int32 _205RipGetsBitchSlappedSeries = 0;
};
} // namespace Rooms
More information about the Scummvm-git-logs
mailing list