[Scummvm-git-logs] scummvm master -> a7e430cb65cd8f6b57893a8066cf08e25460950e
dreammaster
noreply at scummvm.org
Mon Oct 7 01:56:18 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:
a7e430cb65 M4: RIDDLE: Game specific global initialization
Commit: a7e430cb65cd8f6b57893a8066cf08e25460950e
https://github.com/scummvm/scummvm/commit/a7e430cb65cd8f6b57893a8066cf08e25460950e
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2024-10-06T18:51:12-07:00
Commit Message:
M4: RIDDLE: Game specific global initialization
Changed paths:
engines/m4/riddle/riddle.cpp
engines/m4/riddle/rooms/section.cpp
engines/m4/riddle/rooms/section.h
engines/m4/riddle/vars.cpp
engines/m4/riddle/vars.h
diff --git a/engines/m4/riddle/riddle.cpp b/engines/m4/riddle/riddle.cpp
index a3834725177..5e7d0672e3f 100644
--- a/engines/m4/riddle/riddle.cpp
+++ b/engines/m4/riddle/riddle.cpp
@@ -59,11 +59,14 @@ void RiddleEngine::showEngineInfo() {
}
void RiddleEngine::syncFlags(Common::Serializer &s) {
- //g_vars->_flags.sync(s);
+ g_vars->_flags.sync(s);
}
void RiddleEngine::global_daemon() {
- // TODO
+ _G(i_just_hyperwalked) = false;
+
+ if (_G(kernel).trigger == kGOTO_MAIN_MENU)
+ _G(game).setRoom(494);
}
void RiddleEngine::global_pre_parser() {
diff --git a/engines/m4/riddle/rooms/section.cpp b/engines/m4/riddle/rooms/section.cpp
index 2a317381e29..e53d2c24e4c 100644
--- a/engines/m4/riddle/rooms/section.cpp
+++ b/engines/m4/riddle/rooms/section.cpp
@@ -29,109 +29,7 @@ namespace Riddle {
namespace Rooms {
void Section::global_room_init() {
-#ifdef TODO
- int roomId = _G(game).room_id;
-
- if (roomId <= 800)
- _GINT().show();
- else
- _GINT().hide();
-
- // Disable commands for certain rooms
- if (roomId == 201 || roomId == 301 || roomId == 306 || roomId == 307 ||
- roomId == 401 || roomId == 501 || roomId == 511 || roomId == 512 ||
- roomId == 513 || roomId == 601 || roomId == 605 || roomId == 606 ||
- roomId == 608 || roomId == 609 || roomId == 610 || roomId == 801 ||
- roomId == 902) {
- player_set_commands_allowed(false);
- }
-
- if (roomId >= 950 || roomId == 902)
- mouse_hide();
- else
- mouse_show();
-
- // Do stuff that needs to be done each time a scene is started
- init_series_players();
-
- // Preload digi sounds
- if (_G(player).walker_in_this_scene) {
- switch (roomId) {
- case 102:
- case 103:
- case 105:
- case 134:
- case 135:
- case 143:
- case 174:
- case 175:
- case 176:
- case 304:
- case 505:
- case 506:
- case 507:
- case 509:
- case 602:
- case 603:
- case 604:
- case 612: {
- static const char *NAMES[] = {
- "fs_wood1", "fs_wood2", "fs_wood3", "fs_wood4", "fs_wood5", nullptr
- };
- _G(digi).preload_sounds(NAMES);
- break;
- }
-
- case 106:
- case 139:
- case 144:
- case 145:
- case 302:
- case 303:
- case 305: {
- static const char *NAMES[] = {
- "fs_dirt1", "fs_dirt2", "fs_dirt3", "fs_dirt4", "fs_dirt5", nullptr
- };
- _G(digi).preload_sounds(NAMES);
- break;
- }
-
- case 310:
- case 311:
- case 312:
- case 313:
- case 314:
- case 315:
- case 316:
- case 317:
- case 318:
- case 319: {
- static const char *NAMES[] = {
- "fs_mine1", "fs_mine2", "fs_mine3", "fs_mine4", "fs_mine5", nullptr
- };
- _G(digi).preload_sounds(NAMES);
- break;
- }
-
- default: {
- static const char *NAMES[] = {
- "fs_hard1", "fs_hard2", "fs_hard3", "fs_hard4", "fs_hard5", nullptr
- };
- _G(digi).preload_sounds(NAMES);
- break;
- }
- }
- }
-
- kernel_timing_trigger(900, 10017, nullptr);
- kernel_timing_trigger(300, 10007, nullptr);
-#endif
-}
-
-void Section::init_series_players() {
-#ifdef TODO
- _G(seriesPlayers).clear();
-#endif
+ digi_preload("950_s51", 950);
}
void Section::tick() {
diff --git a/engines/m4/riddle/rooms/section.h b/engines/m4/riddle/rooms/section.h
index 5a6d09b4cd4..a8cb2342126 100644
--- a/engines/m4/riddle/rooms/section.h
+++ b/engines/m4/riddle/rooms/section.h
@@ -29,9 +29,6 @@ namespace Riddle {
namespace Rooms {
class Section : public M4::Section {
-private:
- void init_series_players();
-
public:
Section() : M4::Section() {}
~Section() override {}
diff --git a/engines/m4/riddle/vars.cpp b/engines/m4/riddle/vars.cpp
index 89c4d5cef48..d91fd72ce3b 100644
--- a/engines/m4/riddle/vars.cpp
+++ b/engines/m4/riddle/vars.cpp
@@ -62,59 +62,29 @@ void Vars::main_cold_data_init() {
initMouseSeries("cursor", nullptr);
conv_set_default_text_colour(7, 8);
- //exit_button_code
}
void Vars::global_menu_system_init() {
- AddSystemHotkey(KEY_ESCAPE, escape_key_pressed);
- AddSystemHotkey(KEY_F2, cb_F2);
- AddSystemHotkey(KEY_F3, cb_F3);
+ AddSystemHotkey(KEY_ESCAPE, Hotkeys::escape_key_pressed);
+ AddSystemHotkey(KEY_F2, Hotkeys::saveGame);
+ AddSystemHotkey(KEY_F3, Hotkeys::loadGame);
if (_interface.init(0, 5, 6, 8, 9))
static_cast<Inventory *>(_inventory)->init();
}
void Vars::initialize_game() {
-/*
// Put all the inventory items back in their original scenes
for (const auto &item : _inventory->_objects)
inv_put_thing_in(item->name, item->scene);
- inv_give_to_player("MONEY");
-
- // Reset the global variables
- _flags.reset();
- _flags.reset1();
- _flags.reset2();
- _flags.reset3();
- _flags.reset4();
- _flags.reset5();
- _flags.conv_reset_all();
-
- Rooms::Room::setWilburHotspot();
- */
-}
-
-void Vars::custom_ascii_converter_proc(char *string) {
- /*
- char *str;
-
- for (const auto *entry = ASCII_CONVERTERS; entry->_find; entry++) {
- while ((str = strstr(string, entry->_find)) != nullptr)
- *str = entry->_replace;
- }
- */
-}
-
-void Vars::escape_key_pressed(void *, void *) {
-
-}
-
-void Vars::cb_F2(void *, void *) {
-
-}
-
-void Vars::cb_F3(void *, void *) {
+ _G(flags)[V071] = 2;
+ _G(flags)[V088] = 1;
+ _G(flags)[V086] = 2;
+ _G(flags)[GLB_TEMP_8] = 1;
+ _G(flags)[V270] = 824;
+ _G(flags)[V282] = 1;
+ _G(flags)[V292] = 1;
}
} // namespace Riddle
diff --git a/engines/m4/riddle/vars.h b/engines/m4/riddle/vars.h
index 907c7de8798..632a4ecab60 100644
--- a/engines/m4/riddle/vars.h
+++ b/engines/m4/riddle/vars.h
@@ -35,16 +35,11 @@ namespace Riddle {
enum global_triggers {
gFIRST_GLOBAL_TRIGGER = 10000,
- kCALLED_EACH_LOOP = 32764
+ kCALLED_EACH_LOOP = 32764,
+ kGOTO_MAIN_MENU = 32766
};
class Vars : public M4::Vars {
-private:
- static void custom_ascii_converter_proc(char *string);
- static void escape_key_pressed(void *, void *);
- static void cb_F2(void *, void *);
- static void cb_F3(void *, void *);
-
protected:
void main_cold_data_init() override;
More information about the Scummvm-git-logs
mailing list