aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/gui_v2.cpp
diff options
context:
space:
mode:
authorathrxx2011-07-04 19:51:01 +0200
committerathrxx2011-07-04 19:52:11 +0200
commit38d18a6e78e19d12a3d6e56fe5b92821354c3e08 (patch)
tree4bbbc981f7308f371be35df05c433dabc4c98e6d /engines/kyra/gui_v2.cpp
parent19fd9c066cedd7d3e2cc9d1494137766a0a65ceb (diff)
downloadscummvm-rg350-38d18a6e78e19d12a3d6e56fe5b92821354c3e08.tar.gz
scummvm-rg350-38d18a6e78e19d12a3d6e56fe5b92821354c3e08.tar.bz2
scummvm-rg350-38d18a6e78e19d12a3d6e56fe5b92821354c3e08.zip
KYRA: fix ingame menu save slots
- long GMM save descriptions will be trimmed to fit the ingame menu save slots - prevent writing beyond the right margin in Kyra 1 save slots
Diffstat (limited to 'engines/kyra/gui_v2.cpp')
-rw-r--r--engines/kyra/gui_v2.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/engines/kyra/gui_v2.cpp b/engines/kyra/gui_v2.cpp
index 0b82df8cd5..f086ef368f 100644
--- a/engines/kyra/gui_v2.cpp
+++ b/engines/kyra/gui_v2.cpp
@@ -457,6 +457,15 @@ void GUI_v2::setupSavegameNames(Menu &menu, int num) {
Common::strlcpy(s, header.description.c_str(), 80);
Util::convertISOToDOS(s);
+ // Trim long GMM save descriptions to fit our save slots
+ _screen->_charWidth = -2;
+ int fC = _screen->getTextWidth(s);
+ while (strlen(s) && fC > 240) {
+ s[strlen(s) - 1] = 0;
+ fC = _screen->getTextWidth(s);
+ }
+ _screen->_charWidth = 0;
+
menu.item[i].saveSlot = _saveSlots[i + _savegameOffset];
menu.item[i].enabled = true;
delete in;