[Scummvm-git-logs] scummvm master -> 7062ee75c23172520f4c6eb71ddde1a279f4bfc8

dreammaster noreply at scummvm.org
Sat May 20 05:42:21 UTC 2023


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

Summary:
413513e14b MM: MM1: Changes for map 43
a2a537e62c MM: MM1: Changes for map 45 to 47
7062ee75c2 MM: MM1: Changes for map 48


Commit: 413513e14b557e26638955c0a2bcded61b7a2a62
    https://github.com/scummvm/scummvm/commit/413513e14b557e26638955c0a2bcded61b7a2a62
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2023-05-19T21:55:16-07:00

Commit Message:
MM: MM1: Changes for map 43

Changed paths:
  A engines/mm/mm1/views_enh/interactions/lord_ironfist.cpp
  A engines/mm/mm1/views_enh/interactions/lord_ironfist.h
    devtools/create_mm/files/mm1/strings_en.yml
    engines/mm/mm1/views_enh/dialogs.h
    engines/mm/module.mk


diff --git a/devtools/create_mm/files/mm1/strings_en.yml b/devtools/create_mm/files/mm1/strings_en.yml
index 2c7fedb5446..a495284a2a1 100644
--- a/devtools/create_mm/files/mm1/strings_en.yml
+++ b/devtools/create_mm/files/mm1/strings_en.yml
@@ -1641,7 +1641,7 @@ maps:
 		tower: "The tower"
 		throne_room: "Throne room"
 		ironfist1: "Lord Ironfist speaks:\n"
-		ironfist2: "\"Your services are needed!\" accept(Y/N)?"
+		ironfist2: "\"Your services are needed!\" Accept(Y/N)?"
 		ironfist3: "\"Return not until thy quest is complete\""
 		ironfist4: "\"Sorry, but since you are currently\nquested, i can't engage your services.\""
 		ironfist5: "Well done, quest complete! +%u exp"
@@ -1655,6 +1655,9 @@ maps:
 			5: "Find the shipwreck of the jolly raven"
 			6: "Defeat the pirate ghost ship anarchist"
 			7: "Defeat the stronghold in ravens wood"
+	emap43:
+		title: "Lord Ironfist"
+		ironfist2: "\"Your services are needed!\" Accept (Y/N)?"
 
 	map44:
 		message_f: "Etched in silver, message F reads:\ntstst,e1,d-ds15a1drh"
diff --git a/engines/mm/mm1/views_enh/dialogs.h b/engines/mm/mm1/views_enh/dialogs.h
index d508ae6f043..b323a00fb3e 100644
--- a/engines/mm/mm1/views_enh/dialogs.h
+++ b/engines/mm/mm1/views_enh/dialogs.h
@@ -68,6 +68,7 @@
 #include "mm/mm1/views_enh/interactions/leprechaun.h"
 #include "mm/mm1/views_enh/interactions/lion.h"
 #include "mm/mm1/views_enh/interactions/lord_archer.h"
+#include "mm/mm1/views_enh/interactions/lord_ironfist.h"
 #include "mm/mm1/views_enh/interactions/prisoners.h"
 #include "mm/mm1/views_enh/interactions/resistances.h"
 #include "mm/mm1/views_enh/interactions/ruby.h"
@@ -105,6 +106,7 @@ private:
 	ViewsEnh::Interactions::Leprechaun _leprechaun;
 	ViewsEnh::Interactions::Lion _lion;
 	ViewsEnh::Interactions::LordArcher _lordArcher;
+	ViewsEnh::Interactions::LordIronfist _lordIronfist;
 	ViewsEnh::Interactions::Resistances _resistances;
 	ViewsEnh::Interactions::Ruby _ruby;
 	ViewsEnh::Interactions::Statue _statue;
diff --git a/engines/mm/mm1/views_enh/interactions/lord_ironfist.cpp b/engines/mm/mm1/views_enh/interactions/lord_ironfist.cpp
new file mode 100644
index 00000000000..0e27e45f732
--- /dev/null
+++ b/engines/mm/mm1/views_enh/interactions/lord_ironfist.cpp
@@ -0,0 +1,118 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#include "mm/mm1/views_enh/interactions/lord_ironfist.h"
+#include "mm/mm1/maps/map43.h"
+#include "mm/mm1/globals.h"
+#include "mm/mm1/sound.h"
+
+namespace MM {
+namespace MM1 {
+namespace ViewsEnh {
+namespace Interactions {
+
+LordIronfist::LordIronfist() : Interaction("LordIronfist", 18) {
+	_title = STRING["maps.emap43.title"];
+}
+
+bool LordIronfist::msgFocus(const FocusMessage &msg) {
+	Interaction::msgFocus(msg);
+	clearButtons();
+
+	if (_mode == ACCEPTING) {
+		_mode = ACCEPTED_QUEST;
+
+		addText(STRING[Common::String::format(
+			"maps.map43.quests.%d",
+			g_globals->_party[0]._quest
+		)]);
+
+	} else {
+		const Character &c = g_globals->_party[0];
+		_mode = c._quest ? ACTIVE_QUEST : CAN_ACCEPT;
+
+
+		if (_mode == CAN_ACCEPT) {
+			Sound::sound(SOUND_2);
+
+			addText(Common::String::format("%s%s",
+				STRING["maps.map43.ironfist1"].c_str(),
+				STRING["maps.map43.ironfist2"].c_str()
+			));
+
+			addButton(STRING["maps.accept"], 'Y');
+			addButton(STRING["maps.decline"], 'N');
+
+		} else {
+			// There's an active quest, so check for completion
+			MM1::Maps::Map43 &map = *static_cast<MM1::Maps::Map43 *>(g_maps->_currentMap);
+			int questNum = g_globals->_party[0]._quest;
+			Common::String line;
+
+			if (questNum < 8)
+				line = map.checkQuestComplete();
+			else
+				line = STRING["maps.map43.ironfist4"];
+
+			g_maps->_mapPos.x++;
+
+			addText(Common::String::format("%s%s",
+				STRING["maps.map43.ironfist1"].c_str(),
+				line.c_str()
+			));
+		}
+	}
+
+	return true;
+}
+
+bool LordIronfist::msgKeypress(const KeypressMessage &msg) {
+	MM1::Maps::Map43 &map = *static_cast<MM1::Maps::Map43 *>(g_maps->_currentMap);
+
+	if (_mode == CAN_ACCEPT) {
+		if (msg.keycode == Common::KEYCODE_y) {
+			// Accept the quest
+			close();
+			map.acceptQuest();
+
+			// Reshow the view to display what the quest is
+			_mode = ACCEPTING;
+			addView();
+
+		} else if (msg.keycode == Common::KEYCODE_n) {
+			close();
+		}
+	} else {
+		close();
+	}
+
+	return true;
+}
+
+void LordIronfist::viewAction() {
+	if (_mode != CAN_ACCEPT)
+		close();
+}
+
+} // namespace Interactions
+} // namespace ViewsEnh
+} // namespace MM1
+} // namespace MM
diff --git a/engines/mm/mm1/views_enh/interactions/lord_ironfist.h b/engines/mm/mm1/views_enh/interactions/lord_ironfist.h
new file mode 100644
index 00000000000..7d8137a9f7d
--- /dev/null
+++ b/engines/mm/mm1/views_enh/interactions/lord_ironfist.h
@@ -0,0 +1,54 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#ifndef MM1_VIEWS_ENH_INTERACTIONS_LORD_IRONFIST_H
+#define MM1_VIEWS_ENH_INTERACTIONS_LORD_IRONFIST_H
+
+#include "mm/mm1/views_enh/interactions/interaction.h"
+#include "mm/mm1/data/character.h"
+
+namespace MM {
+namespace MM1 {
+namespace ViewsEnh {
+namespace Interactions {
+
+class LordIronfist : public Interaction {
+private:
+	enum Mode { CAN_ACCEPT, ACCEPTING, ACTIVE_QUEST, ACCEPTED_QUEST };
+	Mode _mode = CAN_ACCEPT;
+
+protected:
+	void viewAction() override;
+
+public:
+	LordIronfist();
+	virtual ~LordIronfist() {}
+
+	bool msgFocus(const FocusMessage &msg) override;
+	bool msgKeypress(const KeypressMessage &msg) override;
+};
+
+} // namespace Interactions
+} // namespace ViewsEnh
+} // namespace MM1
+} // namespace MM
+
+#endif
diff --git a/engines/mm/module.mk b/engines/mm/module.mk
index cf07f2340e7..409489c52ae 100644
--- a/engines/mm/module.mk
+++ b/engines/mm/module.mk
@@ -197,6 +197,7 @@ MODULE_OBJS += \
 	mm1/views_enh/interactions/leprechaun.o \
 	mm1/views_enh/interactions/lion.o \
 	mm1/views_enh/interactions/lord_archer.o \
+	mm1/views_enh/interactions/lord_ironfist.o \
 	mm1/views_enh/interactions/prisoners.o \
 	mm1/views_enh/interactions/resistances.o \
 	mm1/views_enh/interactions/ruby.o \


Commit: a2a537e62c097ba10f3e64db5e91d11b817e4c19
    https://github.com/scummvm/scummvm/commit/a2a537e62c097ba10f3e64db5e91d11b817e4c19
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2023-05-19T22:10:53-07:00

Commit Message:
MM: MM1: Changes for map 45 to 47

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 a495284a2a1..f6d0264f622 100644
--- a/devtools/create_mm/files/mm1/strings_en.yml
+++ b/devtools/create_mm/files/mm1/strings_en.yml
@@ -1607,7 +1607,7 @@ maps:
 		message2: "Etched in gold, message 2 reads:\n\"One,-riddles-value-you-you-\n5-card-must-claimed.-Dreams,-...\""
 		boulder: "A boulder says: \"There should be 5 tests\""
 		title: "Lord Archer"
-		archer: "\"I am Lord Archer, the raven.\nI take from those who have and give to those who have not! Submit (Y/N)?\""
+		archer: "\"I am Lord Archer, the Raven.\nI take from those who have and give to those who have not! Submit (Y/N)?\""
 
 	map41:
 		message3: "Etched in gold, message 3 reads:\nFor-tasks-and-rating.-be-from-6th-\nfrustrations!-the-to-in"
@@ -1674,13 +1674,17 @@ maps:
 		walls: "The Walls Glow Ominously"
 		message: "Etched in stone:\n\"28 days out. No food, low on supplies.\nWe fear the worst yet we continue-Corak"
 		passage: "A cavernous passage, take it (Y/N)?"
+	emap45:
+		message8: "Etched in gold, message 8 reads:\nThe-are-quests,-increases-\nidentify,-apply.-locations,-end-\nattained-my-sequel"
 
 	map46:
 		shakes: "The ground shakes!"
 		clerics: "Clerics of the South just below-Corak"
+	emap46:
+		clerics: "Clerics of the South just below. Corak"
 
 	map47:
-		message5: "Etched in gold, message 5 reads:\nsCoop:-the-discoveries-your-to-return-\nthe-your-for-dreams-is"
+		message5: "Etched in gold, message 5 reads:\nScoop:-the-discoveries-your-to-return-\nthe-your-for-dreams-is"
 		gong: "Covered with cryptic symbols, a large\nbrass gong hangs from the ceiling.\nStrike it (Y/N)?"
 		tones:
 			1: "A loud tone resounds\nthroughout the room!"
@@ -1692,6 +1696,9 @@ maps:
 		poof: "Poof!"
 		painting: "On the right wall is a painting of a\nbox,on the left a painting of a curtain."
 		door_number: "Door number %c"
+	emap47:
+		message5: "Etched in gold, message 5 reads:\n\"Scoop:-the-discoveries-your-to-\nreturn-the-your-for-dreams-is\""
+		painting: "On the right wall is a painting of a box, on the left a painting of a curtain."
 
 	map48:
 		orango1: "A strange alien being in a shimmering\nsilver jumpsuit proclaims, \"This is a\nsoul maze and you are its prisoner!\nTo escape, you must find your captor's\nname hidden within these walls.\"\n\nanswer:>"


Commit: 7062ee75c23172520f4c6eb71ddde1a279f4bfc8
    https://github.com/scummvm/scummvm/commit/7062ee75c23172520f4c6eb71ddde1a279f4bfc8
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2023-05-19T22:29:24-07:00

Commit Message:
MM: MM1: Changes for map 48

Changed paths:
  A engines/mm/mm1/views_enh/interactions/orango.cpp
  A engines/mm/mm1/views_enh/interactions/orango.h
    devtools/create_mm/files/mm1/strings_en.yml
    engines/mm/mm1/maps/map48.cpp
    engines/mm/mm1/views_enh/dialogs.h
    engines/mm/module.mk


diff --git a/devtools/create_mm/files/mm1/strings_en.yml b/devtools/create_mm/files/mm1/strings_en.yml
index f6d0264f622..5fb92bbccc9 100644
--- a/devtools/create_mm/files/mm1/strings_en.yml
+++ b/devtools/create_mm/files/mm1/strings_en.yml
@@ -1703,7 +1703,10 @@ maps:
 	map48:
 		orango1: "A strange alien being in a shimmering\nsilver jumpsuit proclaims, \"This is a\nsoul maze and you are its prisoner!\nTo escape, you must find your captor's\nname hidden within these walls.\"\n\nanswer:>"
 		orango2: "Keep looking!"
-		orango3: "Agent orango seventeen reporting:\nImposter xx21a7-3 voided!\nStarphase 5281.6 at 120-varn-161 pod #41\nYou are now rank 1 and eligible for\ntransfer. Find inner sanctum for new\nassignment. The walls begin to fade...\n(press space)"
+		orango3: "Agent Orango seventeen reporting:\nImposter xx21a7-3 voided!\nStarphase 5281.6 at 120-varn-161 pod #41\nYou are now rank 1 and eligible for\ntransfer. Find inner sanctum for new\nassignment. The walls begin to fade...\n(press space)"
+	emap48:
+		title: "Strange Alien"
+		orango1: "A strange alien being in a silver jumpsuit proclaims, \"This is a soul maze and you are its prisoner!\nTo escape, you must find your captor's name hidden within these walls.\""
 
 	map49:
 		chute: "A chute..."
diff --git a/engines/mm/mm1/maps/map48.cpp b/engines/mm/mm1/maps/map48.cpp
index a2e205c2c65..bcf4d669673 100644
--- a/engines/mm/mm1/maps/map48.cpp
+++ b/engines/mm/mm1/maps/map48.cpp
@@ -40,7 +40,7 @@ void Map48::orangoAnswer(const Common::String &answer) {
 	for (int i = 0; i < 15 && _data[ANSWER_OFFSET + i]; ++i)
 		properAnswer += (_data[ANSWER_OFFSET + i] & 0x7f) + 29;
 
-	if (answer.equalsIgnoreCase(properAnswer)) {
+ 	if (answer.equalsIgnoreCase(properAnswer)) {
 		for (uint i = 0; i < g_globals->_party.size(); ++i) {
 			Character &c = g_globals->_party[i];
 			c._flags[13] |= CHARFLAG13_ALAMAR;
@@ -48,7 +48,10 @@ void Map48::orangoAnswer(const Common::String &answer) {
 
 		g_maps->_mapPos = Common::Point(8, 5);
 		g_maps->changeMap(0x604, 1);
-		send(SoundMessage(STRING["maps.map48.orango3"]));
+
+		SoundMessage msg(STRING["maps.map48.orango3"]);
+		msg._largeMessage = true;
+		send(msg);
 
 	} else {
 		g_maps->_mapPos.x++;
diff --git a/engines/mm/mm1/views_enh/dialogs.h b/engines/mm/mm1/views_enh/dialogs.h
index b323a00fb3e..b6e8a4798eb 100644
--- a/engines/mm/mm1/views_enh/dialogs.h
+++ b/engines/mm/mm1/views_enh/dialogs.h
@@ -69,6 +69,7 @@
 #include "mm/mm1/views_enh/interactions/lion.h"
 #include "mm/mm1/views_enh/interactions/lord_archer.h"
 #include "mm/mm1/views_enh/interactions/lord_ironfist.h"
+#include "mm/mm1/views_enh/interactions/orango.h"
 #include "mm/mm1/views_enh/interactions/prisoners.h"
 #include "mm/mm1/views_enh/interactions/resistances.h"
 #include "mm/mm1/views_enh/interactions/ruby.h"
@@ -107,6 +108,7 @@ private:
 	ViewsEnh::Interactions::Lion _lion;
 	ViewsEnh::Interactions::LordArcher _lordArcher;
 	ViewsEnh::Interactions::LordIronfist _lordIronfist;
+	ViewsEnh::Interactions::Orango _orango;
 	ViewsEnh::Interactions::Resistances _resistances;
 	ViewsEnh::Interactions::Ruby _ruby;
 	ViewsEnh::Interactions::Statue _statue;
diff --git a/engines/mm/mm1/views_enh/interactions/orango.cpp b/engines/mm/mm1/views_enh/interactions/orango.cpp
new file mode 100644
index 00000000000..965d2d7d925
--- /dev/null
+++ b/engines/mm/mm1/views_enh/interactions/orango.cpp
@@ -0,0 +1,45 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#include "mm/mm1/views_enh/interactions/Orango.h"
+#include "mm/mm1/maps/map48.h"
+#include "mm/mm1/globals.h"
+
+
+namespace MM {
+namespace MM1 {
+namespace ViewsEnh {
+namespace Interactions {
+
+Orango::Orango() : InteractionQuery("Orango", 15, 13) {
+	_title = STRING["maps.emap48.title"];
+	addText(STRING["maps.emap48.orango1"]);
+}
+
+void Orango::answerEntered() {
+	MM1::Maps::Map48 &map = *static_cast<MM1::Maps::Map48 *>(g_maps->_currentMap);
+	map.orangoAnswer(_answer);
+}
+
+} // namespace Interactions
+} // namespace ViewsEnh
+} // namespace MM1
+} // namespace MM
diff --git a/engines/mm/mm1/views_enh/interactions/orango.h b/engines/mm/mm1/views_enh/interactions/orango.h
new file mode 100644
index 00000000000..66f8ac90f72
--- /dev/null
+++ b/engines/mm/mm1/views_enh/interactions/orango.h
@@ -0,0 +1,48 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#ifndef MM1_VIEWS_ENH_INTERACTIONS_ORANGO_H
+#define MM1_VIEWS_ENH_INTERACTIONS_ORANGO_H
+
+#include "mm/mm1/views_enh/interactions/interaction_query.h"
+
+namespace MM {
+namespace MM1 {
+namespace ViewsEnh {
+namespace Interactions {
+
+class Orango : public InteractionQuery {
+protected:
+	/**
+	 * Answer entered
+	 */
+	void answerEntered() override;
+
+public:
+	Orango();
+};
+
+} // namespace Interactions
+} // namespace ViewsEnh
+} // namespace MM1
+} // namespace MM
+
+#endif
diff --git a/engines/mm/module.mk b/engines/mm/module.mk
index 409489c52ae..2f11fe7e11f 100644
--- a/engines/mm/module.mk
+++ b/engines/mm/module.mk
@@ -198,6 +198,7 @@ MODULE_OBJS += \
 	mm1/views_enh/interactions/lion.o \
 	mm1/views_enh/interactions/lord_archer.o \
 	mm1/views_enh/interactions/lord_ironfist.o \
+	mm1/views_enh/interactions/orango.o \
 	mm1/views_enh/interactions/prisoners.o \
 	mm1/views_enh/interactions/resistances.o \
 	mm1/views_enh/interactions/ruby.o \




More information about the Scummvm-git-logs mailing list