Subversion Repositories spk

Rev

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

Rev 220 Rev 224
Line 32... Line 32...
32
			bool isRemoved = m_pPackages->IsLoaded() && removed->contains(m_pPackages->getCurrentDirectory(), true);
32
			bool isRemoved = m_pPackages->IsLoaded() && removed->contains(m_pPackages->getCurrentDirectory(), true);
33
 
33
 
34
			// add all removed directories to list
34
			// add all removed directories to list
35
			m_pRemovedDirList->clear();
35
			m_pRemovedDirList->clear();
36
			for (auto itr = removed->begin(); itr != removed->end(); itr++)
36
			for (auto itr = removed->begin(); itr != removed->end(); itr++)
37
				m_pRemovedDirList->pushBack(m_pPackages->getProperDir((*itr)->str.toString()), (*itr)->data);
37
				m_pRemovedDirList->pushBack(m_pPackages->getProperDir((*itr)->str), (*itr)->data);
38
 
38
 
39
			bool changed = false;
39
			bool changed = false;
40
 
40
 
41
			Utils::WString current;
41
			Utils::WString current;
42
			if (ComboDir->SelectedIndex == (ComboDir->Items->Count - 1))
42
			if (ComboDir->SelectedIndex == (ComboDir->Items->Count - 1))
Line 56... Line 56...
56
			}
56
			}
57
 
57
 
58
			// now add any remaining directories
58
			// now add any remaining directories
59
			for (auto itr = dirs->begin(); itr != dirs->end(); itr++)
59
			for (auto itr = dirs->begin(); itr != dirs->end(); itr++)
60
			{
60
			{
61
				Utils::WString dir = m_pPackages->getProperDir((*itr)->str.toString());
61
				Utils::WString dir = m_pPackages->getProperDir((*itr)->str);
62
				if (!m_pDirList->contains(dir))
62
				if (!m_pDirList->contains(dir))
63
				{
63
				{
64
					int lang = m_pPackages->getGameLanguage(dir.toString());
64
					int lang = m_pPackages->getGameLanguage(dir);
65
					if(lang > 0)
65
					if(lang > 0)
66
						m_pDirList->pushBack(dir, Utils::WString::Number(lang) + L"|" + (*itr)->data);
66
						m_pDirList->pushBack(dir, Utils::WString::Number(lang) + L"|" + (*itr)->data);
67
					else
67
					else
68
						m_pDirList->pushBack(dir, (*itr)->data);
68
						m_pDirList->pushBack(dir, (*itr)->data);
69
					changed = true;
69
					changed = true;
Line 592... Line 592...
592
		bool errored = false;
592
		bool errored = false;
593
 
593
 
594
		if ( file->Length )
594
		if ( file->Length )
595
		{
595
		{
596
			int error = INSTALLERR_NONE;
596
			int error = INSTALLERR_NONE;
597
			CBaseFile *package = m_pPackages->openPackage(_S(file), &error, 0, SPKREAD_NODATA, READFLAG_NOUNCOMPRESS);
597
			CBaseFile *package = m_pPackages->openPackage(_WS(file), &error, 0, SPKREAD_NODATA, READFLAG_NOUNCOMPRESS);
598
			if ( error == INSTALLERR_NOMULTI )
598
			if ( error == INSTALLERR_NOMULTI )
599
			{
599
			{
600
				CLinkList<CBaseFile> erroredList;
600
				CLinkList<CBaseFile> erroredList;
601
				m_pPackages->prepareMultiPackage(_S(file), &erroredList, &error, 0);
601
				m_pPackages->prepareMultiPackage(_WS(file), &erroredList, &error, 0);
602
				if ( erroredList.size() )
602
				if ( erroredList.size() )
603
				{
603
				{
604
					System::String ^modified;
604
					System::String ^modified;
605
					for ( CBaseFile *p = erroredList.First(); p; p = erroredList.Next() )
605
					for ( CBaseFile *p = erroredList.First(); p; p = erroredList.Next() )
606
					{
606
					{
Line 897... Line 897...
897
			m_lAvailablePackages->clear();
897
			m_lAvailablePackages->clear();
898
		if (!m_lAvailablePackages)
898
		if (!m_lAvailablePackages)
899
			m_lAvailablePackages = new CLinkList<CBaseFile>;
899
			m_lAvailablePackages = new CLinkList<CBaseFile>;
900
 
900
 
901
		String ^curDir = System::IO::FileInfo(System::Windows::Forms::Application::ExecutablePath).DirectoryName;
901
		String ^curDir = System::IO::FileInfo(System::Windows::Forms::Application::ExecutablePath).DirectoryName;
902
		m_pPackages->updateFoundPackages(_S(curDir));
902
		m_pPackages->updateFoundPackages(_WS(curDir));
903
 
903
 
904
		// find packages from registry key
904
		// find packages from registry key
905
		RegistryKey ^searchKey = Registry::CurrentUser->OpenSubKey("Software\\Egosoft\\SuperBox");
905
		RegistryKey ^searchKey = Registry::CurrentUser->OpenSubKey("Software\\Egosoft\\SuperBox");
906
		if (searchKey)
906
		if (searchKey)
907
		{
907
		{
908
			String ^dir = System::Convert::ToString(searchKey->GetValue("Addons"));
908
			String ^dir = System::Convert::ToString(searchKey->GetValue("Addons"));
909
			if (dir)
909
			if (dir)
910
				m_pPackages->addFoundPackages(_S(dir));
910
				m_pPackages->addFoundPackages(_WS(dir));
911
		}
911
		}
912
 
912
 
913
		// find packages from DVD
913
		// find packages from DVD
914
		cli::array<IO::DriveInfo ^> ^Drives = IO::DriveInfo::GetDrives();
914
		cli::array<IO::DriveInfo ^> ^Drives = IO::DriveInfo::GetDrives();
915
		if (Drives)
915
		if (Drives)
Line 918... Line 918...
918
			{
918
			{
919
				IO::DriveInfo ^info = Drives[i];
919
				IO::DriveInfo ^info = Drives[i];
920
				if (info->DriveType != IO::DriveType::CDRom)
920
				if (info->DriveType != IO::DriveType::CDRom)
921
					continue;
921
					continue;
922
				if (info->IsReady)
922
				if (info->IsReady)
923
					m_pPackages->addFoundPackages(_S(info->RootDirectory + "XPluginManager"));
923
					m_pPackages->addFoundPackages(_WS(info->RootDirectory + "XPluginManager"));
924
			}
924
			}
925
		}
925
		}
926
 
926
 
927
		for (auto p = m_pPackages->getFoundPackageList()->First(); p; p = m_pPackages->getFoundPackageList()->Next())
927
		for (auto p = m_pPackages->getFoundPackageList()->First(); p; p = m_pPackages->getFoundPackageList()->Next())
928
			m_lAvailablePackages->push_back(p);
928
			m_lAvailablePackages->push_back(p);
Line 1158... Line 1158...
1158
			//if ( m_iSaveGameManager == 1 )
1158
			//if ( m_iSaveGameManager == 1 )
1159
				//m_pPackages->RestoreSaves();
1159
				//m_pPackages->RestoreSaves();
1160
			m_pPackages->UpdatePackages();
1160
			m_pPackages->UpdatePackages();
1161
			m_pPackages->ReadGameLanguage(true);
1161
			m_pPackages->ReadGameLanguage(true);
1162
			System::String ^mod = PluginManager::ReadRegistryValue(m_pPackages->getModKey());
1162
			System::String ^mod = PluginManager::ReadRegistryValue(m_pPackages->getModKey());
1163
			m_pPackages->setMod(_S(mod));
1163
			m_pPackages->setMod(_WS(mod));
1164
			if(m_lAvailablePackages)
1164
			if(m_lAvailablePackages)
1165
				m_lAvailablePackages->clear();
1165
				m_lAvailablePackages->clear();
1166
			this->FindPackages();
1166
			this->FindPackages();
1167
		}
1167
		}
1168
		else
1168
		else
Line 1176... Line 1176...
1176
	{
1176
	{
1177
		if ( !item )
1177
		if ( !item )
1178
			return NULL;
1178
			return NULL;
1179
 
1179
 
1180
		System::String ^sNum = System::Convert::ToString(item->Tag);
1180
		System::String ^sNum = System::Convert::ToString(item->Tag);
1181
		int iNum = _S(sNum).toInt();
1181
		int iNum = _WS(sNum).toInt();
1182
 
1182
 
1183
		CBaseFile *p = m_pPackages->GetPackageAt(iNum);
1183
		CBaseFile *p = m_pPackages->GetPackageAt(iNum);
1184
		return p;
1184
		return p;
1185
	}
1185
	}
1186
 
1186
 
Line 1717... Line 1717...
1717
			}
1717
			}
1718
		}
1718
		}
1719
		else if (ComboDir->SelectedIndex >= 0)
1719
		else if (ComboDir->SelectedIndex >= 0)
1720
		{
1720
		{
1721
			Utils::WString dir = m_pDirList->get(ComboDir->SelectedIndex)->str;
1721
			Utils::WString dir = m_pDirList->get(ComboDir->SelectedIndex)->str;
1722
			if (!m_pPackages->isCurrentDir(dir.toString()))
1722
			if (!m_pPackages->isCurrentDir(dir))
1723
			{
1723
			{
1724
				this->Enabled = false;
1724
				this->Enabled = false;
1725
				ProgressBar->Show();
1725
				ProgressBar->Show();
1726
				this->CheckUnusedShared();
1726
				this->CheckUnusedShared();
1727
				this->StartBackground(MGUI_BACKGROUND_CHANGEDIR, _US(dir));
1727
				this->StartBackground(MGUI_BACKGROUND_CHANGEDIR, _US(dir));
Line 1750... Line 1750...
1750
				break;
1750
				break;
1751
			case MGUI_BACKGROUND_CLOSEDIR:
1751
			case MGUI_BACKGROUND_CLOSEDIR:
1752
				this->CloseCurrentDirectory();
1752
				this->CloseCurrentDirectory();
1753
				break;
1753
				break;
1754
			case MGUI_BACKGROUND_CHANGEDIR:
1754
			case MGUI_BACKGROUND_CHANGEDIR:
1755
				this->ChangeDirectory(_S(m_sBackgroundInfo));
1755
				this->ChangeDirectory(_WS(m_sBackgroundInfo));
1756
				break;
1756
				break;
1757
		}
1757
		}
1758
	}
1758
	}
1759
 
1759
 
1760
	void MainGui::Background_Finished()
1760
	void MainGui::Background_Finished()
Line 1796... Line 1796...
1796
						m_pDirList->remove(dir, false);
1796
						m_pDirList->remove(dir, false);
1797
						m_pDirList->pushFront(dir, data);
1797
						m_pDirList->pushFront(dir, data);
1798
					}
1798
					}
1799
					else
1799
					else
1800
					{
1800
					{
1801
						int lang = m_pPackages->getGameLanguage(dir.toString());
1801
						int lang = m_pPackages->getGameLanguage(dir);
1802
						if ( lang )
1802
						if ( lang )
1803
							m_pDirList->pushFront(dir, Utils::WString::Number(lang) + L"|" + m_pPackages->getGameName(dir));
1803
							m_pDirList->pushFront(dir, Utils::WString::Number(lang) + L"|" + m_pPackages->getGameName(dir));
1804
						else
1804
						else
1805
							m_pDirList->pushFront(dir, m_pPackages->getGameName(dir));
1805
							m_pDirList->pushFront(dir, m_pPackages->getGameName(dir));
1806
					}
1806
					}