Subversion Repositories spk

Rev

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

Rev 101 Rev 102
Line 227... Line 227...
227
 
227
 
228
	CCatFile cat;
228
	CCatFile cat;
229
	if ( CCatFile::Opened(cat.Open(mod, m_sAddon, CATREAD_JUSTCONTENTS, false), false) )
229
	if ( CCatFile::Opened(cat.Open(mod, m_sAddon, CATREAD_JUSTCONTENTS, false), false) )
230
	{
230
	{
231
		for ( CListNode<SInCatFile> *c = cat.GetFiles()->Front(); c; c = c->next() ) {
231
		for ( CListNode<SInCatFile> *c = cat.GetFiles()->Front(); c; c = c->next() ) {
232
			this->_addModFile(CFileIO(c->Data()->sFile).GetFullFilename().ToString(), mod, m_pModMap);
232
			this->_addModFile(CFileIO(c->Data()->sFile).fullFilename(), mod, m_pModMap);
233
			loaded = true;
233
			loaded = true;
234
		}
234
		}
235
	}
235
	}
236
 
236
 
237
	return loaded;
237
	return loaded;
Line 246... Line 246...
246
	CCatFile cat;
246
	CCatFile cat;
247
	if ( CCatFile::Opened(cat.Open(mod, m_sAddon, CATREAD_JUSTCONTENTS, false), false) )
247
	if ( CCatFile::Opened(cat.Open(mod, m_sAddon, CATREAD_JUSTCONTENTS, false), false) )
248
	{
248
	{
249
		for ( CListNode<SInCatFile> *c = cat.GetFiles()->Front(); c; c = c->next() )
249
		for ( CListNode<SInCatFile> *c = cat.GetFiles()->Front(); c; c = c->next() )
250
		{
250
		{
251
			this->_addModFile(CFileIO(c->Data()->sFile).GetFullFilename().ToString(), mod, m_pMap);
251
			this->_addModFile(CFileIO(c->Data()->sFile).fullFilename(), mod, m_pMap);
252
			loaded = true;
252
			loaded = true;
253
		}
253
		}
254
	}
254
	}
255
 
255
 
256
	return loaded;
256
	return loaded;
Line 304... Line 304...
304
{
304
{
305
	Utils::String toFile = file.findReplace("\\", "/").lower();
305
	Utils::String toFile = file.findReplace("\\", "/").lower();
306
 
306
 
307
	if ( m_pModMap && !m_pModMap->empty() ) {
307
	if ( m_pModMap && !m_pModMap->empty() ) {
308
		if ( !m_sAddon.empty() ) {
308
		if ( !m_sAddon.empty() ) {
309
			FileListItr aitr = m_pModMap->find(CFileIO(m_sAddon + "/" + toFile).GetFullFilename().ToLower().c_str());
309
			FileListItr aitr = m_pModMap->find(CFileIO(m_sAddon + "/" + toFile).fullFilename().lower().c_str());
310
			if ( aitr == m_pModMap->end() ) aitr = m_pModMap->find(CFileIO(_convertExtension(m_sAddon + "/" + toFile)).GetFullFilename().ToLower().c_str());
310
			if ( aitr == m_pModMap->end() ) aitr = m_pModMap->find(CFileIO(_convertExtension(m_sAddon + "/" + toFile)).fullFilename().lower().c_str());
311
			if ( aitr != m_pModMap->end() ) return aitr->second;
311
			if ( aitr != m_pModMap->end() ) return aitr->second;
312
		}
312
		}
313
		FileListItr itr = m_pModMap->find(CFileIO(toFile).GetFullFilename().ToLower().c_str());
313
		FileListItr itr = m_pModMap->find(CFileIO(toFile).fullFilename().lower().c_str());
314
		if ( itr == m_pModMap->end() ) itr = m_pModMap->find(CFileIO(_convertExtension(toFile)).GetFullFilename().ToLower().c_str());
314
		if ( itr == m_pModMap->end() ) itr = m_pModMap->find(CFileIO(_convertExtension(toFile)).fullFilename().lower().c_str());
315
		if ( itr != m_pModMap->end() ) return itr->second;
315
		if ( itr != m_pModMap->end() ) return itr->second;
316
	}
316
	}
317
	else if ( m_pMap && !m_pMap->empty() ) {
317
	else if ( m_pMap && !m_pMap->empty() ) {
318
		if ( !m_sAddon.empty() ) {
318
		if ( !m_sAddon.empty() ) {
319
			FileListItr aitr = m_pMap->find(CFileIO(m_sAddon + "/" + toFile).fullFilename().lower().c_str());
319
			FileListItr aitr = m_pMap->find(CFileIO(m_sAddon + "/" + toFile).fullFilename().lower().c_str());
320
			if ( aitr == m_pMap->end() ) aitr = m_pMap->find(CFileIO(_convertExtension(m_sAddon + "/" + file)).fullFilename().lower().c_str());
320
			if ( aitr == m_pMap->end() ) aitr = m_pMap->find(CFileIO(_convertExtension(m_sAddon + "/" + file)).fullFilename().lower().c_str());
321
			if ( aitr != m_pMap->end() ) return aitr->second;
321
			if ( aitr != m_pMap->end() ) return aitr->second;
322
		}
322
		}
323
		FileListItr itr = m_pMap->find(CFileIO(file).GetFullFilename().ToLower().c_str());
323
		FileListItr itr = m_pMap->find(CFileIO(file).fullFilename().lower().c_str());
324
		if ( itr == m_pMap->end() ) itr = m_pMap->find(CFileIO(_convertExtension(file)).GetFullFilename().ToLower().c_str());
324
		if ( itr == m_pMap->end() ) itr = m_pMap->find(CFileIO(_convertExtension(file)).fullFilename().lower().c_str());
325
		if ( itr != m_pMap->end() ) return itr->second;
325
		if ( itr != m_pMap->end() ) return itr->second;
326
	}
326
	}
327
	return "";
327
	return "";
328
}
328
}
329
 
329
 
Line 412... Line 412...
412
{
412
{
413
	Utils::String to = this->ExtractGameFile(sFile, CPackages::tempDirectory() + "tmp.dat");
413
	Utils::String to = this->ExtractGameFile(sFile, CPackages::tempDirectory() + "tmp.dat");
414
	if ( !to.empty() ) {
414
	if ( !to.empty() ) {
415
		CFileIO File(to);
415
		CFileIO File(to);
416
 
416
 
417
		C_File *f = pPackage->AddFile(CFileIO(sTo).GetFilename(), CFileIO(sTo).GetDir(), iFileType);
417
		C_File *f = pPackage->AddFile(CFileIO(sTo).filename(), CFileIO(sTo).dir(), iFileType);
418
		if ( f ) {
418
		if ( f ) {
419
			if ( f->ReadFromFile(CPackages::GetTempDirectory() + "tmp.dat") ) {
419
			if ( f->ReadFromFile(CPackages::GetTempDirectory() + "tmp.dat") ) {
420
				File.remove();
420
				File.remove();
421
				return f;
421
				return f;
422
			}
422
			}