Subversion Repositories spk

Rev

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

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