[593] | 1 | save current installed config
|
---|
| 2 |
|
---|
| 3 | install
|
---|
| 4 | select all (only of current type?)
|
---|
| 5 | revert - select mods that are currently installed
|
---|
| 6 |
|
---|
| 7 |
|
---|
| 8 | globalization:
|
---|
| 9 |
|
---|
| 10 | installation:
|
---|
| 11 | - remove current .dat/.raw/.sep from GDF
|
---|
| 12 | - remove current BSL-folders?
|
---|
| 13 | - combine vanilla+default-mods+selected-mods
|
---|
| 14 | - combine BSL
|
---|
| 15 |
|
---|
| 16 |
|
---|
| 17 | orig:
|
---|
| 18 | globalization: installer.cpp/h - globalizeData() in #31
|
---|
| 19 | installation: installer.cpp/h - recompileAll() in #500
|
---|
| 20 |
|
---|
| 21 | #ifdef WIN32
|
---|
| 22 | bool splitInstances = false;
|
---|
| 23 | string strImportOption = "-import:nosep";
|
---|
| 24 | string strOniSplit = "Onisplit.exe";
|
---|
| 25 | #else
|
---|
| 26 | bool splitInstances = false;
|
---|
| 27 | string strImportOption = "-import:sep";
|
---|
| 28 | string strOniSplit = "mono Onisplit.exe";
|
---|
| 29 | #endif
|
---|
| 30 |
|
---|
| 31 |
|
---|
| 32 |
|
---|
| 33 |
|
---|
| 34 | check .net>2.0:
|
---|
| 35 | bool CheckForRequiredSoftware(void)
|
---|
| 36 | {
|
---|
| 37 | #ifdef WIN32
|
---|
| 38 | // test for .NET 2.0 or higher
|
---|
| 39 | HKEY hKey;
|
---|
| 40 | if (!RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\.NETFramework\\policy\\v2.0", 0L, KEY_READ , &hKey) == ERROR_SUCCESS)
|
---|
| 41 | {
|
---|
| 42 | string dotnetMsg = "You don't have .NET 2.0 installed! .NET is a framework required by the Edition.\n";
|
---|
| 43 | dotnetMsg = dotnetMsg + "You can download it from:\n" +
|
---|
| 44 | "http://gumby.oni2.net/dotnet\n" +
|
---|
| 45 | "Please install .NET 2.0, then open this Installer again.\n\n" +
|
---|
| 46 | "Would you like to open the download webpage?";
|
---|
| 47 | wxMessageDialog* DotNetDialogOfDeath = new wxMessageDialog(TheWindow, dotnetMsg.c_str(), "AE Installer Alert",
|
---|
| 48 | wxYES_NO | wxICON_EXCLAMATION , wxDefaultPosition);
|
---|
| 49 | if (DotNetDialogOfDeath->ShowModal() == wxID_YES)
|
---|
| 50 | system("start http://www.microsoft.com/downloads/details.aspx?familyid=0856eacb-4362-4b0d-8edd-aab15c5e04f5");
|
---|
| 51 | RegCloseKey(hKey);
|
---|
| 52 | return false;
|
---|
| 53 | }
|
---|
| 54 | #else // on Mac...
|
---|
| 55 | // test for the third-party "mono" framework, because without it, we are up a creek
|
---|
| 56 | FILE *fWhichMono = NULL;
|
---|
| 57 | char chrWhichMono[32];
|
---|
| 58 | fWhichMono = popen("which mono", "r");
|
---|
| 59 | fgets(chrWhichMono, sizeof(chrWhichMono), fWhichMono);
|
---|
| 60 | pclose(fWhichMono);
|
---|
| 61 | string strWhichMono = (string)chrWhichMono;
|
---|
| 62 | string::size_type loc = strWhichMono.find("mono", 0);
|
---|
| 63 |
|
---|
| 64 | if (loc == string::npos) // this means that "which mono" did not return a path leading to the mono binary -- abort! abort! abort!
|
---|
| 65 | {
|
---|
| 66 | string monoMsg = "You don't have 'mono' installed! 'mono' is a command-line tool required by the Edition.\n";
|
---|
| 67 | monoMsg = monoMsg + "You can download it from: http://www.go-mono.com/mono-downloads/download.html (OS X 10.4+)\n" +
|
---|
| 68 | "or http://edt.oni2.net/AE/MonoFramework10.3.dmg (OS X 10.3)\n\n" +
|
---|
| 69 | "Please install 'mono', then open this Installer again.";
|
---|
| 70 | wxMessageDialog* MonoDialogOfDeath = new wxMessageDialog(TheWindow, monoMsg.c_str(), "AE Installer Alert", wxOK | wxICON_EXCLAMATION, wxDefaultPosition);
|
---|
| 71 | MonoDialogOfDeath->ShowModal();
|
---|
| 72 | return false; // it's quittin' time, Joe
|
---|
| 73 | }
|
---|
| 74 | #endif
|
---|
| 75 | return true;
|
---|
| 76 | }
|
---|
| 77 |
|
---|
| 78 |
|
---|
| 79 |
|
---|
| 80 | check globalization:
|
---|
| 81 | bool CheckForGlobalization(bool justDoIt)
|
---|
| 82 | {
|
---|
| 83 | if (!exists("../GameDataFolder"))
|
---|
| 84 | {
|
---|
| 85 | string globMsg = "You haven't globalized yet!\n";
|
---|
| 86 | globMsg = globMsg + "You must globalize to use the Anniversary Edition framework.\n" +
|
---|
| 87 | "Would you like to globalize now? (This could take a while...)\n" +
|
---|
| 88 | "(Selecting \"No\" will exit this program...)";
|
---|
| 89 | wxMessageDialog* YesNoDialog = new wxMessageDialog(TheWindow, globMsg.c_str(), "AE Installer Alert", wxYES_NO | wxICON_EXCLAMATION, wxDefaultPosition);
|
---|
| 90 |
|
---|
| 91 | if (YesNoDialog->ShowModal() == wxID_NO) // if the user said no...
|
---|
| 92 | {
|
---|
| 93 | TheWindow->Close();
|
---|
| 94 | return true;
|
---|
| 95 | }
|
---|
| 96 | }
|
---|
| 97 | else if (!justDoIt)
|
---|
| 98 | return false;
|
---|
| 99 | // Code below this point runs if user clicks "Yes" or if they are never asked but justDoIt is true
|
---|
| 100 | #ifdef WIN32
|
---|
| 101 | boost::thread thrd3(globalize2);
|
---|
| 102 | #else // cannot use multi-threading in Mac build
|
---|
| 103 | TheWindow->InstallButton->Disable();
|
---|
| 104 | TheWindow->ReglobalizeButton->Disable();
|
---|
| 105 | globalizeData();
|
---|
| 106 | TheWindow->InstallButton->Enable();
|
---|
| 107 | TheWindow->ReglobalizeButton->Enable();
|
---|
| 108 | #endif
|
---|
| 109 |
|
---|
| 110 | return true;
|
---|
| 111 | }
|
---|