ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/AE/Installer/trunk/source/main_window.cpp
(Generate patch)

Comparing AE/Installer/trunk/source/main_window.cpp (file contents):
Revision 379 by iritscen, Mon Jun 29 19:23:42 2009 UTC vs.
Revision 392 by gumby, Mon Jul 6 14:44:10 2009 UTC

# Line 58 | Line 58 | using namespace std;
58   #include "boost/date_time/date_parsing.hpp"
59   #include "boost/date_time/posix_time/posix_time.hpp"
60  
61 + string escapePath(string input) {
62 +        
63 +        string output;
64 +        string escape_me = "& ;()|<>\"'\\#*?$";
65 +        for(int i = 0; i < input.size(); i++)  {
66 +                for(int j = 0; j < escape_me.size(); j++) if (input[i] == escape_me[j]) output += '//';
67 +                output += input[i];
68 +        }
69 +        return output;
70 + }
71 +
72   int globalizeData(void)
73   {
74          busy = 1;
# Line 148 | Line 159 | int globalizeData(void)
159  
160                  if (exists("packages/VanillaDats")) remove_all("packages/VanillaDats");
161                  create_directory( "packages/VanillaDats" );
151
162                  create_directory( "packages/VanillaDats/level0_Final/" );
163                  //blah blah finish this.
164                  //logfile <<  "packages/VanillaDats/level0_Final/ created";
# Line 261 | Line 271 | int globalizeData(void)
271                                                                  if(!exists( Archive / dir_itr->filename())) rename(dir_itr->path(), Archive / dir_itr->filename());
272                                                                  else remove(dir_itr->path());
273                                                  }
274 +                                                else if (dir_itr->path().filename().substr(0,4) == "ONWC") { //fix for buggy ONWC overriding
275 +                                                                cout <<dir_itr->path().filename() << "\n";
276 +
277 +                                                                if(!exists( "packages/VanillaDats/level" + levels[i] + "_Final/level" + levels[i] + "_Final/" +  dir_itr->filename())) rename(dir_itr->path(), "packages/VanillaDats/level" + levels[i] + "_Final/level" + levels[i] + "_Final/" +  dir_itr->filename());
278 +                                                                else remove(dir_itr->path());
279 +                                                }
280                                                  if (exists(dir_itr->path())) {
281  
282                                                  }
# Line 287 | Line 303 | int globalizeData(void)
303                          //printf(levels[i],"%d",levels[i]);
304                          //printf(Step_x_x,"Step %d/%d: reimporting level", parts_done + 1, 7 + 2 * num_levels); setStatusArea((string)Step_x_x + levels[i] + (string)"_Final.dat");
305                          setStatusArea("Step " + lexical_cast<std::string>(parts_done + 1) + "/" + lexical_cast<std::string>(total_steps) + " reimporting level" + levels[i]+"_Final.oni");
306 <                        system( (strOniSplit + " " + strImportOption + " ../GameDataFolder/level" + levels[i] + "_Final packages/VanillaDats/level" + levels[i] + "_Final/level"
307 <                                + levels[i] + "_Final/level" + levels[i] + "_Final.oni >> Globalize.log").c_str());
306 >                        logfile << (strOniSplit + " " + strImportOption + " ../GameDataFolder/level" + levels[i] + "_Final packages/VanillaDats/level" + levels[i] + "_Final/level"
307 >                                + levels[i] + "_Final/level" + levels[i] + "_Final.oni >> Globalize.log").c_str() << '\n';
308 >                        string sys_str = (strOniSplit + " " + strImportOption + " ../GameDataFolder/level" + levels[i] + "_Final packages/VanillaDats/level" + levels[i] + "_Final/level"
309 >                                + levels[i] + "_Final/level" + levels[i] + "_Final.oni >> Globalize2.log");
310 >                                system(sys_str.c_str() );
311                          setProgressBar( (int)(1000 * (float)(parts_done) / (float)(total_steps) ));
312                          parts_done++;
313                  }
# Line 327 | Line 346 | int globalizeData(void)
346                  setProgressBar( 1000 );
347                  
348                  // CIP:last of all, set up the edition folder as a playable Oni installation by placing the latest application (+ Daodan DLL on Windows) in edition/
349 <                
350 <                // CIP:then copy persist.dat and keyconfig.txt into edition/ as well
351 <                
349 >                // or we could just include it in the zip in the proper place already.
350 >
351 >                copy("../../persist.dat","../persist.dat");
352 >                copy("../../keyconfig.txt","../keyconfig.txt");
353   #ifndef WIN32
354                  /* On Mac only, set the current GDF to the AE GDF by writing to Oni's global preferences file (thankfully a standard OS X ".plist" XML file).
355                     If there are no Oni prefs (only possible if Oni has not been run even once), then the above line will fail silently, no harm done,
# Line 342 | Line 362 | int globalizeData(void)
362                  
363   #endif
364                  
365 +                
366                  setStatusArea((string)"Done! Now select your mod packages and click install.");
367                  //      while(1) Sleep(-1);
368  
# Line 635 | Line 656 | void recompileAll(vector<string> install
656                          {
657                                  if ( is_directory( dir_itr->status() ) )
658                                  {
659 <                                        importCommand = strOniSplit + " " + strImportOption + " " + vanilla_dir.string() + dir_itr->path().filename() + " " + "../GameDataFolder/" + dir_itr->path().filename()
639 <                                                + ".dat";
659 >                                        importCommand = strOniSplit + " " + strImportOption + " " + vanilla_dir.string() + dir_itr->path().filename() + " ";
660                                          for (int i = 0; i < installedMods.size(); ++i) {
661                                                  if (exists("packages/" + installedMods[i] + "/oni/" + dir_itr->path().filename()  ))
662                                                          importCommand += " packages/" + installedMods[i] + "/oni/" + dir_itr->path().filename();
# Line 797 | Line 817 | vector<ModPackage> globalPackages;
817   #endif
818  
819   ////@begin includes
820 < #include "about_window.h"
820 > #include "about.h"
821   ////@end includes
822  
823   #include "main_window.h"
824  
825   ////@begin XPM images
826 < #include "redo.xpm"
826 > #include "aelogosmall.xpm"
827 > #include "undo.xpm"
828   #include "fileopen.xpm"
829   #include "filesaveas.xpm"
830   #include "quit.xpm"
# Line 826 | Line 847 | IMPLEMENT_CLASS( MainWindow, wxFrame )
847   BEGIN_EVENT_TABLE( MainWindow, wxFrame )
848  
849   ////@begin MainWindow event table entries
850 < EVT_CHECKBOX( SelectAll_Checkbox, MainWindow::OnSelectAllCheckboxClick )
850 >    EVT_CHECKBOX( SelectAll_Checkbox, MainWindow::OnSelectAllCheckboxClick )
851  
852 < EVT_BUTTON( Refresh_Button, MainWindow::OnRefreshButtonClick )
852 >    EVT_BUTTON( Refresh_Button, MainWindow::OnRefreshButtonClick )
853  
854 < EVT_LISTBOX( Mods_CheckboxList1, MainWindow::OnModsCheckboxList1Selected )
855 < EVT_CHECKLISTBOX( Mods_CheckboxList1, MainWindow::OnModsCheckboxList1Toggled )
854 >    EVT_LISTBOX( Mods_CheckboxList1, MainWindow::OnModsCheckboxList1Selected )
855 >    EVT_CHECKLISTBOX( Mods_CheckboxList1, MainWindow::OnModsCheckboxList1Toggled )
856  
857 < EVT_UPDATE_UI( ID_STATUSBAR, MainWindow::OnStatusbarUpdate )
857 >    EVT_UPDATE_UI( ID_STATUSBAR, MainWindow::OnStatusbarUpdate )
858  
859 < EVT_BUTTON( Install_Button, MainWindow::OnInstallButtonClick )
859 >    EVT_BUTTON( Install_Button, MainWindow::OnInstallButtonClick )
860  
861 < EVT_RADIOBUTTON( Sep_RadioButton, MainWindow::OnSepRadioButtonSelected )
861 >    EVT_RADIOBUTTON( Sep_RadioButton, MainWindow::OnSepRadioButtonSelected )
862  
863 < EVT_RADIOBUTTON( NoSep_RadioButton, MainWindow::OnNoSepRadioButtonSelected )
863 >    EVT_RADIOBUTTON( NoSep_RadioButton, MainWindow::OnNoSepRadioButtonSelected )
864  
865 < EVT_RADIOBUTTON( Separated_RadioButton, MainWindow::OnSeparatedRadioButtonSelected )
865 >    EVT_RADIOBUTTON( Seperated_RadioButton, MainWindow::OnSeperatedRadioButtonSelected )
866  
867 < EVT_RADIOBUTTON( Complete_RadioButton, MainWindow::OnCompleteRadioButtonSelected )
867 >    EVT_RADIOBUTTON( Complete_RadioButton, MainWindow::OnCompleteRadioButtonSelected )
868  
869 < EVT_BUTTON( ReGlobalize_Button, MainWindow::OnReGlobalizeButtonClick )
869 >    EVT_BUTTON( ReGlobalize_Button, MainWindow::OnReGlobalizeButtonClick )
870  
871 < EVT_MENU( wxID_LOAD, MainWindow::OnLoadClick )
871 >    EVT_MENU( wxID_LOAD, MainWindow::OnLoadClick )
872  
873 < EVT_MENU( wxID_SAVE, MainWindow::OnSaveClick )
873 >    EVT_MENU( wxID_SAVE, MainWindow::OnSaveClick )
874  
875 < EVT_MENU( wxID_EXIT, MainWindow::OnExitClick )
875 >    EVT_MENU( wxID_EXIT, MainWindow::OnExitClick )
876  
877 < EVT_MENU( wxID_OPTIONS, MainWindow::OnOptionsClick )
877 >    EVT_MENU( wxID_OPTIONS, MainWindow::OnOptionsClick )
878  
879 < EVT_MENU( wxID_ABOUT, MainWindow::OnAboutClick )
879 >    EVT_MENU( wxID_ABOUT, MainWindow::OnAboutClick )
880  
881   ////@end MainWindow event table entries
882  
# Line 885 | Line 906 | MainWindow::MainWindow( wxWindow* parent
906   bool MainWindow::Create( wxWindow* parent, wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style )
907   {
908          ////@begin MainWindow creation
909 <        wxFrame::Create( parent, id, caption, pos, size, style );
889 <
890 <        CreateControls();
891 <        SetIcon(GetIconResource(wxT("oni_special.ico")));
892 <        Centre();
893 <
909 >    wxFrame::Create( parent, id, caption, pos, size, style );
910  
911 +    CreateControls();
912 +    SetIcon(GetIconResource(wxT("aelogosmall.png")));
913 +    Centre();
914          ////@end MainWindow creation
915          return true;
916   }
# Line 915 | Line 934 | MainWindow::~MainWindow()
934   void MainWindow::Init()
935   {
936          ////@begin MainWindow member initialisation
937 <        MainSplitter = NULL;
938 <        SelectAll = NULL;
939 <        RefreshButton = NULL;
940 <        Mods_CheckboxList = NULL;
941 <        titleText = NULL;
942 <        creatorText = NULL;
943 <        descriptionText = NULL;
944 <        StatusArea = NULL;
945 <        ProgressBar = NULL;
946 <        InstallButton = NULL;
947 <        OptionsPanel = NULL;
948 <        SepRadio = NULL;
949 <        NoSepRadio = NULL;
950 <        SeparatedRadio = NULL;
951 <        CompleteRadio = NULL;
952 <        ReglobalizeButton = NULL;
937 >    MainSplitter = NULL;
938 >    SelectAll = NULL;
939 >    RefreshButton = NULL;
940 >    Mods_CheckboxList = NULL;
941 >    titleText = NULL;
942 >    creatorText = NULL;
943 >    descriptionText = NULL;
944 >    StatusArea = NULL;
945 >    ProgressBar = NULL;
946 >    InstallButton = NULL;
947 >    OptionsPanel = NULL;
948 >    SepRadio = NULL;
949 >    NoSepRadio = NULL;
950 >    SeperatedRadio = NULL;
951 >    CompleteRadio = NULL;
952 >    ReglobalizeButton = NULL;
953          ////@end MainWindow member initialisation
954  
955   }
# Line 945 | Line 964 | wxGauge* TheProgressBar;
964   void MainWindow::CreateControls()
965   {    
966          ////@begin MainWindow content construction
967 <        // Generated by DialogBlocks, 31/05/2009 19:03:55 (unregistered)
949 <
950 <        MainWindow* itemFrame1 = this;
967 >    MainWindow* itemFrame1 = this;
968  
969 <        wxMenuBar* menuBar = new wxMenuBar;
970 <        wxMenu* itemMenu37 = new wxMenu;
971 <        {
972 <                wxMenuItem* menuItem = new wxMenuItem(itemMenu37, wxID_LOAD, _("&Load Configuration..."), wxEmptyString, wxITEM_NORMAL);
973 <                wxBitmap bitmap(itemFrame1->GetBitmapResource(wxT("fileopen.xpm")));
974 <                menuItem->SetBitmap(bitmap);
975 <                itemMenu37->Append(menuItem);
976 <        }
977 <        {
978 <                wxMenuItem* menuItem = new wxMenuItem(itemMenu37, wxID_SAVE, _("&Save Configuration..."), wxEmptyString, wxITEM_NORMAL);
979 <                wxBitmap bitmap(itemFrame1->GetBitmapResource(wxT("filesaveas.xpm")));
980 <                menuItem->SetBitmap(bitmap);
981 <                itemMenu37->Append(menuItem);
982 <        }
983 <        itemMenu37->AppendSeparator();
984 <        {
985 <                wxMenuItem* menuItem = new wxMenuItem(itemMenu37, wxID_EXIT, _("Exit"), wxEmptyString, wxITEM_NORMAL);
986 <                wxBitmap bitmap(itemFrame1->GetBitmapResource(wxT("quit.xpm")));
987 <                menuItem->SetBitmap(bitmap);
988 <                itemMenu37->Append(menuItem);
989 <        }
990 <        menuBar->Append(itemMenu37, _("&File"));
991 <        wxMenu* itemMenu42 = new wxMenu;
992 <        itemMenu42->Append(wxID_OPTIONS, _("Show Advanced Options..."), wxEmptyString, wxITEM_CHECK);
993 <        menuBar->Append(itemMenu42, _("Options"));
994 <        wxMenu* itemMenu44 = new wxMenu;
995 <        itemMenu44->Append(wxID_HELP, _("Help"), wxEmptyString, wxITEM_NORMAL);
969 >    wxMenuBar* menuBar = new wxMenuBar;
970 >    wxMenu* itemMenu37 = new wxMenu;
971 >    {
972 >        wxMenuItem* menuItem = new wxMenuItem(itemMenu37, wxID_LOAD, _("&Load Configuration..."), wxEmptyString, wxITEM_NORMAL);
973 >        wxBitmap bitmap(itemFrame1->GetBitmapResource(wxT("fileopen.xpm")));
974 >        menuItem->SetBitmap(bitmap);
975 >        itemMenu37->Append(menuItem);
976 >    }
977 >    {
978 >        wxMenuItem* menuItem = new wxMenuItem(itemMenu37, wxID_SAVE, _("&Save Configuration..."), wxEmptyString, wxITEM_NORMAL);
979 >        wxBitmap bitmap(itemFrame1->GetBitmapResource(wxT("filesaveas.xpm")));
980 >        menuItem->SetBitmap(bitmap);
981 >        itemMenu37->Append(menuItem);
982 >    }
983 >    itemMenu37->AppendSeparator();
984 >    {
985 >        wxMenuItem* menuItem = new wxMenuItem(itemMenu37, wxID_EXIT, _("Exit"), wxEmptyString, wxITEM_NORMAL);
986 >        wxBitmap bitmap(itemFrame1->GetBitmapResource(wxT("quit.xpm")));
987 >        menuItem->SetBitmap(bitmap);
988 >        itemMenu37->Append(menuItem);
989 >    }
990 >    menuBar->Append(itemMenu37, _("&File"));
991 >    wxMenu* itemMenu42 = new wxMenu;
992 >    itemMenu42->Append(wxID_OPTIONS, _("Show Advanced Options..."), wxEmptyString, wxITEM_CHECK);
993 >    menuBar->Append(itemMenu42, _("Options"));
994 >    wxMenu* itemMenu44 = new wxMenu;
995 > #ifdef WIN32
996          itemMenu44->Append(wxID_ABOUT, _("About"), wxEmptyString, wxITEM_NORMAL);
997          menuBar->Append(itemMenu44, _("Help"));
998 <        itemFrame1->SetMenuBar(menuBar);
999 <        
1000 <        wxBoxSizer* itemBoxSizer2 = new wxBoxSizer(wxVERTICAL);
1001 <        itemFrame1->SetSizer(itemBoxSizer2);
998 > #else
999 >        itemMenu37->Append(wxID_ABOUT, _("About"), wxEmptyString, wxITEM_NORMAL);
1000 > #endif  
1001 >
1002 >    itemFrame1->SetMenuBar(menuBar);
1003  
1004 <        MainSplitter = new wxSplitterWindow( itemFrame1, ID_SPLITTERWINDOW, wxDefaultPosition, wxSize(100, 100), wxSP_LIVE_UPDATE|wxNO_BORDER );
1005 <        MainSplitter->SetMinimumPaneSize(150);
988 <        MainSplitter->SetName(_T("MainSplitter"));
989 <
990 <        wxPanel* itemPanel4 = new wxPanel( MainSplitter, ID_PANEL, wxDefaultPosition, wxDefaultSize, wxSUNKEN_BORDER|wxTAB_TRAVERSAL );
991 <        wxBoxSizer* itemBoxSizer5 = new wxBoxSizer(wxVERTICAL);
992 <        itemPanel4->SetSizer(itemBoxSizer5);
993 <
994 <        wxBoxSizer* itemBoxSizer6 = new wxBoxSizer(wxHORIZONTAL);
995 <        itemBoxSizer5->Add(itemBoxSizer6, 0, wxGROW|wxALL, 0);
996 <        SelectAll = new wxCheckBox( itemPanel4, SelectAll_Checkbox, _("Select All/None"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE );
997 <        SelectAll->SetValue(false);
998 <        SelectAll->SetName(_T("SelectAll_Checkbox"));
999 <        itemBoxSizer6->Add(SelectAll, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
1000 <
1001 <        RefreshButton = new wxBitmapButton( itemPanel4, Refresh_Button, itemFrame1->GetBitmapResource(wxT("redo.xpm")), wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW );
1002 <        RefreshButton->SetName(_T("RefreshButton"));
1003 <        itemBoxSizer6->Add(RefreshButton, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
1004 <
1005 <        wxArrayString Mods_CheckboxListStrings;
1006 <        Mods_CheckboxList = new wxCheckListBox( itemPanel4, Mods_CheckboxList1, wxDefaultPosition, wxDefaultSize, Mods_CheckboxListStrings, wxLB_HSCROLL );
1007 <        Mods_CheckboxList->SetName(_T("Mods_CheckboxList"));
1008 <        itemBoxSizer5->Add(Mods_CheckboxList, 1, wxGROW|wxALL, 0);
1009 <
1010 <        wxPanel* itemPanel10 = new wxPanel( MainSplitter, DescriptionHolder_Panel, wxDefaultPosition, wxDefaultSize, wxSUNKEN_BORDER|wxTAB_TRAVERSAL );
1011 <        itemPanel10->SetName(_T("DescriptionHolder_Panel"));
1012 <        wxBoxSizer* itemBoxSizer11 = new wxBoxSizer(wxVERTICAL);
1013 <        itemPanel10->SetSizer(itemBoxSizer11);
1014 <
1015 <        wxBoxSizer* itemBoxSizer12 = new wxBoxSizer(wxHORIZONTAL);
1016 <        itemBoxSizer11->Add(itemBoxSizer12, 0, wxGROW|wxALL, 0);
1017 <        wxBoxSizer* itemBoxSizer13 = new wxBoxSizer(wxVERTICAL);
1018 <        itemBoxSizer12->Add(itemBoxSizer13, 1, wxALIGN_CENTER_VERTICAL|wxALL, 0);
1019 <        titleText = new wxTextCtrl( itemPanel10, Title_Text, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY );
1020 <        titleText->SetName(_T("Title_Text"));
1021 <        titleText->SetBackgroundColour(wxColour(240, 240, 240));
1022 <        itemBoxSizer13->Add(titleText, 1, wxGROW|wxLEFT, 5);
1023 <
1024 <        wxBoxSizer* itemBoxSizer15 = new wxBoxSizer(wxVERTICAL);
1025 <        itemBoxSizer12->Add(itemBoxSizer15, 1, wxGROW|wxALL, 0);
1026 <        creatorText = new wxTextCtrl( itemPanel10, Author_Text, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY|wxTE_RIGHT );
1027 <        creatorText->SetName(_T("Author_Text"));
1028 <        creatorText->SetBackgroundColour(wxColour(240, 240, 240));
1029 <        itemBoxSizer15->Add(creatorText, 1, wxGROW|wxRIGHT, 5);
1030 <
1031 <        wxStaticLine* itemStaticLine17 = new wxStaticLine( itemPanel10, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
1032 <        itemStaticLine17->Show(false);
1033 <        itemBoxSizer11->Add(itemStaticLine17, 0, wxGROW|wxALL, 5);
1034 <
1035 <        descriptionText = new wxTextCtrl( itemPanel10, Description_Text, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE|wxTE_READONLY|wxTE_RICH|wxTE_AUTO_URL );
1036 <        descriptionText->SetName(_T("DescriptionName"));
1037 <        descriptionText->SetBackgroundColour(wxColour(240, 240, 240));
1038 <        itemBoxSizer11->Add(descriptionText, 1, wxGROW|wxLEFT|wxRIGHT, 5);
1039 <
1040 <        MainSplitter->SplitVertically(itemPanel4, itemPanel10, 150);
1041 <        itemBoxSizer2->Add(MainSplitter, 1, wxGROW|wxALL, 0);
1042 <
1043 <        StatusArea = new wxStatusBar( itemFrame1, ID_STATUSBAR, 0 );
1044 <        StatusArea->SetName(_T("StatusArea"));
1045 <        StatusArea->SetFieldsCount(1);
1046 <        StatusArea->SetStatusText(_("Status Area"), 0);
1047 <        itemBoxSizer2->Add(StatusArea, 0, wxGROW|wxALL, 0);
1048 <
1049 <        wxBoxSizer* itemBoxSizer20 = new wxBoxSizer(wxHORIZONTAL);
1050 <        itemBoxSizer2->Add(itemBoxSizer20, 0, wxGROW|wxALL, 0);
1051 <
1052 <        ProgressBar = new wxGauge( itemFrame1, ProgressBar_Gauge, 1000, wxDefaultPosition, wxSize(-1, 30), wxGA_SMOOTH );
1053 <        ProgressBar->SetValue(0);
1054 <        itemBoxSizer20->Add(ProgressBar, 1, wxGROW|wxALL, 0);
1055 <
1056 <        InstallButton = new wxButton( itemFrame1, Install_Button, _("Install!"), wxDefaultPosition, wxSize(-1, 30), 0 );
1057 <        itemBoxSizer20->Add(InstallButton, 0, wxGROW|wxALL, 0);
1058 <
1059 <        wxBoxSizer* itemBoxSizer23 = new wxBoxSizer(wxVERTICAL);
1060 <        itemBoxSizer2->Add(itemBoxSizer23, 0, wxGROW|wxALL, 0);
1061 <
1062 <        OptionsPanel = new wxPanel( itemFrame1, ID_PANEL1, wxDefaultPosition, wxDefaultSize, wxSUNKEN_BORDER|wxTAB_TRAVERSAL );
1063 <        itemBoxSizer2->Add(OptionsPanel, 0, wxGROW, 0);
1064 <
1065 <        wxBoxSizer* itemBoxSizer25 = new wxBoxSizer(wxHORIZONTAL);
1066 <        OptionsPanel->SetSizer(itemBoxSizer25);
1067 <
1068 <        wxBoxSizer* itemBoxSizer26 = new wxBoxSizer(wxVERTICAL);
1069 <        itemBoxSizer25->Add(itemBoxSizer26, 0, wxGROW|wxALL, 5);
1070 <
1071 <        SepRadio = new wxRadioButton( OptionsPanel, Sep_RadioButton, _("Sep"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP );
1072 <        SepRadio->SetValue(false);
1073 <        if (MainWindow::ShowToolTips())
1074 <                SepRadio->SetToolTip(_("For PC Demo and Mac"));
1075 <        itemBoxSizer26->Add(SepRadio, 0, wxALIGN_LEFT|wxALL, 5);
1076 <
1077 <        NoSepRadio = new wxRadioButton( OptionsPanel, NoSep_RadioButton, _("NoSep"), wxDefaultPosition, wxDefaultSize, 0 );
1078 <        NoSepRadio->SetValue(false);
1079 <        if (MainWindow::ShowToolTips())
1080 <                NoSepRadio->SetToolTip(_("For PC Retail"));
1081 <        itemBoxSizer26->Add(NoSepRadio, 0, wxALIGN_LEFT|wxALL, 5);
1082 <
1083 <        wxStaticLine* itemStaticLine29 = new wxStaticLine( OptionsPanel, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
1084 <        itemBoxSizer25->Add(itemStaticLine29, 0, wxGROW|wxALL, 5);
1085 <
1086 <        wxBoxSizer* itemBoxSizer30 = new wxBoxSizer(wxVERTICAL);
1087 <        itemBoxSizer25->Add(itemBoxSizer30, 0, wxGROW|wxALL, 5);
1088 <
1089 <        SeparatedRadio = new wxRadioButton( OptionsPanel, Separated_RadioButton, _("Separated Level0"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP );
1090 <        SeparatedRadio->SetValue(false);
1091 <        SeparatedRadio->SetName(_T("Separated_RadioButton"));
1092 <        itemBoxSizer30->Add(SeparatedRadio, 0, wxALIGN_LEFT|wxALL, 5);
1093 <
1094 <        CompleteRadio = new wxRadioButton( OptionsPanel, Complete_RadioButton, _("Complete Level0"), wxDefaultPosition, wxDefaultSize, 0 );
1095 <        CompleteRadio->SetValue(false);
1096 <        CompleteRadio->SetName(_T("Complete_RadioButton"));
1097 <        itemBoxSizer30->Add(CompleteRadio, 0, wxALIGN_LEFT|wxALL, 5);
1098 <
1099 <        wxStaticLine* itemStaticLine33 = new wxStaticLine( OptionsPanel, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
1100 <        itemBoxSizer25->Add(itemStaticLine33, 0, wxGROW|wxALL, 5);
1101 <
1102 <        wxBoxSizer* itemBoxSizer34 = new wxBoxSizer(wxVERTICAL);
1103 <        itemBoxSizer25->Add(itemBoxSizer34, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
1104 <
1105 <        ReglobalizeButton = new wxButton( OptionsPanel, ReGlobalize_Button, _("Reglobalize"), wxDefaultPosition, wxDefaultSize, 0 );
1106 <        ReglobalizeButton->SetName(_T("Reglobalize_Button"));
1107 <        itemBoxSizer34->Add(ReglobalizeButton, 0, wxGROW|wxALL, 5);
1004 >    wxBoxSizer* itemBoxSizer2 = new wxBoxSizer(wxVERTICAL);
1005 >    itemFrame1->SetSizer(itemBoxSizer2);
1006  
1007 <        // Connect events and objects
1008 <        Mods_CheckboxList->Connect(Mods_CheckboxList1, wxEVT_CREATE, wxWindowCreateEventHandler(MainWindow::ModList_OnCreate), NULL, this);
1007 >    MainSplitter = new wxSplitterWindow( itemFrame1, ID_SPLITTERWINDOW, wxDefaultPosition, wxSize(100, 100), wxSP_LIVE_UPDATE|wxNO_BORDER );
1008 >    MainSplitter->SetMinimumPaneSize(1);
1009 >    MainSplitter->SetName(_T("MainSplitter"));
1010 >
1011 >    wxPanel* itemPanel4 = new wxPanel( MainSplitter, ID_PANEL, wxDefaultPosition, wxDefaultSize, wxSUNKEN_BORDER|wxTAB_TRAVERSAL );
1012 >    wxBoxSizer* itemBoxSizer5 = new wxBoxSizer(wxVERTICAL);
1013 >    itemPanel4->SetSizer(itemBoxSizer5);
1014 >
1015 >    wxBoxSizer* itemBoxSizer6 = new wxBoxSizer(wxHORIZONTAL);
1016 >    itemBoxSizer5->Add(itemBoxSizer6, 0, wxGROW|wxALL, 0);
1017 >    SelectAll = new wxCheckBox( itemPanel4, SelectAll_Checkbox, _("Select All/None"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE );
1018 >    SelectAll->SetValue(false);
1019 >    SelectAll->SetName(_T("SelectAll_Checkbox"));
1020 >    itemBoxSizer6->Add(SelectAll, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
1021 >
1022 >    RefreshButton = new wxBitmapButton( itemPanel4, Refresh_Button, itemFrame1->GetBitmapResource(wxT("undo.xpm")), wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW );
1023 >    RefreshButton->SetName(_T("RefreshButton"));
1024 >    itemBoxSizer6->Add(RefreshButton, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
1025 >
1026 >    wxArrayString Mods_CheckboxListStrings;
1027 >    Mods_CheckboxList = new wxCheckListBox( itemPanel4, Mods_CheckboxList1, wxDefaultPosition, wxDefaultSize, Mods_CheckboxListStrings, wxLB_HSCROLL );
1028 >    Mods_CheckboxList->SetName(_T("Mods_CheckboxList"));
1029 >    itemBoxSizer5->Add(Mods_CheckboxList, 1, wxGROW|wxALL, 0);
1030 >
1031 >    wxPanel* itemPanel10 = new wxPanel( MainSplitter, DescriptionHolder_Panel, wxDefaultPosition, wxDefaultSize, wxSUNKEN_BORDER|wxTAB_TRAVERSAL );
1032 >    itemPanel10->SetName(_T("DescriptionHolder_Panel"));
1033 >    wxBoxSizer* itemBoxSizer11 = new wxBoxSizer(wxVERTICAL);
1034 >    itemPanel10->SetSizer(itemBoxSizer11);
1035 >
1036 >    wxBoxSizer* itemBoxSizer12 = new wxBoxSizer(wxHORIZONTAL);
1037 >    itemBoxSizer11->Add(itemBoxSizer12, 0, wxGROW|wxALL, 0);
1038 >    wxBoxSizer* itemBoxSizer13 = new wxBoxSizer(wxVERTICAL);
1039 >    itemBoxSizer12->Add(itemBoxSizer13, 1, wxALIGN_CENTER_VERTICAL|wxALL, 0);
1040 >    titleText = new wxTextCtrl( itemPanel10, Title_Text, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY );
1041 >    titleText->SetName(_T("Title_Text"));
1042 >    titleText->SetBackgroundColour(wxColour(240, 240, 240));
1043 >    itemBoxSizer13->Add(titleText, 1, wxGROW|wxLEFT, 5);
1044 >
1045 >    wxBoxSizer* itemBoxSizer15 = new wxBoxSizer(wxVERTICAL);
1046 >    itemBoxSizer12->Add(itemBoxSizer15, 1, wxGROW|wxALL, 0);
1047 >    creatorText = new wxTextCtrl( itemPanel10, Author_Text, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY|wxTE_RIGHT );
1048 >    creatorText->SetName(_T("Author_Text"));
1049 >    creatorText->SetBackgroundColour(wxColour(240, 240, 240));
1050 >    itemBoxSizer15->Add(creatorText, 1, wxGROW|wxRIGHT, 5);
1051 >
1052 >    wxStaticLine* itemStaticLine17 = new wxStaticLine( itemPanel10, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
1053 >    itemStaticLine17->Show(false);
1054 >    itemBoxSizer11->Add(itemStaticLine17, 0, wxGROW|wxALL, 5);
1055 >
1056 >    descriptionText = new wxTextCtrl( itemPanel10, Description_Text, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE|wxTE_READONLY|wxTE_RICH|wxTE_RICH2 );
1057 >    descriptionText->SetName(_T("DescriptionName"));
1058 >    descriptionText->SetBackgroundColour(wxColour(240, 240, 240));
1059 >    itemBoxSizer11->Add(descriptionText, 1, wxGROW|wxLEFT|wxRIGHT, 5);
1060 >
1061 >    MainSplitter->SplitVertically(itemPanel4, itemPanel10, 200);
1062 >    itemBoxSizer2->Add(MainSplitter, 1, wxGROW|wxALL, 0);
1063 >
1064 >    StatusArea = new wxStatusBar( itemFrame1, ID_STATUSBAR, 0 );
1065 >    StatusArea->SetName(_T("StatusArea"));
1066 >    StatusArea->SetFieldsCount(1);
1067 >    StatusArea->SetStatusText(_("AE Installer v1.0"), 0);
1068 >    itemBoxSizer2->Add(StatusArea, 0, wxGROW|wxALL, 0);
1069 >
1070 >    wxBoxSizer* itemBoxSizer20 = new wxBoxSizer(wxHORIZONTAL);
1071 >    itemBoxSizer2->Add(itemBoxSizer20, 0, wxGROW|wxALL, 0);
1072 >
1073 >    ProgressBar = new wxGauge( itemFrame1, ProgressBar_Gauge, 1000, wxDefaultPosition, wxDefaultSize, wxGA_SMOOTH );
1074 >    ProgressBar->SetValue(0);
1075 >    itemBoxSizer20->Add(ProgressBar, 1, wxGROW|wxALL, 0);
1076 >
1077 >    InstallButton = new wxButton( itemFrame1, Install_Button, _("Install!"), wxDefaultPosition, wxDefaultSize, 0 );
1078 >    itemBoxSizer20->Add(InstallButton, 0, wxGROW|wxALL, 0);
1079 >
1080 >    wxBoxSizer* itemBoxSizer23 = new wxBoxSizer(wxVERTICAL);
1081 >    itemBoxSizer2->Add(itemBoxSizer23, 0, wxGROW|wxALL, 0);
1082 >
1083 >    OptionsPanel = new wxPanel( itemFrame1, ID_PANEL1, wxDefaultPosition, wxDefaultSize, wxSUNKEN_BORDER|wxTAB_TRAVERSAL );
1084 >    itemBoxSizer2->Add(OptionsPanel, 0, wxGROW, 0);
1085 >
1086 >    wxBoxSizer* itemBoxSizer25 = new wxBoxSizer(wxHORIZONTAL);
1087 >    OptionsPanel->SetSizer(itemBoxSizer25);
1088 >
1089 >    wxBoxSizer* itemBoxSizer26 = new wxBoxSizer(wxVERTICAL);
1090 >    itemBoxSizer25->Add(itemBoxSizer26, 0, wxGROW|wxALL, 5);
1091 >
1092 >    SepRadio = new wxRadioButton( OptionsPanel, Sep_RadioButton, _("Sep"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP );
1093 >    SepRadio->SetValue(false);
1094 >    if (MainWindow::ShowToolTips())
1095 >        SepRadio->SetToolTip(_("For PC Demo and Mac"));
1096 >    itemBoxSizer26->Add(SepRadio, 0, wxALIGN_LEFT|wxALL, 5);
1097 >
1098 >    NoSepRadio = new wxRadioButton( OptionsPanel, NoSep_RadioButton, _("NoSep"), wxDefaultPosition, wxDefaultSize, 0 );
1099 >    NoSepRadio->SetValue(false);
1100 >    if (MainWindow::ShowToolTips())
1101 >        NoSepRadio->SetToolTip(_("For PC Retail"));
1102 >    itemBoxSizer26->Add(NoSepRadio, 0, wxALIGN_LEFT|wxALL, 5);
1103 >
1104 >    wxStaticLine* itemStaticLine29 = new wxStaticLine( OptionsPanel, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
1105 >    itemBoxSizer25->Add(itemStaticLine29, 0, wxGROW|wxALL, 5);
1106 >
1107 >    wxBoxSizer* itemBoxSizer30 = new wxBoxSizer(wxVERTICAL);
1108 >    itemBoxSizer25->Add(itemBoxSizer30, 0, wxGROW|wxALL, 5);
1109 >
1110 >    SeperatedRadio = new wxRadioButton( OptionsPanel, Seperated_RadioButton, _("Separated Level0"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP );
1111 >    SeperatedRadio->SetValue(false);
1112 >    SeperatedRadio->SetName(_T("Seperated_RadioButton"));
1113 >    itemBoxSizer30->Add(SeperatedRadio, 0, wxALIGN_LEFT|wxALL, 5);
1114 >
1115 >    CompleteRadio = new wxRadioButton( OptionsPanel, Complete_RadioButton, _("Complete Level0"), wxDefaultPosition, wxDefaultSize, 0 );
1116 >    CompleteRadio->SetValue(false);
1117 >    CompleteRadio->SetName(_T("Complete_RadioButton"));
1118 >    itemBoxSizer30->Add(CompleteRadio, 0, wxALIGN_LEFT|wxALL, 5);
1119 >
1120 >    wxStaticLine* itemStaticLine33 = new wxStaticLine( OptionsPanel, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
1121 >    itemBoxSizer25->Add(itemStaticLine33, 0, wxGROW|wxALL, 5);
1122 >
1123 >    wxBoxSizer* itemBoxSizer34 = new wxBoxSizer(wxVERTICAL);
1124 >    itemBoxSizer25->Add(itemBoxSizer34, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
1125 >
1126 >    ReglobalizeButton = new wxButton( OptionsPanel, ReGlobalize_Button, _("Reglobalize"), wxDefaultPosition, wxDefaultSize, 0 );
1127 >    ReglobalizeButton->SetName(_T("Reglobalize_Button"));
1128 >    itemBoxSizer34->Add(ReglobalizeButton, 0, wxGROW|wxALL, 5);
1129 >
1130 >    // Connect events and objects
1131 >    Mods_CheckboxList->Connect(Mods_CheckboxList1, wxEVT_CREATE, wxWindowCreateEventHandler(MainWindow::ModList_OnCreate), NULL, this);
1132          ////@end MainWindow content construction
1133  
1134          if ( exists( "../../GameDataFolder/level0_Final.sep" ) ) {
1135 <                static_cast<string>("-import:sep");
1135 >                strImportOption = "-import:sep";
1136                  splitInstances = NOT_SPLIT;
1137          }
1138          else {
1139 <                static_cast<string>("-import:nosep");
1139 >                strImportOption = "-import:nosep";
1140                  splitInstances = SPLIT;
1141          }
1142 <
1142 >        
1143          globalPackages = getPackages();
1144          globalInstalledMods = getInstallString();
1145          for (int i = 0; i < globalPackages.size(); i++) {
# Line 1130 | Line 1151 | void MainWindow::CreateControls()
1151          TheInstallButton = InstallButton;
1152          TheProgressBar = ProgressBar;
1153          OptionsPanel->Hide();
1154 <        if(splitInstances == SPLIT) SeparatedRadio->SetValue(true);
1154 >        
1155 > //#ifndef WIN32
1156 > //      itemMenu37->Append(wxID_ABOUT, _("About"), wxEmptyString, wxITEM_NORMAL);
1157 >        
1158 > //#endif
1159 >        
1160 >        if(splitInstances == SPLIT) SeperatedRadio->SetValue(true);
1161          else CompleteRadio->SetValue(true);
1135
1136
1137
1162          if(strImportOption == "-import:nosep") NoSepRadio->SetValue(true);
1163          else SepRadio->SetValue(true);
1164  
# Line 1202 | Line 1226 | wxBitmap MainWindow::GetBitmapResource(
1226   {
1227          // Bitmap retrieval
1228          ////@begin MainWindow bitmap retrieval
1229 <        wxUnusedVar(name);
1230 <        if (name == _T("redo.xpm"))
1231 <        {
1232 <                wxBitmap bitmap(redo_xpm);
1233 <                return bitmap;
1234 <        }
1235 <        else if (name == _T("fileopen.xpm"))
1236 <        {
1237 <                wxBitmap bitmap( fileopen_xpm);
1238 <                return bitmap;
1239 <        }
1240 <        else if (name == _T("filesaveas.xpm"))
1241 <        {
1242 <                wxBitmap bitmap( filesaveas_xpm);
1243 <                return bitmap;
1244 <        }
1245 <        else if (name == _T("quit.xpm"))
1246 <        {
1247 <                wxBitmap bitmap( quit_xpm);
1248 <                return bitmap;
1249 <        }
1250 <        return wxNullBitmap;
1229 >    wxUnusedVar(name);
1230 >    if (name == _T("undo.xpm"))
1231 >    {
1232 >        wxBitmap bitmap( undo_xpm);
1233 >        return bitmap;
1234 >    }
1235 >    else if (name == _T("fileopen.xpm"))
1236 >    {
1237 >        wxBitmap bitmap( fileopen_xpm);
1238 >        return bitmap;
1239 >    }
1240 >    else if (name == _T("filesaveas.xpm"))
1241 >    {
1242 >        wxBitmap bitmap( filesaveas_xpm);
1243 >        return bitmap;
1244 >    }
1245 >    else if (name == _T("quit.xpm"))
1246 >    {
1247 >        wxBitmap bitmap( quit_xpm);
1248 >        return bitmap;
1249 >    }
1250 >    return wxNullBitmap;
1251          ////@end MainWindow bitmap retrieval
1252   }
1253  
# Line 1236 | Line 1260 | wxIcon MainWindow::GetIconResource( cons
1260  
1261          // Icon retrieval
1262          ////@begin MainWindow icon retrieval
1263 <        wxUnusedVar(name);
1264 <        if (name == _T("oni_special.ico"))
1265 <        {
1266 <                //      wxIcon icon(_T("oni_special.ico"), wxBITMAP_TYPE_ICO);
1267 <                //      return icon;
1268 <        }
1269 <        return wxNullIcon;
1263 >    wxUnusedVar(name);
1264 >    if (name == _T("aelogosmall.png"))
1265 >    {
1266 >        wxIcon icon(aelogosmall_xpm);
1267 >        return icon;
1268 >    }
1269 >    return wxNullIcon;
1270          ////@end MainWindow icon retrieval
1271   }
1272  
# Line 1292 | Line 1316 | void MainWindow::OnOptionsClick( wxComma
1316   {
1317          if (!event.GetInt() ) {
1318                  OptionsPanel->Hide();
1319 +                
1320                  this->SetSize(this->GetRect().GetWidth(), this->GetRect().GetHeight()-OptionsPanel->GetRect().GetHeight());}
1321          else {
1322   //              Uncomment this when we release, it gets annoying if you are testing globalization a lot ;)
# Line 1387 | Line 1412 | void setProgressBar( int i ) {
1412   void MainWindow::OnStatusbarUpdate( wxUpdateUIEvent& event )
1413   {
1414          ////@begin wxEVT_UPDATE_UI event handler for ID_STATUSBAR in MainWindow.
1415 <        // Before editing this code, remove the block markers.
1416 <        event.Skip();
1415 >    // Before editing this code, remove the block markers.
1416 >    event.Skip();
1417          ////@end wxEVT_UPDATE_UI event handler for ID_STATUSBAR in MainWindow.
1418   }
1419  
# Line 1400 | Line 1425 | void MainWindow::OnStatusbarUpdate( wxUp
1425   void MainWindow::OnAboutClick( wxCommandEvent& event )
1426   {
1427          ////@begin wxEVT_COMMAND_MENU_SELECTED event handler for wxID_ABOUT in MainWindow.
1428 <        // Before editing this code, remove the block markers.
1429 <        About* window = new About(this);
1430 <        int returnValue = window->ShowModal();
1431 <        window->Destroy();
1428 >    // Before editing this code, remove the block markers.
1429 >    About* window = new About(this);
1430 >    int returnValue = window->ShowModal();
1431 >    window->Destroy();
1432          ////@end wxEVT_COMMAND_MENU_SELECTED event handler for wxID_ABOUT in MainWindow.
1433   }
1434  
# Line 1432 | Line 1457 | void MainWindow::OnSepRadioButtonSelecte
1457   * wxEVT_COMMAND_RADIOBUTTON_SELECTED event handler for Separated_RadioButton
1458   */
1459  
1435 void MainWindow::OnSeparatedRadioButtonSelected( wxCommandEvent& event )
1436 {
1437        splitInstances = SPLIT;
1438
1439 }
1440
1441
1460   /*
1461   * wxEVT_COMMAND_RADIOBUTTON_SELECTED event handler for Complete_RadioButton
1462   */
# Line 1600 | Line 1618 | event.Skip();
1618   ////@end wxEVT_COMMAND_RADIOBUTTON_SELECTED event handler for Separated_RadioButton in MainWindow.
1619   }*/
1620  
1621 +
1622 + /*
1623 + * wxEVT_COMMAND_RADIOBUTTON_SELECTED event handler for Seperated_RadioButton
1624 + */
1625 +
1626 + void MainWindow::OnSeperatedRadioButtonSelected( wxCommandEvent& event )
1627 + {
1628 + splitInstances = SPLIT;
1629 + }
1630 +

Diff Legend

Removed lines
+ Added lines
< Changed lines (old)
> Changed lines (new)