Subversion Repositories spk

Rev

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

Rev 58 Rev 175
Line 41... Line 41...
41
 
41
 
42
bool CMultiSpkFile::AddFileNow ( CyString file, bool on )
42
bool CMultiSpkFile::AddFileNow ( CyString file, bool on )
43
{
43
{
44
	if ( this->AddFile(file, on) )
44
	if ( this->AddFile(file, on) )
45
	{
45
	{
46
		CyString findFile = file;
46
		Utils::String findFile = CFileIO(file).filename();
47
		findFile = findFile.FindReplace ( "\\", "/" );
-
 
48
		findFile = findFile.GetToken ( findFile.NumToken('/'), '/' );
-
 
49
 
47
 
50
		SMultiSpkFile *p = this->FindFile(findFile);
48
		SMultiSpkFile *p = this->FindFile(findFile);
51
		if ( p )
49
		if ( p )
52
		{
50
		{
53
			this->CreatePackage(p);
51
			this->CreatePackage(p);
54
			if ( p->pFile->ReadFile ( file, SPKREAD_ALL ) )
52
			if ( p->pFile->readFile(file.ToString(), SPKREAD_ALL))
55
				return true;
53
				return true;
56
		}
54
		}
57
	}
55
	}
58
 
56
 
59
	return false;
57
	return false;
Line 118... Line 116...
118
		}
116
		}
119
		return false;
117
		return false;
120
	}
118
	}
121
 
119
 
122
	// check its a valid file
120
	// check its a valid file
123
	int check = CBaseFile::CheckFile ( file );
121
	int check = CBaseFile::CheckFile(file.ToString());
124
	if ( check == SPKFILE_MULTI )
122
	if ( check == SPKFILE_MULTI )
125
	{
123
	{
126
		CMultiSpkFile spkfile;
124
		CMultiSpkFile spkfile;
127
		if ( spkfile.ReadFile ( file, false ) )
125
		if ( spkfile.ReadFile ( file, false ) )
128
		{
126
		{
Line 170... Line 168...
170
		baseFile = new CSpkFile;
168
		baseFile = new CSpkFile;
171
	else if ( check == SPKFILE_SINGLESHIP )
169
	else if ( check == SPKFILE_SINGLESHIP )
172
		baseFile = new CXspFile;
170
		baseFile = new CXspFile;
173
 
171
 
174
	if ( baseFile ) {
172
	if ( baseFile ) {
175
		if ( baseFile->ReadFile(file, SPKREAD_VALUES) )	{
173
		if ( baseFile->readFile(file.ToString(), SPKREAD_VALUES)) {
176
			ms->sScriptAuthor	= baseFile->author();
174
			ms->sScriptAuthor	= baseFile->author();
177
			ms->sScriptName		= baseFile->name();
175
			ms->sScriptName		= baseFile->name();
178
			ms->sScriptVersion	= baseFile->version();
176
			ms->sScriptVersion	= baseFile->version();
179
			ms->iType			= baseFile->GetType();
177
			ms->iType			= baseFile->GetType();
180
		}
178
		}
Line 281... Line 279...
281
	for ( CListNode<SMultiSpkFile> *node = m_lFiles.Front(); node; node = node->next() ) {
279
	for ( CListNode<SMultiSpkFile> *node = m_lFiles.Front(); node; node = node->next() ) {
282
		SMultiSpkFile *ms = node->Data();
280
		SMultiSpkFile *ms = node->Data();
283
		if ( progress )
281
		if ( progress )
284
			progress->UpdatePackage(ms);
282
			progress->UpdatePackage(ms);
285
		if ( (!ms->sData) && (ms->pFile) )
283
		if ( (!ms->sData) && (ms->pFile) )
286
			ms->pFile->WriteData(File, NULL);
284
			ms->pFile->writeData(File, NULL);
287
		else
285
		else
288
			File.write(ms->sData, ms->lSize);
286
			File.write(ms->sData, ms->lSize);
289
	}
287
	}
290
 
288
 
291
	return true;
289
	return true;