| 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 |
}
|