Subversion Repositories spk

Rev

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

Rev 50 Rev 51
Line 1342... Line 1342...
1342
	return installed;
1342
	return installed;
1343
}
1343
}
1344
 
1344
 
1345
void CPackages::_addToFakePatch(CBaseFile *pPackage)
1345
void CPackages::_addToFakePatch(CBaseFile *pPackage)
1346
{
1346
{
-
 
1347
	CLog::logf(CLog::Log_Install, 4, "Preparing to move files to fake patch, %s", (m_sCurrentDir + "/PluginManager/PlugMan_Fake.cat").c_str());
1347
	CCatFile cat;
1348
	CCatFile cat;
1348
	if ( CCatFile::Opened(cat.Open(m_sCurrentDir + "/PluginManager/PlugMan_Fake.cat", this->GetAddonDir(), CATREAD_DAT)) ) {
1349
	if ( CCatFile::Opened(cat.Open(m_sCurrentDir + "/PluginManager/PlugMan_Fake.cat", this->GetAddonDir(), CATREAD_DAT)) ) {
1349
		for ( CListNode<C_File> *f = pPackage->GetFileList()->Front(); f; f = f->next() ) {
1350
		for ( CListNode<C_File> *f = pPackage->GetFileList()->Front(); f; f = f->next() ) {
-
 
1351
			CLog::logf(CLog::Log_Install, 4, "Start next file...");
-
 
1352
			CLog::logf(CLog::Log_Install, 4, "File: %s", f->Data()->GetFilePointer().c_str());
1350
			if ( f->Data()->GetFileType() != FILETYPE_SHIPSCENE && f->Data()->GetFileType() != FILETYPE_COCKPITSCENE && f->Data()->GetFileType() != FILETYPE_SHIPMODEL && f->Data()->GetFileType() != FILETYPE_SHIPOTHER )
1353
			if ( f->Data()->GetFileType() != FILETYPE_SHIPSCENE && f->Data()->GetFileType() != FILETYPE_COCKPITSCENE && f->Data()->GetFileType() != FILETYPE_SHIPMODEL && f->Data()->GetFileType() != FILETYPE_SHIPOTHER ) {
-
 
1354
				CLog::logf(CLog::Log_Install, 4, "Not a valid file type to add to fake patch (%d)", f->Data()->GetFileType());
1351
				continue;
1355
				continue;
-
 
1356
			}
1352
			if ( CCatFile::IsAddonDir(f->Data()->GetNameDirectory(pPackage)) )
1357
			if ( CCatFile::IsAddonDir(f->Data()->GetNameDirectory(pPackage)) ) {
-
 
1358
				CLog::logf(CLog::Log_Install, 4, "Is an addon directory, skipping, %s", f->Data()->GetNameDirectory(pPackage).c_str());
-
 
1359
				continue;
-
 
1360
			}
-
 
1361
			// check if its already in the fake patch
-
 
1362
			if ( f->Data()->GetFullDir().IsIn("::") ) {
-
 
1363
				CLog::logf(CLog::Log_Install, 4, "Is already in a mod file, skipping, %s", f->Data()->GetNameDirectory(pPackage).c_str());
1353
				continue;
1364
				continue;
-
 
1365
			}
1354
			CyString toFile;
1366
			CyString toFile;
-
 
1367
			CLog::logf(CLog::Log_Install, 2, "Adding file: %s into the fake patch", f->Data()->GetNameDirectory(pPackage).c_str());
1355
			if ( cat.AppendFile(f->Data()->GetFilePointer(), f->Data()->GetNameDirectory(pPackage), true, (m_iGameFlags & EXEFLAG_NOXOR) ? false : true, &toFile) ) {
1368
			if ( cat.AppendFile(f->Data()->GetFilePointer(), f->Data()->GetNameDirectory(pPackage), true, (m_iGameFlags & EXEFLAG_NOXOR) ? false : true, &toFile) ) {
1356
				CLog::logf(CLog::Log_Install, 2, "Adding file: %s into the fake patch", f->Data()->GetNameDirectory(pPackage).c_str());
1369
				CLog::logf(CLog::Log_Install, 3, "Removing old file, %s", f->Data()->GetFilePointer().c_str());
1357
				CFileIO(f->Data()->GetFilePointer()).Remove();
1370
				CFileIO(f->Data()->GetFilePointer()).Remove();
-
 
1371
				CLog::logf(CLog::Log_Install, 3, "Adjusting file pointer to fake patch, %s => %s", f->Data()->GetFilePointer().c_str(), (m_sCurrentDir + "/PluginManager/PlugMan_Fake.cat::" + toFile).c_str());
1358
				f->Data()->SetFilename(m_sCurrentDir + "/PluginManager/PlugMan_Fake.cat::" + toFile);
1372
				f->Data()->SetFilename(m_sCurrentDir + "/PluginManager/PlugMan_Fake.cat::" + toFile);
1359
			}
1373
			}
1360
		}
1374
		}
1361
	}
1375
	}
1362
}
1376
}