[Scummvm-cvs-logs] scummvm master -> 7e2f7dce3accc2b987fb7938f122aec7c9567882
athrxx
athrxx at scummvm.org
Mon Jul 4 19:57:57 CEST 2011
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:
19fd9c066c AUDIO: add registerDefault for music_driver
38d18a6e78 KYRA: fix ingame menu save slots
7e2f7dce3a KYRA: fix pauseEngineIntern regression in MR
Commit: 19fd9c066cedd7d3e2cc9d1494137766a0a65ceb
https://github.com/scummvm/scummvm/commit/19fd9c066cedd7d3e2cc9d1494137766a0a65ceb
Author: athrxx (athrxx at scummvm.org)
Date: 2011-07-04T08:19:22-07:00
Commit Message:
AUDIO: add registerDefault for music_driver
Changed paths:
base/commandLine.cpp
diff --git a/base/commandLine.cpp b/base/commandLine.cpp
index c831cd0..6550f60 100644
--- a/base/commandLine.cpp
+++ b/base/commandLine.cpp
@@ -184,8 +184,8 @@ void registerDefaults() {
ConfMan.registerDefault("native_mt32", false);
ConfMan.registerDefault("enable_gs", false);
ConfMan.registerDefault("midi_gain", 100);
-// ConfMan.registerDefault("music_driver", ???);
+ ConfMan.registerDefault("music_driver", "auto");
ConfMan.registerDefault("mt32_device", "null");
ConfMan.registerDefault("gm_device", "null");
Commit: 38d18a6e78e19d12a3d6e56fe5b92821354c3e08
https://github.com/scummvm/scummvm/commit/38d18a6e78e19d12a3d6e56fe5b92821354c3e08
Author: athrxx (athrxx at scummvm.org)
Date: 2011-07-04T10:52:11-07:00
Commit Message:
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
Changed paths:
engines/kyra/gui_lok.cpp
engines/kyra/gui_lol.cpp
engines/kyra/gui_v2.cpp
diff --git a/engines/kyra/gui_lok.cpp b/engines/kyra/gui_lok.cpp
index eac82ec..4153edc 100644
--- a/engines/kyra/gui_lok.cpp
+++ b/engines/kyra/gui_lok.cpp
@@ -576,6 +576,15 @@ void GUI_LoK::setupSavegames(Menu &menu, int num) {
if ((in = _vm->openSaveForReading(_vm->getSavegameFilename(_saveSlots[i + _savegameOffset]), header))) {
Common::strlcpy(_savegameNames[i], header.description.c_str(), ARRAYSIZE(_savegameNames[0]));
+ // Trim long GMM save descriptions to fit our save slots
+ _screen->_charWidth = -2;
+ int fC = _screen->getTextWidth(_savegameNames[i]);
+ while (strlen(_savegameNames[i]) && (fC > 240 || strlen(_savegameNames[i]) >= ARRAYSIZE(_savegameNames[0]))) {
+ _savegameNames[i][strlen(_savegameNames[i]) - 1] = 0;
+ fC = _screen->getTextWidth(_savegameNames[i]);
+ }
+ _screen->_charWidth = 0;
+
Util::convertISOToDOS(_savegameNames[i]);
menu.item[i].itemString = _savegameNames[i];
@@ -693,12 +702,15 @@ void GUI_LoK::updateSavegameString() {
if (_keyPressed.keycode) {
length = strlen(_savegameName);
+ _screen->_charWidth = -2;
+ int width = _screen->getTextWidth(_savegameName) + 7;
+ _screen->_charWidth = 0;
char inputKey = _keyPressed.ascii;
Util::convertISOToDOS(inputKey);
if ((uint8)inputKey > 31 && (uint8)inputKey < (_vm->gameFlags().lang == Common::JA_JPN ? 128 : 226)) {
- if (length < ARRAYSIZE(_savegameName)-1) {
+ if ((length < ARRAYSIZE(_savegameName)-1) && (width <= 240)) {
_savegameName[length] = inputKey;
_savegameName[length+1] = 0;
redrawTextfield();
diff --git a/engines/kyra/gui_lol.cpp b/engines/kyra/gui_lol.cpp
index fb11040..531079b 100644
--- a/engines/kyra/gui_lol.cpp
+++ b/engines/kyra/gui_lol.cpp
@@ -2572,9 +2572,19 @@ void GUI_LoL::setupSaveMenuSlots(Menu &menu, int num) {
slotOffs = 1;
}
+ int saveSlotMaxLen = ((_screen->getScreenDim(8))->w << 3) - _screen->getCharWidth('W');
+
for (int i = startSlot; i < num && _savegameOffset + i - slotOffs < _savegameListSize; ++i) {
if (_savegameList[_saveSlots[i + _savegameOffset - slotOffs]]) {
Common::strlcpy(s, _savegameList[_saveSlots[i + _savegameOffset - slotOffs]], 80);
+
+ // Trim long GMM save descriptions to fit our save slots
+ int fC = _screen->getTextWidth(s);
+ while (strlen(s) && fC >= saveSlotMaxLen) {
+ s[strlen(s) - 1] = 0;
+ fC = _screen->getTextWidth(s);
+ }
+
menu.item[i].itemString = s;
s += (strlen(s) + 1);
menu.item[i].saveSlot = _saveSlots[i + _savegameOffset - slotOffs];
diff --git a/engines/kyra/gui_v2.cpp b/engines/kyra/gui_v2.cpp
index 0b82df8..f086ef3 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;
Commit: 7e2f7dce3accc2b987fb7938f122aec7c9567882
https://github.com/scummvm/scummvm/commit/7e2f7dce3accc2b987fb7938f122aec7c9567882
Author: athrxx (athrxx at scummvm.org)
Date: 2011-07-04T10:52:14-07:00
Commit Message:
KYRA: fix pauseEngineIntern regression in MR
Changed paths:
engines/kyra/kyra_mr.cpp
engines/kyra/kyra_mr.h
diff --git a/engines/kyra/kyra_mr.cpp b/engines/kyra/kyra_mr.cpp
index f5bcd04..c6a5d60 100644
--- a/engines/kyra/kyra_mr.cpp
+++ b/engines/kyra/kyra_mr.cpp
@@ -1195,6 +1195,11 @@ void KyraEngine_MR::updateMouse() {
}
}
+void KyraEngine_MR::pauseEngineIntern(bool pause) {
+ _mixer->pauseAll(pause);
+ _timer->pause(pause);
+}
+
#pragma mark -
void KyraEngine_MR::makeCharFacingMouse() {
diff --git a/engines/kyra/kyra_mr.h b/engines/kyra/kyra_mr.h
index b762648..e03ae08 100644
--- a/engines/kyra/kyra_mr.h
+++ b/engines/kyra/kyra_mr.h
@@ -105,6 +105,8 @@ private:
void updateWithText();
void updateMouse();
+ void pauseEngineIntern(bool pause);
+
// sound specific
private:
void playMenuAudioFile();
More information about the Scummvm-git-logs
mailing list