| 9 |  | \***************************************************************************/ | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 10 |  |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 11 |  |  | 
 
 
 
 
 
 
 
 
 
 
 | 12 | < | #pragma mark INCLUDES | 
 
 
 
 
 
 
 
 
 | 12 | > | //#pragma mark INCLUDES | 
 
 
 
 
 
 
 
 
 
 
 | 13 |  | #include <fstream> | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 14 |  | #include <string> | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 15 |  | #include <stdio.h> | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 18 |  | #include <vector> | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 19 |  | #include <errno.h> | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 20 |  | #include <sstream> | 
 
 
 
 
 
 
 
 
 | 21 | – | #include "boost/thread.hpp" | 
 
 
 
 
 
 
 
 
 | 22 | – | #include "boost/tokenizer.hpp" | 
 
 
 
 
 
 
 
 
 | 23 | – | #include "boost/lexical_cast.hpp" // int -> string | 
 
 
 
 
 
 
 
 
 | 24 | – | #include "boost/algorithm/string.hpp" | 
 
 
 
 
 
 
 
 
 | 25 | – | #include "boost/filesystem.hpp" // includes all needed Boost.Filesystem declarations | 
 
 
 
 
 
 
 
 
 | 26 | – | using namespace boost::filesystem; | 
 
 
 
 
 
 
 
 
 | 27 | – | using namespace std; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 21 |  | #ifdef WIN32 | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 22 |  | #include <windows.h> | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 23 |  | #else // assume we're on Mac | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 31 |  | #ifndef WX_PRECOMP | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 32 |  | #include "wx/wx.h" | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 33 |  | #endif | 
 
 
 
 
 
 
 
 | 34 | + | #include "boost/thread.hpp" | 
 
 
 
 
 
 
 
 | 35 | + | #include "boost/tokenizer.hpp" | 
 
 
 
 
 
 
 
 | 36 | + | #include "boost/lexical_cast.hpp" // int -> string | 
 
 
 
 
 
 
 
 | 37 | + | #include "boost/algorithm/string.hpp" | 
 
 
 
 
 
 
 
 | 38 | + | #include "boost/filesystem.hpp" // includes all needed Boost.Filesystem declarations | 
 
 
 
 
 
 
 
 | 39 | + | using namespace boost::filesystem; | 
 
 
 
 
 
 
 
 | 40 | + | using namespace std; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 41 |  |  | 
 
 
 
 
 
 
 
 
 
 
 | 42 | < | #pragma mark DEFINES | 
 
 
 
 
 
 
 
 
 | 42 | > | //#pragma mark DEFINES | 
 
 
 
 
 
 
 
 
 
 
 | 43 |  | #define INSTALLER_VERSION                "1.2" // only place we need to change this | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 44 |  | #define UPDATE_LOG_READ_ERR             -1 | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 45 |  | #define UPDATE_INST_REPL_ERR    -2 | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 49 |  | #define UPDATE_GLOB_AVAIL                2 | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 50 |  | #define UPDATE_INST_AVAIL                3 | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 51 |  | #define UPDATE_CONT_UPD                  4 | 
 
 
 
 
 
 
 
 
 
 
 | 52 | < |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 53 | < | #pragma mark STRUCTS | 
 
 
 
 
 
 
 
 
 | 52 | > | #define UPDATE_THIRD_PARTY               5 | 
 
 
 
 
 | 53 | > | //#pragma mark STRUCTS | 
 
 
 
 
 
 
 
 
 
 
 | 54 |  | struct ModPackage | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 55 |  | { | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 56 |  | bool    isInstalled; // replace with function | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 57 |  | string  installerVersion; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 58 |  | string  name; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 59 |  | string  modStringName; | 
 
 
 
 
 
 
 
 
 
 
 | 60 | < | int     modStringVersion; | 
 
 
 
 
 
 
 
 
 | 60 | > | float   modStringVersion; | 
 
 
 
 
 
 
 
 
 
 
 | 61 |  | string  platform; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 62 |  | bool    hasOnis; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 63 |  | bool    hasDeltas; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 91 |  | }; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 92 |  |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 93 |  |  | 
 
 
 
 
 
 
 
 
 
 
 | 94 | < | #pragma mark PROTOTYPES | 
 
 
 
 
 
 
 
 
 | 94 | > | //#pragma mark PROTOTYPES | 
 
 
 
 
 
 
 
 
 
 
 | 95 |  | void recompileAll(vector<string>); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 96 |  | int globalizeData(void); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 97 |  | bool CheckForGlobalization(bool); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 98 |  | int GetUpdateStatus(Install_info_cfg *, Install_info_cfg *, bool *); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 99 |  | bool ProcessInstallerUpdate(Install_info_cfg *, Install_info_cfg *); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 100 |  | bool ProcessAEUpdate(Install_info_cfg *, Install_info_cfg *, bool *); | 
 
 
 
 
 
 
 
 | 101 | + | bool ProcessThirdPartyUpdates(void); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 102 |  | void callRefreshMods(void); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 103 |  | string escapePath(string input); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 104 |  | void setStatusArea(string); |