[Scummvm-git-logs] scummvm master -> bb8f3fe4aa51705dfbb5031fe68f4ee11a3ce533
Strangerke
noreply at scummvm.org
Wed Oct 16 20:07:57 UTC 2024
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
bdadc8952a M4: RIDDLE: Add preload() to Sector8Room
bb8f3fe4aa M4: RIDDLE: Implement room 824 as a Sector8Room
Commit: bdadc8952ae3d5600c844827f2b4fd6415938bb1
https://github.com/scummvm/scummvm/commit/bdadc8952ae3d5600c844827f2b4fd6415938bb1
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2024-10-16T22:07:22+01:00
Commit Message:
M4: RIDDLE: Add preload() to Sector8Room
Changed paths:
engines/m4/riddle/rooms/section8/section8_room.cpp
engines/m4/riddle/rooms/section8/section8_room.h
diff --git a/engines/m4/riddle/rooms/section8/section8_room.cpp b/engines/m4/riddle/rooms/section8/section8_room.cpp
index 0bf6c29a733..08614e1123f 100644
--- a/engines/m4/riddle/rooms/section8/section8_room.cpp
+++ b/engines/m4/riddle/rooms/section8/section8_room.cpp
@@ -123,6 +123,12 @@ int32 Section8Room::daemonSub1(int32 dx, bool ascendingFl) {
return fullArr[i];
}
+void Section8Room::preload() {
+ _G(player).walker_type = WALKER_ALT;
+ _G(player).shadow_type = SHADOW_ALT;
+}
+
+
void Section8Room::pre_parser() {
int16 caty = -1;
diff --git a/engines/m4/riddle/rooms/section8/section8_room.h b/engines/m4/riddle/rooms/section8/section8_room.h
index 9cd7f7bd00d..4994db4db80 100644
--- a/engines/m4/riddle/rooms/section8/section8_room.h
+++ b/engines/m4/riddle/rooms/section8/section8_room.h
@@ -33,6 +33,7 @@ public:
Section8Room() : Room() {}
~Section8Room() override {}
+ void preload() override;
void init() override {}
void pre_parser() override;
void parser() override;
Commit: bb8f3fe4aa51705dfbb5031fe68f4ee11a3ce533
https://github.com/scummvm/scummvm/commit/bb8f3fe4aa51705dfbb5031fe68f4ee11a3ce533
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2024-10-16T22:07:22+01:00
Commit Message:
M4: RIDDLE: Implement room 824 as a Sector8Room
Changed paths:
engines/m4/riddle/rooms/section8/room824.cpp
engines/m4/riddle/rooms/section8/room824.h
diff --git a/engines/m4/riddle/rooms/section8/room824.cpp b/engines/m4/riddle/rooms/section8/room824.cpp
index ddf1536ef60..32abeedade0 100644
--- a/engines/m4/riddle/rooms/section8/room824.cpp
+++ b/engines/m4/riddle/rooms/section8/room824.cpp
@@ -21,6 +21,7 @@
#include "m4/riddle/rooms/section8/room824.h"
#include "m4/graphics/gr_series.h"
+#include "m4/riddle/riddle.h"
#include "m4/riddle/vars.h"
namespace M4 {
@@ -28,11 +29,92 @@ namespace Riddle {
namespace Rooms {
void Room824::init() {
-}
+ _currentRoom = 824;
+ if (_G(flags)[V276] == 0) {
+ ws_walk_load_walker_series(S8_SHADOW_DIRS1, S8_SHADOW_NAMES1, false);
+ ws_walk_load_walker_series(S8_SHADOW_DIRS2, S8_SHADOW_NAMES2, false);
+ }
+ _ripTakerPos5 = series_load("824fire1", -1, nullptr);
+ _unkSerie2 = series_load("824fire2", -1, nullptr);
+
+ if (_G(flags)[V270] == 824) {
+ _ripPushMach = series_play("824char1", 32767, 16, -1, 0, 0, 100, 0, 0, 0, -1);
+ } else {
+ hotspot_set_active(_G(currentSceneDef).hotspots, "chariot ", false);
+ }
+
+ _unkMach1 = series_play("824fire1", 4095, 0, -1, 7, -1, 100, 0, 0, 0, -1);
+ _unkMach2 = series_play("824fire2", 4095, 0, -1, 7, -1, 100, 0, 0, 0, -1);
+
+ _var1 = 2;
+ _var2 = 1;
+ _var3 = 4;
+ _var4 = -1;
+ _var5 = -1;
+
+ getSeriesName(1, false);
+ _machArr[0] = series_play(_currentSeriesName.c_str(), 767, 16, -1, 0, 0, 100, 0, 0, 0, -1);
+ getSeriesName(4, false);
+ _machArr[1] = series_play(_currentSeriesName.c_str(), 767, 16, -1, 0, 0, 100, 0, 0, 0, -1);
+ getSeriesName(7, false);
+ _machArr[2] = nullptr;
+ _machArr[3] = nullptr;
+ hotspot_set_active(_G(currentSceneDef).hotspots, "MEI CHEN", false);
+ hotspot_set_active(_G(currentSceneDef).hotspots, "MEI CHEN ", false);
+ hotspot_set_active(_G(currentSceneDef).hotspots, "MEI CHEN ", false);
+ hotspot_set_active(_G(currentSceneDef).hotspots, "MEI CHEN ", false);
+ hotspot_set_active(_G(currentSceneDef).hotspots, "MEI CHEN ", false);
-void Room824::daemon() {
+ switch (_G(game).previous_room) {
+ case KERNEL_RESTORING_GAME:
+ player_set_commands_allowed(true);
+ digi_preload("950_s29", -1);
+ if (_G(flags)[V276] == 0) {
+ _mcTrekMach = triggerMachineByHash_3000(8, 4, *S8_SHADOW_DIRS2, *S8_SHADOW_DIRS1, _guessX, 400, _guessIndex, Walker::player_walker_callback, "mc_trek");
+ kernel_timing_trigger(1, 1, nullptr);
+ }
+ break;
+
+ case 803:
+ player_set_commands_allowed(false);
+ ws_demand_facing(_G(my_walker), 3);
+ ws_demand_location(_G(my_walker), -10, 328);
+ if (_G(flags)[V276] == 0) {
+ _mcTrekMach = triggerMachineByHash_3000(8, 4, *S8_SHADOW_DIRS2, *S8_SHADOW_DIRS1, -50, 328, 2, Walker::player_walker_callback, "mc_trek");
+ _field70 = 0;
+ _guessX = 100;
+ _guessIndex = 1;
+ ws_walk(_G(my_walker), 150, 355, nullptr, -1, 3, true);
+ ws_walk(_mcTrekMach, 80, 400, nullptr, 1, 1, true);
+ } else {
+ ws_walk(_G(my_walker), 150, 355, nullptr, 1, 3, true);
+ }
+ break;
+ default:
+ player_set_commands_allowed(false);
+ moveScreen(1280, 0);
+ ws_demand_facing(_G(my_walker), 9);
+ ws_demand_location(_G(my_walker), 1925, 328);
+ if (_G(flags)[V276] == 0) {
+ _mcTrekMach = triggerMachineByHash_3000(8, 4, *S8_SHADOW_DIRS2, *S8_SHADOW_DIRS1, 2000, 328, 9, Walker::player_walker_callback, "mc_trek");
+ _field70 = 4;
+ _guessX = 1815;
+ _guessIndex = 11;
+ ws_walk(_G(my_walker), 1765, 348, nullptr, 0, 9, true);
+ DisposePath(_mcTrekMach->walkPath);
+ _mcTrekMach->walkPath = CreateCustomPath(1832, 325, 1815, 400, 0xffff);
+ ws_custom_walk(_mcTrekMach, 11, 1, true);
+ } else {
+ ws_walk(_G(my_walker), 1765, 348, nullptr, 1, 9, true);
+ }
+
+ break;
+ }
+
+ digi_play_loop("950_s29", 3, 96, -1, -1);
}
+
} // namespace Rooms
} // namespace Riddle
} // namespace M4
diff --git a/engines/m4/riddle/rooms/section8/room824.h b/engines/m4/riddle/rooms/section8/room824.h
index a6a337a9c2c..ee617416e3f 100644
--- a/engines/m4/riddle/rooms/section8/room824.h
+++ b/engines/m4/riddle/rooms/section8/room824.h
@@ -22,19 +22,18 @@
#ifndef M4_RIDDLE_ROOMS_SECTION8_ROOM824_H
#define M4_RIDDLE_ROOMS_SECTION8_ROOM824_H
-#include "m4/riddle/rooms/room.h"
+#include "m4/riddle/rooms/section8/section8_room.h"
namespace M4 {
namespace Riddle {
namespace Rooms {
-class Room824 : public Room {
+class Room824 : public Section8Room {
public:
- Room824() : Room() {}
+ Room824() : Section8Room() {}
~Room824() override {}
void init() override;
- void daemon() override;
};
} // namespace Rooms
More information about the Scummvm-git-logs
mailing list