| Line 117... | Line 117... | 
          
            | 117 | 	{
 | 117 | 	{
 | 
          
            | 118 | 		for (auto itr = currentDirs->begin(); itr != currentDirs->end(); itr++)
 | 118 | 		for (auto itr = currentDirs->begin(); itr != currentDirs->end(); itr++)
 | 
          
            | 119 | 		{
 | 119 | 		{
 | 
          
            | 120 | 			Utils::WString data = (*itr)->data;
 | 120 | 			Utils::WString data = (*itr)->data;
 | 
          
            | 121 | 			if(data.contains(L"|"))
 | 121 | 			if(data.contains(L"|"))
 | 
          
            | 122 | 				_lDirs->pushBack(_packages->getGameRunExe((*itr)->str.toString()), data.tokens(L"|", 2));
 | 122 | 				_lDirs->pushBack(_packages->getGameRunExe((*itr)->str), data.tokens(L"|", 2));
 | 
          
            | 123 | 			else
 | 123 | 			else
 | 
          
            | 124 | 				_lDirs->pushBack(_packages->getGameRunExe((*itr)->str.toString()), data);
 | 124 | 				_lDirs->pushBack(_packages->getGameRunExe((*itr)->str), data);
 | 
          
            | 125 | 		}
 | 125 | 		}
 | 
          
            | 126 | 	}
 | 126 | 	}
 | 
          
            | 127 | 	if (removedDirs)
 | 127 | 	if (removedDirs)
 | 
          
            | 128 | 	{
 | 128 | 	{
 | 
          
            | 129 | 		for (auto itr = removedDirs->begin(); itr != removedDirs->end(); itr++)
 | 129 | 		for (auto itr = removedDirs->begin(); itr != removedDirs->end(); itr++)
 | 
          
            | 130 | 			_lRemoveDirs->pushBack(_packages->getGameRunExe((*itr)->str.toString()), (*itr)->data);
 | 130 | 			_lRemoveDirs->pushBack(_packages->getGameRunExe((*itr)->str), (*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::WStringList gameDirs;		
 | 135 | 	Utils::WStringList gameDirs;		
 | 
          
            | Line 215... | Line 215... | 
          
            | 215 | 		item->ImageIndex = iGame;
 | 215 | 		item->ImageIndex = iGame;
 | 
          
            | 216 |  
 | 216 |  
 | 
          
            | 217 | 		item->SubItems->Add(_US(s_item->data));
 | 217 | 		item->SubItems->Add(_US(s_item->data));
 | 
          
            | 218 | 		if (CFileIO::Exists(s_item->str))
 | 218 | 		if (CFileIO::Exists(s_item->str))
 | 
          
            | 219 | 		{
 | 219 | 		{
 | 
          
            | 220 | 			ListViewItem::ListViewSubItem ^i = _packages->isCurrentDir(dir.toString()) ? item->SubItems->Add("Active") : item->SubItems->Add("OK");
 | 220 | 			ListViewItem::ListViewSubItem ^i = _packages->isCurrentDir(dir) ? item->SubItems->Add("Active") : item->SubItems->Add("OK");
 | 
          
            | 221 | 			i->ForeColor = Color::Green;
 | 221 | 			i->ForeColor = Color::Green;
 | 
          
            | 222 | 			item->SubItems->Add(_US(_packages->ConvertLanguage(_packages->getGameLanguage(CFileIO(s_item->str).dir().toString()))));
 | 222 | 			item->SubItems->Add(_US(_packages->ConvertLanguage(_packages->getGameLanguage(CFileIO(s_item->str).dir()))));
 | 
          
            | 223 | 		}
 | 223 | 		}
 | 
          
            | 224 | 		else
 | 224 | 		else
 | 
          
            | 225 | 		{
 | 225 | 		{
 | 
          
            | 226 | 			ListViewItem::ListViewSubItem ^i = item->SubItems->Add("Not Found");
 | 226 | 			ListViewItem::ListViewSubItem ^i = item->SubItems->Add("Not Found");
 | 
          
            | 227 | 			i->ForeColor = Color::Red;
 | 227 | 			i->ForeColor = Color::Red;
 | 
          
            | Line 249... | Line 249... | 
          
            | 249 | 		if (CFileIO::Exists(s_item->str)) {
 | 249 | 		if (CFileIO::Exists(s_item->str)) {
 | 
          
            | 250 | 			ListViewItem ^item = gcnew ListViewItem(_US(_packages->GetGameExe()->properDir(s_item->str)));
 | 250 | 			ListViewItem ^item = gcnew ListViewItem(_US(_packages->GetGameExe()->properDir(s_item->str)));
 | 
          
            | 251 | 			int iGame = _packages->GetGameExe()->getGameType(s_item->str);
 | 251 | 			int iGame = _packages->GetGameExe()->getGameType(s_item->str);
 | 
          
            | 252 | 			item->ImageIndex = iGame;
 | 252 | 			item->ImageIndex = iGame;
 | 
          
            | 253 | 			item->SubItems->Add(_US(s_item->data));
 | 253 | 			item->SubItems->Add(_US(s_item->data));
 | 
          
            | 254 | 			item->SubItems->Add(_US(_packages->ConvertLanguage(_packages->getGameLanguage(CFileIO(s_item->str).dir().toString()))));
 | 254 | 			item->SubItems->Add(_US(_packages->ConvertLanguage(_packages->getGameLanguage(CFileIO(s_item->str).dir()))));
 | 
          
            | 255 | 			item->SubItems->Add(_US(_packages->GetGameExe()->isAddon(s_item->str) ? "Yes" : "No"));
 | 255 | 			item->SubItems->Add(_US(_packages->GetGameExe()->isAddon(s_item->str) ? "Yes" : "No"));
 | 
          
            | 256 | 			item->SubItems->Add(_US(s_item->str));
 | 256 | 			item->SubItems->Add(_US(s_item->str));
 | 
          
            | 257 | 			this->listView2->Items->Add(item);
 | 257 | 			this->listView2->Items->Add(item);
 | 
          
            | 258 | 		}
 | 258 | 		}
 | 
          
            | 259 | 	}
 | 259 | 	}
 | 
          
            | Line 262... | Line 262... | 
          
            | 262 | 		if (CFileIO::Exists(s_item->str)) {
 | 262 | 		if (CFileIO::Exists(s_item->str)) {
 | 
          
            | 263 | 			ListViewItem ^item = gcnew ListViewItem(_US(_packages->GetGameExe()->properDir(s_item->str)));
 | 263 | 			ListViewItem ^item = gcnew ListViewItem(_US(_packages->GetGameExe()->properDir(s_item->str)));
 | 
          
            | 264 | 			int iGame = _packages->GetGameExe()->getGameType(s_item->str);
 | 264 | 			int iGame = _packages->GetGameExe()->getGameType(s_item->str);
 | 
          
            | 265 | 			item->ImageIndex = iGame;
 | 265 | 			item->ImageIndex = iGame;
 | 
          
            | 266 | 			item->SubItems->Add(_US(_packages->GetGameExe()->gameName(s_item->str)));
 | 266 | 			item->SubItems->Add(_US(_packages->GetGameExe()->gameName(s_item->str)));
 | 
          
            | 267 | 			item->SubItems->Add(_US(_packages->ConvertLanguage(_packages->getGameLanguage(CFileIO(s_item->str).dir().toString()))));
 | 267 | 			item->SubItems->Add(_US(_packages->ConvertLanguage(_packages->getGameLanguage(CFileIO(s_item->str).dir()))));
 | 
          
            | 268 | 			item->SubItems->Add(_US(_packages->GetGameExe()->isAddon(s_item->str) ? "Yes" : "No"));
 | 268 | 			item->SubItems->Add(_US(_packages->GetGameExe()->isAddon(s_item->str) ? "Yes" : "No"));
 | 
          
            | 269 | 			item->SubItems->Add(_US(s_item->str));
 | 269 | 			item->SubItems->Add(_US(s_item->str));
 | 
          
            | 270 | 			this->listView2->Items->Add(item);
 | 270 | 			this->listView2->Items->Add(item);
 | 
          
            | 271 | 		}
 | 271 | 		}
 | 
          
            | 272 | 	}
 | 272 | 	}
 | 
          
            | Line 352... | Line 352... | 
          
            | 352 | 	for (int i = 0; i < this->listView1->SelectedItems->Count; ++i)
 | 352 | 	for (int i = 0; i < this->listView1->SelectedItems->Count; ++i)
 | 
          
            | 353 | 	{
 | 353 | 	{
 | 
          
            | 354 | 		String ^s = this->listView1->SelectedItems[i]->SubItems[this->listView1->SelectedItems[i]->SubItems->Count - 1]->Text;
 | 354 | 		String ^s = this->listView1->SelectedItems[i]->SubItems[this->listView1->SelectedItems[i]->SubItems->Count - 1]->Text;
 | 
          
            | 355 |  
 | 355 |  
 | 
          
            | 356 | 		Utils::WString dir = _packages->getProperDir(_WS(s));
 | 356 | 		Utils::WString dir = _packages->getProperDir(_WS(s));
 | 
          
            | 357 | 		if (_packages->isCurrentDir(dir.toString()))
 | 357 | 		if (_packages->isCurrentDir(dir))
 | 
          
            | 358 | 		{
 | 358 | 		{
 | 
          
            | 359 | 			if (MessageBox::Show(this, "The game directory: " + _US(dir) + "\nIs currently the active game directory, are you sure you want to remove it?", "Remove Game Directory", MessageBoxButtons::YesNo, MessageBoxIcon::Question) == Windows::Forms::DialogResult::No)
 | 359 | 			if (MessageBox::Show(this, "The game directory: " + _US(dir) + "\nIs currently the active game directory, are you sure you want to remove it?", "Remove Game Directory", MessageBoxButtons::YesNo, MessageBoxIcon::Question) == Windows::Forms::DialogResult::No)
 | 
          
            | 360 | 				continue;
 | 360 | 				continue;
 | 
          
            | 361 | 		}
 | 361 | 		}
 | 
          
            | 362 | 		anyDone = true;
 | 362 | 		anyDone = true;
 | 
          
            | 363 | 		_lRemoveDirs->pushBack(_S(s), _lDirs->findString(_S(s)));
 | 363 | 		_lRemoveDirs->pushBack(_WS(s), _lDirs->findString(_WS(s)));
 | 
          
            | 364 | 		_lDirs->remove(_S(s), false);
 | 364 | 		_lDirs->remove(_WS(s), false);
 | 
          
            | 365 | 	}
 | 365 | 	}
 | 
          
            | 366 |  
 | 366 |  
 | 
          
            | 367 | 	if (anyDone)
 | 367 | 	if (anyDone)
 | 
          
            | 368 | 	{
 | 368 | 	{
 | 
          
            | 369 | 		UpdateGameDirs();
 | 369 | 		UpdateGameDirs();
 | 
          
            | Line 401... | Line 401... | 
          
            | 401 | System::Void DirectoryControl::listView2_DoubleClick(System::Object^  sender, System::EventArgs^  e)
 | 401 | System::Void DirectoryControl::listView2_DoubleClick(System::Object^  sender, System::EventArgs^  e)
 | 
          
            | 402 | {
 | 402 | {
 | 
          
            | 403 | 	String ^s = this->listView2->SelectedItems[0]->SubItems[this->listView2->SelectedItems[0]->SubItems->Count - 1]->Text;
 | 403 | 	String ^s = this->listView2->SelectedItems[0]->SubItems[this->listView2->SelectedItems[0]->SubItems->Count - 1]->Text;
 | 
          
            | 404 | 	if (s && s->Length > 0)
 | 404 | 	if (s && s->Length > 0)
 | 
          
            | 405 | 	{
 | 405 | 	{
 | 
          
            | 406 | 		_lDirs->pushBack(_WS(s), _packages->GetGameExe()->gameName(_S(s)));
 | 406 | 		_lDirs->pushBack(_WS(s), _packages->GetGameExe()->gameName(_WS(s)));
 | 
          
            | 407 | 		_lFoundDirs->remove(_WS(s), false);
 | 407 | 		_lFoundDirs->remove(_WS(s), false);
 | 
          
            | 408 | 		_lRemoveDirs->remove(_WS(s), false);
 | 408 | 		_lRemoveDirs->remove(_WS(s), false);
 | 
          
            | 409 |  
 | 409 |  
 | 
          
            | 410 | 		UpdateGameDirs();
 | 410 | 		UpdateGameDirs();
 | 
          
            | 411 | 		UpdateFoundDirs();
 | 411 | 		UpdateFoundDirs();
 |