[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