[Scummvm-git-logs] scummvm master -> b80ba96a8c5c012430ecb2890a0e414d2a21a74e
dreammaster
noreply at scummvm.org
Mon Jan 5 10:30:16 UTC 2026
This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
282a30fffc ULTIMA: ULTIMA0: Remove deprecated Info view msgKeypress
b7bb8fb79d ULTIMA: ULTIMA0: Properly choose quest given using player's Wisdom
b80ba96a8c ULTIMA: ULTIMA0: Further improvement to quest completion
Commit: 282a30fffc9b562dc0ef85296c5b05a890da4b15
https://github.com/scummvm/scummvm/commit/282a30fffc9b562dc0ef85296c5b05a890da4b15
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-01-05T20:53:13+11:00
Commit Message:
ULTIMA: ULTIMA0: Remove deprecated Info view msgKeypress
Changed paths:
engines/ultima/ultima0/views/info.cpp
engines/ultima/ultima0/views/info.h
diff --git a/engines/ultima/ultima0/views/info.cpp b/engines/ultima/ultima0/views/info.cpp
index 3bd24dd8998..52a1d9f8b06 100644
--- a/engines/ultima/ultima0/views/info.cpp
+++ b/engines/ultima/ultima0/views/info.cpp
@@ -95,20 +95,6 @@ void Info::leave() {
replaceView(player._level == 0 ? "WorldMap" : "DungeonMap");
}
-bool Info::msgKeypress(const KeypressMessage &msg) {
- if (isDelayActive())
- return false;
-
- for (int i = 0; i < MAX_OBJ; ++i) {
- if (Common::isDigit(msg.ascii) && (msg.ascii - '0') == OBJECT_INFO[i]._cost) {
- selectObject(i);
- return true;
- }
- }
-
- return false;
-}
-
bool Info::msgAction(const ActionMessage &msg) {
if (isDelayActive())
return false;
diff --git a/engines/ultima/ultima0/views/info.h b/engines/ultima/ultima0/views/info.h
index c332f3b4868..69e246194b8 100644
--- a/engines/ultima/ultima0/views/info.h
+++ b/engines/ultima/ultima0/views/info.h
@@ -62,7 +62,6 @@ public:
bool msgFocus(const FocusMessage &msg) override;
bool msgUnfocus(const UnfocusMessage &msg) override;
void draw() override;
- bool msgKeypress(const KeypressMessage &msg) override;
bool msgAction(const ActionMessage &msg) override;
bool msgGame(const GameMessage &msg) override;
};
Commit: b7bb8fb79d3549d0350f4c8f93d70c6a30ec3e63
https://github.com/scummvm/scummvm/commit/b7bb8fb79d3549d0350f4c8f93d70c6a30ec3e63
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-01-05T20:53:13+11:00
Commit Message:
ULTIMA: ULTIMA0: Properly choose quest given using player's Wisdom
Changed paths:
engines/ultima/ultima0/views/castle.cpp
engines/ultima/ultima0/views/castle.h
diff --git a/engines/ultima/ultima0/views/castle.cpp b/engines/ultima/ultima0/views/castle.cpp
index 3c5728825a4..abbc21f1cd2 100644
--- a/engines/ultima/ultima0/views/castle.cpp
+++ b/engines/ultima/ultima0/views/castle.cpp
@@ -66,6 +66,7 @@ void Castle::draw() {
void Castle::firstTime() {
auto s = getSurface();
+ const auto &player = g_engine->_player;
if (_mode >= NAMING && _mode <= FIRST_TASK) {
s.writeString(Common::Point(5, 2), "Welcome Peasant into the halls of\n"
@@ -85,12 +86,14 @@ void Castle::firstTime() {
if (_mode == BEGONE) {
s.writeString("Then leave and begone!");
} else if (_mode == FIRST_TASK) {
+ nextTask(true);
+
s.writeString("Good! Thou shalt try to become a\nKnight!!!\n\n"
"Thy first task is to go into the\n"
"dungeons and to return only after\n"
"killing ");
s.setColor(C_VIOLET);
- s.writeString(getTaskName(1));
+ s.writeString(getTaskName(player._task));
pressAnyKey();
}
@@ -192,15 +195,17 @@ bool Castle::msgAction(const ActionMessage &msg) {
return true;
}
-void Castle::nextTask() {
+void Castle::nextTask(bool isFirstTime) {
auto &player = g_engine->_player;
- player._task++;
+ player._task = CLIP(player._attr[AT_WISDOM] / 3, 1, 10);
player._taskCompleted = false;
- // LB gives you extra attributes
- for (int i = 0; i < MAX_ATTR; i++)
- player._attr[i]++;
+ if (!isFirstTime) {
+ // LB gives you extra attributes
+ for (int i = 0; i < MAX_ATTR; i++)
+ player._attr[i]++;
+ }
}
Common::String Castle::getTaskName(int taskNum) const {
diff --git a/engines/ultima/ultima0/views/castle.h b/engines/ultima/ultima0/views/castle.h
index 4156160e2ae..732b406b72c 100644
--- a/engines/ultima/ultima0/views/castle.h
+++ b/engines/ultima/ultima0/views/castle.h
@@ -39,7 +39,7 @@ private:
void firstTime();
void taskCompleted();
void taskIncomplete();
- void nextTask();
+ void nextTask(bool isFirstTime = false);
void pressAnyKey();
Common::String getTaskName(int taskNum) const;
Commit: b80ba96a8c5c012430ecb2890a0e414d2a21a74e
https://github.com/scummvm/scummvm/commit/b80ba96a8c5c012430ecb2890a0e414d2a21a74e
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-01-05T21:30:01+11:00
Commit Message:
ULTIMA: ULTIMA0: Further improvement to quest completion
Changed paths:
engines/ultima/ultima0/views/castle.cpp
engines/ultima/ultima0/views/castle.h
diff --git a/engines/ultima/ultima0/views/castle.cpp b/engines/ultima/ultima0/views/castle.cpp
index abbc21f1cd2..a0acb1931a4 100644
--- a/engines/ultima/ultima0/views/castle.cpp
+++ b/engines/ultima/ultima0/views/castle.cpp
@@ -86,8 +86,6 @@ void Castle::firstTime() {
if (_mode == BEGONE) {
s.writeString("Then leave and begone!");
} else if (_mode == FIRST_TASK) {
- nextTask(true);
-
s.writeString("Good! Thou shalt try to become a\nKnight!!!\n\n"
"Thy first task is to go into the\n"
"dungeons and to return only after\n"
@@ -100,7 +98,7 @@ void Castle::firstTime() {
}
void Castle::taskCompleted() {
- const auto &player = g_engine->_player;
+ auto &player = g_engine->_player;
auto s = getSurface();
s.writeString(Common::Point(0, 3), "Aaaahhhh.... ");
@@ -116,13 +114,18 @@ void Castle::taskCompleted() {
"try difficulty level ");
s.writeString(Common::String::format("%d.", player._skill + 1));
} else {
+ // LB gives you extra attributes
+ for (int i = 0; i < MAX_ATTR; i++)
+ player._attr[i]++;
+
+ // Choose the next task
nextTask();
s.writeString("Unfortunately, this is not enough to\n"
"become a knight.\n\n");
s.writeString("Thou must now kill ");
s.setColor(C_VIOLET);
- s.writeString(getTaskName(1));
+ s.writeString(getTaskName(player._task));
s.setColor(C_TEXT_DEFAULT);
s.writeString("\n\n");
@@ -195,17 +198,11 @@ bool Castle::msgAction(const ActionMessage &msg) {
return true;
}
-void Castle::nextTask(bool isFirstTime) {
+void Castle::nextTask() {
auto &player = g_engine->_player;
player._task = CLIP(player._attr[AT_WISDOM] / 3, 1, 10);
player._taskCompleted = false;
-
- if (!isFirstTime) {
- // LB gives you extra attributes
- for (int i = 0; i < MAX_ATTR; i++)
- player._attr[i]++;
- }
}
Common::String Castle::getTaskName(int taskNum) const {
diff --git a/engines/ultima/ultima0/views/castle.h b/engines/ultima/ultima0/views/castle.h
index 732b406b72c..4156160e2ae 100644
--- a/engines/ultima/ultima0/views/castle.h
+++ b/engines/ultima/ultima0/views/castle.h
@@ -39,7 +39,7 @@ private:
void firstTime();
void taskCompleted();
void taskIncomplete();
- void nextTask(bool isFirstTime = false);
+ void nextTask();
void pressAnyKey();
Common::String getTaskName(int taskNum) const;
More information about the Scummvm-git-logs
mailing list