| Line 69... | Line 69... | 
          
            | 69 | 	Func:   ParseValueLine
 | 69 | 	Func:   ParseValueLine
 | 
          
            | 70 | 	Input:  String - single line from a file to set
 | 70 | 	Input:  String - single line from a file to set
 | 
          
            | 71 | 	Return: Boolean - returns true if value exists
 | 71 | 	Return: Boolean - returns true if value exists
 | 
          
            | 72 | 	Desc:   Reads the line and assigns the parameters for the file
 | 72 | 	Desc:   Reads the line and assigns the parameters for the file
 | 
          
            | 73 | */
 | 73 | */
 | 
          
            | 74 | bool CSpkFile::ParseValueLine(const Utils::String&line)
 | 74 | bool CSpkFile::parseValueLine(const Utils::WString &line)
 | 
          
            | 75 | {
 | 75 | {
 | 
          
            | 76 | 	Utils::Stringfirst = line.token(" ", 1);
 | 76 | 	Utils::WString first = line.token(L" ", 1);
 | 
          
            | 77 | 	Utils::Stringrest  = line.tokens(" ", 2);
 | 77 | 	Utils::WString rest  = line.tokens(L" ", 2);
 | 
          
            | 78 |  
 | 78 |  
 | 
          
            | 79 | 	if ( first == "AnotherMod:" )
 | 79 | 	if ( first == L"AnotherMod:" )
 | 
          
            | 80 | 	{
 | 80 | 	{
 | 
          
            | 81 | 		m_sOtherAuthor = rest.token("|", 1);
 | 81 | 		m_sOtherAuthor = rest.token(L"|", 1).toString();
 | 
          
            | 82 | 		m_sOtherName = rest.tokens("|", 2);
 | 82 | 		m_sOtherName = rest.tokens(L"|", 2).toString();
 | 
          
            | 83 | 	}
 | 83 | 	}
 | 
          
            | 84 | 	else if ( line == "CustomStart" )
 | 84 | 	else if ( line == L"CustomStart" )
 | 
          
            | 85 | 		m_iPackageType = PACKAGETYPE_CUSTOMSTART;
 | 85 | 		m_iPackageType = PACKAGETYPE_CUSTOMSTART;
 | 
          
            | 86 | 	else if ( line == "PackageUpdate" )
 | 86 | 	else if ( line == L"PackageUpdate" )
 | 
          
            | 87 | 		m_iPackageType = PACKAGETYPE_UPDATE;
 | 87 | 		m_iPackageType = PACKAGETYPE_UPDATE;
 | 
          
            | 88 | 	else if ( line == "Patch" )
 | 88 | 	else if ( line == L"Patch" )
 | 
          
            | 89 | 		m_iPackageType = PACKAGETYPE_PATCH;
 | 89 | 		m_iPackageType = PACKAGETYPE_PATCH;
 | 
          
            | 90 | 	else if ( line == "ForceProfile" )
 | 90 | 	else if ( line == L"ForceProfile" )
 | 
          
            | 91 | 		m_bForceProfile = true;
 | 91 | 		m_bForceProfile = true;
 | 
          
            | 92 | 	else if ( line == "Signed" )
 | 92 | 	else if ( line == L"Signed" )
 | 
          
            | 93 | 		m_bSigned = true;
 | 93 | 		m_bSigned = true;
 | 
          
            | 94 | 	else if ( first == "ScriptType:" )
 | 94 | 	else if ( first == L"ScriptType:" )
 | 
          
            | 95 | 		m_sScriptType = rest;
 | 95 | 		m_sScriptType = rest.toString();
 | 
          
            | 96 | 	else if ( first == "ScriptTypeNew:" )
 | 96 | 	else if ( first == L"ScriptTypeNew:" )
 | 
          
            | 97 | 		m_iScriptType = rest;
 | 97 | 		m_iScriptType = rest;
 | 
          
            | 98 | 	else if ( first == "PackageType:" )
 | 98 | 	else if ( first == L"PackageType:" )
 | 
          
            | 99 | 		m_iPackageType = rest;
 | 99 | 		m_iPackageType = rest;
 | 
          
            | 100 | 	else if ( first == "Ware:" )
 | 100 | 	else if ( first == L"Ware:" )
 | 
          
            | 101 | 		AddWare ( rest );
 | 101 | 		AddWare ( rest.toString() );
 | 
          
            | 102 | 	else if ( (first == "WareText:") && (m_pLastWare) )
 | 102 | 	else if ( (first == L"WareText:") && (m_pLastWare) )
 | 
          
            | 103 | 		addWareText ( rest );
 | 103 | 		addWareText ( rest );
 | 
          
            | 104 | 	else if ( first == "Setting:" )
 | 104 | 	else if ( first == L"Setting:" )
 | 
          
            | 105 | 	{
 | 105 | 	{
 | 
          
            | 106 | 		SSettingType *t = AddSetting ( rest.token("|", 2), rest.token("|", 1) );
 | 106 | 		SSettingType *t = AddSetting(rest.token(L"|", 2).toString(), rest.token(L"|", 1));
 | 
          
            | 107 | 		ConvertSetting ( t, rest.tokens("|", 3));
 | 107 | 		ConvertSetting ( t, rest.tokens(L"|", 3).toString());
 | 
          
            | 108 | 	}
 | 108 | 	}
 | 
          
            | 109 | 	else
 | 109 | 	else
 | 
          
            | 110 | 		return CBaseFile::ParseValueLine( line );
 | 110 | 		return CBaseFile::parseValueLine ( line );
 | 
          
            | 111 |  
 | 111 |  
 | 
          
            | 112 | 	return true;
 | 112 | 	return true;
 | 
          
            | 113 | }
 | 113 | }
 | 
          
            | 114 |  
 | 114 |  
 | 
          
            | 115 | /*
 | 115 | /*
 | 
          
            | 116 | 	Func:   CreateValuesLine
 | 116 | 	Func:   CreateValuesLine
 | 
          
            | 117 | 	Return: String - returns the full string for values
 | 117 | 	Return: String - returns the full string for values
 | 
          
            | 118 | 	Desc:   Creates a single string for all values, this is used when compressing to write to the spk file
 | 118 | 	Desc:   Creates a single string for all values, this is used when compressing to write to the spk file
 | 
          
            | 119 | */
 | 119 | */
 | 
          
            | 120 | Utils::StringCSpkFile::createValuesLine () const
 | 120 | Utils::WString CSpkFile::createValuesLine () const
 | 
          
            | 121 | {
 | 121 | {
 | 
          
            | 122 | 	Utils::Stringvalues = CBaseFile::createValuesLine ();
 | 122 | 	Utils::WString values = CBaseFile::createValuesLine ();
 | 
          
            | 123 | 	// combine all values together
 | 123 | 	// combine all values together
 | 
          
            | 124 | 	if ( (!m_sOtherAuthor.empty()) && (!m_sOtherName.empty()) )
 | 124 | 	if ( (!m_sOtherAuthor.empty()) && (!m_sOtherName.empty()) )
 | 
          
            | 125 | 		values += "AnotherMod: " + m_sOtherAuthor + "|" + m_sOtherName + "\n";
 | 125 | 		values += L"AnotherMod: " + m_sOtherAuthor.toWString() + L"|" + m_sOtherName.toWString() + L"\n";
 | 
          
            | 126 | 	if ( m_bForceProfile )
 | 126 | 	if ( m_bForceProfile )
 | 
          
            | 127 | 		values += "ForceProfile\n";
 | 127 | 		values += L"ForceProfile\n";
 | 
          
            | 128 | 	if ( !m_sScriptType.empty() )
 | 128 | 	if ( !m_sScriptType.empty() )
 | 
          
            | 129 | 		values += "ScriptType: " + m_sScriptType + "\n";
 | 129 | 		values += L"ScriptType: " + m_sScriptType.toWString() + L"\n";
 | 
          
            | 130 | 	values += Utils::String("PackageType: ") + (long)m_iPackageType + "\n";
 | 130 | 	values += Utils::WString(L"PackageType: ") + (long)m_iPackageType + L"\n";
 | 
          
            | 131 | 	values += Utils::String("ScriptTypeNew: ") + (long)m_iScriptType + "\n";
 | 131 | 	values += Utils::WString(L"ScriptTypeNew: ") + (long)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::String("Setting: ") + (long)node->Data()->iType + "|" + node->Data()->sKey + "|" + GetSetting(node->Data()) + "\n";
 | 134 | 		values += Utils::WString(L"Setting: ") + (long)node->Data()->iType + L"|" + node->Data()->sKey.toWString() + L"|" + GetSetting(node->Data()).toWString() + 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() ) {
 | 
          
            | 137 | 		SWares *ware = wNode->Data();
 | 137 | 		SWares *ware = wNode->Data();
 | 
          
            | 138 | 		if ( wNode->Data()->iTextID > 0 )
 | 138 | 		if ( wNode->Data()->iTextID > 0 )
 | 
          
            | 139 | 			values += Utils::String("Ware: ") +Utils::WString(ware->cType).toString() + ":" + ware->iPrice + ":" + (long)ware->iSize + ":" + (long)ware->iVolumn + ":" + ware->sID.toString()+ ":" + (long)ware->iNotority + ":" + (long)ware->iTextID + "," + (long)ware->iTextPage + "\n";
 | 139 | 			values += Utils::WString(L"Ware: ") + Utils::WString(ware->cType) + L":" + ware->iPrice + L":" + (long)ware->iSize + L":" + (long)ware->iVolumn + L":" + ware->sID + L":" + (long)ware->iNotority + L":" + (long)ware->iTextID + L"," + (long)ware->iTextPage + L"\n";
 | 
          
            | 140 | 		else
 | 140 | 		else
 | 
          
            | 141 | 			values += Utils::String("Ware: ") +Utils::WString(ware->cType).toString() + ":" + ware->iPrice + ":" + (long)ware->iSize + ":" + (long)ware->iVolumn + ":" + ware->sID.toString()+ ":" + (long)ware->iNotority + "\n";
 | 141 | 			values += Utils::WString(L"Ware: ") + Utils::WString(ware->cType) + L":" + ware->iPrice + L":" + (long)ware->iSize + ":" + (long)ware->iVolumn + L":" + ware->sID + L":" + (long)ware->iNotority + L"\n";
 | 
          
            | 142 | 		for ( CListNode<SWaresText> *wtNode = ware->lText.Front(); wtNode; wtNode = wtNode->next() )
 | 142 | 		for ( CListNode<SWaresText> *wtNode = ware->lText.Front(); wtNode; wtNode = wtNode->next() )
 | 
          
            | 143 | 			values += Utils::String("WareText: ") + (long)wtNode->Data()->iLang + " " + wtNode->Data()->sName.toString() + "|"+ wtNode->Data()->sDesc.toString()+ "\n";
 | 143 | 			values += Utils::WString(L"WareText: ") + (long)wtNode->Data()->iLang + L" " + wtNode->Data()->sName + L"|" + wtNode->Data()->sDesc + L"\n";
 | 
          
            | 144 | 	}
 | 144 | 	}
 | 
          
            | 145 |  
 | 145 |  
 | 
          
            | 146 | 	return values;
 | 146 | 	return values;
 | 
          
            | 147 | }
 | 147 | }
 | 
          
            | 148 |  
 | 148 |  
 |