[Scummvm-cvs-logs] CVS: scummvm/sky control.h,1.31,1.32 control.cpp,1.70,1.71 sky.cpp,1.143,1.144

Max Horn fingolfin at users.sourceforge.net
Fri Jun 25 15:40:03 CEST 2004


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

Modified Files:
	control.h control.cpp sky.cpp 
Log Message:
Added Engine::_saveFileMan; thus was able to get rid of auto_ptr usage again

Index: control.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sky/control.h,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -d -r1.31 -r1.32
--- control.h	6 Jan 2004 12:45:32 -0000	1.31
+++ control.h	25 Jun 2004 22:39:20 -0000	1.32
@@ -26,6 +26,7 @@
 #include "common/scummsys.h"
 
 class OSystem;
+class SaveFileManager;
 
 namespace Sky {
 
@@ -174,7 +175,7 @@
 
 class Control {
 public:
-	Control(Screen *screen, Disk *disk, Mouse *mouse, Text *text, MusicBase *music, Logic *logic, Sound *sound, OSystem *system, const char *savePath);
+	Control(SaveFileManager *saveFileMan, Screen *screen, Disk *disk, Mouse *mouse, Text *text, MusicBase *music, Logic *logic, Sound *sound, OSystem *system, const char *savePath);
 	void doControlPanel(void);
 	void doLoadSavePanel(void);
 	void restartGame(void);
@@ -242,6 +243,7 @@
 	void appendMemList(uint16 *pMem);
 	void freeMemList(void);
 
+	SaveFileManager *_saveFileMan;
 	Screen *_skyScreen;
 	Disk *_skyDisk;
 	Mouse *_skyMouse;

Index: control.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sky/control.cpp,v
retrieving revision 1.70
retrieving revision 1.71
diff -u -d -r1.70 -r1.71
--- control.cpp	25 Jun 2004 22:12:56 -0000	1.70
+++ control.cpp	25 Jun 2004 22:39:20 -0000	1.71
@@ -35,8 +35,6 @@
 #include "sky/struc.h"
 #include "sky/text.h"
 
-#include <memory>
-
 namespace Sky {
 
 ConResource::ConResource(void *pSpData, uint32 pNSprites, uint32 pCurSprite, uint16 pX, uint16 pY, uint32 pText, uint8 pOnClick, OSystem *system, uint8 *screen) {
@@ -191,7 +189,8 @@
 	_statusText->drawToScreen(WITH_MASK);
 }
 
-Control::Control(Screen *screen, Disk *disk, Mouse *mouse, Text *text, MusicBase *music, Logic *logic, Sound *sound, OSystem *system, const char *savePath) {
+Control::Control(SaveFileManager *saveFileMan, Screen *screen, Disk *disk, Mouse *mouse, Text *text, MusicBase *music, Logic *logic, Sound *sound, OSystem *system, const char *savePath) {
+	_saveFileMan = saveFileMan;
 
 	_skyScreen = screen;
 	_skyDisk = disk;
@@ -784,9 +783,8 @@
 		strcpy(fName, "SKY-VM-CD.ASD");
 	else
 		sprintf(fName, "SKY-VM%03d.ASD", SkyEngine::_systemVars.gameVersion);
-	const std::auto_ptr<SaveFileManager> mgr(_system->get_savefile_manager());
 
-	f = mgr->open_savefile(fName, _savePath, false);
+	f = _saveFileMan->open_savefile(fName, _savePath, false);
 	if (f != NULL) {
 		test = true;
 		delete f;
@@ -1004,10 +1002,8 @@
 
 	memset(destBuf, 0, MAX_SAVE_GAMES * MAX_TEXT_LEN);
 
-	const std::auto_ptr<SaveFileManager> mgr(_system->get_savefile_manager());
-
 	SaveFile *inf;
-	inf = mgr->open_savefile("SKY-VM.SAV",_savePath,false);
+	inf = _saveFileMan->open_savefile("SKY-VM.SAV",_savePath,false);
 	if (inf != NULL) {
 		uint8 *tmpBuf = (uint8 *)malloc(MAX_SAVE_GAMES * MAX_TEXT_LEN);
 		inf->read(tmpBuf, MAX_SAVE_GAMES * MAX_TEXT_LEN);
@@ -1065,9 +1061,8 @@
 		srcPos += MAX_TEXT_LEN;
 	}
 	SaveFile *outf;
-	const std::auto_ptr<SaveFileManager> mgr(_system->get_savefile_manager());
 
-	outf = mgr->open_savefile("SKY-VM.SAV", _savePath, true);
+	outf = _saveFileMan->open_savefile("SKY-VM.SAV", _savePath, true);
 	if (outf != NULL) {
 		outf->write(tmpBuf, tmpPos - tmpBuf);
 		delete outf;
@@ -1082,9 +1077,8 @@
 	else
 		sprintf(fName, "SKY-VM%03d.ASD", SkyEngine::_systemVars.gameVersion);
 	SaveFile *outf;
-	const std::auto_ptr<SaveFileManager> mgr(_system->get_savefile_manager());
 
-	outf = mgr->open_savefile(fName, _savePath, true);
+	outf = _saveFileMan->open_savefile(fName, _savePath, true);
 	if (outf == NULL) {
 		warning("Can't create file %s for autosaving", fName);
 		return;
@@ -1102,10 +1096,9 @@
 
 	char fName[20];
 	sprintf(fName,"SKY-VM.%03d", _selectedGame);
-	const std::auto_ptr<SaveFileManager> mgr(_system->get_savefile_manager());
 
 	SaveFile *outf;
-	outf = mgr->open_savefile(fName, _savePath, true);
+	outf = _saveFileMan->open_savefile(fName, _savePath, true);
 	if (outf == NULL) {
 		return NO_DISK_SPACE;
 	}
@@ -1507,10 +1500,8 @@
 	} else
 		sprintf(fName,"SKY-VM.%03d", _selectedGame);
 
-	const std::auto_ptr<SaveFileManager> mgr(_system->get_savefile_manager());
-
 	SaveFile *inf;
-	inf = mgr->open_savefile(fName, _savePath, false);
+	inf = _saveFileMan->open_savefile(fName, _savePath, false);
 	if (inf == NULL) {
 		return RESTORE_FAILED;
 	}

Index: sky.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sky/sky.cpp,v
retrieving revision 1.143
retrieving revision 1.144
diff -u -d -r1.143 -r1.144
--- sky.cpp	24 Feb 2004 22:39:40 -0000	1.143
+++ sky.cpp	25 Jun 2004 22:39:20 -0000	1.144
@@ -296,7 +296,7 @@
 	// initialize timer *after* _skyScreen has been initialized.
 	_timer->installTimerProc(&timerHandler, 1000000 / 50, this); //call 50 times per second
 
-	_skyControl = new Control(_skyScreen, _skyDisk, _skyMouse, _skyText, _skyMusic, _skyLogic, _skySound, _system, getSavePath());
+	_skyControl = new Control(_saveFileMan, _skyScreen, _skyDisk, _skyMouse, _skyText, _skyMusic, _skyLogic, _skySound, _system, getSavePath());
 	_skyLogic->useControlInstance(_skyControl);
 
 	if (_systemVars.gameVersion == 288)





More information about the Scummvm-git-logs mailing list