[Scummvm-cvs-logs] CVS: residual actor.cpp,1.33,1.34 localize.cpp,1.6,1.7 lua.cpp,1.84,1.85 main.cpp,1.39,1.40 registry.cpp,1.8,1.9 registry.h,1.4,1.5 resource.cpp,1.17,1.18 smush.cpp,1.52,1.53

Pawel Kolodziejski aquadran at users.sourceforge.net
Fri Dec 31 14:06:07 CET 2004


Update of /cvsroot/scummvm/residual
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6018

Modified Files:
	actor.cpp localize.cpp lua.cpp main.cpp registry.cpp 
	registry.h resource.cpp smush.cpp 
Log Message:
cleanup

Index: actor.cpp
===================================================================
RCS file: /cvsroot/scummvm/residual/actor.cpp,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -d -r1.33 -r1.34
--- actor.cpp	31 Dec 2004 21:35:04 -0000	1.33
+++ actor.cpp	31 Dec 2004 22:05:13 -0000	1.34
@@ -26,8 +26,6 @@
 #include "driver_gl.h"
 #include "mixer/mixer.h"
 
-extern SoundMixer *g_mixer;
-
 Actor::Actor(const char *name) :
 		_name(name), _talkColor(255, 255, 255), _pos(0, 0, 0),
 		_pitch(0), _yaw(0), _roll(0), _walkRate(0), _turnRate(0),

Index: localize.cpp
===================================================================
RCS file: /cvsroot/scummvm/residual/localize.cpp,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- localize.cpp	31 Dec 2004 21:35:04 -0000	1.6
+++ localize.cpp	31 Dec 2004 22:05:25 -0000	1.7
@@ -29,7 +29,7 @@
 	const char *namesToTry[] = { "/GRIM.TAB", "/Grim.tab", "/grim.tab" };
 
 	for (unsigned i = 0; i < sizeof(namesToTry) / sizeof(namesToTry[0]); i++) {
-		const char *datadir = Registry::instance()->get("DataDir");
+		const char *datadir = g_registry->get("DataDir");
 		std::string fname = (datadir != NULL ? datadir : ".");
 		fname += namesToTry[i];
 		f = std::fopen(fname.c_str(), "rb");

Index: lua.cpp
===================================================================
RCS file: /cvsroot/scummvm/residual/lua.cpp,v
retrieving revision 1.84
retrieving revision 1.85
diff -u -d -r1.84 -r1.85
--- lua.cpp	31 Dec 2004 21:35:04 -0000	1.84
+++ lua.cpp	31 Dec 2004 22:05:25 -0000	1.85
@@ -234,14 +234,14 @@
 
 static void ReadRegistryValue() {
 	char *key = luaL_check_string(1);
-	const char *val = Registry::instance()->get(key);
+	const char *val = g_registry->get(key);
 	lua_pushstring(const_cast<char *>(val));
 }
 
 static void WriteRegistryValue() {
 	char *key = luaL_check_string(1);
 	char *val = luaL_check_string(2);
-	Registry::instance()->set(key, val);
+	g_registry->set(key, val);
 }
 
 // Localization function

Index: main.cpp
===================================================================
RCS file: /cvsroot/scummvm/residual/main.cpp,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -d -r1.39 -r1.40
--- main.cpp	31 Dec 2004 21:35:04 -0000	1.39
+++ main.cpp	31 Dec 2004 22:05:25 -0000	1.40
@@ -39,19 +39,13 @@
 // Hacky global toggles for experimental/debug code
 bool ZBUFFER_GLOBAL, SCREENBLOCKS_GLOBAL, SHOWFPS_GLOBAL;
 
-static void saveRegistry() {
-	Registry::instance()->save();
-}
-
 #ifdef __MINGW32__
 int PASCAL WinMain(HINSTANCE /*hInst*/, HINSTANCE /*hPrevInst*/,  LPSTR /*lpCmdLine*/, int /*iShowCmd*/) {
 	return main(0, NULL);
 }
 #endif
 
-extern SoundMixer *g_mixer;
-extern Timer *g_timer;
-extern Imuse *g_imuse;
+static bool g_lua_initialized = false;
 
 static bool parseBoolStr(const char *val) {
 	if (val == NULL || val[0] == 0)
@@ -84,10 +78,26 @@
 int main(int argc, char *argv[]) {
 	int i;
 
+	if (SDL_Init(SDL_INIT_EVERYTHING) < 0)
+		return 1;
+
+	atexit(quit);
+
+	g_registry = new Registry();
+	g_engine = new Engine();
+	g_resourceloader = new ResourceLoader();
+	g_localizer = new Localizer();
+	g_mixer = new SoundMixer();
+	g_mixer->setVolume(255);
+	g_timer = new Timer();
+	g_smush = new Smush();
+	g_driver = new Driver(640, 480, 24);
+	g_imuse = new Imuse(10);
+
 	// Parse command line
-	ZBUFFER_GLOBAL = parseBoolStr(Registry::instance()->get("zbuffer"));
-	SCREENBLOCKS_GLOBAL = parseBoolStr(Registry::instance()->get("screenblocks"));
-	SHOWFPS_GLOBAL = parseBoolStr(Registry::instance()->get("fps"));
+	ZBUFFER_GLOBAL = parseBoolStr(g_registry->get("zbuffer"));
+	SCREENBLOCKS_GLOBAL = parseBoolStr(g_registry->get("screenblocks"));
+	SHOWFPS_GLOBAL = parseBoolStr(g_registry->get("fps"));
 	for (i = 1; i < argc; i++) {
 		if (strcmp(argv[i], "-zbuffer") == 0)
 			ZBUFFER_GLOBAL = true;
@@ -112,21 +122,6 @@
 		}
 	}
 
-	if (SDL_Init(SDL_INIT_EVERYTHING) < 0)
-		return 1;
-
-	atexit(quit);
-
-	g_engine = new Engine();
-	g_resourceloader = new ResourceLoader();
-	g_localizer = new Localizer();
-	g_mixer = new SoundMixer();
-	g_mixer->setVolume(255);
-	g_timer = new Timer();
-	g_smush = new Smush();
-	g_driver = new Driver(640, 480, 24);
-	g_imuse = new Imuse(10);
-
 	Bitmap *splash_bm = g_resourceloader->loadBitmap("splash.bm");
 
 	SDL_Event event;
@@ -153,6 +148,8 @@
 	lua_mathlibopen();
 
 	register_lua();
+	g_lua_initialized = true;
+
 	bundle_dofile("_system.lua");
 
 	lua_pushnil();		// resumeSave
@@ -169,20 +166,48 @@
 }
 
 void quit() {
-	saveRegistry();
-
-	delete g_smush;
-	delete g_imuse;
-	delete g_localizer;
-	delete g_resourceloader;
-	delete g_engine;
-	delete g_timer;
-	delete g_mixer;
-	delete g_driver;
-
-	lua_removelibslists();
-	lua_close();
-
+	if (g_lua_initialized) {
+		lua_removelibslists();
+		lua_close();
+		g_lua_initialized = false;
+	}
+	if (g_registry) {
+		g_registry->save();
+		delete g_registry;
+		g_registry = NULL;
+	}
+	if (g_smush) {
+		delete g_smush;
+		g_smush = NULL;
+	}
+	if (g_imuse) {
+		delete g_imuse;
+		g_imuse = NULL;
+	}
+	if (g_localizer) {
+		delete g_localizer;
+		g_localizer = NULL;
+	}
+	if (g_resourceloader) {
+		delete g_resourceloader;
+		g_resourceloader = NULL;
+	}
+	if (g_engine) {
+		delete g_engine;
+		g_engine = NULL;
+	}
+	if (g_timer) {
+		delete g_timer;
+		g_timer = NULL;
+	}
+	if (g_mixer) {
+		delete g_mixer;
+		g_mixer = NULL;
+	}
+	if (g_driver) {
+		delete g_driver;
+		g_driver = NULL;
+	}
 	SDL_Quit();
 }
 

Index: registry.cpp
===================================================================
RCS file: /cvsroot/scummvm/residual/registry.cpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- registry.cpp	10 Dec 2004 07:26:03 -0000	1.8
+++ registry.cpp	31 Dec 2004 22:05:25 -0000	1.9
@@ -20,6 +20,8 @@
 #include "debug.h"
 #include <cstdlib>
 
+Registry *g_registry = NULL;
+
 Registry::Registry() : _dirty(false) {
 #ifdef WIN32
 	std::string filename = "residual.ini";
@@ -45,14 +47,6 @@
 	}
 }
 
-Registry *Registry::_instance = NULL;
-
-Registry *Registry::instance() {
-	if (_instance == NULL)
-		_instance = new Registry;
-	return _instance;
-}
-
 const char *Registry::get(const char *key) const {
 	Group::const_iterator i = _settings.find(key);
 	if (i == _settings.end())

Index: registry.h
===================================================================
RCS file: /cvsroot/scummvm/residual/registry.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- registry.h	10 Dec 2004 07:26:03 -0000	1.4
+++ registry.h	31 Dec 2004 22:05:25 -0000	1.5
@@ -23,16 +23,15 @@
 
 class Registry {
 public:
-	static Registry *instance();
-
 	const char *get(const char *key) const;
 	void set(const char *key, const char *val);
 	void save();
 
-private:
 	Registry();
 	~Registry() { }
 
+private:
+
 	static Registry *_instance;
 
 	typedef std::map<std::string, std::string> Group;
@@ -40,4 +39,6 @@
 	bool _dirty;
 };
 
+extern Registry *g_registry;
+
 #endif

Index: resource.cpp
===================================================================
RCS file: /cvsroot/scummvm/residual/resource.cpp,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- resource.cpp	31 Dec 2004 21:35:04 -0000	1.17
+++ resource.cpp	31 Dec 2004 22:05:25 -0000	1.18
@@ -38,7 +38,7 @@
 ResourceLoader *g_resourceloader = NULL;
 
 ResourceLoader::ResourceLoader() {
-	const char *directory = Registry::instance()->get("DataDir");
+	const char *directory = g_registry->get("DataDir");
 	std::string dir_str = (directory != NULL ? directory : ".");
 	dir_str += '/';
 	int lab_counter = 0;

Index: smush.cpp
===================================================================
RCS file: /cvsroot/scummvm/residual/smush.cpp,v
retrieving revision 1.52
retrieving revision 1.53
diff -u -d -r1.52 -r1.53
--- smush.cpp	31 Dec 2004 21:35:04 -0000	1.52
+++ smush.cpp	31 Dec 2004 22:05:25 -0000	1.53
@@ -29,7 +29,6 @@
 #include "driver_gl.h"
 
 Smush *g_smush;
-extern SoundMixer *g_mixer;
 static uint16 smushDestTable[5786];
 void vimaInit(uint16 *destTable);
 void decompressVima(const byte *src, int16 *dest, int destLen, uint16 *destTable);





More information about the Scummvm-git-logs mailing list