[Scummvm-git-logs] scummvm master -> 63625e14f054e5b43e96f0611d4248ea3ed4fe15

dreammaster noreply at scummvm.org
Sat Feb 25 05:37:15 UTC 2023


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:
63625e14f0 MM: MM1: Support alt map strings in enhanced mode


Commit: 63625e14f054e5b43e96f0611d4248ea3ed4fe15
    https://github.com/scummvm/scummvm/commit/63625e14f054e5b43e96f0611d4248ea3ed4fe15
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2023-02-24T21:36:57-08:00

Commit Message:
MM: MM1: Support alt map strings in enhanced mode

Changed paths:
    devtools/create_mm/files/mm1/strings_en.yml
    engines/mm/mm1/globals.cpp
    engines/mm/mm1/globals.h


diff --git a/devtools/create_mm/files/mm1/strings_en.yml b/devtools/create_mm/files/mm1/strings_en.yml
index 2566d8378ce..235a7abe9f3 100644
--- a/devtools/create_mm/files/mm1/strings_en.yml
+++ b/devtools/create_mm/files/mm1/strings_en.yml
@@ -1292,7 +1292,7 @@ maps:
 		levitation1: "Luckily,your levitation spell saved you!"
 		levitation2: "Levitation saved you."
 		remains: "Smashed remains of stone statues\nseem suspiciously lifelike."
-	map13e:
+	emap13:
 		levitation1: "Luckily, your levitation spell saved you!"
 
 	map14:
diff --git a/engines/mm/mm1/globals.cpp b/engines/mm/mm1/globals.cpp
index 83899db9198..dd5cf394b6f 100644
--- a/engines/mm/mm1/globals.cpp
+++ b/engines/mm/mm1/globals.cpp
@@ -22,6 +22,7 @@
 #include "engines/engine.h"
 #include "graphics/fonts/ttf.h"
 #include "mm/mm1/globals.h"
+#include "mm/mm1/mm1.h"
 #include "mm/shared/utils/engine_data.h"
 #include "graphics/fontman.h"
 
@@ -95,6 +96,20 @@ bool Globals::load(bool isEnhanced) {
 	return true;
 }
 
+const Common::String &Globals::operator[](const Common::String &name) {
+	if (g_engine->isEnhanced() && name.hasPrefix("maps.map")) {
+		// Map strings support having alternate versions in Enhanced version
+		Common::String altName = Common::String::format("maps.emap%s",
+			name.c_str() + 8);
+		if (_strings.contains(altName))
+			return _strings[altName];
+	}
+
+	assert(_strings.contains(name));
+	return _strings[name];
+}
+
+
 void Globals::synchronize(Common::Serializer &s) {
 	s.syncAsByte(_startingTown);
 
diff --git a/engines/mm/mm1/globals.h b/engines/mm/mm1/globals.h
index fd6e46bb922..8efaf7aff94 100644
--- a/engines/mm/mm1/globals.h
+++ b/engines/mm/mm1/globals.h
@@ -85,10 +85,7 @@ public:
 	/**
 	 * Returns a string
 	 */
-	const Common::String &operator[](const Common::String &name) {
-		assert(_strings.contains(name));
-		return _strings[name];
-	}
+	const Common::String &operator[](const Common::String &name);
 
 	/**
 	 * Saves global data to/from savegames




More information about the Scummvm-git-logs mailing list