| 659 | 
   | 
         for (int i = installedMods.size() - 1; i >= 0; i--) {                                                   //Iterates through the installed mods (backwards :P) | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 660 | 
   | 
                 for (unsigned int j = 0; j < globalPackages.size(); ++j) {                              //looking in the global packages | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 661 | 
   | 
                         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 | 
 
 
 
 
 
 
 
 
 
 
 
 | 663 | 
   | 
                                 if( exists( "packages/" + globalPackages[j].modStringName + "/BSL/" ) ) { | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 664 | 
   | 
                                         copyBSL("packages/" + globalPackages[j].modStringName + "/BSL", BSLfolders, globalPackages[j] ); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 665 | 
   | 
                                         BSLlog << "Copied " <<  globalPackages[j].modStringName << "!\n"; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 668 | 
   | 
                 } | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 669 | 
   | 
         } | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 670 | 
   | 
          | 
 
 
 
 
 
 
 
 
 | 671 | 
 + | 
  | 
 
 
 
 
 
 
 
 
 | 672 | 
 + | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 673 | 
   | 
         ModPackage emptyPackage; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 674 | 
   | 
         emptyPackage.modStringName = "VanillaBSL"; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 675 | 
   | 
         emptyPackage.hasBSL = 1; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 676 | 
   | 
         copyBSL("packages/VanillaBSL/IGMD", BSLfolders, emptyPackage); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 677 | 
   | 
         BSLlog.close(); | 
 
 
 
 
 
 
 
 
 
 
 
 | 678 | 
 < | 
          | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 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 | 
 > | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 | 691 | 
   | 
         logfile << "Writing config file"; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 692 | 
   | 
         writeInstalledMods(installedMods); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 693 | 
   | 
         setProgressBar(1000); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 728 | 
   | 
                         if ( is_directory( dir_itr->path() ) && dir_itr->path().string() != ".svn" ) {   | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 729 | 
   | 
                                 BSLlog << "Testing " << dir_itr->path().string() << " HasBSL: " << pkg.hasBSL << " HasAddon: " << pkg.hasAddon << "\n"; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 730 | 
   | 
                                 int skip_folder = 0; | 
 
 
 
 
 
 
 
 
 
 
 
 | 731 | 
 < | 
                                  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 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; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 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 | 
 > | 
                                                 } | 
 
 
 
 
 
 
 
 
 
 
 
 | 739 | 
   | 
                                         } | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 740 | 
   | 
                                 } | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 741 | 
   | 
                                 if (!skip_folder && !exists("../GameDataFolder/IGMD/" + dir_itr->path().filename() + "/ignore.txt")) { |