Subversion Repositories spk

Rev

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

Rev 17 Rev 35
Line 127... Line 127...
127
			if ( f->IsFakePatch() ) continue;
127
			if ( f->IsFakePatch() ) continue;
128
			if ( f->CheckFileExt("cat") ) break;
128
			if ( f->CheckFileExt("cat") ) break;
129
		}
129
		}
130
 
130
 
131
		if ( f )
131
		if ( f )
132
			m_pGameVFS.LoadFilesystem(m_sCurrentDir, f->GetFilePointer(), 0);
132
			m_pGameVFS.LoadFilesystem(m_sCurrentDir.ToString(), f->GetFilePointer().ToString(), 0);
133
		else
133
		else
134
			m_pGameVFS.LoadFilesystem(m_sCurrentDir, NullString, 0);
134
			m_pGameVFS.LoadFilesystem(m_sCurrentDir.ToString(), 0);
135
	}
135
	}
136
	else
136
	else
137
		m_pGameVFS.LoadFilesystem(m_sCurrentDir, NullString, 0);
137
		m_pGameVFS.LoadFilesystem(m_sCurrentDir.ToString(), 0);
138
}
138
}
139
 
139
 
140
bool CPackages::IsOldDir(CyString dir)
140
bool CPackages::IsOldDir(CyString dir)
141
{
141
{
142
	bool oldPlugin = false;
142
	bool oldPlugin = false;
Line 7760... Line 7760...
7760
	}
7760
	}
7761
 
7761
 
7762
	m_lNonRemovedFiles.RemoveMarked();
7762
	m_lNonRemovedFiles.RemoveMarked();
7763
}
7763
}
7764
 
7764
 
7765
CXspFile *CPackages::ExtractShip(CyString catfile, CyString id, CProgressInfo *progress)
7765
CXspFile *CPackages::extractShip(const Utils::String &sCatFile, const Utils::String &sId, CProgressInfo *progress)
7766
{
7766
{
7767
	CCatFile cat;
7767
	CVirtualFileSystem *pVfs = new CVirtualFileSystem();
7768
	if ( cat.Open(catfile, this->GetAddonDir(), CATREAD_CATDECRYPT, false) != CATERR_NONE )
7768
	if ( !pVfs->addMod(sCatFile) ) {
-
 
7769
		delete pVfs;
7769
		return NULL;
7770
		return NULL;
-
 
7771
	}
7770
 
7772
 
7771
	CXspFile *newShip = new CXspFile;
7773
	CXspFile *newShip = new CXspFile;
7772
	if ( !newShip->ExtractShip(&cat, id, progress) )
7774
	if ( !newShip->extractShip(pVfs, sId, progress) ) {
7773
	{
-
 
7774
		delete newShip;
7775
		delete newShip;
7775
		return NULL;
7776
		newShip = NULL;
7776
	}
7777
	}
7777
 
7778
 
-
 
7779
	delete pVfs;
-
 
7780
 
7778
	return newShip;
7781
	return newShip;
7779
}
7782
}
7780
 
7783
 
7781
CyStringList *CPackages::GetMergedFiles(CCatFile *cat1, CCatFile *cat2)
7784
CyStringList *CPackages::GetMergedFiles(CCatFile *cat1, CCatFile *cat2)
7782
{
7785
{
Line 8691... Line 8694...
8691
				missingFiles->PushBack(filename, packages, false);
8694
				missingFiles->PushBack(filename, packages, false);
8692
			}
8695
			}
8693
		}
8696
		}
8694
	}
8697
	}
8695
	return count;
8698
	return count;
8696
}
-
 
8697
8699
}
-
 
8700