[Scummvm-cvs-logs] CVS: scummvm/common engine.h,1.36,1.37 file.cpp,1.45,1.46 file.h,1.15,1.16

Max Horn fingolfin at users.sourceforge.net
Wed Sep 17 14:07:12 CEST 2003


Update of /cvsroot/scummvm/scummvm/common
In directory sc8-pr-cvs1:/tmp/cvs-serv17256/common

Modified Files:
	engine.h file.cpp file.h 
Log Message:
added a static method setDefaultDirectory to class File; used this to simplify some code; added a global g_sound pointer in bs2, this cuts down on uses of g_sword2 (of course both should be removed on the long run); some other minor tweaks/fixes

Index: engine.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/common/engine.h,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -d -r1.36 -r1.37
--- engine.h	10 Sep 2003 12:15:12 -0000	1.36
+++ engine.h	17 Sep 2003 21:06:15 -0000	1.37
@@ -73,8 +73,6 @@
 	// Get the save game dir path
 	const char *getSavePath() const;
 
-	virtual const char *getGameDataPath() const { return _gameDataPath; }
-	
 	// Specific for each engine preparare of erroe string
 	virtual void errorString(const char *buf_input, char *buf_output) = 0;
 };

Index: file.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/common/file.cpp,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -d -r1.45 -r1.46
--- file.cpp	17 Sep 2003 13:28:48 -0000	1.45
+++ file.cpp	17 Sep 2003 21:06:15 -0000	1.46
@@ -22,6 +22,10 @@
 #include "common/file.h"
 #include "common/util.h"
 
+
+char *File::_defaultDirectory = 0;
+
+
 FILE *File::fopenNoCase(const char *filename, const char *directory, const char *mode) {
 	FILE *file;
 	char buf[512];
@@ -111,6 +115,11 @@
 	return NULL;
 }
 
+void File::setDefaultDirectory(const char *directory) {
+	free(_defaultDirectory);
+	_defaultDirectory = strdup(directory);
+}
+
 File::File() {
 	_handle = NULL;
 	_ioFailed = false;
@@ -131,6 +140,10 @@
 
 	if (filename == NULL || *filename == 0)
 		return false;
+	
+	// If no directory was specified, use the default directory (if any).
+	if (directory == NULL)
+		directory = _defaultDirectory ? _defaultDirectory : "";
 
 	clearIOFailed();
 

Index: file.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/common/file.h,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- file.h	1 Aug 2003 12:18:35 -0000	1.15
+++ file.h	17 Sep 2003 21:06:15 -0000	1.16
@@ -33,17 +33,21 @@
 	byte _encbyte;
 	char *_name;	// For debugging
 
-	FILE *fopenNoCase(const char *filename, const char *directory, const char *mode);
+	static FILE *fopenNoCase(const char *filename, const char *directory, const char *mode);
+	
+	static char *_defaultDirectory;
 
 public:
 	enum {
 		kFileReadMode = 1,
 		kFileWriteMode = 2
 	};
-
+	
+	static void setDefaultDirectory(const char *directory);
+	
 	File();
 	virtual ~File();
-	bool open(const char *filename, const char *directory, int mode = kFileReadMode, byte encbyte = 0);
+	bool open(const char *filename, const char *directory = NULL, int mode = kFileReadMode, byte encbyte = 0);
 	void close();
 	bool isOpen();
 	bool ioFailed();





More information about the Scummvm-git-logs mailing list