Changeset 548 for AE/Installer


Ignore:
Timestamp:
May 27, 2010, 12:55:00 AM (9 years ago)
Author:
gumby
Message:

BSL addon fixes.

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

Legend:

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

    r542 r548  
    127127                                                        "ssg: Documenting Oni's game data";
    128128    wxStaticText* itemStaticText5 = new wxStaticText( itemPanel3, wxID_STATIC, _(aboutText.c_str()), wxDefaultPosition, wxDefaultSize, wxNO_BORDER );
     129       
    129130    itemBoxSizer4->Add(itemStaticText5, 0, wxALIGN_LEFT|wxALL, 5);
    130131       
  • AE/Installer/trunk/source/installer.cpp

    r543 r548  
    660660                for (unsigned int j = 0; j < globalPackages.size(); ++j) {                              //looking in the global packages
    661661                        if (globalPackages[j].modStringName == installedMods[i]) {      //for a mod that has BSL in it
    662                                 if(!(globalPackages[j].hasAddon || globalPackages[j].hasBSL)) break; //skip non-BSL
     662                                if(globalPackages[j].hasBSL)) break; //skip non-BSL
    663663                                if( exists( "packages/" + globalPackages[j].modStringName + "/BSL/" ) ) {
    664664                                        copyBSL("packages/" + globalPackages[j].modStringName + "/BSL", BSLfolders, globalPackages[j] );
     
    669669        }
    670670       
     671
     672
    671673        ModPackage emptyPackage;
    672674        emptyPackage.modStringName = "VanillaBSL";
     
    674676        copyBSL("packages/VanillaBSL/IGMD", BSLfolders, emptyPackage);
    675677        BSLlog.close();
    676        
     678
     679        for (int i = installedMods.size() - 1; i >= 0; i--) {                                                   //Iterates through the installed mods (backwards :P)
     680                for (unsigned int j = 0; j < globalPackages.size(); ++j) {                              //looking in the global packages
     681                        if (globalPackages[j].modStringName == installedMods[i]) {      //for a mod that has BSL in it
     682                                if(!globalPackages[j].hasAddon) break; //skip non-BSL
     683                                if( exists( "packages/" + globalPackages[j].modStringName + "/BSL/" ) ) {
     684                                        copyBSL("packages/" + globalPackages[j].modStringName + "/BSL", BSLfolders, globalPackages[j] );
     685                                        BSLlog << "Copied " <<  globalPackages[j].modStringName << "!\n";
     686                                }
     687                        }
     688                }
     689        }
     690
    677691        logfile << "Writing config file";
    678692        writeInstalledMods(installedMods);
     
    715729                                BSLlog << "Testing " << dir_itr->path().string() << " HasBSL: " << pkg.hasBSL << " HasAddon: " << pkg.hasAddon << "\n";
    716730                                int skip_folder = 0;
    717                                
    718                                 for(unsigned int k = 0; k < BSLfolders.size(); k++)             {//iterate through already found BSL folders   
    719                                         BSLlog << "testing " << dir_itr->path().filename() << " vs " << BSLfolders[k] << "\n";
    720                                         if(dir_itr->path().filename() == BSLfolders[k]) {
    721                                                 skip_folder = 1;
    722                                                 BSLlog << "skipping " << BSLfolders[k] << " in " << pkg.modStringName << "\n";
    723                                                 break;
     731                                if(!pkg.HasAddon) {
     732                                        for(unsigned int k = 0; k < BSLfolders.size(); k++)             {//iterate through already found BSL folders   
     733                                                BSLlog << "testing " << dir_itr->path().filename() << " vs " << BSLfolders[k] << "\n";
     734                                                if(dir_itr->path().filename() == BSLfolders[k]) {
     735                                                        skip_folder = 1;
     736                                                        BSLlog << "skipping " << BSLfolders[k] << " in " << pkg.modStringName << "\n";
     737                                                        break;
     738                                                }
    724739                                        }
    725740                                }
Note: See TracChangeset for help on using the changeset viewer.