Line 322... |
Line 322... |
322 |
aNames[i] = SystemStringFromCyString(((CSpkFile *)p)->GetScriptTypeString(m_pPackages->GetLanguage()));
|
322 |
aNames[i] = SystemStringFromCyString(((CSpkFile *)p)->GetScriptTypeString(m_pPackages->GetLanguage()));
|
323 |
else
|
323 |
else
|
324 |
aNames[i] = "";
|
324 |
aNames[i] = "";
|
325 |
}
|
325 |
}
|
326 |
else
|
326 |
else
|
327 |
aNames[i] = SystemStringFromCyString(p->GetLanguageName(m_pPackages->GetLanguage()))->ToLower();
|
327 |
aNames[i] = _US(p->getLanguageName(m_pPackages->GetLanguage()))->ToLower();
|
328 |
}
|
328 |
}
|
329 |
|
329 |
|
330 |
Array::Sort(aNames, aPackages);
|
330 |
Array::Sort(aNames, aPackages);
|
331 |
|
331 |
|
332 |
// now display
|
332 |
// now display
|
Line 335... |
Line 335... |
335 |
CBaseFile *p = (m_bSortingAsc) ? aPackages[i]->Package : aPackages[(aPackages->Length - 1 - i)]->Package;
|
335 |
CBaseFile *p = (m_bSortingAsc) ? aPackages[i]->Package : aPackages[(aPackages->Length - 1 - i)]->Package;
|
336 |
Utils::String name;
|
336 |
Utils::String name;
|
337 |
if ( p->GetType() == TYPE_ARCHIVE )
|
337 |
if ( p->GetType() == TYPE_ARCHIVE )
|
338 |
name = CFileIO(p->filename()).filename();
|
338 |
name = CFileIO(p->filename()).filename();
|
339 |
else
|
339 |
else
|
340 |
name = p->GetLanguageName(m_pPackages->GetLanguage()).ToString();
|
340 |
name = p->getLanguageName(m_pPackages->GetLanguage());
|
341 |
|
341 |
|
342 |
int indent = 0;
|
342 |
int indent = 0;
|
343 |
CBaseFile *parent = p;
|
343 |
CBaseFile *parent = p;
|
344 |
|
344 |
|
345 |
if ( p->GetParent() && p->GetParent()->GetType() == TYPE_SPK && ((CSpkFile *)p->GetParent())->IsLibrary() )
|
345 |
if ( p->GetParent() && p->GetParent()->GetType() == TYPE_SPK && ((CSpkFile *)p->GetParent())->IsLibrary() )
|
Line 428... |
Line 428... |
428 |
}
|
428 |
}
|
429 |
item->Group->Header = SystemStringFromCyString(groupName);
|
429 |
item->Group->Header = SystemStringFromCyString(groupName);
|
430 |
|
430 |
|
431 |
// get the icon
|
431 |
// get the icon
|
432 |
item->ImageIndex = -1;
|
432 |
item->ImageIndex = -1;
|
433 |
if ( p->GetIcon() )
|
433 |
if ( p->icon() )
|
434 |
PluginManager::DisplayListIcon(p, ListPackages, item);
|
434 |
PluginManager::DisplayListIcon(p, ListPackages, item);
|
435 |
|
435 |
|
436 |
if ( item->ImageIndex == -1 )
|
436 |
if ( item->ImageIndex == -1 )
|
437 |
{
|
437 |
{
|
438 |
if ( p->GetType() == TYPE_XSP )
|
438 |
if ( p->GetType() == TYPE_XSP )
|
Line 607... |
Line 607... |
607 |
for ( CBaseFile *p = erroredList.First(); p; p = erroredList.Next() )
|
607 |
for ( CBaseFile *p = erroredList.First(); p; p = erroredList.Next() )
|
608 |
{
|
608 |
{
|
609 |
p->SetOverrideFiles(builtin);
|
609 |
p->SetOverrideFiles(builtin);
|
610 |
if ( m_pPackages->PrepareInstallPackage(p, false, false, IC_MODIFIED) != INSTALLCHECK_OK )
|
610 |
if ( m_pPackages->PrepareInstallPackage(p, false, false, IC_MODIFIED) != INSTALLCHECK_OK )
|
611 |
{
|
611 |
{
|
612 |
modified += SystemStringFromCyString(p->GetFullPackageName(m_pPackages->GetLanguage()));
|
612 |
modified += _US(p->getFullPackageName(m_pPackages->GetLanguage()));
|
613 |
modified += "\n";
|
613 |
modified += "\n";
|
614 |
errored = true;
|
614 |
errored = true;
|
615 |
}
|
615 |
}
|
616 |
}
|
616 |
}
|
617 |
|
617 |
|
Line 666... |
Line 666... |
666 |
this->DisplayMessageBox(false, "No Ships", "Ships are not supported for " + SystemStringFromCyString(m_pPackages->GetGameName()), MessageBoxButtons::OK, MessageBoxIcon::Stop);
|
666 |
this->DisplayMessageBox(false, "No Ships", "Ships are not supported for " + SystemStringFromCyString(m_pPackages->GetGameName()), MessageBoxButtons::OK, MessageBoxIcon::Stop);
|
667 |
errored = true;
|
667 |
errored = true;
|
668 |
}
|
668 |
}
|
669 |
else if ( m_pPackages->PrepareInstallPackage(package, false, false, IC_MODIFIED) != INSTALLCHECK_OK )
|
669 |
else if ( m_pPackages->PrepareInstallPackage(package, false, false, IC_MODIFIED) != INSTALLCHECK_OK )
|
670 |
{
|
670 |
{
|
671 |
this->DisplayMessageBox(false, "Installing", "Currently in Vanilla Mode, Package is not an Vanilla Package\n" + SystemStringFromCyString(package->GetLanguageName(m_pPackages->GetLanguage())) + "\n\nSwitch to modified mode if you wish to install this package", MessageBoxButtons::OK, MessageBoxIcon::Question);
|
671 |
this->DisplayMessageBox(false, "Installing", "Currently in Vanilla Mode, Package is not an Vanilla Package\n" + _US(package->getLanguageName(m_pPackages->GetLanguage())) + "\n\nSwitch to modified mode if you wish to install this package", MessageBoxButtons::OK, MessageBoxIcon::Question);
|
672 |
errored = true;
|
672 |
errored = true;
|
673 |
}
|
673 |
}
|
674 |
}
|
674 |
}
|
675 |
|
675 |
|
676 |
// check for compatabilities
|
676 |
// check for compatabilities
|
Line 678... |
Line 678... |
678 |
int compat = m_pPackages->CheckCompatabilityAgainstPackages(package, NULL, &packages);
|
678 |
int compat = m_pPackages->CheckCompatabilityAgainstPackages(package, NULL, &packages);
|
679 |
if ( compat )
|
679 |
if ( compat )
|
680 |
{
|
680 |
{
|
681 |
String ^message = "\nConflicts with:\n";
|
681 |
String ^message = "\nConflicts with:\n";
|
682 |
for ( CBaseFile *p = packages.First(); p; p = packages.Next() )
|
682 |
for ( CBaseFile *p = packages.First(); p; p = packages.Next() )
|
683 |
message += SystemStringFromCyString(p->GetFullPackageName(m_pPackages->GetLanguage())) + "\n";
|
683 |
message += _US(p->getFullPackageName(m_pPackages->GetLanguage())) + "\n";
|
684 |
|
684 |
|
685 |
if ( MessageBox::Show(this, SystemStringFromCyString(package->GetFullPackageName(m_pPackages->GetLanguage())) + ":\nIncompatabilities found with installed fake patches\n" + message + "\n\nDo you still wish to install?", "Packages Incompatable", MessageBoxButtons::YesNo, MessageBoxIcon::Warning) != Windows::Forms::DialogResult::Yes )
|
685 |
if ( MessageBox::Show(this, _US(package->getFullPackageName(m_pPackages->GetLanguage())) + ":\nIncompatabilities found with installed fake patches\n" + message + "\n\nDo you still wish to install?", "Packages Incompatable", MessageBoxButtons::YesNo, MessageBoxIcon::Warning) != Windows::Forms::DialogResult::Yes )
|
686 |
{
|
686 |
{
|
687 |
m_pPackages->RemovePreparedInstall(package);
|
687 |
m_pPackages->RemovePreparedInstall(package);
|
688 |
errored = true;
|
688 |
errored = true;
|
689 |
}
|
689 |
}
|
690 |
}
|
690 |
}
|
Line 720... |
Line 720... |
720 |
CLinkList<CBaseFile> packageList;
|
720 |
CLinkList<CBaseFile> packageList;
|
721 |
CLinkList<CBaseFile> disableList;
|
721 |
CLinkList<CBaseFile> disableList;
|
722 |
|
722 |
|
723 |
if ( m_pPackages->UninstallPreparedPackages(m_pFileErrors, 0, &packageList, &disableList) )
|
723 |
if ( m_pPackages->UninstallPreparedPackages(m_pFileErrors, 0, &packageList, &disableList) )
|
724 |
{
|
724 |
{
|
725 |
CyString sDisplay;
|
725 |
Utils::String sDisplay;
|
726 |
CyString sAfterText;
|
726 |
Utils::String sAfterText;
|
727 |
for ( CBaseFile *p = packageList.First(); p; p = packageList.Next() )
|
727 |
for ( CBaseFile *p = packageList.First(); p; p = packageList.Next() )
|
728 |
{
|
728 |
{
|
729 |
sAfterText = m_pPackages->GetUninstallAfterText(p);
|
729 |
sAfterText = m_pPackages->GetUninstallAfterText(p).ToString();
|
730 |
m_pPi->AddPackageWithGroup(SystemStringFromCyString(p->GetLanguageName(m_pPackages->GetLanguage())), _US(p->author()), _US(p->version()), (sAfterText.Empty() ? "Uninstalled" : SystemStringFromCyString(sAfterText)), "Uninstalled");
|
730 |
m_pPi->AddPackageWithGroup(_US(p->getLanguageName(m_pPackages->GetLanguage())), _US(p->author()), _US(p->version()), (sAfterText.empty() ? "Uninstalled" : SystemStringFromCyString(sAfterText)), "Uninstalled");
|
731 |
sDisplay = p->GetFullPackageName(m_pPackages->GetLanguage());
|
731 |
sDisplay = p->getFullPackageName(m_pPackages->GetLanguage());
|
732 |
delete p;
|
732 |
delete p;
|
733 |
}
|
733 |
}
|
734 |
for ( CBaseFile *p = disableList.First(); p; p = disableList.Next() )
|
734 |
for ( CBaseFile *p = disableList.First(); p; p = disableList.Next() )
|
735 |
m_pPi->AddPackageWithGroup(SystemStringFromCyString(p->GetLanguageName(m_pPackages->GetLanguage())), _US(p->author()), _US(p->version()), "Disabled", "Dependants Disabled");
|
735 |
m_pPi->AddPackageWithGroup(_US(p->getLanguageName(m_pPackages->GetLanguage())), _US(p->author()), _US(p->version()), "Disabled", "Dependants Disabled");
|
736 |
packageList.clear();
|
736 |
packageList.clear();
|
737 |
|
737 |
|
738 |
if ( m_pPi->PackageCount() == 1 )
|
738 |
if ( m_pPi->PackageCount() == 1 )
|
739 |
{
|
739 |
{
|
740 |
if ( sAfterText.Empty() )
|
740 |
if ( sAfterText.empty() )
|
741 |
this->DisplayMessageBox(true, "Uninstalled", "Package Uninstalled\n" + SystemStringFromCyString(sDisplay), MessageBoxButtons::OK, MessageBoxIcon::Information);
|
741 |
this->DisplayMessageBox(true, "Uninstalled", "Package Uninstalled\n" + _US(sDisplay), MessageBoxButtons::OK, MessageBoxIcon::Information);
|
742 |
else
|
742 |
else
|
743 |
this->DisplayMessageBox(true, "Uninstalled", "Package Uninstalled\n" + SystemStringFromCyString(sDisplay) + "\n\n" + SystemStringFromCyString(sAfterText), MessageBoxButtons::OK, MessageBoxIcon::Information);
|
743 |
this->DisplayMessageBox(true, "Uninstalled", "Package Uninstalled\n" + _US(sDisplay) + "\n\n" + _US(sAfterText), MessageBoxButtons::OK, MessageBoxIcon::Information);
|
744 |
}
|
744 |
}
|
745 |
else
|
745 |
else
|
746 |
m_bDisplayDialog = true;
|
746 |
m_bDisplayDialog = true;
|
747 |
}
|
747 |
}
|
748 |
else
|
748 |
else
|
Line 760... |
Line 760... |
760 |
{
|
760 |
{
|
761 |
if ( m_pPackages->DisablePreparedPackages(0, 0, &packageList) )
|
761 |
if ( m_pPackages->DisablePreparedPackages(0, 0, &packageList) )
|
762 |
{
|
762 |
{
|
763 |
for ( CBaseFile *p = packageList.First(); p; p = packageList.Next() )
|
763 |
for ( CBaseFile *p = packageList.First(); p; p = packageList.Next() )
|
764 |
{
|
764 |
{
|
765 |
m_pPi->AddPackageWithGroup(SystemStringFromCyString(p->GetLanguageName(m_pPackages->GetLanguage())), _US(p->author()), _US(p->version()), "Disabled", "Disabled Packages");
|
765 |
m_pPi->AddPackageWithGroup(_US(p->getLanguageName(m_pPackages->GetLanguage())), _US(p->author()), _US(p->version()), "Disabled", "Disabled Packages");
|
766 |
display = "Package Disabled\n\n" + SystemStringFromCyString(p->GetFullPackageName(m_pPackages->GetLanguage()));
|
766 |
display = "Package Disabled\n\n" + _US(p->getFullPackageName(m_pPackages->GetLanguage()));
|
767 |
}
|
767 |
}
|
768 |
}
|
768 |
}
|
769 |
else
|
769 |
else
|
770 |
this->DisplayMessageBox(true, "Disable Error", "Error Disabling packages", MessageBoxButtons::OK, MessageBoxIcon::Stop);
|
770 |
this->DisplayMessageBox(true, "Disable Error", "Error Disabling packages", MessageBoxButtons::OK, MessageBoxIcon::Stop);
|
771 |
}
|
771 |
}
|
Line 775... |
Line 775... |
775 |
{
|
775 |
{
|
776 |
if ( m_pPackages->EnablePreparedPackages(0, 0, &packageList) )
|
776 |
if ( m_pPackages->EnablePreparedPackages(0, 0, &packageList) )
|
777 |
{
|
777 |
{
|
778 |
for ( CBaseFile *p = packageList.First(); p; p = packageList.Next() )
|
778 |
for ( CBaseFile *p = packageList.First(); p; p = packageList.Next() )
|
779 |
{
|
779 |
{
|
780 |
m_pPi->AddPackageWithGroup(SystemStringFromCyString(p->GetLanguageName(m_pPackages->GetLanguage())), _US(p->author()), _US(p->version()), "Enabled", "Enable Packages");
|
780 |
m_pPi->AddPackageWithGroup(_US(p->getLanguageName(m_pPackages->GetLanguage())), _US(p->author()), _US(p->version()), "Enabled", "Enable Packages");
|
781 |
display = "Package Enabled\n\n" + SystemStringFromCyString(p->GetFullPackageName(m_pPackages->GetLanguage()));
|
781 |
display = "Package Enabled\n\n" + _US(p->getFullPackageName(m_pPackages->GetLanguage()));
|
782 |
}
|
782 |
}
|
783 |
}
|
783 |
}
|
784 |
else
|
784 |
else
|
785 |
this->DisplayMessageBox(true, "Enable Error", "Error Enabling packages", MessageBoxButtons::OK, MessageBoxIcon::Stop);
|
785 |
this->DisplayMessageBox(true, "Enable Error", "Error Enabling packages", MessageBoxButtons::OK, MessageBoxIcon::Stop);
|
786 |
}
|
786 |
}
|
Line 802... |
Line 802... |
802 |
if ( !builtin )
|
802 |
if ( !builtin )
|
803 |
{
|
803 |
{
|
804 |
if ( installedPackages.size() == 1 && erroredPackages.size() == 0 )
|
804 |
if ( installedPackages.size() == 1 && erroredPackages.size() == 0 )
|
805 |
{
|
805 |
{
|
806 |
CBaseFile *p = installedPackages.Front()->Data();
|
806 |
CBaseFile *p = installedPackages.Front()->Data();
|
807 |
CyString packageName = p->GetFullPackageName(m_pPackages->GetLanguage());
|
807 |
Utils::String packageName = p->getFullPackageName(m_pPackages->GetLanguage());
|
808 |
CyString afterText = m_pPackages->GetInstallAfterText(p);
|
808 |
Utils::String afterText = m_pPackages->GetInstallAfterText(p).ToString();
|
809 |
if ( afterText.Empty() )
|
809 |
if (afterText.empty())
|
810 |
this->DisplayMessageBox(frombackground, "Installed", "Package: " + SystemStringFromCyString(packageName) + " installed!\n\n", MessageBoxButtons::OK, MessageBoxIcon::Information);
|
810 |
this->DisplayMessageBox(frombackground, "Installed", "Package: " + _US(packageName) + " installed!\n\n", MessageBoxButtons::OK, MessageBoxIcon::Information);
|
811 |
else
|
811 |
else
|
812 |
{
|
812 |
{
|
813 |
afterText.StripHTML();
|
813 |
afterText = afterText.stripHtml();
|
814 |
this->DisplayMessageBox(frombackground, "Installed", "Package: " + SystemStringFromCyString(packageName) + " installed!\n\n" + SystemStringFromCyString(afterText), MessageBoxButtons::OK, MessageBoxIcon::Information);
|
814 |
this->DisplayMessageBox(frombackground, "Installed", "Package: " + _US(packageName) + " installed!\n\n" + _US(afterText), MessageBoxButtons::OK, MessageBoxIcon::Information);
|
815 |
}
|
815 |
}
|
816 |
}
|
816 |
}
|
817 |
else
|
817 |
else
|
818 |
{
|
818 |
{
|
819 |
m_pPi = gcnew PackageInstalled("Packages Installed");
|
819 |
m_pPi = gcnew PackageInstalled("Packages Installed");
|
820 |
|
820 |
|
821 |
CyStringList packages;
|
821 |
CyStringList packages;
|
822 |
for ( CListNode<CBaseFile> *node = installedPackages.Front(); node; node = node->next() )
|
822 |
for ( CListNode<CBaseFile> *node = installedPackages.Front(); node; node = node->next() )
|
823 |
{
|
823 |
{
|
824 |
CBaseFile *p = node->Data();
|
824 |
CBaseFile *p = node->Data();
|
825 |
CyString packageName = p->GetFullPackageName(m_pPackages->GetLanguage());
|
825 |
Utils::String packageName = p->getFullPackageName(m_pPackages->GetLanguage());
|
826 |
CyString afterText = m_pPackages->GetInstallAfterText(p);
|
826 |
Utils::String afterText = m_pPackages->GetInstallAfterText(p).ToString();
|
827 |
|
827 |
|
828 |
if ( afterText.Empty() )
|
828 |
if (afterText.empty())
|
829 |
afterText = "Installed";
|
829 |
afterText = "Installed";
|
830 |
m_pPi->AddPackage(SystemStringFromCyString(packageName), _US(p->author()), _US(p->version()), SystemStringFromCyString(afterText));
|
830 |
m_pPi->AddPackage(_US(packageName), _US(p->author()), _US(p->version()), _US(afterText));
|
831 |
}
|
831 |
}
|
832 |
for ( CListNode<CBaseFile> *node = erroredPackages.Front(); node; node = node->next() )
|
832 |
for ( CListNode<CBaseFile> *node = erroredPackages.Front(); node; node = node->next() )
|
833 |
{
|
833 |
{
|
834 |
CBaseFile *p = node->Data();
|
834 |
CBaseFile *p = node->Data();
|
835 |
CyString packageName = p->GetFullPackageName(m_pPackages->GetLanguage());
|
835 |
Utils::String packageName = p->getFullPackageName(m_pPackages->GetLanguage());
|
836 |
m_pPi->AddPackage(SystemStringFromCyString(packageName), _US(p->author()), _US(p->version()), SystemStringFromCyString("Failed to Install"));
|
836 |
m_pPi->AddPackage(_US(packageName), _US(p->author()), _US(p->version()), "Failed to Install");
|
837 |
}
|
837 |
}
|
838 |
|
838 |
|
839 |
m_bDisplayDialog = true;
|
839 |
m_bDisplayDialog = true;
|
840 |
}
|
840 |
}
|
841 |
}
|
841 |
}
|
Line 846... |
Line 846... |
846 |
if ( !builtin )
|
846 |
if ( !builtin )
|
847 |
{
|
847 |
{
|
848 |
if ( erroredPackages.size() == 1 )
|
848 |
if ( erroredPackages.size() == 1 )
|
849 |
{
|
849 |
{
|
850 |
CBaseFile *p = erroredPackages.Front()->Data();
|
850 |
CBaseFile *p = erroredPackages.Front()->Data();
|
851 |
Utils::String packageName = p->GetFullPackageName(m_pPackages->GetLanguage()).ToString();
|
851 |
Utils::String packageName = p->getFullPackageName(m_pPackages->GetLanguage());
|
852 |
this->DisplayMessageBox(frombackground, "Error Installing", "Package: " + _US(packageName) + " failed to install!\nError: " + _US(CBaseFile::ErrorString(p->lastError(), p->lastErrorString())) + "\n", MessageBoxButtons::OK, MessageBoxIcon::Error);
|
852 |
this->DisplayMessageBox(frombackground, "Error Installing", "Package: " + _US(packageName) + " failed to install!\nError: " + _US(CBaseFile::ErrorString(p->lastError(), p->lastErrorString())) + "\n", MessageBoxButtons::OK, MessageBoxIcon::Error);
|
853 |
}
|
853 |
}
|
854 |
else
|
854 |
else
|
855 |
{
|
855 |
{
|
856 |
m_pPi = gcnew PackageInstalled("Packages Failed To Install");
|
856 |
m_pPi = gcnew PackageInstalled("Packages Failed To Install");
|
857 |
|
857 |
|
858 |
CyStringList packages;
|
858 |
CyStringList packages;
|
859 |
for ( CListNode<CBaseFile> *node = erroredPackages.Front(); node; node = node->next() )
|
859 |
for ( CListNode<CBaseFile> *node = erroredPackages.Front(); node; node = node->next() )
|
860 |
{
|
860 |
{
|
861 |
CBaseFile *p = node->Data();
|
861 |
CBaseFile *p = node->Data();
|
862 |
Utils::String packageName = p->GetFullPackageName(m_pPackages->GetLanguage()).ToString();
|
862 |
Utils::String packageName = p->getFullPackageName(m_pPackages->GetLanguage());
|
863 |
m_pPi->AddPackage(_US(packageName), _US(p->author()), _US(p->version()), "Failed: " + _US(CBaseFile::ErrorString(p->lastError(), p->lastErrorString())));
|
863 |
m_pPi->AddPackage(_US(packageName), _US(p->author()), _US(p->version()), "Failed: " + _US(CBaseFile::ErrorString(p->lastError(), p->lastErrorString())));
|
864 |
}
|
864 |
}
|
865 |
|
865 |
|
866 |
m_bDisplayDialog = true;
|
866 |
m_bDisplayDialog = true;
|
867 |
}
|
867 |
}
|
Line 986... |
Line 986... |
986 |
}
|
986 |
}
|
987 |
|
987 |
|
988 |
std::vector<const SAvailablePackage*> downloads;
|
988 |
std::vector<const SAvailablePackage*> downloads;
|
989 |
if (m_pPackages->getDownloadableDependacies(package, downloads) >= missingList.size())
|
989 |
if (m_pPackages->getDownloadableDependacies(package, downloads) >= missingList.size())
|
990 |
{
|
990 |
{
|
991 |
if (this->DisplayMessageBox(false, "Installing", "Missing Package for " + SystemStringFromCyString(package->GetLanguageName(m_pPackages->GetLanguage())) + "\nRequires:\n" + _US(requires) + "\n\nDo you want to download them?", MessageBoxButtons::YesNo, MessageBoxIcon::Question) == System::Windows::Forms::DialogResult::Yes)
|
991 |
if (this->DisplayMessageBox(false, "Installing", "Missing Package for " + _US(package->getLanguageName(m_pPackages->GetLanguage())) + "\nRequires:\n" + _US(requires) + "\n\nDo you want to download them?", MessageBoxButtons::YesNo, MessageBoxIcon::Question) == System::Windows::Forms::DialogResult::Yes)
|
992 |
{
|
992 |
{
|
993 |
CheckUpdate^ update = gcnew CheckUpdate(m_pPackages, this->imageList1);
|
993 |
CheckUpdate^ update = gcnew CheckUpdate(m_pPackages, this->imageList1);
|
994 |
update->SetDownloader();
|
994 |
update->SetDownloader();
|
995 |
if (downloads.size() == 1)
|
995 |
if (downloads.size() == 1)
|
996 |
update->OnePackage(downloads.front());
|
996 |
update->OnePackage(downloads.front());
|
Line 1007... |
Line 1007... |
1007 |
return StartInstalling(builtin, background);
|
1007 |
return StartInstalling(builtin, background);
|
1008 |
}
|
1008 |
}
|
1009 |
}
|
1009 |
}
|
1010 |
}
|
1010 |
}
|
1011 |
else
|
1011 |
else
|
1012 |
this->DisplayMessageBox(false, "Installing", "Missing Package for " + SystemStringFromCyString(package->GetLanguageName(m_pPackages->GetLanguage())) + "\nRequires:\n" + _US(requires), MessageBoxButtons::OK, MessageBoxIcon::Exclamation);
|
1012 |
this->DisplayMessageBox(false, "Installing", "Missing Package for " + _US(package->getLanguageName(m_pPackages->GetLanguage())) + "\nRequires:\n" + _US(requires), MessageBoxButtons::OK, MessageBoxIcon::Exclamation);
|
1013 |
}
|
1013 |
}
|
1014 |
}
|
1014 |
}
|
1015 |
|
1015 |
|
1016 |
bool restart = false;
|
1016 |
bool restart = false;
|
1017 |
if (installRequired->size())
|
1017 |
if (installRequired->size())
|
Line 1290... |
Line 1290... |
1290 |
bool MainGui::EnablePackage(CBaseFile *p)
|
1290 |
bool MainGui::EnablePackage(CBaseFile *p)
|
1291 |
{
|
1291 |
{
|
1292 |
if ( !m_pPackages->PrepareEnablePackage(p) )
|
1292 |
if ( !m_pPackages->PrepareEnablePackage(p) )
|
1293 |
{
|
1293 |
{
|
1294 |
if ( m_pPackages->GetError() == PKERR_NOPARENT )
|
1294 |
if ( m_pPackages->GetError() == PKERR_NOPARENT )
|
1295 |
this->DisplayMessageBox(false, "Enable Error", "Error enabling package\n" + SystemStringFromCyString(p->GetFullPackageName(m_pPackages->GetLanguage())) + "\n\nParent mod is not enabled", MessageBoxButtons::OK, MessageBoxIcon::Warning);
|
1295 |
this->DisplayMessageBox(false, "Enable Error", "Error enabling package\n" + _US(p->getFullPackageName(m_pPackages->GetLanguage())) + "\n\nParent mod is not enabled", MessageBoxButtons::OK, MessageBoxIcon::Warning);
|
1296 |
else if ( m_pPackages->GetError() == PKERR_MODIFIED )
|
1296 |
else if ( m_pPackages->GetError() == PKERR_MODIFIED )
|
1297 |
this->DisplayMessageBox(false, "Enable Error", "Error enabling package\n" + SystemStringFromCyString(p->GetFullPackageName(m_pPackages->GetLanguage())) + "\n\nPackage is modified and game is currently set to vanilla\nSwitch to modified mode to enable", MessageBoxButtons::OK, MessageBoxIcon::Warning);
|
1297 |
this->DisplayMessageBox(false, "Enable Error", "Error enabling package\n" + _US(p->getFullPackageName(m_pPackages->GetLanguage())) + "\n\nPackage is modified and game is currently set to vanilla\nSwitch to modified mode to enable", MessageBoxButtons::OK, MessageBoxIcon::Warning);
|
1298 |
else if ( m_pPackages->GetError() == PKERR_MISSINGDEP )
|
1298 |
else if ( m_pPackages->GetError() == PKERR_MISSINGDEP )
|
1299 |
{
|
1299 |
{
|
1300 |
Utils::CStringList depList;
|
1300 |
Utils::CStringList depList;
|
1301 |
m_pPackages->GetMissingDependacies(p, &depList, true);
|
1301 |
m_pPackages->GetMissingDependacies(p, &depList, true);
|
1302 |
Utils::String sDep;
|
1302 |
Utils::String sDep;
|
Line 1305... |
Line 1305... |
1305 |
if ( (*itr)->str.contains("|") )
|
1305 |
if ( (*itr)->str.contains("|") )
|
1306 |
sDep = (*itr)->str.token("|", 1) + " V" + (*itr)->str.token("|", 2) + " by " + (*itr)->data + "\n";
|
1306 |
sDep = (*itr)->str.token("|", 1) + " V" + (*itr)->str.token("|", 2) + " by " + (*itr)->data + "\n";
|
1307 |
else
|
1307 |
else
|
1308 |
sDep = (*itr)->str + " by " + (*itr)->data + "\n";
|
1308 |
sDep = (*itr)->str + " by " + (*itr)->data + "\n";
|
1309 |
}
|
1309 |
}
|
1310 |
this->DisplayMessageBox(false, "Enable Error", "Error enabling package\n" + SystemStringFromCyString(p->GetFullPackageName(m_pPackages->GetLanguage())) + "\n\nMissing Enabled Dependacies:\n" + _US(sDep), MessageBoxButtons::OK, MessageBoxIcon::Warning);
|
1310 |
this->DisplayMessageBox(false, "Enable Error", "Error enabling package\n" + _US(p->getFullPackageName(m_pPackages->GetLanguage())) + "\n\nMissing Enabled Dependacies:\n" + _US(sDep), MessageBoxButtons::OK, MessageBoxIcon::Warning);
|
1311 |
}
|
1311 |
}
|
1312 |
else
|
1312 |
else
|
1313 |
this->DisplayMessageBox(false, "Enable Error", "Error enabling package\n" + SystemStringFromCyString(p->GetFullPackageName(m_pPackages->GetLanguage())) + "\n\nUnknown Error", MessageBoxButtons::OK, MessageBoxIcon::Warning);
|
1313 |
this->DisplayMessageBox(false, "Enable Error", "Error enabling package\n" + _US(p->getFullPackageName(m_pPackages->GetLanguage())) + "\n\nUnknown Error", MessageBoxButtons::OK, MessageBoxIcon::Warning);
|
1314 |
return false;
|
1314 |
return false;
|
1315 |
}
|
1315 |
}
|
1316 |
return true;
|
1316 |
return true;
|
1317 |
}
|
1317 |
}
|
1318 |
|
1318 |
|
Line 1328... |
Line 1328... |
1328 |
{
|
1328 |
{
|
1329 |
if ( p->IsEnabled() )
|
1329 |
if ( p->IsEnabled() )
|
1330 |
{
|
1330 |
{
|
1331 |
if ( p->GetType() == TYPE_SPK && ((CSpkFile *)p)->IsLibrary() )
|
1331 |
if ( p->GetType() == TYPE_SPK && ((CSpkFile *)p)->IsLibrary() )
|
1332 |
{
|
1332 |
{
|
1333 |
if ( this->DisplayMessageBox(false, "Disable Library", "Package: " + SystemStringFromCyString(p->GetFullPackageName(m_pPackages->GetLanguage())) + "\nThis is a library package and might be required for other installed packages\nDo you still wish to disable it?", MessageBoxButtons::YesNo, MessageBoxIcon::Question) == System::Windows::Forms::DialogResult::No )
|
1333 |
if ( this->DisplayMessageBox(false, "Disable Library", "Package: " + _US(p->getFullPackageName(m_pPackages->GetLanguage())) + "\nThis is a library package and might be required for other installed packages\nDo you still wish to disable it?", MessageBoxButtons::YesNo, MessageBoxIcon::Question) == System::Windows::Forms::DialogResult::No )
|
1334 |
continue;
|
1334 |
continue;
|
1335 |
}
|
1335 |
}
|
1336 |
if ( p->GetType() == TYPE_XSP )
|
1336 |
if ( p->GetType() == TYPE_XSP )
|
1337 |
{
|
1337 |
{
|
1338 |
if ( !this->DisplayTip(TIPSECTION_YESNO, TIP_SHIPDISABLE) )
|
1338 |
if ( !this->DisplayTip(TIPSECTION_YESNO, TIP_SHIPDISABLE) )
|
Line 1510... |
Line 1510... |
1510 |
else if (result == System::Windows::Forms::DialogResult::Abort)
|
1510 |
else if (result == System::Windows::Forms::DialogResult::Abort)
|
1511 |
{
|
1511 |
{
|
1512 |
if (m_pPackages->GetEnabledMod())
|
1512 |
if (m_pPackages->GetEnabledMod())
|
1513 |
{
|
1513 |
{
|
1514 |
CBaseFile *mod = m_pPackages->GetEnabledMod();
|
1514 |
CBaseFile *mod = m_pPackages->GetEnabledMod();
|
1515 |
CyString message = mod->GetFullPackageName(m_pPackages->GetLanguage());
|
1515 |
Utils::String message = mod->getFullPackageName(m_pPackages->GetLanguage());
|
1516 |
m_pPackages->DisablePackage(m_pPackages->GetEnabledMod(), 0, 0);
|
1516 |
m_pPackages->DisablePackage(m_pPackages->GetEnabledMod(), 0, 0);
|
1517 |
this->DisplayMessageBox(false, "Mod Disabed", SystemStringFromCyString(message) + " has been disabled\nYour game is no longer using any mods\n", MessageBoxButtons::OK, MessageBoxIcon::Exclamation);
|
1517 |
this->DisplayMessageBox(false, "Mod Disabed", _US(message) + " has been disabled\nYour game is no longer using any mods\n", MessageBoxButtons::OK, MessageBoxIcon::Exclamation);
|
1518 |
}
|
1518 |
}
|
1519 |
}
|
1519 |
}
|
1520 |
|
1520 |
|
1521 |
// uninstall the selected mod
|
1521 |
// uninstall the selected mod
|
1522 |
else if (result == System::Windows::Forms::DialogResult::Retry)
|
1522 |
else if (result == System::Windows::Forms::DialogResult::Retry)
|
Line 1563... |
Line 1563... |
1563 |
}
|
1563 |
}
|
1564 |
|
1564 |
|
1565 |
// display uninstall text
|
1565 |
// display uninstall text
|
1566 |
Utils::String beforeText = m_pPackages->GetUninstallBeforeText(p).ToString();
|
1566 |
Utils::String beforeText = m_pPackages->GetUninstallBeforeText(p).ToString();
|
1567 |
if ( !beforeText.empty() ) {
|
1567 |
if ( !beforeText.empty() ) {
|
1568 |
if ( this->DisplayMessageBox(false, "Uninstall Package", _US(p->GetFullPackageName(m_pPackages->GetLanguage()).ToString() + "\n" + beforeText + "\n\nDo you want to uninstall this package?"), MessageBoxButtons::YesNo, MessageBoxIcon::Question) != System::Windows::Forms::DialogResult::Yes )
|
1568 |
if ( this->DisplayMessageBox(false, "Uninstall Package", _US(p->getFullPackageName(m_pPackages->GetLanguage()) + "\n" + beforeText + "\n\nDo you want to uninstall this package?"), MessageBoxButtons::YesNo, MessageBoxIcon::Question) != System::Windows::Forms::DialogResult::Yes )
|
1569 |
continue;
|
1569 |
continue;
|
1570 |
}
|
1570 |
}
|
1571 |
|
1571 |
|
1572 |
m_pPackages->PrepareUninstallPackage(p);
|
1572 |
m_pPackages->PrepareUninstallPackage(p);
|
1573 |
}
|
1573 |
}
|
Line 1919... |
Line 1919... |
1919 |
// TODO: read addresses from data
|
1919 |
// TODO: read addresses from data
|
1920 |
|
1920 |
|
1921 |
// hardcoded address
|
1921 |
// hardcoded address
|
1922 |
m_pUpdateList->PushBack("http://xpluginmanager.co.uk/pmupdate.dat", "", true);
|
1922 |
m_pUpdateList->PushBack("http://xpluginmanager.co.uk/pmupdate.dat", "", true);
|
1923 |
if ( (int)PMLBETA )
|
1923 |
if ( (int)PMLBETA )
|
1924 |
m_pUpdateList->PushBack("http://xpluginmanager/Beta/pmupdatebeta.dat", "", true);
|
1924 |
m_pUpdateList->PushBack("http://xpluginmanager.co.uk/Beta/pmupdatebeta.dat", "", true);
|
1925 |
}
|
1925 |
}
|
1926 |
|
1926 |
|
1927 |
backgroundUpdater->RunWorkerAsync();
|
1927 |
backgroundUpdater->RunWorkerAsync();
|
1928 |
}
|
1928 |
}
|
1929 |
|
1929 |
|
Line 2279... |
Line 2279... |
2279 |
{
|
2279 |
{
|
2280 |
int key = this->ListPackages->LargeImageList->Images->IndexOfKey(item->ImageKey);
|
2280 |
int key = this->ListPackages->LargeImageList->Images->IndexOfKey(item->ImageKey);
|
2281 |
if ( key != -1 )
|
2281 |
if ( key != -1 )
|
2282 |
this->ContextName->Image = this->ListPackages->LargeImageList->Images[key];
|
2282 |
this->ContextName->Image = this->ListPackages->LargeImageList->Images[key];
|
2283 |
}
|
2283 |
}
|
2284 |
else if ( p->GetIcon() )
|
2284 |
else if ( p->icon() )
|
2285 |
PluginManager::DisplayContextIcon(p, this->ContextName, nullptr);
|
2285 |
PluginManager::DisplayContextIcon(p, this->ContextName, nullptr);
|
2286 |
|
2286 |
|
2287 |
this->uninstallToolStripMenuItem->Text = "Uninstall: " + item->Text;
|
2287 |
this->uninstallToolStripMenuItem->Text = "Uninstall: " + item->Text;
|
2288 |
|
2288 |
|
2289 |
this->viewReadmeToolStripMenuItem->DropDownItems->Clear();
|
2289 |
this->viewReadmeToolStripMenuItem->DropDownItems->Clear();
|
2290 |
if ( p->CountFiles(FILETYPE_README) )
|
2290 |
if (p->countFiles(FILETYPE_README))
|
2291 |
{
|
2291 |
{
|
2292 |
for ( C_File *f = p->GetFirstFile(FILETYPE_README); f; f = p->GetNextFile(f) )
|
2292 |
for ( C_File *f = p->GetFirstFile(FILETYPE_README); f; f = p->GetNextFile(f) )
|
2293 |
{
|
2293 |
{
|
2294 |
if ( f->GetBaseName().GetToken(".", 1, 1).IsNumber() )
|
2294 |
if ( f->baseName().token(".", 1).isNumber() )
|
2295 |
{
|
2295 |
{
|
2296 |
if ( f->GetBaseName().GetToken(".", 1, 1).ToInt() != m_pPackages->GetLanguage() )
|
2296 |
if ( f->baseName().token(".", 1).toInt() != m_pPackages->GetLanguage() )
|
2297 |
continue;
|
2297 |
continue;
|
2298 |
}
|
2298 |
}
|
2299 |
if ( f->GetBaseName().IsIn("-L") )
|
2299 |
if ( f->baseName().contains("-L") )
|
2300 |
{
|
2300 |
{
|
2301 |
int pos = f->GetBaseName().FindPos("-L");
|
2301 |
int pos = f->baseName().findPos("-L");
|
2302 |
int l = f->GetBaseName().Mid(pos + 2, 3).ToInt();
|
2302 |
int l = f->baseName().mid(pos + 2, 3).toInt();
|
2303 |
if ( l != m_pPackages->GetLanguage() )
|
2303 |
if ( l != m_pPackages->GetLanguage() )
|
2304 |
continue;
|
2304 |
continue;
|
2305 |
}
|
2305 |
}
|
2306 |
|
2306 |
|
2307 |
Windows::Forms::ToolStripMenuItem ^item = gcnew Windows::Forms::ToolStripMenuItem();
|
2307 |
Windows::Forms::ToolStripMenuItem ^item = gcnew Windows::Forms::ToolStripMenuItem();
|
Line 2319... |
Line 2319... |
2319 |
showSep = true;
|
2319 |
showSep = true;
|
2320 |
}
|
2320 |
}
|
2321 |
}
|
2321 |
}
|
2322 |
|
2322 |
|
2323 |
this->extrasToolStripMenuItem->DropDownItems->Clear();
|
2323 |
this->extrasToolStripMenuItem->DropDownItems->Clear();
|
2324 |
if ( p->CountFiles(FILETYPE_EXTRA) )
|
2324 |
if (p->countFiles(FILETYPE_EXTRA))
|
2325 |
{
|
2325 |
{
|
2326 |
showSep = true;
|
2326 |
showSep = true;
|
2327 |
for ( C_File *f = p->GetFirstFile(FILETYPE_EXTRA); f; f = p->GetNextFile(f) )
|
2327 |
for ( C_File *f = p->GetFirstFile(FILETYPE_EXTRA); f; f = p->GetNextFile(f) )
|
2328 |
{
|
2328 |
{
|
2329 |
if ( !f->GetDir().Left(6).Compare("extras") )
|
2329 |
if ( !f->dir().left(6).Compare("extras") )
|
2330 |
continue;
|
2330 |
continue;
|
2331 |
|
2331 |
|
2332 |
Windows::Forms::ToolStripMenuItem ^item = gcnew Windows::Forms::ToolStripMenuItem();
|
2332 |
Windows::Forms::ToolStripMenuItem ^item = gcnew Windows::Forms::ToolStripMenuItem();
|
2333 |
item->Text = _US(f->filename());
|
2333 |
item->Text = _US(f->filename());
|
2334 |
if ( this->imageList2->Images->IndexOfKey(_US(f->fileExt().lower())) > -1 )
|
2334 |
if ( this->imageList2->Images->IndexOfKey(_US(f->fileExt().lower())) > -1 )
|
Line 2572... |
Line 2572... |
2572 |
for ( CBaseFile *p = m_pPackages->GetFirstPackage(); p; p = m_pPackages->GetNextPackage(p) )
|
2572 |
for ( CBaseFile *p = m_pPackages->GetFirstPackage(); p; p = m_pPackages->GetNextPackage(p) )
|
2573 |
{
|
2573 |
{
|
2574 |
if ( !p->IsEnabled() ) continue;
|
2574 |
if ( !p->IsEnabled() ) continue;
|
2575 |
if ( !p->AnyFileType(FILETYPE_MOD) ) continue;
|
2575 |
if ( !p->AnyFileType(FILETYPE_MOD) ) continue;
|
2576 |
|
2576 |
|
2577 |
CyString packageName = p->GetFullPackageName(m_pPackages->GetLanguage());
|
2577 |
Utils::String packageName = p->getFullPackageName(m_pPackages->GetLanguage());
|
2578 |
|
2578 |
|
2579 |
// compare this file against all other packages
|
2579 |
// compare this file against all other packages
|
2580 |
for ( CBaseFile *comparePackage = m_pPackages->GetNextPackage(p); comparePackage; comparePackage = m_pPackages->GetNextPackage(comparePackage) )
|
2580 |
for ( CBaseFile *comparePackage = m_pPackages->GetNextPackage(p); comparePackage; comparePackage = m_pPackages->GetNextPackage(comparePackage) )
|
2581 |
{
|
2581 |
{
|
2582 |
if ( comparePackage == p ) continue; // dont include the same package
|
2582 |
if ( comparePackage == p ) continue; // dont include the same package
|
Line 2584... |
Line 2584... |
2584 |
if ( !comparePackage->AnyFileType(FILETYPE_MOD) ) continue;
|
2584 |
if ( !comparePackage->AnyFileType(FILETYPE_MOD) ) continue;
|
2585 |
|
2585 |
|
2586 |
CyStringList list;
|
2586 |
CyStringList list;
|
2587 |
if ( m_pPackages->CheckCompatabilityBetweenMods(p, comparePackage, &list) )
|
2587 |
if ( m_pPackages->CheckCompatabilityBetweenMods(p, comparePackage, &list) )
|
2588 |
{
|
2588 |
{
|
2589 |
CyString package2Name = comparePackage->GetFullPackageName(m_pPackages->GetLanguage());
|
2589 |
Utils::String package2Name = comparePackage->getFullPackageName(m_pPackages->GetLanguage());
|
2590 |
for ( SStringList *str = list.Head(); str; str = str->next )
|
2590 |
for ( SStringList *str = list.Head(); str; str = str->next )
|
2591 |
{
|
2591 |
{
|
2592 |
errorList.PushBack(str->str + " (" + packageName + ")", str->data + " (" + package2Name + ")");
|
2592 |
errorList.PushBack(str->str + " (" + packageName + ")", str->data + " (" + package2Name + ")");
|
2593 |
++count;
|
2593 |
++count;
|
2594 |
}
|
2594 |
}
|