[Scummvm-cvs-logs] SF.net SVN: scummvm: [25473] scummvm/trunk

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Sat Feb 10 19:10:56 CET 2007


Revision: 25473
          http://scummvm.svn.sourceforge.net/scummvm/?rev=25473&view=rev
Author:   fingolfin
Date:     2007-02-10 10:10:55 -0800 (Sat, 10 Feb 2007)

Log Message:
-----------
Patch #1656801 (BASS: various control panel fixes), which fixes bug #1548779 (BASS: Control panel inconsistency for FX/Music button texts)

Modified Paths:
--------------
    scummvm/trunk/AUTHORS
    scummvm/trunk/doc/credits.tex
    scummvm/trunk/engines/sky/control.cpp
    scummvm/trunk/engines/sky/control.h
    scummvm/trunk/engines/sky/sky.cpp
    scummvm/trunk/gui/credits.h
    scummvm/trunk/tools/credits.pl

Modified: scummvm/trunk/AUTHORS
===================================================================
--- scummvm/trunk/AUTHORS	2007-02-10 18:09:13 UTC (rev 25472)
+++ scummvm/trunk/AUTHORS	2007-02-10 18:10:55 UTC (rev 25473)
@@ -211,7 +211,8 @@
 
   Code contributions
   ------------------
-     Ori Avtalion          - Subtitle control options in the GUI
+     Ori Avtalion          - Subtitle control options in the GUI; BASS GUI
+                             fixes
      Stuart Caie           - Decoders for Simon 1 Amiga data files
      Paolo Costabel        - PSP port contributions
      Thierry Crozat        - Support for Broken Sword 1 Macintosh version

Modified: scummvm/trunk/doc/credits.tex
===================================================================
--- scummvm/trunk/doc/credits.tex	2007-02-10 18:09:13 UTC (rev 25472)
+++ scummvm/trunk/doc/credits.tex	2007-02-10 18:10:55 UTC (rev 25473)
@@ -350,7 +350,7 @@
 \item \textbf{\large Code contributions}
 \begin{list}{}{\setlength{\leftmargin}{0.2cm}}
 \item  \begin{tabular}[h]{p{0.3\linewidth}p{0.6\linewidth}}
-    Ori Avtalion & \textit{Subtitle control options in the GUI}\\
+    Ori Avtalion & \textit{Subtitle control options in the GUI; BASS GUI fixes}\\
     Stuart Caie & \textit{Decoders for Simon 1 Amiga data files}\\
     Paolo Costabel & \textit{PSP port contributions}\\
     Thierry Crozat & \textit{Support for Broken Sword 1 Macintosh version}\\

Modified: scummvm/trunk/engines/sky/control.cpp
===================================================================
--- scummvm/trunk/engines/sky/control.cpp	2007-02-10 18:09:13 UTC (rev 25472)
+++ scummvm/trunk/engines/sky/control.cpp	2007-02-10 18:10:55 UTC (rev 25473)
@@ -284,15 +284,12 @@
 	_savePanButton    = createResource(      _sprites.button, 3, 0, 58,  39, 48, SAVE_GAME_PANEL, MAINPANEL);
 	_dosPanButton     = createResource(      _sprites.button, 3, 0, 58,  59, 93,     QUIT_TO_DOS, MAINPANEL);
 	_restartPanButton = createResource(      _sprites.button, 3, 0, 58,  79, 94,         RESTART, MAINPANEL);
-	if (SkyEngine::_systemVars.systemFlags & SF_FX_OFF)
-		_fxPanButton  = createResource(      _sprites.button, 3, 0, 58,  99, 87,       TOGGLE_FX, MAINPANEL);
-	else
-		_fxPanButton  = createResource(      _sprites.button, 3, 2, 58,  99, 86,       TOGGLE_FX, MAINPANEL);
+	_fxPanButton      = createResource(      _sprites.button, 3, 0, 58,  99, 90,       TOGGLE_FX, MAINPANEL);
 
 	if (SkyEngine::isCDVersion()) { // CD Version: Toggle text/speech
-		_musicPanButton = createResource(      _sprites.button, 3, 0, 58, 119, 52,     TOGGLE_TEXT, MAINPANEL);
+		_musicPanButton = createResource(    _sprites.button, 3, 0, 58, 119, 52,     TOGGLE_TEXT, MAINPANEL);
 	} else {                       // disk version: toggle music on/off
-		_musicPanButton = createResource(      _sprites.button, 3, 0, 58, 119, 91,       TOGGLE_MS, MAINPANEL);
+		_musicPanButton = createResource(    _sprites.button, 3, 0, 58, 119, 91,       TOGGLE_MS, MAINPANEL);
 	}
 	_bodge            = createResource(  _sprites.musicBodge, 2, 1, 98, 115,  0,      DO_NOTHING, MAINPANEL);
 	_yesNo            = createResource(       _sprites.yesNo, 1, 0, -2,  40,  0,      DO_NOTHING, MAINPANEL);
@@ -474,6 +471,15 @@
 	else
 		_skyScreen->setPalette(60510);
 
+	// Set initial button lights
+	_fxPanButton->_curSprite =
+		(SkyEngine::_systemVars.systemFlags & SF_FX_OFF ? 0 : 2);
+
+	// music button only available in floppy version
+	if (!SkyEngine::isCDVersion())
+		_musicPanButton->_curSprite =
+			(SkyEngine::_systemVars.systemFlags & SF_MUS_OFF ? 0 : 2);
+
 	drawMainPanel();
 
 	_savedMouse = _skyMouse->giveCurrentMouseType();
@@ -573,10 +579,10 @@
 		_mouseClicked = true;
 		return doMusicSlide();
 	case TOGGLE_FX:
-		return toggleFx(pButton);
+		toggleFx(pButton);
+		return TOGGLED;
 	case TOGGLE_MS:
-		animClick(pButton);
-		toggleMusic();
+		toggleMusic(pButton);
 		return TOGGLED;
 	case TOGGLE_TEXT:
 		animClick(pButton);
@@ -647,6 +653,7 @@
 			wantMouse = MOUSE_NORMAL;
 	}
 	_mouseClicked = false;
+	_skyMouse->spriteMouse(MOUSE_NORMAL, 0, 0);
 	if (dlgTextDat)
 		free(dlgTextDat);
 	delete dlgText;
@@ -708,25 +715,21 @@
 	return SPEED_CHANGED;
 }
 
-uint16 Control::toggleFx(ConResource *pButton) {
+void Control::toggleFx(ConResource *pButton) {
 
 	SkyEngine::_systemVars.systemFlags ^= SF_FX_OFF;
 	if (SkyEngine::_systemVars.systemFlags & SF_FX_OFF) {
 		pButton->_curSprite = 0;
-		pButton->_text = 0x7000 + 87;
 		_statusBar->setToText(0x7000 + 87);
 	} else {
 		pButton->_curSprite = 2;
-		pButton->_text = 0x7000 + 86;
 		_statusBar->setToText(0x7000 + 86);
 	}
 
 	ConfMan.setBool("sfx_mute", (SkyEngine::_systemVars.systemFlags & SF_FX_OFF) != 0);
 
 	pButton->drawToScreen(WITH_MASK);
-	buttonControl(pButton);
 	_system->updateScreen();
-	return TOGGLED;
 }
 
 uint16 Control::toggleText(void) {
@@ -756,17 +759,23 @@
 	return TOGGLED;
 }
 
-void Control::toggleMusic(void) {
+void Control::toggleMusic(ConResource *pButton) {
 
+	SkyEngine::_systemVars.systemFlags ^= SF_MUS_OFF;
 	if (SkyEngine::_systemVars.systemFlags & SF_MUS_OFF) {
-		SkyEngine::_systemVars.systemFlags &= ~SF_MUS_OFF;
+		_skyMusic->startMusic(0);
+		pButton->_curSprite = 0;
+		_statusBar->setToText(0x7000 + 89);
+	} else {
 		_skyMusic->startMusic(SkyEngine::_systemVars.currentMusic);
+		pButton->_curSprite = 2;
 		_statusBar->setToText(0x7000 + 88);
-	} else {
-		SkyEngine::_systemVars.systemFlags |= SF_MUS_OFF;
-		_skyMusic->startMusic(0);
-		_statusBar->setToText(0x7000 + 89);
 	}
+
+	ConfMan.setBool("music_mute", (SkyEngine::_systemVars.systemFlags & SF_MUS_OFF) != 0);
+
+	pButton->drawToScreen(WITH_MASK);
+	_system->updateScreen();
 }
 
 uint16 Control::shiftDown(uint8 speed) {

Modified: scummvm/trunk/engines/sky/control.h
===================================================================
--- scummvm/trunk/engines/sky/control.h	2007-02-10 18:09:13 UTC (rev 25472)
+++ scummvm/trunk/engines/sky/control.h	2007-02-10 18:10:55 UTC (rev 25473)
@@ -203,9 +203,9 @@
 	uint16 handleClick(ConResource *pButton);
 	uint16 doMusicSlide(void);
 	uint16 doSpeedSlide(void);
-	uint16 toggleFx(ConResource *pButton);
+	void toggleFx(ConResource *pButton);
 	uint16 toggleText(void);
-	void toggleMusic(void);
+	void toggleMusic(ConResource *pButton);
 	uint16 shiftDown(uint8 speed);
 	uint16 shiftUp(uint8 speed);
 	void drawTextCross(uint32 flags);

Modified: scummvm/trunk/engines/sky/sky.cpp
===================================================================
--- scummvm/trunk/engines/sky/sky.cpp	2007-02-10 18:09:13 UTC (rev 25472)
+++ scummvm/trunk/engines/sky/sky.cpp	2007-02-10 18:10:55 UTC (rev 25473)
@@ -357,6 +357,9 @@
 	if (ConfMan.getBool("sfx_mute")) {
 		SkyEngine::_systemVars.systemFlags |= SF_FX_OFF;
 	}
+	if (ConfMan.getBool("music_mute")) {
+		SkyEngine::_systemVars.systemFlags |= SF_MUS_OFF;
+	}
 	 _mixer->setVolumeForSoundType(Audio::Mixer::kSFXSoundType, ConfMan.getInt("sfx_volume"));
 	 _mixer->setVolumeForSoundType(Audio::Mixer::kMusicSoundType, ConfMan.getInt("music_volume"));
 	_floppyIntro = ConfMan.getBool("alt_intro");

Modified: scummvm/trunk/gui/credits.h
===================================================================
--- scummvm/trunk/gui/credits.h	2007-02-10 18:09:13 UTC (rev 25472)
+++ scummvm/trunk/gui/credits.h	2007-02-10 18:10:55 UTC (rev 25473)
@@ -234,7 +234,7 @@
 "\\C\\c0""",
 "\\C\\c1""Code contributions",
 "\\C\\c0""Ori Avtalion",
-"\\C\\c2""Subtitle control options in the GUI",
+"\\C\\c2""Subtitle control options in the GUI; BASS GUI fixes",
 "\\C\\c0""Stuart Caie",
 "\\C\\c2""Decoders for Simon 1 Amiga data files",
 "\\C\\c0""Paolo Costabel",

Modified: scummvm/trunk/tools/credits.pl
===================================================================
--- scummvm/trunk/tools/credits.pl	2007-02-10 18:09:13 UTC (rev 25472)
+++ scummvm/trunk/tools/credits.pl	2007-02-10 18:10:55 UTC (rev 25473)
@@ -716,7 +716,7 @@
 
 	begin_section("Code contributions");
 	  begin_persons();
-		  add_person("Ori Avtalion", "salty-horse", "Subtitle control options in the GUI");
+		  add_person("Ori Avtalion", "salty-horse", "Subtitle control options in the GUI; BASS GUI fixes");
 		  add_person("Stuart Caie", "", "Decoders for Simon 1 Amiga data files");
 		  add_person("Paolo Costabel", "", "PSP port contributions");
 		  add_person("Thierry Crozat", "criezy", "Support for Broken Sword 1 Macintosh version");


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list