Subversion Repositories spk

Rev

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

Rev 216 Rev 227
Line 126... Line 126...
126
	if ( m_bForceProfile )
126
	if ( m_bForceProfile )
127
		values += L"ForceProfile\n";
127
		values += L"ForceProfile\n";
128
	if ( !m_sScriptType.empty() )
128
	if ( !m_sScriptType.empty() )
129
		values += L"ScriptType: " + m_sScriptType + L"\n";
129
		values += L"ScriptType: " + m_sScriptType + L"\n";
130
	values += Utils::WString(L"PackageType: ") + (long)m_iPackageType + L"\n";
130
	values += Utils::WString(L"PackageType: ") + (long)m_iPackageType + L"\n";
131
	values += Utils::WString(L"ScriptTypeNew: ") + (long)m_iScriptType + L"\n";
131
	values += Utils::WString(L"ScriptTypeNew: ") + Utils::WString::Number(m_iScriptType) + L"\n";
132
 
132
 
133
	for ( CListNode<SSettingType> *node = m_lSettings.Front(); node; node = node->next() )
133
	for ( CListNode<SSettingType> *node = m_lSettings.Front(); node; node = node->next() )
134
		values += Utils::WString(L"Setting: ") + (long)node->Data()->iType + L"|" + node->Data()->sKey + L"|" + getSetting(node->Data()) + L"\n";
134
		values += Utils::WString(L"Setting: ") + (long)node->Data()->iType + L"|" + node->Data()->sKey + L"|" + getSetting(node->Data()) + L"\n";
135
 
135
 
136
	for ( CListNode<SWares> *wNode = m_lWares.Front(); wNode; wNode = wNode->next() ) {
136
	for ( CListNode<SWares> *wNode = m_lWares.Front(); wNode; wNode = wNode->next() ) {
Line 881... Line 881...
881
unsigned char *CSpkFile::_convert_uncompressFile(const Utils::WString &sOldFilename, int *pLen)
881
unsigned char *CSpkFile::_convert_uncompressFile(const Utils::WString &sOldFilename, int *pLen)
882
{
882
{
883
	// firstcheck if the file exists
883
	// firstcheck if the file exists
884
	FILE *id = _wfopen(sOldFilename.c_str(), L"rb" );
884
	FILE *id = _wfopen(sOldFilename.c_str(), L"rb" );
885
	if ( !id ) {
885
	if ( !id ) {
886
		CLog::logf(CLog::Log_IO, 1, "Unable to open file: %s", sOldFilename.c_str());
886
		CLog::logf(CLog::Log_IO, 1, L"Unable to open file: %s", sOldFilename.c_str());
887
		return false;
887
		return false;
888
	}
888
	}
889
 
889
 
890
	// read the first 3 charaters to check if its using the original "HiP" compression
890
	// read the first 3 charaters to check if its using the original "HiP" compression
891
	Utils::String check((char)fgetc(id));
891
	Utils::String check((char)fgetc(id));
Line 1000... Line 1000...
1000
void CSpkFile::_convert_parse(const Utils::WString &sCmd, const Utils::WString &sRest)
1000
void CSpkFile::_convert_parse(const Utils::WString &sCmd, const Utils::WString &sRest)
1001
{
1001
{
1002
	if ( sCmd == L"Name:" )
1002
	if ( sCmd == L"Name:" )
1003
	{
1003
	{
1004
		this->setName(sRest);
1004
		this->setName(sRest);
1005
		CLog::logf(CLog::Log_EditPackage, 3, "\tScript Name: %s", sRest.c_str() );
1005
		CLog::logf(CLog::Log_EditPackage, 3, L"\tScript Name: %s", sRest.c_str() );
1006
	}
1006
	}
1007
	else if ( sCmd == L"Author:" )
1007
	else if ( sCmd == L"Author:" )
1008
	{
1008
	{
1009
		this->setAuthor(sRest);
1009
		this->setAuthor(sRest);
1010
		CLog::logf(CLog::Log_EditPackage, 3, "\tScript Author: %s", sRest.c_str() );
1010
		CLog::logf(CLog::Log_EditPackage, 3, L"\tScript Author: %s", sRest.c_str() );
1011
	}
1011
	}
1012
	else if ( sCmd == L"CustomStart" )
1012
	else if ( sCmd == L"CustomStart" )
1013
	{
1013
	{
1014
		this->SetCustomStart();
1014
		this->SetCustomStart();
1015
		CLog::logf(CLog::Log_EditPackage, 3, "\tPackage is a custom start!!" );
1015
		CLog::logf(CLog::Log_EditPackage, 3, L"\tPackage is a custom start!!" );
1016
	}
1016
	}
1017
	else if ( sCmd == L"AnotherMod:" )
1017
	else if ( sCmd == L"AnotherMod:" )
1018
	{
1018
	{
1019
		this->setAnotherMod(sRest.token(L"|", 1), sRest.tokens(L"|", 2));
1019
		this->setAnotherMod(sRest.token(L"|", 1), sRest.tokens(L"|", 2));
1020
		CLog::logf(CLog::Log_EditPackage, 3, "\tFor another Mod, Name: %s, Author: %s", this->otherName().c_str(), this->otherAuthor().c_str() );
1020
		CLog::logf(CLog::Log_EditPackage, 3, L"\tFor another Mod, Name: %s, Author: %s", this->otherName().c_str(), this->otherAuthor().c_str() );
1021
	}
1021
	}
1022
	else if ( sCmd == L"PATCH" )
1022
	else if ( sCmd == L"PATCH" )
1023
	{
1023
	{
1024
		this->SetPatch();
1024
		this->SetPatch();
1025
		CLog::logf(CLog::Log_EditPackage, 3, "\tPackage is a Patch Mod!!" );
1025
		CLog::logf(CLog::Log_EditPackage, 3, L"\tPackage is a Patch Mod!!" );
1026
	}
1026
	}
1027
	else if ( sCmd == L"Version:" )
1027
	else if ( sCmd == L"Version:" )
1028
	{
1028
	{
1029
		this->setVersion(sRest);
1029
		this->setVersion(sRest);
1030
		CLog::logf(CLog::Log_EditPackage, 3,"\tScript Version: %s", sRest.c_str() );
1030
		CLog::logf(CLog::Log_EditPackage, 3, L"\tScript Version: %s", sRest.c_str() );
1031
	}
1031
	}
1032
	else if ( sCmd == L"Date:" )
1032
	else if ( sCmd == L"Date:" )
1033
	{
1033
	{
1034
		this->setCreationDate ( sRest );
1034
		this->setCreationDate ( sRest );
1035
		CLog::logf(CLog::Log_EditPackage, 3,"\tScript Creation Date: %s", sRest.c_str() );
1035
		CLog::logf(CLog::Log_EditPackage, 3, L"\tScript Creation Date: %s", sRest.c_str() );
1036
	}
1036
	}
1037
	else if ( sCmd == L"Desc:" ) {
1037
	else if ( sCmd == L"Desc:" ) {
1038
		this->setDescription(sRest.findReplace(L"<br>", L"\n") );
1038
		this->setDescription(sRest.findReplace(L"<br>", L"\n") );
1039
		CLog::logf(CLog::Log_EditPackage, 3,"\tScript Description: %s", this->description().c_str() );
1039
		CLog::logf(CLog::Log_EditPackage, 3, L"\tScript Description: %s", this->description().c_str() );
1040
	}
1040
	}
1041
	else if ( sCmd == L"WebAddress:" ) {
1041
	else if ( sCmd == L"WebAddress:" ) {
1042
		this->setWebAddress(sRest);
1042
		this->setWebAddress(sRest);
1043
		CLog::logf(CLog::Log_EditPackage, 3, "\tWeb Address: %s", sRest.c_str() );
1043
		CLog::logf(CLog::Log_EditPackage, 3, L"\tWeb Address: %s", sRest.c_str() );
1044
	}
1044
	}
1045
	else if ( sCmd == L"WebMirror1:" )
1045
	else if ( sCmd == L"WebMirror1:" )
1046
	{
1046
	{
1047
		this->addWebMirror(sRest);
1047
		this->addWebMirror(sRest);
1048
		CLog::logf(CLog::Log_EditPackage, 3, "\tWeb Mirror Address: %s", sRest.c_str() );
1048
		CLog::logf(CLog::Log_EditPackage, 3, L"\tWeb Mirror Address: %s", sRest.c_str() );
1049
	}
1049
	}
1050
	else if ( sCmd == L"WebMirror2:" )
1050
	else if ( sCmd == L"WebMirror2:" )
1051
	{
1051
	{
1052
		this->addWebMirror(sRest);
1052
		this->addWebMirror(sRest);
1053
		CLog::logf(CLog::Log_EditPackage, 3, "\tWeb Mirror Address: %s", sRest.c_str() );
1053
		CLog::logf(CLog::Log_EditPackage, 3, L"\tWeb Mirror Address: %s", sRest.c_str() );
1054
	}
1054
	}
1055
	
1055
	
1056
	else if ( sCmd == L"ScriptType:" )
1056
	else if ( sCmd == L"ScriptType:" )
1057
		this->setScriptType (sRest);
1057
		this->setScriptType (sRest);
1058
	else if ( sCmd == L"WebSite:" ) {
1058
	else if ( sCmd == L"WebSite:" ) {
1059
		this->setWebSite ( sRest );
1059
		this->setWebSite ( sRest );
1060
		CLog::logf(CLog::Log_EditPackage, 3, "\tWeb Site: %s", sRest.c_str() );
1060
		CLog::logf(CLog::Log_EditPackage, 3, L"\tWeb Site: %s", sRest.c_str() );
1061
	}
1061
	}
1062
	else if ( sCmd == L"Email:" ) {
1062
	else if ( sCmd == L"Email:" ) {
1063
		this->setEmail(sRest);
1063
		this->setEmail(sRest);
1064
		CLog::logf(CLog::Log_EditPackage, 3, "\tAuthor Email Address: %s", sRest.c_str() );
1064
		CLog::logf(CLog::Log_EditPackage, 3, L"\tAuthor Email Address: %s", sRest.c_str() );
1065
	}
1065
	}
1066
	else if ( sCmd == L"GameVersion:" )
1066
	else if ( sCmd == L"GameVersion:" )
1067
	{
1067
	{
1068
		//TODO: fix this for new game version
1068
		//TODO: fix this for new game version
1069
		/*
1069
		/*
Line 1079... Line 1079...
1079
	}
1079
	}
1080
	
1080
	
1081
	else if ( sCmd == L"Ware:" )
1081
	else if ( sCmd == L"Ware:" )
1082
	{
1082
	{
1083
		this->addWare ( sRest );
1083
		this->addWare ( sRest );
1084
		CLog::logf(CLog::Log_EditPackage, 3, "\tAdding Custom Ware" );
1084
		CLog::logf(CLog::Log_EditPackage, 3, L"\tAdding Custom Ware" );
1085
	}
1085
	}
1086
	else if ( sCmd == L"WareText:" )
1086
	else if ( sCmd == L"WareText:" )
1087
		this->addWareText ( sRest );
1087
		this->addWareText ( sRest );
1088
	else if ( sCmd == L"UninstallAfter:" )	this->addUninstallText(sRest.token(L" ", 1).toLong(), false, sRest.tokens(L" ", 2));
1088
	else if ( sCmd == L"UninstallAfter:" )	this->addUninstallText(sRest.token(L" ", 1).toLong(), false, sRest.tokens(L" ", 2));
1089
	else if ( sCmd == L"UninstallBefore:" )	this->addUninstallText(sRest.token(L" ", 1).toLong(), true, sRest.tokens(L" ", 2));
1089
	else if ( sCmd == L"UninstallBefore:" )	this->addUninstallText(sRest.token(L" ", 1).toLong(), true, sRest.tokens(L" ", 2));
Line 1092... Line 1092...
1092
	else if ( sCmd == L"ScriptName:" )
1092
	else if ( sCmd == L"ScriptName:" )
1093
	{
1093
	{
1094
		Utils::WString lang = sRest.token(L":", 1);
1094
		Utils::WString lang = sRest.token(L":", 1);
1095
		Utils::WString name = sRest.tokens(L":", 2);
1095
		Utils::WString name = sRest.tokens(L":", 2);
1096
		this->addName(lang.toLong(), name);
1096
		this->addName(lang.toLong(), name);
1097
		CLog::logf(CLog::Log_EditPackage, 3, "\tScript Name Language (%s) %s", lang.c_str(), name.c_str() );
1097
		CLog::logf(CLog::Log_EditPackage, 3, L"\tScript Name Language (%s) %s", lang.c_str(), name.c_str() );
1098
	}
1098
	}
1099
}
1099
}
1100
 
1100
 
1101
Utils::WString CSpkFile::_convert_parseFilename(const Utils::WString &sRest, float fVersion, Utils::WString *pDir)
1101
Utils::WString CSpkFile::_convert_parseFilename(const Utils::WString &sRest, float fVersion, Utils::WString *pDir)
1102
{
1102
{
Line 1140... Line 1140...
1140
	bool binaryRead = (CFileIO(filename).isFileExtension(L"PCK")) ? true : false;
1140
	bool binaryRead = (CFileIO(filename).isFileExtension(L"PCK")) ? true : false;
1141
	if ( sEnd.empty() ) binaryRead = true;
1141
	if ( sEnd.empty() ) binaryRead = true;
1142
	
1142
	
1143
	C_File *file = new C_File ();
1143
	C_File *file = new C_File ();
1144
 
1144
 
1145
	if ( bShared )	CLog::logf(CLog::Log_File, 2, "\tFound %s File (Shared): %s, Reading...", sFile.c_str(), filename.c_str() );
1145
	if ( bShared )	CLog::logf(CLog::Log_File, 2, L"\tFound %s File (Shared): %s, Reading...", sFile.c_str(), filename.c_str() );
1146
	else			CLog::logf(CLog::Log_File, 2, "\tFound %s File: %s, Reading...", sFile.c_str(), filename.c_str() );
1146
	else			CLog::logf(CLog::Log_File, 2, L"\tFound %s File: %s, Reading...", sFile.c_str(), filename.c_str() );
1147
 
1147
 
1148
	// read the data
1148
	// read the data
1149
	if ( binaryRead )
1149
	if ( binaryRead )
1150
	{
1150
	{
1151
		file->ReadFromData ( (char *)d, size );
1151
		file->ReadFromData ( (char *)d, size );
Line 1166... Line 1166...
1166
	if ( !dir.empty() )
1166
	if ( !dir.empty() )
1167
		file->setDir ( dir );
1167
		file->setDir ( dir );
1168
	
1168
	
1169
	this->AddFile ( file );
1169
	this->AddFile ( file );
1170
 
1170
 
1171
	CLog::logf(CLog::Log_File, 3, "Size: %s", file->dataSizeString().c_str() );
1171
	CLog::logf(CLog::Log_File, 3, L"Size: %s", file->dataSizeString().c_str() );
1172
 
1172
 
1173
	return d;
1173
	return d;
1174
}
1174
}
1175
 
1175
 
1176
CSpkFile *CSpkFile::convertFromOld(const Utils::WString &sOldFilename)
1176
CSpkFile *CSpkFile::convertFromOld(const Utils::WString &sOldFilename)
Line 1258... Line 1258...
1258
		}
1258
		}
1259
		*/
1259
		*/
1260
		Utils::String sRest = str.tokens(" ", 2);
1260
		Utils::String sRest = str.tokens(" ", 2);
1261
		if ( sCmd == "Packager:" ) {
1261
		if ( sCmd == "Packager:" ) {
1262
			fVersion = sRest;
1262
			fVersion = sRest;
1263
			CLog::logf(CLog::Log_Read, 3, "\tPackager Version: %.2f", fVersion );
1263
			CLog::logf(CLog::Log_Read, 3, L"\tPackager Version: %.2f", fVersion );
1264
		}
1264
		}
1265
		else if ( sCmd == "Icon:" )
1265
		else if ( sCmd == "Icon:" )
1266
		{
1266
		{
1267
			long size = sRest.token(" ", 1);
1267
			long size = sRest.token(" ", 1);
1268
			Utils::String ext = sRest.token(" ", 2);
1268
			Utils::String ext = sRest.token(" ", 2);
Line 1272... Line 1272...
1272
 
1272
 
1273
			d += size;
1273
			d += size;
1274
 
1274
 
1275
			this->setIcon(file, ext);
1275
			this->setIcon(file, ext);
1276
 
1276
 
1277
			CLog::logf(CLog::Log_File, 3, "\tIcon (%s) Size: %s", ext.c_str(), file->dataSizeString ().c_str() );
1277
			CLog::logf(CLog::Log_File, 3, L"\tIcon (%s) Size: %s", ext.c_str(), file->dataSizeString ().c_str() );
1278
		}
1278
		}
1279
		else if ( sCmd.left(3) == "$$$" )
1279
		else if ( sCmd.left(3) == "$$$" )
1280
			d = _convert_parseFile(sCmd, sRest, fVersion, d);
1280
			d = _convert_parseFile(sCmd, sRest, fVersion, d);
1281
		else {
1281
		else {
1282
			this->_convert_parse(sCmd, sRest);
1282
			this->_convert_parse(sCmd, sRest);
1283
		}
1283
		}
1284
	}
1284
	}
1285
 
1285
 
1286
	CLog::logf(CLog::Log_IO, 1, "* Reading spk data..." );
1286
	CLog::logf(CLog::Log_IO, 1, L"* Reading spk data..." );
1287
 
1287
 
1288
	return true;
1288
	return true;
1289
}
1289
}