Ignore:
Timestamp:
Jul 5, 2009, 4:11:22 PM (15 years ago)
Author:
iritscen
Message:

Added check on Mac side for mono framework.

Location:
AE/Installer/trunk/source
Files:
2 edited

Legend:

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

    r379 r382  
    112112       
    113113#ifndef WIN32
    114         // CIP: test for the third-party mono framework, because without it, on Mac, we are up a creek
    115        
    116        
    117         if (!monoPresent) // abort! abort! abort!
     114        // test for the third-party mono framework, because without it, on Mac, we are up a creek
     115        char monoCommand[300] = "which mono >> ";
     116        strcat(monoCommand, system_complete("./mono_check.log").string().c_str());
     117        system(monoCommand);
     118        fstream file;
     119        file.open("./mono_check.log");
     120        string line;
     121        int line_count = 0;
     122        while (!file.eof())
    118123        {
    119                 // CIP: disable window controls, present alert with URL to download mono, alert window has one button, "Quit"
     124                line_count++;
     125                getline(file, line);
    120126        }
     127        file.close();
     128        remove("./mono_check.log");
     129       
     130        if (line_count <= 1) // this means that "which mono" returned nothing -- abort! abort! abort!
     131        {
     132                wxMessageDialog* MonoDialogOfDeath = new wxMessageDialog(TheWindow, "You don't have 'mono' installed! 'mono' is a command-line tool required by the Edition. You can download it from:\nhttp://www.go-mono.com/mono-downloads/download.html (OS X 10.4+) or\nhttp://edt.oni2.net/AE/MonoFramework10.3.dmg (OS X 10.3)\n\nPlease install 'mono', then open this Installer again.",  "AE Installer Alert",  wxOK | wxICON_EXCLAMATION     , wxDefaultPosition);
     133                MonoDialogOfDeath->ShowModal();
     134                TheWindow->Close();
     135                return true; // it's quittin' time, Joe
     136        }
    121137#endif
    122138
    123139        //anything after this is done after the window appears...
    124                 if ( !exists("../GameDataFolder") ) {
     140        if ( !exists("../GameDataFolder") )
     141        {
    125142                wxMessageDialog* YesNoDialog = new wxMessageDialog(TheWindow,           "You haven't globalized yet! \nYou must globalize to use the Anniversary Edition framework. \nWould you like to globalize now? (This could take a while...)\n(Selecting \"No\" will exit this program...)",  "AE Installer Alert",  wxYES_NO | wxICON_EXCLAMATION       , wxDefaultPosition);
    126143
    127                         if (YesNoDialog->ShowModal() == wxID_NO) { //if the user said no...
     144                if (YesNoDialog->ShowModal() == wxID_NO) // if the user said no...
    128145                        TheWindow->Close();
    129                 }
    130                 else {
     146                else
     147                {
    131148                        TheWindow->InstallButton->Disable();
    132                 TheWindow->ReglobalizeButton->Disable();
     149                        TheWindow->ReglobalizeButton->Disable();
    133150
    134151#ifdef WIN32
    135 
    136                 boost::thread thrd3(globalizeData);
     152                        boost::thread thrd3(globalizeData);
    137153                //globalizeData();
    138154                //boost::thread::create_thread(&globalizeData);
     
    140156                // Tg.create_thread( &globalizeData(), this );
    141157#else
    142                 globalizeData();
     158                        globalizeData();
    143159#endif
    144160               
    145                 TheWindow->InstallButton->Enable();
    146                 TheWindow->ReglobalizeButton->Enable();
     161                        TheWindow->InstallButton->Enable();
     162                        TheWindow->ReglobalizeButton->Enable();
    147163                }
    148164        }
  • AE/Installer/trunk/source/aeinstallerapp.h

    r379 r382  
    2323////@end includes
    2424
    25 bool monoPresent = false; // the Mac won't be able to do anything without mono installed
    2625
    2726/*!
Note: See TracChangeset for help on using the changeset viewer.