Subversion Repositories spk

Rev

Rev 85 | Rev 87 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 85 Rev 86
Line 5852... Line 5852...
5852
	if ( !gameSaveDir.Exists(dir) )
5852
	if ( !gameSaveDir.Exists(dir) )
5853
		gameSaveDir.Create(dir);
5853
		gameSaveDir.Create(dir);
5854
	gameSaveDir.cd(dir);
5854
	gameSaveDir.cd(dir);
5855
 
5855
 
5856
	// backup the saves
5856
	// backup the saves
5857
	CyStringList *dirs = saveDir.DirList();
5857
	CyStringList *files = saveDir.DirList();
5858
	if ( dirs )
5858
	if ( files )
5859
	{
5859
	{
5860
		for ( SStringList *node = dirs->Head(); node; node = node->next )
5860
		for ( SStringList *node = files->Head(); node; node = node->next )
5861
		{
5861
		{
5862
			CFileIO File(saveDir.File(node->str));
5862
			CFileIO File(saveDir.File(node->str));
5863
			if ( !File.CheckFileExtension("sav") )
5863
			if ( !File.CheckFileExtension("sav") )
5864
				continue;
5864
				continue;
5865
			// remove the file if already exists
5865
			// remove the file if already exists
Line 5868... Line 5868...
5868
 
5868
 
5869
			// copy the file into the games save dir for backup
5869
			// copy the file into the games save dir for backup
5870
			File.copy(gameSaveDir.File(File.GetFilename()).ToString(), true);
5870
			File.copy(gameSaveDir.File(File.GetFilename()).ToString(), true);
5871
		}
5871
		}
5872
 
5872
 
5873
		delete dirs;
5873
		delete files;
5874
	}
5874
	}
5875
 
5875
 
5876
}
5876
}
5877
 
5877
 
5878
void CPackages::RestoreSaves(bool vanilla)
5878
void CPackages::RestoreSaves(bool vanilla)
Line 5880... Line 5880...
5880
	// get dir to restore from
5880
	// get dir to restore from
5881
	CyString dir = (vanilla) ? "Vanilla" : "Modified";
5881
	CyString dir = (vanilla) ? "Vanilla" : "Modified";
5882
	CDirIO restoreDir(m_sCurrentDir + "/PluginManager/Saves/" + dir);
5882
	CDirIO restoreDir(m_sCurrentDir + "/PluginManager/Saves/" + dir);
5883
	CDirIO toDir(this->GetSaveDirectory());
5883
	CDirIO toDir(this->GetSaveDirectory());
5884
 
5884
 
-
 
5885
	//if we are in vanilla mode, we should remove the saves (so we only have vanilla saves
-
 
5886
	if ( vanilla ) {
-
 
5887
		CyStringList *files = toDir.DirList();
-
 
5888
		if ( files ) {
-
 
5889
			for ( SStringList *node = files->Head(); node; node = node->next )
-
 
5890
			{
-
 
5891
				CFileIO saveFile(toDir.File(node->str));
-
 
5892
				if ( saveFile.extension().Compare("sav") ) {
-
 
5893
					saveFile.remove();
-
 
5894
				}
-
 
5895
			}
-
 
5896
			delete files;
-
 
5897
		}
-
 
5898
	}
-
 
5899
 
-
 
5900
	// now we copy of the backed up save games
5885
	CyStringList *dirs = restoreDir.DirList();
5901
	CyStringList *dirs = restoreDir.DirList();
5886
	if ( dirs )
5902
	if ( dirs )
5887
	{
5903
	{
5888
		for ( SStringList *node = dirs->Head(); node; node = node->next )
5904
		for ( SStringList *node = dirs->Head(); node; node = node->next )
5889
		{
5905
		{