Subversion Repositories spk

Rev

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

Rev 185 Rev 196
Line 14... Line 14...
14
int main ( int argc, char **argv )
14
int main ( int argc, char **argv )
15
{
15
{
16
	printf ( "XModDiff V1.00 (SPK Library Version %.2f) 01/04/2011 Created by Cycrow\n\n", (float)GetLibraryVersion() );
16
	printf ( "XModDiff V1.00 (SPK Library Version %.2f) 01/04/2011 Created by Cycrow\n\n", (float)GetLibraryVersion() );
17
 
17
 
18
	// parse the cmd name
18
	// parse the cmd name
19
	Utils::String cmd (argv[0]);
19
	Utils::WString cmd (argv[0]);
20
	Utils::String dir = CFileIO(cmd).dir();
20
	Utils::WString dir = CFileIO(cmd).dir();
21
	cmd = CFileIO(cmd).filename();
21
	cmd = CFileIO(cmd).filename();
22
 
22
 
23
	bool verbose = false;
23
	bool verbose = false;
24
 
24
 
25
	if ( argc < 3 )
25
	if ( argc < 3 )
26
	{
26
	{
27
		printf ( "Syntax: %s [-v] <modfile.cat> <diff file> [gamedirectory]\n", cmd.c_str() );
27
		wprintf ( L"Syntax: %s [-v] <modfile.cat> <diff file> [gamedirectory]\n", cmd.c_str() );
28
		printf ( "\t<modfile.cat>:\t\tThe mod file you want to generate the diff for\n" );
28
		printf ( "\t<modfile.cat>:\t\tThe mod file you want to generate the diff for\n" );
29
		printf ( "\t<diff file>:\t\tThe file to save the diff to\n" );
29
		printf ( "\t<diff file>:\t\tThe file to save the diff to\n" );
30
		printf ( "\t[gamedirectory]:\tThe game directory to compare the mod against, without this will assume current directory\n" );
30
		printf ( "\t[gamedirectory]:\tThe game directory to compare the mod against, without this will assume current directory\n" );
31
	}
31
	}
32
	else
32
	else
Line 56... Line 56...
56
				verbose = true;
56
				verbose = true;
57
		}
57
		}
58
 
58
 
59
		Utils::String modfile(argv[startPos]);
59
		Utils::String modfile(argv[startPos]);
60
		Utils::String difffile(argv[startPos + 1]);
60
		Utils::String difffile(argv[startPos + 1]);
61
		Utils::String gamedir;
61
		Utils::WString gamedir;
62
		if ( argc > (startPos + 2) ) gamedir = argv[startPos + 2];
62
		if ( argc > (startPos + 2) ) gamedir = argv[startPos + 2];
63
		if ( gamedir.empty() ) gamedir = ".";
63
		if ( gamedir.empty() ) gamedir = ".";
64
		gamedir = CFileIO(gamedir).fullFilename();
64
		gamedir = CFileIO(gamedir).fullFilename();
65
 
65
 
66
		CModDiff Diff(gamedir, "addon");
66
		CModDiff Diff(gamedir.toString(), "addon");
67
		if ( !Diff.IsLoaded() ) 
67
		if ( !Diff.IsLoaded() ) 
68
		{
68
		{
69
			printf  ("Error: Unable to load game directory, %s\n", gamedir.c_str());
69
			wprintf  (L"Error: Unable to load game directory, %s\n", gamedir.c_str());
70
			Error();
70
			Error();
71
		}
71
		}
72
 
72
 
73
		if ( gamedir.Compare(".") )
73
		if ( gamedir.Compare(L".") )
74
			printf ( "Game Directory: 'CURRENT' loaded\n");
74
			printf ( "Game Directory: 'CURRENT' loaded\n");
75
		else
75
		else
76
			printf ( "Game Directory: '%s' loaded\n", gamedir.c_str());
76
			wprintf ( L"Game Directory: '%s' loaded\n", gamedir.c_str());
77
 
77
 
78
		if ( !Diff.CreateDiff(modfile) )
78
		if ( !Diff.CreateDiff(modfile) )
79
		{
79
		{
80
			printf("Error: Unable to create diff for mod file, %s (%d)\n", modfile.c_str(), Diff.Error());
80
			printf("Error: Unable to create diff for mod file, %s (%d)\n", modfile.c_str(), Diff.Error());
81
			Error();
81
			Error();