| 1004 |  | } | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1005 |  | } | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1006 |  | } | 
 
 
 
 
 
 
 
 
 | 1007 | – | else | 
 
 
 
 
 
 
 
 
 | 1008 | – | { | 
 
 
 
 
 
 
 
 
 | 1009 | – | file.close(); | 
 
 
 
 
 
 
 
 
 | 1010 | – | continue; | 
 
 
 
 
 
 
 
 
 | 1011 | – | } | 
 
 
 
 
 
 
 
 
 | 1012 | – | file.close(); | 
 
 
 
 
 
 
 
 
 | 1013 | – |  | 
 
 
 
 
 
 
 
 
 | 1014 | – | file.open( ("packages" + install_iter->path().filename() + "/Mod_Info.cfg").c_str()); | 
 
 
 
 
 
 
 
 
 | 1015 | – | if (!file.fail()) | 
 
 
 
 
 
 
 
 
 | 1016 | – | { | 
 
 
 
 
 
 
 
 
 | 1017 | – | ModPackage installedPackage = fileToModPackage(file, install_iter->path().filename()); | 
 
 
 
 
 
 
 
 
 | 1018 | – | } | 
 
 
 
 
 
 
 
 
 | 1019 | – | else | 
 
 
 
 
 
 
 
 
 | 1020 | – | { | 
 
 
 
 
 
 
 
 
 | 1021 | – | file.close(); | 
 
 
 
 
 
 
 
 
 | 1022 | – | return UPDATE_THIRD_PARTY; | 
 
 
 
 
 
 
 
 
 | 1023 | – | } | 
 
 
 
 
 
 
 
 
 | 1024 | – | file.close(); | 
 
 
 
 
 
 
 
 
 | 1025 | – | if(((string)INSTALLER_VERSION).compare(updatePackage.installerVersion) < 1 && updatePackage.modStringVersion > installedPackage.modStringVersion) { | 
 
 
 
 
 
 
 
 
 | 1026 | – | return UPDATE_THIRD_PARTY; | 
 
 
 
 
 
 
 
 
 | 1027 | – | } | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1007 |  | } | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1008 |  | } | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1009 |  | catch (exception & ex) { | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1023 |  | string strDaodanVersion = "Daodan_Version"; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1024 |  | string strOniSplitVersion = "OniSplit_Version"; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1025 |  | string strGUIWinVersion = "GUI_Win_Version"; | 
 
 
 
 
 
 
 
 
 
 
 | 1026 | < | string strGUIMacVersion = "GUI_Mac_Version"; | 
 
 
 
 
 
 
 
 
 | 1026 | > | string strGUIMacVersion = "GUI_Mac_Version"; | 
 
 
 
 
 
 
 
 
 
 
 | 1027 |  | string strReglobalize = "Reglobalize"; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1028 |  | string strDeleteList = "Delete_List"; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1029 |  | string strArrow = "->"; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1265 |  | return true; // returning 'true' tells the Installer to quit itself ASAP so it can be replaced by the process that is now running | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1266 |  | } | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1267 |  |  | 
 
 
 
 
 
 
 
 
 | 1289 | – |  | 
 
 
 
 
 
 
 
 
 | 1290 | – | void CrawlPackages(string pathToUpdate, string strPathToPackages) { | 
 
 
 
 
 
 
 
 
 | 1291 | – | try{ | 
 
 
 
 
 
 
 
 
 | 1292 | – | directory_iterator end; | 
 
 
 
 
 
 
 
 
 | 1293 | – | for ( directory_iterator update_iter( pathToUpdate ); | 
 
 
 
 
 
 
 
 
 | 1294 | – | update_iter != end; | 
 
 
 
 
 
 
 
 
 | 1295 | – | ++update_iter ) | 
 
 
 
 
 
 
 
 
 | 1296 | – | { | 
 
 
 
 
 
 
 
 
 | 1297 | – |  | 
 
 
 
 
 
 
 
 
 | 1298 | – | ModPackage installedPackage, updatePackage; | 
 
 
 
 
 
 
 
 
 | 1299 | – | string updateStr = update_iter->path().string() + "/Mod_Info.cfg"; | 
 
 
 
 
 
 
 
 
 | 1300 | – | if ( !boost::iequals(update_iter->path().filename(),"Edition") | 
 
 
 
 
 
 
 
 
 | 1301 | – | && !boost::iequals(update_iter->path().filename(),"Edition-patch") | 
 
 
 
 
 
 
 
 
 | 1302 | – | && is_directory( update_iter->path() ) | 
 
 
 
 
 
 
 
 
 | 1303 | – | && exists( update_iter->path().string() + "/Mod_Info.cfg" ) ) | 
 
 
 
 
 
 
 
 
 | 1304 | – | { | 
 
 
 
 
 
 
 
 
 | 1305 | – | bool update = 0; | 
 
 
 
 
 
 
 
 
 | 1306 | – | fstream file; | 
 
 
 
 
 
 
 
 
 | 1307 | – | file.open( (update_iter->path().string() + "/Mod_Info.cfg").c_str()); | 
 
 
 
 
 
 
 
 
 | 1308 | – | if (!file.fail()) | 
 
 
 
 
 
 
 
 
 | 1309 | – | { | 
 
 
 
 
 
 
 
 
 | 1310 | – | updatePackage = fileToModPackage(file, update_iter->path().filename()); | 
 
 
 
 
 
 
 
 
 | 1311 | – | } | 
 
 
 
 
 
 
 
 
 | 1312 | – | else | 
 
 
 
 
 
 
 
 
 | 1313 | – | { | 
 
 
 
 
 
 
 
 
 | 1314 | – | file.close(); | 
 
 
 
 
 
 
 
 
 | 1315 | – | continue; | 
 
 
 
 
 
 
 
 
 | 1316 | – | } | 
 
 
 
 
 
 
 
 
 | 1317 | – | file.close(); | 
 
 
 
 
 
 
 
 
 | 1318 | – | file.clear(); | 
 
 
 
 
 
 
 
 
 | 1319 | – | if(exists(strPathToPackages + "/" + update_iter->path().filename() + "/Mod_Info.cfg")) | 
 
 
 
 
 
 
 
 
 | 1320 | – | { | 
 
 
 
 
 
 
 
 
 | 1321 | – | file.open((strPathToPackages + "/" + update_iter->path().filename() + "/Mod_Info.cfg").c_str()); | 
 
 
 
 
 
 
 
 
 | 1322 | – | if (!file.fail()) | 
 
 
 
 
 
 
 
 
 | 1323 | – | { | 
 
 
 
 
 
 
 
 
 | 1324 | – | installedPackage = fileToModPackage(file, update_iter->path().filename()); | 
 
 
 
 
 
 
 
 
 | 1325 | – | file.close(); | 
 
 
 
 
 
 
 
 
 | 1326 | – | if(updatePackage.modStringVersion > installedPackage.modStringVersion) { | 
 
 
 
 
 
 
 
 
 | 1327 | – | update = 1; | 
 
 
 
 
 
 
 
 
 | 1328 | – | } | 
 
 
 
 
 
 
 
 
 | 1329 | – | } | 
 
 
 
 
 
 
 
 
 | 1330 | – | else | 
 
 
 
 
 
 
 
 
 | 1331 | – | { | 
 
 
 
 
 
 
 
 
 | 1332 | – | file.close(); | 
 
 
 
 
 
 
 
 
 | 1333 | – | update = 1; | 
 
 
 
 
 
 
 
 
 | 1334 | – | } | 
 
 
 
 
 
 
 
 
 | 1335 | – | file.close(); | 
 
 
 
 
 
 
 
 
 | 1336 | – | } | 
 
 
 
 
 
 
 
 
 | 1337 | – | else update = 1; | 
 
 
 
 
 
 
 
 
 | 1338 | – | if(update) { | 
 
 
 
 
 
 
 
 
 | 1339 | – | if(exists((path)(strPathToPackages +  "/" + updatePackage.modStringName))) | 
 
 
 
 
 
 
 
 
 | 1340 | – | remove_all((path)(strPathToPackages +  "/" + updatePackage.modStringName)); | 
 
 
 
 
 
 
 
 
 | 1341 | – | rename((path)(pathToUpdate + "/" + updatePackage.modStringName), (path)(strPathToPackages + "/" + updatePackage.modStringName)); | 
 
 
 
 
 
 
 
 
 | 1342 | – |  | 
 
 
 
 
 
 
 
 
 | 1343 | – | } | 
 
 
 
 
 
 
 
 
 | 1344 | – | } | 
 
 
 
 
 
 
 
 
 | 1345 | – | } | 
 
 
 
 
 
 
 
 
 | 1346 | – | } | 
 
 
 
 
 
 
 
 
 | 1347 | – | catch (exception & ex) { | 
 
 
 
 
 
 
 
 
 | 1348 | – | //      ex.what(); | 
 
 
 
 
 
 
 
 
 | 1349 | – | setStatusArea("Warning, handled exception: " + (string)ex.what()); | 
 
 
 
 
 
 
 
 
 | 1350 | – | } | 
 
 
 
 
 
 
 
 
 | 1351 | – | } | 
 
 
 
 
 
 
 
 
 | 1352 | – |  | 
 
 
 
 
 
 
 
 
 | 1353 | – |  | 
 
 
 
 
 
 
 
 
 | 1354 | – | bool ProcessThirdPartyUpdates() { | 
 
 
 
 
 
 
 
 
 | 1355 | – | CrawlPackages( "../updates",  "./packages"); | 
 
 
 
 
 
 
 
 
 | 1356 | – | return true; | 
 
 
 
 
 
 
 
 
 | 1357 | – | //      globalPackages = getPackages(); | 
 
 
 
 
 
 
 
 
 | 1358 | – | //      refreshMods(globalInstalledMods); | 
 
 
 
 
 
 
 
 
 | 1359 | – | } | 
 
 
 
 
 
 
 
 
 | 1360 | – |  | 
 
 
 
 
 
 
 
 
 | 1361 | – |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1268 |  | bool ProcessAEUpdate(Install_info_cfg *currentAE, Install_info_cfg *updateAE, bool *installerJustUpdated) | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1269 |  | { | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1270 |  | fstream file; |