| Line 1012... |
Line 1012... |
| 1012 |
{
|
1012 |
{
|
| 1013 |
C_File *cFile;
|
1013 |
C_File *cFile;
|
| 1014 |
for ( cFile = pFileList->First(); cFile; cFile = pFileList->Next() )
|
1014 |
for ( cFile = pFileList->First(); cFile; cFile = pFileList->Next() )
|
| 1015 |
{
|
1015 |
{
|
| 1016 |
if ( !cFile->MatchFile(pFile) ) continue;
|
1016 |
if ( !cFile->MatchFile(pFile) ) continue;
|
| 1017 |
|
- |
|
| 1018 |
if ( !m_bOverrideFiles && !cFile->CompareNew(pFile) ) {
|
1017 |
if ( !m_bOverrideFiles && !cFile->CompareNew(pFile) ) {
|
| 1019 |
if ( errorStr ) errorStr->PushBack(pFile->GetNameDirectory(this), ERRORLOG(SPKINSTALL_SKIPFILE));
|
1018 |
if ( errorStr ) errorStr->PushBack(pFile->GetNameDirectory(this), ERRORLOG(SPKINSTALL_SKIPFILE));
|
| 1020 |
CLog::log(CLog::Log_Install, 1, "Newer version of the file already installed, skipping");
|
1019 |
CLog::log(CLog::Log_Install, 1, "Newer version of the file already installed, skipping");
|
| 1021 |
*bDoFile = false;
|
1020 |
*bDoFile = false;
|
| 1022 |
}
|
1021 |
}
|
| Line 1030... |
Line 1029... |
| 1030 |
}
|
1029 |
}
|
| 1031 |
|
1030 |
|
| 1032 |
bool CBaseFile::_install_checkFileEnable(C_File *pCheckFile, C_File *fit, const Utils::String &sDestination, bool bEnabled, CyStringList *errorStr)
|
1031 |
bool CBaseFile::_install_checkFileEnable(C_File *pCheckFile, C_File *fit, const Utils::String &sDestination, bool bEnabled, CyStringList *errorStr)
|
| 1033 |
{
|
1032 |
{
|
| 1034 |
// found a file, check if its in the disabled directory
|
1033 |
// found a file, check if its in the disabled directory
|
| 1035 |
CyString dir = pCheckFile->GetFilePointer();
|
1034 |
Utils::String dir = CFileIO(pCheckFile->filePointer()).dir();
|
| 1036 |
dir = dir.GetToken ( 1, dir.NumToken ('/') - 1, '/' );
|
- |
|
| 1037 |
CyString lastDir = dir.GetToken ( dir.NumToken('/'), '/' ).ToLower();
|
1035 |
Utils::String lastDir = CDirIO(dir).topDir().lower();
|
| 1038 |
|
1036 |
|
| 1039 |
// if its disabled, rename it so its enabled
|
1037 |
// if its disabled, rename it so its enabled
|
| 1040 |
if ( ((pCheckFile->IsDisabled()) || (lastDir == "disabled") || (dir.ToLower().IsIn ("/disabled/"))) && (bEnabled) )
|
1038 |
if ( ((pCheckFile->IsDisabled()) || (lastDir == "disabled") || (dir.lower().isin("/disabled/"))) && (bEnabled) )
|
| 1041 |
{
|
1039 |
{
|
| 1042 |
CLog::logf(CLog::Log_Install, 2, "Existing file, %s, is disabled, re-enabling it", pCheckFile->GetFilePointer().c_str());
|
1040 |
CLog::logf(CLog::Log_Install, 2, "Existing file, %s, is disabled, re-enabling it", pCheckFile->filePointer().c_str());
|
| 1043 |
// first check if the directory exists
|
1041 |
// first check if the directory exists
|
| 1044 |
if ( pCheckFile->IsInMod() ) {
|
1042 |
if ( pCheckFile->IsInMod() ) {
|
| 1045 |
CyString tofile = pCheckFile->GetFilePointer().GetToken("::", 2, 2);
|
1043 |
CyString tofile = pCheckFile->filePointer().token("::", 2);
|
| 1046 |
|
1044 |
|
| 1047 |
CCatFile tocat;
|
1045 |
CCatFile tocat;
|
| 1048 |
int err = tocat.Open ( fit->GetFilePointer().GetToken("::", 1, 1), "", CATREAD_CATDECRYPT, true );
|
1046 |
int err = tocat.open(fit->filePointer().token("::", 1), "", CATREAD_CATDECRYPT, true);
|
| 1049 |
if ( (err == CATERR_NONE) || (err == CATERR_CREATED) ) {
|
1047 |
if ( (err == CATERR_NONE) || (err == CATERR_CREATED) ) {
|
| 1050 |
tocat.AppendFile(pCheckFile->GetFilePointer().ToString(), tofile.ToString());
|
1048 |
tocat.AppendFile(pCheckFile->GetFilePointer().ToString(), tofile.ToString());
|
| 1051 |
CLog::logf(CLog::Log_Install, 2, "Adding existing file into new mod File, %s => %s", fit->GetFilePointer().GetToken("::", 1, 1).c_str(), tofile.c_str());
|
1049 |
CLog::logf(CLog::Log_Install, 2, "Adding existing file into new mod File, %s => %s", fit->filePointer().token("::", 1).c_str(), tofile.c_str());
|
| 1052 |
}
|
1050 |
}
|
| 1053 |
|
1051 |
|
| 1054 |
CCatFile fromcat;
|
1052 |
CCatFile fromcat;
|
| 1055 |
err = fromcat.Open ( pCheckFile->GetFilePointer().GetToken("::", 1, 1), "", CATREAD_CATDECRYPT, false );
|
1053 |
err = fromcat.open(pCheckFile->filePointer().token("::", 1), "", CATREAD_CATDECRYPT, false);
|
| 1056 |
if ( err == CATERR_NONE ) {
|
1054 |
if ( err == CATERR_NONE ) {
|
| 1057 |
fromcat.removeFile(tofile.ToString());
|
1055 |
fromcat.removeFile(tofile.ToString());
|
| 1058 |
CLog::logf(CLog::Log_Install, 2, "Removing file from existing mod, %s::%s", pCheckFile->GetFilePointer().GetToken("::", 1, 1).c_str(), tofile.c_str());
|
1056 |
CLog::logf(CLog::Log_Install, 2, "Removing file from existing mod, %s::%s", pCheckFile->filePointer().token("::", 1).c_str(), tofile.c_str());
|
| 1059 |
}
|
1057 |
}
|
| 1060 |
|
1058 |
|
| 1061 |
CLog::logf(CLog::Log_Install, 1, "Adjusting existing file name %s => %s", pCheckFile->GetFilePointer().c_str(), fit->GetFilePointer().c_str());
|
1059 |
CLog::logf(CLog::Log_Install, 1, "Adjusting existing file name %s => %s", pCheckFile->filePointer().c_str(), fit->filePointer().c_str());
|
| 1062 |
pCheckFile->SetFilename ( fit->GetFilePointer() );
|
1060 |
pCheckFile->SetFilename ( fit->GetFilePointer() );
|
| 1063 |
CLog::logf(CLog::Log_Install, 2, "Adjusting In Mod setting, %s => %s", pCheckFile->GetInMod().c_str(), fit->GetInMod().c_str());
|
1061 |
CLog::logf(CLog::Log_Install, 2, "Adjusting In Mod setting, %s => %s", pCheckFile->GetInMod().c_str(), fit->GetInMod().c_str());
|
| 1064 |
pCheckFile->SetInMod(fit->GetInMod());
|
1062 |
pCheckFile->SetInMod(fit->GetInMod());
|
| 1065 |
}
|
1063 |
}
|
| 1066 |
else {
|
1064 |
else {
|
| Line 1196... |
Line 1194... |
| 1196 |
}
|
1194 |
}
|
| 1197 |
|
1195 |
|
| 1198 |
bool dofile = _install_checkVersion(fit, destdir.ToString());
|
1196 |
bool dofile = _install_checkVersion(fit, destdir.ToString());
|
| 1199 |
|
1197 |
|
| 1200 |
// change file pointer
|
1198 |
// change file pointer
|
| 1201 |
Utils::String sFilename = _install_adjustFilepointer(fit, fileEnabled, destdir.ToString());
|
1199 |
Utils::String sInstallDir = _install_adjustFilepointer(fit, fileEnabled, destdir.ToString());
|
| 1202 |
|
1200 |
|
| 1203 |
C_File *adjustPointer = NULL;
|
1201 |
C_File *adjustPointer = NULL;
|
| 1204 |
|
1202 |
|
| 1205 |
if ( filelist ) {
|
1203 |
if ( filelist ) {
|
| 1206 |
C_File *cFile = _install_checkFile(fit, errorStr, &dofile, filelist);
|
1204 |
C_File *cFile = _install_checkFile(fit, errorStr, &dofile, filelist);
|
| Line 1229... |
Line 1227... |
| 1229 |
cFile->SetFilename(fit->GetFilePointer());
|
1227 |
cFile->SetFilename(fit->GetFilePointer());
|
| 1230 |
cFile->SetDisabled(true);
|
1228 |
cFile->SetDisabled(true);
|
| 1231 |
}
|
1229 |
}
|
| 1232 |
else
|
1230 |
else
|
| 1233 |
{
|
1231 |
{
|
| 1234 |
fit->SetFullDir ( CyString(sFilename) + fit->GetDirectory(this) );
|
1232 |
fit->SetFullDir ( CyString(sInstallDir) + fit->GetDirectory(this) );
|
| 1235 |
fit->SetDisabled(false);
|
1233 |
fit->SetDisabled(false);
|
| 1236 |
}
|
1234 |
}
|
| 1237 |
}
|
1235 |
}
|
| 1238 |
// move it to enabled
|
1236 |
// move it to enabled
|
| 1239 |
else {
|
1237 |
else {
|