| Line 130... | Line 130... | 
          
            | 130 | 			_lRemoveDirs->pushBack(_packages->getGameRunExe((*itr)->str.toString()), (*itr)->data);
 | 130 | 			_lRemoveDirs->pushBack(_packages->getGameRunExe((*itr)->str.toString()), (*itr)->data);
 | 
          
            | 131 | 	}
 | 131 | 	}
 | 
          
            | 132 |  
 | 132 |  
 | 
          
            | 133 | 	// find other dirs
 | 133 | 	// find other dirs
 | 
          
            | 134 | 	System::String ^progfile = Environment::GetFolderPath(Environment::SpecialFolder::ProgramFiles);
 | 134 | 	System::String ^progfile = Environment::GetFolderPath(Environment::SpecialFolder::ProgramFiles);
 | 
          
            | 135 | 	Utils::CStringListgameDirs;
 | 135 | 	Utils::WStringList gameDirs;		
 | 
          
            | 136 | 	gameDirs.pushBack("HKCU\\Software\\Deepsilver\\X2 The Threat", "INSTALL_DIR");
 | 136 | 	gameDirs.pushBack(L"HKCU\\Software\\Deepsilver\\X2 The Threat", L"INSTALL_DIR");
 | 
          
            | 137 | 	gameDirs.pushBack("HKCU\\Software\\Deepsilver\\X3 Reunion", "INSTALL_DIR");
 | 137 | 	gameDirs.pushBack(L"HKCU\\Software\\Deepsilver\\X3 Reunion", L"INSTALL_DIR");
 | 
          
            | 138 | 	gameDirs.pushBack("HKCU\\Software\\Egosoft\\X3TC", "INSTALL_DIR");
 | 138 | 	gameDirs.pushBack(L"HKCU\\Software\\Egosoft\\X3TC", L"INSTALL_DIR");
 | 
          
            | 139 | 	gameDirs.pushBack("Steam\\x2 - the threat");
 | 139 | 	gameDirs.pushBack(L"Steam\\x2 - the threat");
 | 
          
            | 140 | 	gameDirs.pushBack("Steam\\x3 - reunion");
 | 140 | 	gameDirs.pushBack(L"Steam\\x3 - reunion");
 | 
          
            | 141 | 	gameDirs.pushBack("Steam\\x3 terran conflict");
 | 141 | 	gameDirs.pushBack(L"Steam\\x3 terran conflict");
 | 
          
            | 142 | 	// some custom directories to look for
 | 142 | 	// some custom directories to look for
 | 
          
            | 143 | 	gameDirs.pushBack("%PROGRAMFILES%\\Egosoft\\X2 The Threat");
 | 143 | 	gameDirs.pushBack(L"%PROGRAMFILES%\\Egosoft\\X2 The Threat");
 | 
          
            | 144 | 	gameDirs.pushBack("%PROGRAMFILES%\\Egosoft\\X3 Reunion");
 | 144 | 	gameDirs.pushBack(L"%PROGRAMFILES%\\Egosoft\\X3 Reunion");
 | 
          
            | 145 | 	gameDirs.pushBack("%PROGRAMFILES%\\Egosoft\\X3 Terran Conflict");
 | 145 | 	gameDirs.pushBack(L"%PROGRAMFILES%\\Egosoft\\X3 Terran Conflict");
 | 
          
            | 146 | 	gameDirs.pushBack("C:\\Games\\X2");
 | 146 | 	gameDirs.pushBack(L"C:\\Games\\X2");
 | 
          
            | 147 | 	gameDirs.pushBack("C:\\Games\\X3");
 | 147 | 	gameDirs.pushBack(L"C:\\Games\\X3");
 | 
          
            | 148 | 	gameDirs.pushBack("C:\\Games\\X3TC");
 | 148 | 	gameDirs.pushBack(L"C:\\Games\\X3TC");
 | 
          
            | 149 | 	gameDirs.pushBack("D:\\Games\\X2");
 | 149 | 	gameDirs.pushBack(L"D:\\Games\\X2");
 | 
          
            | 150 | 	gameDirs.pushBack("D:\\Games\\X3");
 | 150 | 	gameDirs.pushBack(L"D:\\Games\\X3");
 | 
          
            | 151 | 	gameDirs.pushBack("D:\\Games\\X3TC");	
 | 151 | 	gameDirs.pushBack(L"D:\\Games\\X3TC");	
 | 
          
            | 152 | 	for (Utils::SStringList*strNode = gameDirs.first(); strNode; strNode = gameDirs.next())
 | 152 | 	for (Utils::WStringNode *strNode = gameDirs.first(); strNode; strNode = gameDirs.next())
 | 
          
            | 153 | 	{
 | 153 | 	{
 | 
          
            | 154 | 		Utils::StringsFirst = strNode->str.token("\\", 1);
 | 154 | 		Utils::WString sFirst = strNode->str.token(L"\\", 1);
 | 
          
            | 155 | 		Utils::StringsRest = strNode->str.tokens("\\", 2);
 | 155 | 		Utils::WString sRest = strNode->str.tokens(L"\\", 2);
 | 
          
            | 156 |  
 | 156 |  
 | 
          
            | 157 | 		if (sFirst.Compare("HKCU") || sFirst.Compare("HKLM"))
 | 157 | 		if (sFirst.Compare(L"HKCU") || sFirst.Compare(L"HKLM"))
 | 
          
            | 158 | 		{
 | 158 | 		{
 | 
          
            | 159 | 			RegistryKey ^searchKey = nullptr;
 | 159 | 			RegistryKey ^searchKey = nullptr;
 | 
          
            | 160 | 			if (sFirst.Compare("HKCU"))
 | 160 | 			if (sFirst.Compare(L"HKCU"))
 | 
          
            | 161 | 				searchKey = Registry::CurrentUser->OpenSubKey(_US(sRest));
 | 161 | 				searchKey = Registry::CurrentUser->OpenSubKey(_US(sRest));
 | 
          
            | 162 | 			else if (sFirst.Compare("HKLM"))
 | 162 | 			else if (sFirst.Compare(L"HKLM"))
 | 
          
            | 163 | 				searchKey = Registry::LocalMachine->OpenSubKey(_US(sRest));
 | 163 | 				searchKey = Registry::LocalMachine->OpenSubKey(_US(sRest));
 | 
          
            | 164 |  
 | 164 |  
 | 
          
            | 165 | 			if (searchKey)
 | 165 | 			if (searchKey)
 | 
          
            | 166 | 			{
 | 166 | 			{
 | 
          
            | 167 | 				System::String ^regRead = System::Convert::ToString(searchKey->GetValue(_US(strNode->data)));
 | 167 | 				System::String ^regRead = System::Convert::ToString(searchKey->GetValue(_US(strNode->data)));
 | 
          
            | Line 178... | Line 178... | 
          
            | 178 | 				if (regRead)
 | 178 | 				if (regRead)
 | 
          
            | 179 | 				{
 | 179 | 				{
 | 
          
            | 180 | 					Utils::WString steamDir = _WS(regRead);
 | 180 | 					Utils::WString steamDir = _WS(regRead);
 | 
          
            | 181 | 					if (!steamDir.empty())
 | 181 | 					if (!steamDir.empty())
 | 
          
            | 182 | 					{
 | 182 | 					{
 | 
          
            | 183 | 						Utils::WString dir = steamDir + L"\\steamapps\\common\\" + sRest.toWString();
 | 183 | 						Utils::WString dir = steamDir + L"\\steamapps\\common\\" + sRest;
 | 
          
            | 184 | 						AddFoundDir(_packages->GetGameExe()->gameRunExe(dir.findReplace(L"\\", L"/").findReplace(L"//", L"/")));
 | 184 | 						AddFoundDir(_packages->GetGameExe()->gameRunExe(dir.findReplace(L"\\", L"/").findReplace(L"//", L"/")));
 | 
          
            | 185 | 					}
 | 185 | 					}
 | 
          
            | 186 | 				}
 | 186 | 				}
 | 
          
            | 187 | 			}
 | 187 | 			}
 | 
          
            | 188 | 		}
 | 188 | 		}
 |