--- AE/Installer/trunk/source/installer.cpp 2010/05/29 02:09:04 553 +++ AE/Installer/trunk/source/installer.cpp 2010/05/30 01:58:25 559 @@ -421,7 +421,7 @@ ModPackage fileToModPackage(fstream &fil iter++; package.modStringVersion = atof((*iter).c_str()); } - else if (!ModString.compare(*iter)) + else if (!ModVersion.compare(*iter)) { iter++; iter++; package.modStringVersion = atof((*iter).c_str()); @@ -658,13 +658,11 @@ void recompileAll(vector install vector skippedfolders; ofstream BSLlog("BSL.log"); - if(exists("../GameDataFolder/BSLBackup/")) { - remove_all("../GameDataFolder/BSLBackup/"); - } - else { + if(!exists("../GameDataFolder/BSLBackup/")) { create_directory("../GameDataFolder/BSLBackup/"); + copy("../GameDataFolder/IGMD/", "../GameDataFolder/BSLBackup/"); } - copy("../GameDataFolder/IGMD/", "../GameDataFolder/BSLBackup/"); + for ( directory_iterator dir_itr( "../GameDataFolder/IGMD/" ), end_itr; dir_itr != end_itr; ++dir_itr ) { @@ -757,7 +755,7 @@ void copyBSL(string copypath, vectorpath().filename() + "/ignore.txt")) { - remove_all( "../GameDataFolder/IGMD/" + dir_itr->path().filename() ); + if(!pkg.hasAddon) remove_all( "../GameDataFolder/IGMD/" + dir_itr->path().filename() ); Sleep(100); create_directory( "../GameDataFolder/IGMD/" + dir_itr->path().filename()); BSLlog << "Copied " << dir_itr->path().string() << " in " << pkg.modStringName << "!\n"; @@ -765,6 +763,8 @@ void copyBSL(string copypath, vectorpath().extension() == ".bsl" ) { + if(exists("../GameDataFolder/IGMD/" + dir_itr->path().filename() + "/" + bsl_itr->path().filename())) + remove("../GameDataFolder/IGMD/" + dir_itr->path().filename() + "/" + bsl_itr->path().filename()); copy_file(bsl_itr->path(), "../GameDataFolder/IGMD/" + dir_itr->path().filename() + "/" + bsl_itr->path().filename()); } }