[Scummvm-git-logs] scummvm master -> 1ee13fc19f9876bab9574ed3950deaa99dd4a870
dreammaster
noreply at scummvm.org
Sun May 28 04:50:26 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:
1ee13fc19f MM: MM1: Fix using items in original version
Commit: 1ee13fc19f9876bab9574ed3950deaa99dd4a870
https://github.com/scummvm/scummvm/commit/1ee13fc19f9876bab9574ed3950deaa99dd4a870
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2023-05-27T21:50:23-07:00
Commit Message:
MM: MM1: Fix using items in original version
Changed paths:
engines/mm/mm1/data/character.cpp
engines/mm/mm1/views/character_base.cpp
engines/mm/mm1/views/character_info.cpp
engines/mm/mm1/views/character_info.h
diff --git a/engines/mm/mm1/data/character.cpp b/engines/mm/mm1/data/character.cpp
index 263d8780353..1d913c56f17 100644
--- a/engines/mm/mm1/data/character.cpp
+++ b/engines/mm/mm1/data/character.cpp
@@ -382,16 +382,12 @@ Character::LevelIncrease Character::increaseLevel() {
}
Character::BuyResult Character::buyItem(byte itemId) {
- g_globals->_items.getItem(itemId);
-
// Check if backpack is full
- int slotIndex = 0;
- while (slotIndex < INVENTORY_COUNT && _backpack[slotIndex])
- ++slotIndex;
- if (slotIndex == INVENTORY_COUNT)
+ if (_backpack.full())
return BUY_BACKPACK_FULL;
// Check character has enough gold
+ g_globals->_items.getItem(itemId);
Item &item = g_globals->_currItem;
if (_gold < item._cost)
return BUY_NOT_ENOUGH_GOLD;
diff --git a/engines/mm/mm1/views/character_base.cpp b/engines/mm/mm1/views/character_base.cpp
index 5706081faae..d0549fc6e9e 100644
--- a/engines/mm/mm1/views/character_base.cpp
+++ b/engines/mm/mm1/views/character_base.cpp
@@ -140,22 +140,28 @@ void CharacterBase::printInventory() {
writeString(0, 12, STRING["stats.inventory"]);
// Print the equipped and backpack items
- for (int i = 0; i < INVENTORY_COUNT; ++i) {
+ for (uint i = 0; i < INVENTORY_COUNT; ++i) {
// Equippied item
writeChar(0, 13 + i, '1' + i);
writeChar(')');
_textPos.x++;
- if (re._equipped[i])
- writeString(STRING[Common::String::format("stats.items.%d",
- (int)re._equipped[i]._id)]);
+
+ if (i < re._equipped.size()) {
+ g_globals->_items.getItem(re._equipped[i]._id);
+ const Item &item = g_globals->_currItem;
+ writeString(item._name);
+ }
// Backpack item
writeChar(20, 13 + i, 'A' + i);
writeChar(')');
_textPos.x++;
- if (re._backpack[i])
- writeString(STRING[Common::String::format("stats.items.%d",
- (int)re._backpack[i]._id)]);
+
+ if (i < re._backpack.size()) {
+ g_globals->_items.getItem(re._backpack[i]._id);
+ const Item &item = g_globals->_currItem;
+ writeString(item._name);
+ }
}
}
diff --git a/engines/mm/mm1/views/character_info.cpp b/engines/mm/mm1/views/character_info.cpp
index 2511464396b..216d01bc69c 100644
--- a/engines/mm/mm1/views/character_info.cpp
+++ b/engines/mm/mm1/views/character_info.cpp
@@ -120,6 +120,12 @@ void CharacterInfo::timeout() {
}
}
+bool CharacterInfo::msgFocus(const FocusMessage &msg) {
+ CharacterBase::msgFocus(msg);
+ _state = DISPLAY;
+ return true;
+}
+
bool CharacterInfo::msgKeypress(const KeypressMessage &msg) {
switch (_state) {
case DISPLAY:
diff --git a/engines/mm/mm1/views/character_info.h b/engines/mm/mm1/views/character_info.h
index 3a6255f59ff..2a19856b67a 100644
--- a/engines/mm/mm1/views/character_info.h
+++ b/engines/mm/mm1/views/character_info.h
@@ -86,6 +86,7 @@ public:
void draw() override;
void timeout() override;
+ bool msgFocus(const FocusMessage &msg) override;
bool msgKeypress(const KeypressMessage &msg) override;
bool msgAction(const ActionMessage &msg) override;
bool msgGame(const GameMessage &msg) override;
More information about the Scummvm-git-logs
mailing list