[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