Changeset 357 for AE/Installer


Ignore:
Timestamp:
Jun 19, 2009, 11:32:17 PM (15 years ago)
Author:
gumby
Message:

Finished installer 1.0 except for icons

File:
1 edited

Legend:

Unmodified
Added
Removed
  • AE/Installer/trunk/source/main_window.cpp

    r355 r357  
    3535const bool NOT_SPLIT = 0;
    3636bool splitInstances = SPLIT;
    37 
     37bool busy = 0;
    3838#ifdef WIN32
    3939const string strOniSplit = "Onisplit.exe";
     
    6161int globalizeData(void)
    6262{
    63             using boost::lexical_cast;
    64     using boost::bad_lexical_cast;
    65 // using namespace boost::posix_time;
     63        busy = 1;
     64        using boost::lexical_cast;
     65        using boost::bad_lexical_cast;
     66        // using namespace boost::posix_time;
    6667        using namespace boost::gregorian;
    6768        using namespace boost::posix_time;
     
    7778        logfile << "Globalization started " << to_simple_string(start_time) << endl;
    7879        try {
    79                
     80
    8081                char levels_cstr[15][3] = {"0", "1", "2", "3", "4", "6", "8", "9", "10", "11", "12", "13", "14", "18", "19"}; // the levels Oni has...probably should have made a string array. Oops.
    8182                //const vector<double> ck(cv, &cv[CvSize]);
     
    9697                path TRAC = Animations / "level0_TRAC";
    9798                path TRAM = Animations / "level0_TRAM";
    98                
     99
    99100                vector<path> GDFPaths;
    100101                GDFPaths.push_back(Characters);
     
    104105                GDFPaths.push_back(TRAC);
    105106                GDFPaths.push_back(TRAM);
    106                
    107                        
     107
     108
    108109                path VanillaCharacters = "packages/VanillaDats/level0_Final/level0_Characters/level0_Characters.oni";
    109110                path VanillaParticles = "packages/VanillaDats/level0_Final/level0_Particles/level0_Particles.oni";
     
    115116
    116117                vector<path> VanillaPaths;
    117                
     118
    118119                VanillaPaths.push_back(VanillaCharacters);
    119120                VanillaPaths.push_back(VanillaParticles);
     
    122123                VanillaPaths.push_back(VanillaTRAC);
    123124                VanillaPaths.push_back(VanillaTRAM);
    124                
     125
    125126                /*
    126127                if (exists("../GameDataFolder/"))
     
    143144                logfile <<  "Creating needed directories...\n";
    144145                create_directory( "../GameDataFolder/" );
    145                
     146
    146147                create_directory( "packages" );
    147                
     148
    148149                if (exists("packages/VanillaDats")) remove_all("packages/VanillaDats");
    149150                create_directory( "packages/VanillaDats" );
    150                
     151
    151152                create_directory( "packages/VanillaDats/level0_Final/" );
    152153                //blah blah finish this.
     
    163164                for(int i = 1; i < 15; i++)
    164165                {
    165                                 if (exists("../../GameDataFolder/level" + levels[i] + "_Final.dat")) {
     166                        if (exists("../../GameDataFolder/level" + levels[i] + "_Final.dat")) {
    166167                                num_levels++;
    167168
     
    172173                for(int i = 0; i < 15; i++)
    173174                {
    174                        
     175
    175176                        //printf(levels[i],"%d",levels[i]); // int to char array
    176                        
     177
    177178                        if (exists("../../GameDataFolder/level" + levels[i] + "_Final.dat")) {
    178179                                logfile << "level" << levels[i] << "_Final\n";
     
    181182                                setStatusArea("Step " + lexical_cast<std::string>(parts_done + 1) + "/" + lexical_cast<std::string>(total_steps) + " exporting level" + levels[i]+"_Final.dat");
    182183                                create_directory( "../GameDataFolder/level" + levels[i] + "_Final" );
    183 //                              setStatusArea(strOniSplit + " -export ../GameDataFolder/level" + levels[i] + "_Final ../../GameDataFolder/level" + levels[i] + "_Final.dat");
     184                                //                              setStatusArea(strOniSplit + " -export ../GameDataFolder/level" + levels[i] + "_Final ../../GameDataFolder/level" + levels[i] + "_Final.dat");
    184185                                system((strOniSplit + " -export ../GameDataFolder/level" + levels[i] + "_Final ../../GameDataFolder/level" + levels[i] + "_Final.dat").c_str());
    185186                                create_directory( "packages/VanillaDats/level" + levels[i] + "_Final" );
     
    257258                                                        || dir_itr->path().filename().substr(0,4) == "TRCM") {
    258259                                                                cout <<dir_itr->path().filename() << "\n";
    259                                        
     260
    260261                                                                if(!exists( Archive / dir_itr->filename())) rename(dir_itr->path(), Archive / dir_itr->filename());
    261262                                                                else remove(dir_itr->path());
     
    270271
    271272
    272                                                
     273
    273274                                }
    274275                                logfile << "\tCleaning up TXMPs...\n";
     
    277278
    278279                                setProgressBar( (int)(1000 * (float)(parts_done) / (float)(total_steps) ));
    279                                
     280
    280281                        }
    281282                }
     
    290291                                + levels[i] + "_Final/level" + levels[i] + "_Final.oni > Globalize.oni").c_str());
    291292                        setProgressBar( (int)(1000 * (float)(parts_done) / (float)(total_steps) ));
    292                                 parts_done++;
     293                        parts_done++;
    293294                }
    294295                create_directory( VanillaCharacters.parent_path() );
     
    297298                create_directory( VanillaSounds.parent_path() );
    298299                create_directory( VanillaAnimations.remove_filename() );
    299                
     300
    300301                for(int j = 0; j < GDFPaths.size(); j++) {
    301302                        logfile << "\tReimporting " << GDFPaths[j].filename() << ".oni\n";
     
    305306                        setProgressBar( (int)(1000 * (float)(parts_done) / (float)(total_steps) ));
    306307                }
    307 /*
     308                /*
    308309                printf(Step_x_x,"Step %d/%d: reimporting level0_Characters", parts_done,7 + 2 * num_levels); setStatusArea((string)Step_x_x);setProgressBar( (int)(1000 * (float)(parts_done) / (float)(7 + 2 * num_levels) ));
    309310                system((strOniSplit + " " + strImportOption + " " + Characters.string() + " " + VanillaCharacters.string()).c_str());
     
    321322                //parts_done++; setStatusArea((string)"Copying level scripts...");setProgressBar( (int)(1000 * (float)(parts_done) / (float)(7 + 2 * num_levels) ));
    322323                if (exists("../GameDataFolder/IGMD")) remove_all("../GameDataFolder/IGMD");
    323 */
     324                */
    324325                create_directory((path)"../GameDataFolder/IGMD");
    325326                copy((path)"packages/VanillaBSL/", (path)"../GameDataFolder");
    326327                setProgressBar( 1000 );
    327328                setStatusArea((string)"Done! Now select your mod packages and click install.");
    328         //      while(1) Sleep(-1);
    329                
     329                //      while(1) Sleep(-1);
     330
    330331        }
    331332        catch (exception ex) {
    332333                setStatusArea("Warning, handled exception: " + (string)ex.what());
    333334        }
    334        
    335                 ptime end_time(second_clock::local_time());
    336                 time_period total_time (start_time, end_time);
    337                 logfile << "\n\nGlobalization ended " << to_simple_string(end_time) << "\nThe process took " << total_time.length();
    338                 //total_time.length().hours();
     335
     336        ptime end_time(second_clock::local_time());
     337        time_period total_time (start_time, end_time);
     338        logfile << "\n\nGlobalization ended " << to_simple_string(end_time) << "\nThe process took " << total_time.length();
     339        //total_time.length().hours();
    339340        logfile.close();
    340 
     341        busy = 0;
    341342        return err;
    342343}
     
    491492void recompileAll(vector<string> installedMods)
    492493{
     494        busy = 1;
    493495        using namespace boost::gregorian;
    494496        using namespace boost::posix_time;
     497        using boost::lexical_cast;
     498        using boost::bad_lexical_cast;
    495499       
    496500        setStatusArea("Importing levels...");
     
    551555                                                importCommand += " ../GameDataFolder/" + dir_itr->path().filename() + ".dat >> Install.log";
    552556
    553                                                 printf(statusString,"%d/%i\0",j,numberOfDats); 
     557                                               
    554558                                                setProgressBar( (int)(1000 * (float)(j-1) / (float)numberOfDats) ); //100% * dat we're on / total dats
    555                                                 setStatusArea("Importing " +  dir_itr->path().filename() + " " + statusString);
     559                                                setStatusArea("Step " + lexical_cast<std::string>(j) + '/' + lexical_cast<std::string>(numberOfDats)+ ": Importing " +  dir_itr->path().filename() + " ");
    556560
    557561                                                system(importCommand.c_str());
     
    564568                                catch ( const std::exception & ex )
    565569                                {
    566                                        
    567         remove("Install.log");
    568         ofstream logfile("Install.log");
    569        
    570        
     570
     571                                        remove("Install.log");
     572                                        ofstream logfile("Install.log");
     573
     574
    571575                                        logfile << "Warning, exception " << ex.what() << "!";
    572576                                        setStatusArea("Warning, exception " + (string)ex.what() + "!");
    573 logfile.close();       
     577                                        logfile.close();       
    574578                                }
    575579                        }
     
    577581                }
    578582                catch( const std::exception & ex ) {
    579        
    580         remove("Install.log");
    581         ofstream logfile("Install.log");
    582        
    583        
    584                                         logfile << "Warning, exception " << ex.what() << "!";
    585                                         setStatusArea("Warning, exception " + (string)ex.what() + "!");
    586 logfile.close();
     583
     584                        remove("Install.log");
     585                        ofstream logfile("Install.log");
     586
     587
     588                        logfile << "Warning, exception " << ex.what() << "!";
     589                        setStatusArea("Warning, exception " + (string)ex.what() + "!");
     590                        logfile.close();
    587591                }
    588592
     
    623627                                        importCommand += " ../GameDataFolder/" + dir_itr->path().filename() + ".dat >> Install.log";
    624628
    625                                         printf(statusString,"%d/%i\0",j,numberOfDats); 
     629
    626630                                        setProgressBar( (int)(1000 * (float)(j-1) / (float)numberOfDats) ); //100% * dat we're on / total dats
    627                                         setStatusArea("Importing " +  dir_itr->path().filename() + " " + statusString);
     631                                        setStatusArea("Step " + lexical_cast<std::string>(j) + '/' + lexical_cast<std::string>(numberOfDats)+ ": Importing " +  dir_itr->path().filename() + " ");
    628632
    629633                                        system(importCommand.c_str());
     
    634638                        catch ( const std::exception & ex )
    635639                        {
    636        
    637         remove("Install.log");
    638         ofstream logfile("Install.log");
    639        
    640        
    641                                         logfile << "Warning, exception " << ex.what() << "!";
    642                                         setStatusArea("Warning, exception " + (string)ex.what() + "!");
    643 logfile.close();
     640
     641                                remove("Install.log");
     642                                ofstream logfile("Install.log");
     643
     644
     645                                logfile << "Warning, exception " << ex.what() << "!";
     646                                setStatusArea("Warning, exception " + (string)ex.what() + "!");
     647                                logfile.close();
    644648                        }}
    645649        }
     
    648652        setProgressBar(1000);
    649653        setStatusArea("Done! You can now play Oni.");
    650        
    651                 ptime end_time(second_clock::local_time());
    652                 time_period total_time (start_time, end_time);
    653                        
    654        
    655                 ofstream logfile2("Install.log", ios::app | ios::ate);
    656                 string outstring = (string)"\n\nGlobalization ended " + to_simple_string(end_time) + "\nThe process took ";// + (string)total_time.length();
    657                
    658                 logfile2 << "\nGlobalization ended " << to_simple_string(end_time) << "\nThe process took " << total_time.length();
    659                
    660                 //logfile2.write(outstring.c_str(), outstring.length());
    661 logfile2.close();
    662 
    663                 //total_time.length().hours();
    664        
     654
     655        ptime end_time(second_clock::local_time());
     656        time_period total_time (start_time, end_time);
     657
     658
     659        ofstream logfile2("Install.log", ios::app | ios::ate);
     660        string outstring = (string)"\n\nGlobalization ended " + to_simple_string(end_time) + "\nThe process took ";// + (string)total_time.length();
     661
     662        logfile2 << "\nGlobalization ended " << to_simple_string(end_time) << "\nThe process took " << total_time.length();
     663
     664        //logfile2.write(outstring.c_str(), outstring.length());
     665        logfile2.close();
     666
     667        //total_time.length().hours();
     668
    665669        Sleep(1000);
    666670        setProgressBar(0);
     671        busy = 0;
    667672}
    668673
     
    869874        SetIcon(GetIconResource(wxT("oni_special.ico")));
    870875        Centre();
    871        
    872        
     876
     877
    873878        ////@end MainWindow creation
    874879        return true;
     
    958963        menuBar->Append(itemMenu44, _("Help"));
    959964        itemFrame1->SetMenuBar(menuBar);
    960 
     965       
    961966        wxBoxSizer* itemBoxSizer2 = new wxBoxSizer(wxVERTICAL);
    962967        itemFrame1->SetSizer(itemBoxSizer2);
     
    11161121        if(strImportOption == "-import:nosep") NoSepRadio->SetValue(true);
    11171122        else SepRadio->SetValue(true);
    1118        
    1119        
     1123
     1124
    11201125#ifdef WIN32
    11211126        RedirectIOToConsole();
     
    11231128        ShowWindow( hWnd, SW_HIDE );
    11241129#endif
    1125        
    1126                 //MainWindow::SetSize(MainWindow::GetRect().GetWidth(), MainWindow::GetRect().GetHeight()-OptionsPanel->GetRect().GetHeight() );
     1130
     1131        //MainWindow::SetSize(MainWindow::GetRect().GetWidth(), MainWindow::GetRect().GetHeight()-OptionsPanel->GetRect().GetHeight() );
    11271132}
    11281133
     
    12181223        if (name == _T("oni_special.ico"))
    12191224        {
    1220         //      wxIcon icon(_T("oni_special.ico"), wxBITMAP_TYPE_ICO);
    1221         //      return icon;
     1225                //      wxIcon icon(_T("oni_special.ico"), wxBITMAP_TYPE_ICO);
     1226                //      return icon;
    12221227        }
    12231228        return wxNullIcon;
     
    12711276
    12721277
    1273        
     1278
    12741279
    12751280        if (!event.GetInt() ) {
     
    13211326        for(int i = 0; i < globalPackages.size(); i++) if(Mods_CheckboxList->IsChecked(i)) localPackages.push_back( globalPackages[i].modStringName );
    13221327        if ( !localPackages.empty() )   {
    1323 
     1328       
    13241329                //MainWindow::MainWindow().Hide();     
    13251330                //      boost::thread thrd2(recompileAll(localPackages) );
    13261331                //MainWindow::MainWindow().Show();
     1332                this->InstallButton->Disable();
     1333                this->ReglobalizeButton->Disable();
    13271334#ifdef WIN32
    13281335                recompile packages(localPackages);
    13291336                boost::thread thrd(packages);
    13301337#else
    1331                 this->Disable();
    13321338                recompileAll(localPackages);
    1333                 this->Enable();
    13341339#endif
    13351340
     1341                this->InstallButton->Enable();
     1342                this->ReglobalizeButton->Enable();
    13361343        }
    13371344
     
    14601467void MainWindow::OnLoadClick( wxCommandEvent& event )
    14611468{
     1469        if (busy == 1) return;
    14621470        static const wxChar *FILETYPES = _T(
    14631471                "Mod Loadouts (*.cfg)|*.cfg|"
     
    14841492void MainWindow::OnSaveClick( wxCommandEvent& event )
    14851493{
     1494        if (busy == 1) return;
    14861495        static const wxChar *FILETYPES = _T(
    14871496                "Mod Loadouts (*.cfg)|*.cfg|"
     
    15421551
    15431552        if (YesNoDialog->ShowModal() == wxID_NO) { //if the user said no...
     1553
     1554        }
     1555        else {
     1556       
     1557                this->InstallButton->Disable();
     1558                this->ReglobalizeButton->Disable();
     1559
     1560#ifdef WIN32
     1561
     1562                boost::thread thrd2(globalizeData);
     1563                //globalizeData();
     1564                //boost::thread::create_thread(&globalizeData);
     1565                //       boost::thread_group Tg;
     1566                // Tg.create_thread( &globalizeData(), this );
     1567#else
     1568                globalizeData();
     1569                setProgressBar(1000);
     1570                setStatusArea("Done!");
     1571#endif
    15441572               
    1545         }
    1546         else {
    1547                
    1548        
    1549 
    1550 #ifdef WIN32
    1551 
    1552         boost::thread thrd2(globalizeData);
    1553         //globalizeData();
    1554         //boost::thread::create_thread(&globalizeData);
    1555         //       boost::thread_group Tg;
    1556         // Tg.create_thread( &globalizeData(), this );
    1557 #else
    1558         globalizeData();
    1559         setProgressBar(1000);
    1560         setStatusArea("Done!");
    1561 #endif
    1562 }
     1573                this->InstallButton->Enable();
     1574                this->ReglobalizeButton->Enable();
     1575        }
    15631576
    15641577}
Note: See TracChangeset for help on using the changeset viewer.