[Scummvm-git-logs] scummvm master -> 722d56e6712c9ea80b802f4f1385d707b42cb6cf
dreammaster
noreply at scummvm.org
Tue Feb 13 03:11:14 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:
722d56e671 M4: Temporarily add X as a hotkey for testing mine entrances
Commit: 722d56e6712c9ea80b802f4f1385d707b42cb6cf
https://github.com/scummvm/scummvm/commit/722d56e6712c9ea80b802f4f1385d707b42cb6cf
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2024-02-12T19:11:04-08:00
Commit Message:
M4: Temporarily add X as a hotkey for testing mine entrances
There was a bug report about Wilbur getting stuck changing
rooms that couldn't be replicated, so I'm temporarily
adding some test code so that all entrances can be tested
sequentially.
Changed paths:
engines/m4/burger/hotkeys.cpp
engines/m4/burger/hotkeys.h
engines/m4/burger/rooms/section3/mine.cpp
engines/m4/burger/rooms/section3/mine.h
engines/m4/burger/vars.h
diff --git a/engines/m4/burger/hotkeys.cpp b/engines/m4/burger/hotkeys.cpp
index fb44a3f65fe..bacf8a0e7f4 100644
--- a/engines/m4/burger/hotkeys.cpp
+++ b/engines/m4/burger/hotkeys.cpp
@@ -25,6 +25,8 @@
#include "m4/gui/gui_sys.h"
#include "m4/adv_r/other.h"
#include "m4/platform/keys.h"
+#include "m4/burger/rooms/section3/mine.h"
+#include "m4/burger/burger.h"
namespace M4 {
namespace Burger {
@@ -57,6 +59,8 @@ void Hotkeys::add_hot_keys() {
AddSystemHotkey('F', a_cb);
AddSystemHotkey('f', a_cb);
+
+ AddSystemHotkey('x', testMine);
}
void Hotkeys::toggle_through_cursors(CursorChange cursChange) {
@@ -165,6 +169,14 @@ void Hotkeys::a_cb(void *, void *) {
g_vars->_interface.a_cb();
}
+void Hotkeys::testMine(void *, void *) {
+ Rooms::Mine *mine = dynamic_cast<Rooms::Mine *>(g_engine->_activeRoom);
+
+ if (mine) {
+ mine->testMine();
+ }
+}
+
void Hotkeys::show_version(void *a, void *b) {
if (!_versionDialog) {
gr_font_set(_G(font_tiny));
diff --git a/engines/m4/burger/hotkeys.h b/engines/m4/burger/hotkeys.h
index 24fc39b8898..1319574f5ff 100644
--- a/engines/m4/burger/hotkeys.h
+++ b/engines/m4/burger/hotkeys.h
@@ -39,6 +39,7 @@ private:
static void u_cb(void *, void *);
static void l_cb(void *, void *);
static void a_cb(void *, void *);
+ static void testMine(void *, void *);
/**
* Show version dialog
diff --git a/engines/m4/burger/rooms/section3/mine.cpp b/engines/m4/burger/rooms/section3/mine.cpp
index f90e72292e5..cf351030bfd 100644
--- a/engines/m4/burger/rooms/section3/mine.cpp
+++ b/engines/m4/burger/rooms/section3/mine.cpp
@@ -489,6 +489,21 @@ void Mine::set_fade_down_rect(MineDoors exit_door) {
_fade_down_rect.y2 = FADE_DOWN_INFO[_presentSceneID][exit_door].y2;
}
+void Mine::testMine() {
+ auto &mineCtr = _G(mineTestCtr);
+
+ // Find the next door to test
+ do {
+ if (mineCtr >= 0 && MINE_INFO[mineCtr / 4].scene_id == NO_SCENE)
+ return;
+
+ ++mineCtr;
+
+ } while (MINE_INFO[mineCtr / 4].door[mineCtr % 4] == NONE);
+
+ _G(flags)[kMineRoomIndex] = mineCtr / 4;
+ mine_travel_link(mineCtr % 4);
+}
} // namespace Rooms
} // namespace Burger
diff --git a/engines/m4/burger/rooms/section3/mine.h b/engines/m4/burger/rooms/section3/mine.h
index 2832f4bc745..254969c2d79 100644
--- a/engines/m4/burger/rooms/section3/mine.h
+++ b/engines/m4/burger/rooms/section3/mine.h
@@ -125,6 +125,8 @@ public:
void daemon() override;
void pre_parser() override;
void parser() override;
+
+ void testMine();
};
} // namespace Rooms
diff --git a/engines/m4/burger/vars.h b/engines/m4/burger/vars.h
index 637d5a8880b..1fb287a20af 100644
--- a/engines/m4/burger/vars.h
+++ b/engines/m4/burger/vars.h
@@ -118,6 +118,8 @@ public:
int _player_dest_x = 0, _player_dest_y = 0;
int _player_trigger = 0;
+ int _mineTestCtr = -1;
+
public:
Vars();
virtual ~Vars();
More information about the Scummvm-git-logs
mailing list