[Scummvm-cvs-logs] CVS: scummvm/bs2 controls.cpp,1.35,1.36 controls.h,1.6,1.7

Torbj?rn Andersson eriktorbjorn at users.sourceforge.net
Tue Oct 28 05:53:07 CET 2003


Update of /cvsroot/scummvm/scummvm/bs2
In directory sc8-pr-cvs1:/tmp/cvs-serv15519

Modified Files:
	controls.cpp controls.h 
Log Message:
If we fail to read the game settings, use sensible defaults.


Index: controls.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/bs2/controls.cpp,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -d -r1.35 -r1.36
--- controls.cpp	26 Oct 2003 15:42:49 -0000	1.35
+++ controls.cpp	28 Oct 2003 13:46:28 -0000	1.36
@@ -717,7 +717,7 @@
 	Button *_okButton;
 	Button *_cancelButton;
 
-	int32 writeOptionSettings(void);
+	void writeOptionSettings(void);
 
 public:
 	OptionsDialog() {
@@ -886,7 +886,7 @@
 	}
 };
 
-int32 OptionsDialog::writeOptionSettings(void) {
+void OptionsDialog::writeOptionSettings(void) {
 	uint8 buff[10];
 	char filename[256];
 	SaveFile *fp;
@@ -905,18 +905,13 @@
 	buff[8] = gui._pointerTextSelected;
 	buff[9] = gui._stereoReversed;
 	
-	if (!(fp = mgr->open_savefile(filename, g_sword2->getSavePath(), true)))
-		return 1;
+	fp = mgr->open_savefile(filename, g_sword2->getSavePath(), true);
 
-	if (fp->write(buff, 10) != 10) {
-		delete fp;
-		delete mgr;
-		return 2;
-	}
+	if (fp)
+		fp->write(buff, 10);
 
 	delete fp;
 	delete mgr;
-	return 0;
 }
 
 enum {
@@ -1464,7 +1459,7 @@
  	this_screen.new_palette = 99;
 }
 
-int32 Gui::readOptionSettings(void) {
+void Gui::readOptionSettings(void) {
 	// settings file is 9 bytes long:
 	//   1 music volume
 	//   2 speech volume
@@ -1477,20 +1472,16 @@
 	//   9 object labels
 
 	uint8 buff[10];
+	uint8 default_settings[10] = { 14, 12, 12, 0, 0, 0, 2, 1, 1 };
 	char filename[256];
 	SaveFile *fp;
 	SaveFileManager *mgr = g_system->get_savefile_manager();
 	
 	sprintf(filename, "%s-settings.dat", g_sword2->_targetName);
 
-	if (!(fp = mgr->open_savefile(filename, g_sword2->getSavePath(), false)))
-		return 1;
-
-	if (fp->read(buff, 10) != 10) {
-		delete fp;
-		delete mgr;
-		return 2;
-	}
+	fp = mgr->open_savefile(filename, g_sword2->getSavePath(), false);
+	if (!fp || fp->read(buff, 10) != 10)
+		memcpy(buff, default_settings, sizeof(buff));
 
 	delete fp;
 	delete mgr;
@@ -1512,7 +1503,6 @@
 		g_sound->reverseStereo();
 
 	gui._stereoReversed = buff[9];
-	return 0;
 }
 
 void Gui::optionControl(void) {

Index: controls.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/bs2/controls.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- controls.h	4 Oct 2003 01:09:29 -0000	1.6
+++ controls.h	28 Oct 2003 13:46:28 -0000	1.7
@@ -40,7 +40,7 @@
 	void quitControl(void);
 	void restartControl(void);
 	void optionControl(void);
-	int32 readOptionSettings(void);
+	void readOptionSettings(void);
 	void updateGraphicsLevel(uint8 newLevel);
 };
 





More information about the Scummvm-git-logs mailing list