Subversion Repositories spk

Rev

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

Rev 197 Rev 202
Line 4... Line 4...
4
#include "CatFile.h"
4
#include "CatFile.h"
5
#include "XspFile.h"
5
#include "XspFile.h"
6
#include "TextDB.h"
6
#include "TextDB.h"
7
 
7
 
8
#include "Packages.h"
8
#include "Packages.h"
9
#include "Utils/StringList.h"
-
 
10
 
9
 
11
#define DELETELIST(list) if ( list ) { list->clear(); delete list; }
10
#define DELETELIST(list) if ( list ) { list->clear(); delete list; }
12
 
11
 
13
namespace SPK {
12
namespace SPK {
14
 
13
 
Line 240... Line 239...
240
 
239
 
241
	// check file extension, remove any patching files in previous files
240
	// check file extension, remove any patching files in previous files
242
	CFileIO F(file);
241
	CFileIO F(file);
243
	Utils::WString ext = F.extension().toLower();
242
	Utils::WString ext = F.extension().toLower();
244
	if (ext.Compare(L"bob", true) || ext.Compare(L"pbd", true) || ext.Compare(L"bod", true) ) {
243
	if (ext.Compare(L"bob", true) || ext.Compare(L"pbd", true) || ext.Compare(L"bod", true) ) {
245
		_removeSameFile(file, sDest, "pbb", pList);
244
		_removeSameFile(file, sDest, L"pbb", pList);
246
		_removeSameFile(file, sDest, "bob", pList);
245
		_removeSameFile(file, sDest, L"bob", pList);
247
		_removeSameFile(file, sDest, "pbd", pList);
246
		_removeSameFile(file, sDest, L"pbd", pList);
248
	}
247
	}
249
	else if (ext.Compare(L"xml", true) || ext.Compare(L"txt", true) )
248
	else if (ext.Compare(L"xml", true) || ext.Compare(L"txt", true) )
250
		_removeSameFile(file, sDest, "pck", pList);
249
		_removeSameFile(file, sDest, L"pck", pList);
251
 
250
 
252
	(*pList)[file.lower()] = sDest.findReplace("\\", "/").findReplace("//", "/");
251
	(*pList)[file.lower()] = sDest.findReplace(L"\\", L"/").findReplace(L"//", L"/");
253
}
252
}
254
void CVirtualFileSystem::_addModFile(const Utils::WString &sFile, const Utils::WString &sMod, FileList *pList)
253
void CVirtualFileSystem::_addModFile(const Utils::WString &sFile, const Utils::WString &sMod, FileList *pList)
255
{
254
{
256
	this->_addFile(sFile, sMod + L"::" + sFile, pList);
255
	this->_addFile(sFile, sMod + L"::" + sFile, pList);
257
}
256
}
Line 376... Line 375...
376
		if ( catFile.error() == CATERR_INVALIDDEST || catFile.error() == CATERR_CANTCREATEDIR ) {
375
		if ( catFile.error() == CATERR_INVALIDDEST || catFile.error() == CATERR_CANTCREATEDIR ) {
377
			if ( catFile.extractFile(sFile) ) return sFile;
376
			if ( catFile.extractFile(sFile) ) return sFile;
378
		}
377
		}
379
	}
378
	}
380
 
379
 
381
	return "";
380
	return L"";
382
}
381
}
383
 
382
 
384
Utils::WString CVirtualFileSystem::_extract(const Utils::WString &sFile, const Utils::WString &sTo)
383
Utils::WString CVirtualFileSystem::_extract(const Utils::WString &sFile, const Utils::WString &sTo)
385
{
384
{
386
	// check if we need to unpack the file
385
	// check if we need to unpack the file