| 722 |
|
|
| 723 |
|
|
| 724 |
|
|
| 725 |
< |
ofstream BSLlog("BSL.log"); |
| 725 |
> |
|
| 726 |
|
|
| 727 |
|
vector<string> BSLfolders; |
| 728 |
|
vector<string> skippedfolders; |
| 729 |
|
|
| 730 |
|
|
| 731 |
< |
|
| 731 |
> |
ofstream BSLlog("BSL.log"); |
| 732 |
|
for ( directory_iterator dir_itr( "../GameDataFolder/IGMD/" ), end_itr; |
| 733 |
|
dir_itr != end_itr; |
| 734 |
|
++dir_itr ) { |
| 741 |
|
for (int i = installedMods.size() - 1; i >= 0; i--) { //Iterates through the installed mods (backwards :P) |
| 742 |
|
for (unsigned int j = 0; j < globalPackages.size(); ++j) { //looking in the global packages |
| 743 |
|
if (globalPackages[j].modStringName == installedMods[i]) { //for a mod that has BSL in it |
| 744 |
< |
BSLlog << "Testing " << globalPackages[j].modStringName << "\n" |
| 744 |
> |
/*BSLlog << "Testing " << globalPackages[j].modStringName << "\n" |
| 745 |
|
<< "HasBSL: " << globalPackages[j].hasBSL << "\n" |
| 746 |
< |
<< "HasAddon: " << globalPackages[j].hasAddon << "\n"; |
| 746 |
> |
<< "HasAddon: " << globalPackages[j].hasAddon << "\n";*/ |
| 747 |
|
if(!(globalPackages[j].hasAddon || globalPackages[j].hasBSL)) break; //skip non-BSL |
| 748 |
< |
if( exists( "packages/" + globalPackages[j].modStringName + "/BSL" ) ) |
| 748 |
> |
if( exists( "packages/" + globalPackages[j].modStringName + "/BSL/" ) ) { |
| 749 |
|
copyBSL("packages/" + globalPackages[j].modStringName + "/BSL", BSLfolders, globalPackages[j] ); |
| 750 |
+ |
BSLlog << "Copied " << globalPackages[j].modStringName << "!\n"; |
| 751 |
+ |
} |
| 752 |
+ |
|
| 753 |
|
} |
| 754 |
|
|
| 755 |
|
} |
| 756 |
|
} |
| 757 |
|
|
| 758 |
|
ModPackage emptyPackage; |
| 759 |
+ |
emptyPackage.modStringName = "VanillaBSL"; |
| 760 |
+ |
emptyPackage.hasBSL = 1; |
| 761 |
|
copyBSL("packages/VanillaBSL/IGMD", BSLfolders, emptyPackage); |
| 762 |
|
BSLlog.close(); |
| 763 |
|
|
| 768 |
|
|
| 769 |
|
string finallyDone = "Done! You can now play Oni."; |
| 770 |
|
|
| 771 |
< |
a |
| 771 |
> |
|
| 772 |
|
|
| 773 |
|
setStatusArea(finallyDone); |
| 774 |
|
|
| 802 |
|
busy = 0; |
| 803 |
|
} |
| 804 |
|
|
| 805 |
< |
void copyBSL(string copypath, vector<string> BSLfolders, ModPackage pkg) { |
| 805 |
> |
void copyBSL(string copypath, vector<string>& BSLfolders, ModPackage pkg) { |
| 806 |
> |
|
| 807 |
> |
ofstream BSLlog("BSL2.log", ios::app ); |
| 808 |
> |
|
| 809 |
|
try { |
| 810 |
|
for ( directory_iterator dir_itr( copypath ), end_itr; |
| 811 |
|
dir_itr != end_itr; |
| 812 |
|
++dir_itr ) { |
| 813 |
|
|
| 814 |
|
if ( is_directory( dir_itr->path() ) && dir_itr->path().string() != ".svn" ) { |
| 815 |
+ |
BSLlog << "Testing " << dir_itr->path().string() << " HasBSL: " << pkg.hasBSL << " HasAddon: " << pkg.hasAddon << "\n"; |
| 816 |
|
int skip_folder = 0; |
| 817 |
+ |
|
| 818 |
|
for(unsigned int k = 0; k < BSLfolders.size(); k++) {//iterate through already found BSL folders |
| 819 |
+ |
BSLlog << "testing " << dir_itr->path().filename() << " vs " << BSLfolders[k] << "\n"; |
| 820 |
|
if(dir_itr->path().filename() == BSLfolders[k]) { |
| 821 |
< |
skip_folder = 1; |
| 821 |
> |
skip_folder = 1; |
| 822 |
> |
BSLlog << "skipping " << BSLfolders[k] << " in " << pkg.modStringName << "\n"; |
| 823 |
|
break; |
| 824 |
|
} |
| 825 |
|
} |
| 827 |
|
remove_all( "../GameDataFolder/IGMD/" + dir_itr->path().filename() ); |
| 828 |
|
Sleep(100); |
| 829 |
|
create_directory( "../GameDataFolder/IGMD/" + dir_itr->path().filename()); |
| 830 |
< |
|
| 830 |
> |
BSLlog << "Copied " << dir_itr->path().string() << " in " << pkg.modStringName << "!\n"; |
| 831 |
|
for ( directory_iterator bsl_itr( dir_itr->path() ); |
| 832 |
|
bsl_itr != end_itr; |
| 833 |
|
bsl_itr++ ) { |
| 835 |
|
copy_file(bsl_itr->path(), "../GameDataFolder/IGMD/" + dir_itr->path().filename() + "/" + bsl_itr->path().filename()); |
| 836 |
|
} |
| 837 |
|
} |
| 838 |
< |
BSLfolders.push_back( dir_itr->path().filename() ); |
| 838 |
> |
BSLfolders.push_back( dir_itr->path().filename() ); //add back check for addon |
| 839 |
> |
BSLlog << "Pushing " << dir_itr->path().filename() << "\n" ; |
| 840 |
|
} |
| 841 |
|
} |
| 842 |
|
} |
| 846 |
|
setStatusArea("Warning, exception " + (string)ex.what() + "!"); |
| 847 |
|
while(1) Sleep(1000); |
| 848 |
|
} |
| 849 |
< |
|
| 849 |
> |
BSLlog.close(); |
| 850 |
> |
|
| 851 |
|
} |
| 852 |
< |
|
| 853 |
< |
|
| 852 |
> |
|
| 853 |
> |
|
| 854 |
|
void writeInstalledMods(vector<string> installedMods) |
| 855 |
|
{ |
| 856 |
|
|