[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