[Scummvm-git-logs] scummvm master -> 777571dabe54a7ee2081c3c2def30d6720037e58

dreammaster noreply at scummvm.org
Tue Apr 11 05:01:50 UTC 2023


This automated email contains information about 4 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
c9731c2110 MM: MM1: Map string fixes
450529ccf1 MM: MM1: Child prisoner interaction fixes
d5ad86a54f MM: MM1: Map 34 fixes
777571dabe MM: MM1: Map 35 fixes


Commit: c9731c21106f35a5d9d2d8878514307222c95a17
    https://github.com/scummvm/scummvm/commit/c9731c21106f35a5d9d2d8878514307222c95a17
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2023-04-10T20:41:57-07:00

Commit Message:
MM: MM1: Map string fixes

Changed paths:
    devtools/create_mm/files/mm1/strings_en.yml


diff --git a/devtools/create_mm/files/mm1/strings_en.yml b/devtools/create_mm/files/mm1/strings_en.yml
index b78e20a300c..c3d57db9229 100644
--- a/devtools/create_mm/files/mm1/strings_en.yml
+++ b/devtools/create_mm/files/mm1/strings_en.yml
@@ -1471,8 +1471,8 @@ maps:
 		building: "The fabled building of gold,\nenter (Y/N)?"
 		slime: "Ectoplasmic slime slushes beneath you!\n"
 		tombstones: "Toppled tombstones abound!"
-		coffin: "Unearthed coffin! examine (Y/N)?"
-		crypt: "Open crypt! examine (Y/N)?"
+		coffin: "Unearthed coffin! Examine (Y/N)?"
+		crypt: "Open crypt! Examine (Y/N)?"
 		corpse: "Half buried corpse asks for help!\nAssist (Y/N)?"
 		meeting: "Dragon City, town meeting...\nDisrupt (Y/N)?"
 		quicksand: "Quicksand!"


Commit: 450529ccf1772a8f0623df2958f385ae292b4d2e
    https://github.com/scummvm/scummvm/commit/450529ccf1772a8f0623df2958f385ae292b4d2e
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2023-04-10T21:38:43-07:00

Commit Message:
MM: MM1: Child prisoner interaction fixes

Changed paths:
    devtools/create_mm/files/mm1/strings_en.yml
    engines/mm/mm1/views_enh/interactions/interaction.cpp
    engines/mm/mm1/views_enh/interactions/prisoners.cpp
    engines/mm/mm1/views_enh/interactions/prisoners.h


diff --git a/devtools/create_mm/files/mm1/strings_en.yml b/devtools/create_mm/files/mm1/strings_en.yml
index c3d57db9229..fa861a1790d 100644
--- a/devtools/create_mm/files/mm1/strings_en.yml
+++ b/devtools/create_mm/files/mm1/strings_en.yml
@@ -966,6 +966,11 @@ maps:
 		options3: "3) Leave without disturbing."
 		flees: "The prisoner flees!"
 		cowers: "The prisoner cowers!"
+	eprisoners:
+		title: "Prisoner"
+		options1: "Set the prisoner free.\n"
+		options2: "Torment the prisoner.\n"
+		options3: "Leave without disturbing."
 
 	map00:
 		blacksmith: "\"B and B Blacksmithing\""
diff --git a/engines/mm/mm1/views_enh/interactions/interaction.cpp b/engines/mm/mm1/views_enh/interactions/interaction.cpp
index 5f019c50117..dc7bdbe1c63 100644
--- a/engines/mm/mm1/views_enh/interactions/interaction.cpp
+++ b/engines/mm/mm1/views_enh/interactions/interaction.cpp
@@ -125,7 +125,7 @@ bool Interaction::tick() {
 		redraw();
 	}
 
-	return true;
+	return PartyView::tick();
 }
 
 void Interaction::leave() {
diff --git a/engines/mm/mm1/views_enh/interactions/prisoners.cpp b/engines/mm/mm1/views_enh/interactions/prisoners.cpp
index bdb8e43ed46..584a618f89d 100644
--- a/engines/mm/mm1/views_enh/interactions/prisoners.cpp
+++ b/engines/mm/mm1/views_enh/interactions/prisoners.cpp
@@ -31,12 +31,23 @@ namespace Interactions {
 
 Prisoner::Prisoner(const Common::String &name, int portrait, const Common::String &line1,
 		byte flag, Alignment freeAlignment, Alignment leaveAlignment) :
-		Interaction(name, portrait), _flag(flag),
+		Interaction(name, portrait), _line(line1), _flag(flag),
 		_freeAlignment(freeAlignment), _leaveAlignment(leaveAlignment) {
-	addText(line1);
-	addButton(STRING["maps.prisoners.options1"], '1');
-	addButton(STRING["maps.prisoners.options2"], '2');
-	addButton(STRING["maps.prisoners.options3"], '3');
+	_title = STRING["maps.eprisoners.title"];
+}
+
+bool Prisoner::msgFocus(const FocusMessage &msg) {
+	Interaction::msgFocus(msg);
+
+	addText(_line);
+	clearButtons();
+	addButton(STRING["maps.eprisoners.options1"], '1');
+	addButton(STRING["maps.eprisoners.options2"], '2');
+	addButton(STRING["maps.eprisoners.options3"], '3');
+
+	// Since the prisoner options are 1 to 3, disable party bindings
+	MetaEngine::setKeybindingMode(KeybindingMode::KBMODE_MENUS);
+	return true;
 }
 
 bool Prisoner::msgKeypress(const KeypressMessage &msg) {
@@ -77,10 +88,12 @@ bool Prisoner::msgKeypress(const KeypressMessage &msg) {
 	}
 
 	if (align != NEUTRAL) {
-		clearSurface();
-		writeString(0, 1, line);
-		Sound::sound(SOUND_2);
+		clearButtons();
+		addText(line);
+		redraw();
+
 		delaySeconds(3);
+		Sound::sound(SOUND_2);
 
 	} else {
 		close();
@@ -96,7 +109,7 @@ void Prisoner::timeout() {
 /*------------------------------------------------------------------------*/
 
 ChildPrisoner::ChildPrisoner() :
-		Prisoner("ChildPrisoner", 1, STRING["maps.prisoners.child"],
+		Prisoner("ChildPrisoner", 34, STRING["maps.prisoners.child"],
 		CHARFLAG1_4, GOOD, EVIL) {
 }
 
diff --git a/engines/mm/mm1/views_enh/interactions/prisoners.h b/engines/mm/mm1/views_enh/interactions/prisoners.h
index 806646efa69..0671d1f4190 100644
--- a/engines/mm/mm1/views_enh/interactions/prisoners.h
+++ b/engines/mm/mm1/views_enh/interactions/prisoners.h
@@ -32,16 +32,26 @@ namespace Interactions {
 
 class Prisoner : public Interaction {
 private:
+	Common::String _line;
 	byte _flag;
 	Alignment _freeAlignment;
 	Alignment _leaveAlignment;
 protected:
 	virtual void flee() {}
+
+	/**
+	 * Return true if the selected character can be switched
+	 */
+	bool canSwitchChar() override {
+		return false;
+	}
+
 public:
 	Prisoner(const Common::String &name, int portrait, const Common::String &line1,
 		byte flag, Alignment freeAlignment, Alignment leaveAlignment);
 	virtual ~Prisoner() {}
 
+	bool msgFocus(const FocusMessage &msg) override;
 	bool msgKeypress(const KeypressMessage &msg) override;
 	void timeout() override;
 };


Commit: d5ad86a54fc1896369125545ac192d3986b0443b
    https://github.com/scummvm/scummvm/commit/d5ad86a54fc1896369125545ac192d3986b0443b
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2023-04-10T21:55:36-07:00

Commit Message:
MM: MM1: Map 34 fixes

Changed paths:
    devtools/create_mm/files/mm1/strings_en.yml
    engines/mm/mm1/maps/map34.cpp


diff --git a/devtools/create_mm/files/mm1/strings_en.yml b/devtools/create_mm/files/mm1/strings_en.yml
index fa861a1790d..1fdf6f57b6b 100644
--- a/devtools/create_mm/files/mm1/strings_en.yml
+++ b/devtools/create_mm/files/mm1/strings_en.yml
@@ -1484,7 +1484,7 @@ maps:
 		thanks: "Thanks! It ain't easy being a corpse!\nTake these..."
 
 	map34:
-		statue: "A gruesome statue says:\n\"start at 15-7 and walk to doom!\""
+		statue: "A gruesome statue says:\n\"Start at 15-7 and walk to Doom!\""
 		banner: "A banner reads:\nThe endless spiral!!!"
 		sign: "A sign above the door reads:\nMonster breeding grounds, keep out!"
 		machine: "A loud machine pulsates rhythmically."
@@ -1497,8 +1497,9 @@ maps:
 		message6: "Etched in gold:\nMessage interleave '8,5,3,9,1,4,6,2,7'"
 		message7: "Written on the wall:\nJump three times to reach center."
 		door: "A golden door repels you!"
-		alamar1: "Suspended in a forcefield is the body\nof a man enclosed in an iron suit.\nTelepathic communication:\"I am the true\nKing Alamar, imprisoned by a demonic\nalien being! Confront him with this eye\nof goros and you shall see his true\nself."
-		alamar2: "The fate of the realm is at stake.\""
+		alamar: "Suspended in a forcefield is the body\nof a man enclosed in an iron suit.\nTelepathic communication: \"I am the true\nKing Alamar, imprisoned by a demonic\nalien being! Confront him with this Eye\nof Goros and you shall see his true\nself. The fate of the realm is at stake\""
+	emap34:
+		alamar1: "Suspended in a forcefield is the body\nof a man enclosed in an iron suit. Telepathic communication: \"I am the true King Alamar, imprisoned by a demonic alien being! Confront him with this eye of goros and you shall see his true self."
 
 	map35:
 		exit: "Exit castle, (Y/N)?"
diff --git a/engines/mm/mm1/maps/map34.cpp b/engines/mm/mm1/maps/map34.cpp
index e5c6daf4bfb..86df82fdca7 100644
--- a/engines/mm/mm1/maps/map34.cpp
+++ b/engines/mm/mm1/maps/map34.cpp
@@ -79,11 +79,14 @@ void Map34::special02() {
 
 	Sound::sound2(SOUND_2);
 
-	InfoMessage msg(
-		0, 0, STRING["maps.map34.alamar1"],
-		0, 7, STRING["maps.map34.alamar2"]
-	);
+	InfoMessage msg(0, 0, STRING["maps.map34.alamar"]);
 	msg._largeMessage = true;
+	msg._keyCallback = [](const Common::KeyState &) {
+		g_events->close();
+		g_globals->_treasure._items[2] = EYE_OF_GOROS_ID;
+		g_events->addAction(KEYBIND_SEARCH);
+	};
+
 	send(msg);
 }
 


Commit: 777571dabe54a7ee2081c3c2def30d6720037e58
    https://github.com/scummvm/scummvm/commit/777571dabe54a7ee2081c3c2def30d6720037e58
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2023-04-10T22:01:37-07:00

Commit Message:
MM: MM1: Map 35 fixes

Changed paths:
    devtools/create_mm/files/mm1/strings_en.yml
    engines/mm/mm1/maps/map35.cpp
    engines/mm/mm1/views_enh/interactions/prisoners.cpp


diff --git a/devtools/create_mm/files/mm1/strings_en.yml b/devtools/create_mm/files/mm1/strings_en.yml
index 1fdf6f57b6b..f8692889378 100644
--- a/devtools/create_mm/files/mm1/strings_en.yml
+++ b/devtools/create_mm/files/mm1/strings_en.yml
@@ -1502,7 +1502,7 @@ maps:
 		alamar1: "Suspended in a forcefield is the body\nof a man enclosed in an iron suit. Telepathic communication: \"I am the true King Alamar, imprisoned by a demonic alien being! Confront him with this eye of goros and you shall see his true self."
 
 	map35:
-		exit: "Exit castle, (Y/N)?"
+		exit: "Exit castle (Y/N)?"
 		merchant_pass: "Castle guards exclaim\n\"No merchants pass! Begone peasants.\""
 		quests:
 			0: "Find the ancient ruins in the\nquivering forest"
diff --git a/engines/mm/mm1/maps/map35.cpp b/engines/mm/mm1/maps/map35.cpp
index ac0ce99ee18..e7488435db5 100644
--- a/engines/mm/mm1/maps/map35.cpp
+++ b/engines/mm/mm1/maps/map35.cpp
@@ -82,9 +82,9 @@ void Map35::special01() {
 void Map35::special02() {
 	visitedExit();
 
-	send(SoundMessage(STRING["maps.map35.slide"]));
 	g_maps->_mapPos = Common::Point(14, 9);
 	g_maps->changeMap(0xa00, 2);
+	send(SoundMessage(STRING["maps.map35.slide"]));
 }
 
 void Map35::special03() {
@@ -93,9 +93,9 @@ void Map35::special03() {
 
 void Map35::special04() {
 	if (!g_globals->_party.hasItem(MERCHANTS_PASS_ID)) {
-		send(SoundMessage(STRING["maps.map35.merchant_pass"]));
 		g_maps->_mapPos.y++;
 		updateGame();
+		send(SoundMessage(STRING["maps.map35.merchant_pass"]));
 	}
 }
 
diff --git a/engines/mm/mm1/views_enh/interactions/prisoners.cpp b/engines/mm/mm1/views_enh/interactions/prisoners.cpp
index 584a618f89d..7740706cc19 100644
--- a/engines/mm/mm1/views_enh/interactions/prisoners.cpp
+++ b/engines/mm/mm1/views_enh/interactions/prisoners.cpp
@@ -114,7 +114,7 @@ ChildPrisoner::ChildPrisoner() :
 }
 
 ManPrisoner::ManPrisoner() :
-	Prisoner("ManPrisoner", 1, STRING["maps.prisoners.man"],
+	Prisoner("ManPrisoner", 23, STRING["maps.prisoners.man"],
 	CHARFLAG1_20, EVIL, GOOD) {
 }
 




More information about the Scummvm-git-logs mailing list