Subversion Repositories spk

Rev

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

Rev 35 Rev 52
Line 23... Line 23...
23
bool CModDiff::CreateDiff(CyString &modfile)
23
bool CModDiff::CreateDiff(CyString &modfile)
24
{
24
{
25
	ClearError();
25
	ClearError();
26
 
26
 
27
	//check for valid parameters
27
	//check for valid parameters
28
	if ( !CFileIO(modfile).Exists() ) { m_iError = MDERR_FILENOTFOUND; return false; }
28
	if ( !CFileIO(modfile).ExistsOld() ) { m_iError = MDERR_FILENOTFOUND; return false; }
29
 
29
 
30
	CyString addonDir = "";
30
	CyString addonDir = "";
31
	int addonSize = addonDir.Length() + 1;
31
	int addonSize = addonDir.Length() + 1;
32
 
32
 
33
	// try and open the mod file
33
	// try and open the mod file
Line 47... Line 47...
47
			{
47
			{
48
				// now extract the matching file from the game dir
48
				// now extract the matching file from the game dir
49
				if ( m_fileSystem.ExtractGameFile(f->sFile.ToString(), (toFile + ".compare").ToString()) )
49
				if ( m_fileSystem.ExtractGameFile(f->sFile.ToString(), (toFile + ".compare").ToString()) )
50
				{
50
				{
51
					DiffFile(toFile + ".compare", toFile, f->sFile);
51
					DiffFile(toFile + ".compare", toFile, f->sFile);
52
					CFileIO(toFile + ";.compare").Remove();
52
					CFileIO::Remove(toFile.ToString() + ";.compare");
53
				}
53
				}
54
				// make sure we clear up afterwards
54
				// make sure we clear up afterwards
55
				CFileIO(toFile).Remove();
55
				CFileIO::Remove(toFile.ToString());
56
			}
56
			}
57
		}
57
		}
58
	}
58
	}
59
 
59
 
60
	return true;
60
	return true;
Line 231... Line 231...
231
bool CModDiff::ReadDiff(CyString &file)
231
bool CModDiff::ReadDiff(CyString &file)
232
{
232
{
233
	Clean();
233
	Clean();
234
 
234
 
235
	CFileIO File(file);
235
	CFileIO File(file);
236
	if ( !File.Exists() ) return false;
236
	if ( !File.exists() ) return false;
237
 
237
 
238
	CyStringList *lines = File.ReadLinesStr();
238
	CyStringList *lines = File.ReadLinesStr();
239
 
239
 
240
	if ( lines )
240
	if ( lines )
241
	{
241
	{
Line 335... Line 335...
335
 
335
 
336
			// now write the file
336
			// now write the file
337
			CFileIO WriteFile(m_sTempDir + "/" + CFileIO(f->sFile).GetFilename());
337
			CFileIO WriteFile(m_sTempDir + "/" + CFileIO(f->sFile).GetFilename());
338
			if ( WriteFile.WriteFile(&writeLines) )
338
			if ( WriteFile.WriteFile(&writeLines) )
339
			{
339
			{
340
				if ( cat.AppendFile(m_sTempDir + "/" + CFileIO(f->sFile).GetFilename(), f->sFile) )
340
				if ( cat.AppendFile((m_sTempDir + "/" + CFileIO(f->sFile).GetFilename()).ToString(), f->sFile.ToString()) )
341
				{
341
				{
342
					ret = true;
342
					ret = true;
343
				}
343
				}
344
			}
344
			}
345
		}
345
		}
Line 380... Line 380...
380
					writeLines->PushBack(l);
380
					writeLines->PushBack(l);
381
			}
381
			}
382
			delete lines;
382
			delete lines;
383
			ret = true;
383
			ret = true;
384
		}
384
		}
385
		File.Remove();
385
		File.remove();
386
	}
386
	}
387
 
387
 
388
	return ret;
388
	return ret;
389
}
389
}
390
 
390