diff options
author | Norbert Lange | 2009-08-16 16:39:34 +0000 |
---|---|---|
committer | Norbert Lange | 2009-08-16 16:39:34 +0000 |
commit | c96affd0c1e5480fe1a4a3d3e82583c795570d21 (patch) | |
tree | 3f3a71bc02976024345c5c3e44534055d9c9c4cd /engines/scumm | |
parent | 2b147c57161cdacf3cdc5bc572ce46160cbd6b5e (diff) | |
parent | ce30a513acdaab2ca5eacd136cc80ade1beabb3a (diff) | |
download | scummvm-rg350-c96affd0c1e5480fe1a4a3d3e82583c795570d21.tar.gz scummvm-rg350-c96affd0c1e5480fe1a4a3d3e82583c795570d21.tar.bz2 scummvm-rg350-c96affd0c1e5480fe1a4a3d3e82583c795570d21.zip |
merge with trunk
svn-id: r43443
Diffstat (limited to 'engines/scumm')
-rw-r--r-- | engines/scumm/dialogs.cpp | 15 | ||||
-rw-r--r-- | engines/scumm/dialogs.h | 1 | ||||
-rw-r--r-- | engines/scumm/he/script_v60he.cpp | 5 |
3 files changed, 13 insertions, 8 deletions
diff --git a/engines/scumm/dialogs.cpp b/engines/scumm/dialogs.cpp index 42e49afcc1..63ac952265 100644 --- a/engines/scumm/dialogs.cpp +++ b/engines/scumm/dialogs.cpp @@ -471,10 +471,13 @@ ScummMenuDialog::~ScummMenuDialog() { delete _loadDialog; } -void ScummMenuDialog::reflowLayout() { - if (!_vm->canSaveGameStateCurrently()) - _saveButton->setEnabled(false); +int ScummMenuDialog::runModal() { + _saveButton->setEnabled(_vm->canSaveGameStateCurrently()); + return ScummDialog::runModal(); +} +void ScummMenuDialog::reflowLayout() { + _saveButton->setEnabled(_vm->canSaveGameStateCurrently()); Dialog::reflowLayout(); } @@ -745,7 +748,7 @@ InfoDialog::InfoDialog(ScummEngine *scumm, int res) _message = queryResString(res); // Width and height are dummy - _text = new StaticTextWidget(this, 4, 4, 10, 10, _message, kTextAlignCenter); + _text = new StaticTextWidget(this, 0, 0, 10, 10, _message, kTextAlignCenter); } InfoDialog::InfoDialog(ScummEngine *scumm, const String& message) @@ -754,7 +757,7 @@ InfoDialog::InfoDialog(ScummEngine *scumm, const String& message) _message = message; // Width and height are dummy - _text = new StaticTextWidget(this, 4, 4, 10, 10, _message, kTextAlignCenter); + _text = new StaticTextWidget(this, 0, 0, 10, 10, _message, kTextAlignCenter); } void InfoDialog::setInfoText(const String& message) { @@ -775,7 +778,7 @@ void InfoDialog::reflowLayout() { _x = (screenW - width) / 2; _y = (screenH - height) / 2; - _text->setSize(_w - 8, _h); + _text->setSize(_w, _h); } const Common::String InfoDialog::queryResString(int stringno) { diff --git a/engines/scumm/dialogs.h b/engines/scumm/dialogs.h index d4ecbde534..85b562ed67 100644 --- a/engines/scumm/dialogs.h +++ b/engines/scumm/dialogs.h @@ -90,6 +90,7 @@ public: virtual void reflowLayout(); + int runModal(); protected: ScummEngine *_vm; diff --git a/engines/scumm/he/script_v60he.cpp b/engines/scumm/he/script_v60he.cpp index f186495f81..7c109b1dcd 100644 --- a/engines/scumm/he/script_v60he.cpp +++ b/engines/scumm/he/script_v60he.cpp @@ -115,9 +115,10 @@ int ScummEngine_v60he::convertFilePath(byte *dst, int dstSize) { int r = 0; if (dst[len - 3] == 's' && dst[len - 2] == 'g') { // Save Game File // Change filename prefix to target name, for save game files. - char saveName[20]; + char saveName[40]; + memset(saveName, 0, sizeof(saveName)); sprintf(saveName, "%s.sg%c", _targetName.c_str(), dst[len - 1]); - memcpy(dst, saveName, 20); + memcpy(dst, saveName, 40); } else if (dst[0] == '.' && dst[1] == '/') { // Game Data Path // The default game data path is set to './' by ScummVM r = 2; |