diff --git a/source/glest_game/global/config.cpp b/source/glest_game/global/config.cpp index 431b1ce1..bf4a99fe 100644 --- a/source/glest_game/global/config.cpp +++ b/source/glest_game/global/config.cpp @@ -119,7 +119,7 @@ Config::Config(std::pair type, std::pair f try { if(fileName.second != "" && fileExists(fileName.second) == false) { - SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] attempting to auto-create cfgFile.second = [%s]\n",__FILE__,__FUNCTION__,__LINE__,fileName.second.c_str()); + if(SystemFlags::VERBOSE_MODE_ENABLED) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] attempting to auto-create cfgFile.second = [%s]\n",__FILE__,__FUNCTION__,__LINE__,fileName.second.c_str()); std::ofstream userFile; userFile.open(fileName.second.c_str(), ios_base::out | ios_base::trunc); @@ -136,15 +136,15 @@ Config::Config(std::pair type, std::pair f Config &Config::getInstance(std::pair type, std::pair file, std::pair fileMustExist) { if(configList.find(type.first) == configList.end()) { - SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__); + if(SystemFlags::VERBOSE_MODE_ENABLED) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__); Config config(type, file, fileMustExist); - SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__); + if(SystemFlags::VERBOSE_MODE_ENABLED) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__); configList.insert(map::value_type(type.first,config)); - SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__); + if(SystemFlags::VERBOSE_MODE_ENABLED) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__); } return configList.find(type.first)->second; @@ -159,17 +159,17 @@ void Config::CopyAll(Config *src, Config *dest) { } void Config::reload() { - SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__); + if(SystemFlags::VERBOSE_MODE_ENABLED) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__); std::pair type = std::make_pair(cfgMainGame,cfgUserGame); Config newconfig(type, std::make_pair(glest_ini_filename,glestuser_ini_filename), std::make_pair(true,false)); - SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__); + if(SystemFlags::VERBOSE_MODE_ENABLED) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__); Config &oldconfig = configList.find(type.first)->second; CopyAll(&newconfig, &oldconfig); - SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__); + if(SystemFlags::VERBOSE_MODE_ENABLED) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__); } void Config::save(const string &path){ diff --git a/source/glest_game/main/main.cpp b/source/glest_game/main/main.cpp index db88e058..6a6f62fd 100644 --- a/source/glest_game/main/main.cpp +++ b/source/glest_game/main/main.cpp @@ -85,7 +85,8 @@ const char *GAME_ARGS[] = { "--validate-factions", "--data-path", "--ini-path", - "--log-path" + "--log-path", + "--verbose" }; @@ -103,7 +104,8 @@ enum GAME_ARG_TYPE { GAME_ARG_VALIDATE_FACTIONS, GAME_ARG_DATA_PATH, GAME_ARG_INI_PATH, - GAME_ARG_LOG_PATH + GAME_ARG_LOG_PATH, + GAME_ARG_VERBOSE_MODE }; string runtimeErrorMsg = ""; @@ -615,6 +617,8 @@ void printParameterHelp(const char *argv0, bool foundInvalidArgs) { printf("\n \t\texample: %s %s=~/game_config/",argv0,GAME_ARGS[GAME_ARG_INI_PATH]); printf("\n%s=x\t\t\tSets the game logs path to x",GAME_ARGS[GAME_ARG_LOG_PATH]); printf("\n \t\texample: %s %s=~/game_logs/",argv0,GAME_ARGS[GAME_ARG_LOG_PATH]); + printf("\n%s\t\t\tdisplays verbose information in the console.",GAME_ARGS[GAME_ARG_VERBOSE_MODE]); + printf("\n\n"); } @@ -638,6 +642,11 @@ int glestMain(int argc, char** argv) { printParameterHelp(argv[0],foundInvalidArgs); return -1; } + + SystemFlags::VERBOSE_MODE_ENABLED = false; + if(hasCommandArgument(argc, argv,GAME_ARGS[GAME_ARG_VERBOSE_MODE]) == true) { + SystemFlags::VERBOSE_MODE_ENABLED = true; + } bool haveSpecialOutputCommandLineOption = false; @@ -711,7 +720,7 @@ int glestMain(int argc, char** argv) { if(paramPartTokens.size() >= 2 && paramPartTokens[1].length() > 0) { string customPathValue = paramPartTokens[1]; pathCache[GameConstants::path_data_CacheLookupKey]=customPathValue; - printf("Using custom data path [%s]\n",customPathValue.c_str()); + if(SystemFlags::VERBOSE_MODE_ENABLED) printf("Using custom data path [%s]\n",customPathValue.c_str()); } else { @@ -734,7 +743,7 @@ int glestMain(int argc, char** argv) { if(paramPartTokens.size() >= 2 && paramPartTokens[1].length() > 0) { string customPathValue = paramPartTokens[1]; pathCache[GameConstants::path_ini_CacheLookupKey]=customPathValue; - printf("Using custom ini path [%s]\n",customPathValue.c_str()); + if(SystemFlags::VERBOSE_MODE_ENABLED) printf("Using custom ini path [%s]\n",customPathValue.c_str()); } else { @@ -757,7 +766,7 @@ int glestMain(int argc, char** argv) { if(paramPartTokens.size() >= 2 && paramPartTokens[1].length() > 0) { string customPathValue = paramPartTokens[1]; pathCache[GameConstants::path_logs_CacheLookupKey]=customPathValue; - printf("Using custom logs path [%s]\n",customPathValue.c_str()); + if(SystemFlags::VERBOSE_MODE_ENABLED) printf("Using custom logs path [%s]\n",customPathValue.c_str()); } else { @@ -848,7 +857,7 @@ int glestMain(int argc, char** argv) { SystemFlags::getSystemSettingType(SystemFlags::debugError).debugLogFileName = debugErrorLogFile; if(haveSpecialOutputCommandLineOption == false) { - printf("Startup settings are: debugSystem [%d], debugNetwork [%d], debugPerformance [%d], debugWorldSynch [%d], debugUnitCommands[%d], debugPathFinder[%d], debugLUA [%d], debugError [%d]\n", + if(SystemFlags::VERBOSE_MODE_ENABLED) printf("Startup settings are: debugSystem [%d], debugNetwork [%d], debugPerformance [%d], debugWorldSynch [%d], debugUnitCommands[%d], debugPathFinder[%d], debugLUA [%d], debugError [%d]\n", SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled, SystemFlags::getSystemSettingType(SystemFlags::debugNetwork).enabled, SystemFlags::getSystemSettingType(SystemFlags::debugPerformance).enabled, diff --git a/source/shared_lib/include/util/util.h b/source/shared_lib/include/util/util.h index e81fc8ee..9cadbc90 100644 --- a/source/shared_lib/include/util/util.h +++ b/source/shared_lib/include/util/util.h @@ -51,7 +51,7 @@ public: { protected: DebugType debugType; - + public: SystemFlagsType() { this->debugType = debugSystem; @@ -117,6 +117,7 @@ public: static CURL *curl_handle; static int DEFAULT_HTTP_TIMEOUT; + static bool VERBOSE_MODE_ENABLED; SystemFlags(); ~SystemFlags(); diff --git a/source/shared_lib/sources/util/util.cpp b/source/shared_lib/sources/util/util.cpp index 8e50b9cc..1f1a9f9c 100644 --- a/source/shared_lib/sources/util/util.cpp +++ b/source/shared_lib/sources/util/util.cpp @@ -45,6 +45,7 @@ string SystemFlags::lockfilename = ""; bool SystemFlags::haveSpecialOutputCommandLineOption = false; CURL *SystemFlags::curl_handle = NULL; int SystemFlags::DEFAULT_HTTP_TIMEOUT = 10; +bool SystemFlags::VERBOSE_MODE_ENABLED = false; // static void *myrealloc(void *ptr, size_t size) @@ -217,7 +218,7 @@ SystemFlags::~SystemFlags() { void SystemFlags::Close() { if(SystemFlags::debugLogFileList.size() > 0) { if(SystemFlags::haveSpecialOutputCommandLineOption == false) { - printf("START Closing logfiles\n"); + if(SystemFlags::VERBOSE_MODE_ENABLED) printf("START Closing logfiles\n"); } for(std::map::iterator iterMap = SystemFlags::debugLogFileList.begin(); @@ -243,7 +244,7 @@ void SystemFlags::Close() { if(SystemFlags::debugLogFileList.size() > 0) { if(SystemFlags::haveSpecialOutputCommandLineOption == false) { - printf("END Closing logfiles\n"); + if(SystemFlags::VERBOSE_MODE_ENABLED) printf("END Closing logfiles\n"); } } } @@ -328,7 +329,7 @@ void SystemFlags::handleDebug(DebugType type, const char *fmt, ...) { debugLog += intToStr(idx); if(SystemFlags::haveSpecialOutputCommandLineOption == false) { - printf("Opening additional logfile [%s]\n",debugLog.c_str()); + if(SystemFlags::VERBOSE_MODE_ENABLED) printf("Opening additional logfile [%s]\n",debugLog.c_str()); } } } @@ -336,7 +337,7 @@ void SystemFlags::handleDebug(DebugType type, const char *fmt, ...) { debugLog += intToStr(SystemFlags::lockFileCountIndex); if(SystemFlags::haveSpecialOutputCommandLineOption == false) { - printf("Opening additional logfile [%s]\n",debugLog.c_str()); + if(SystemFlags::VERBOSE_MODE_ENABLED) printf("Opening additional logfile [%s]\n",debugLog.c_str()); } } @@ -348,7 +349,7 @@ void SystemFlags::handleDebug(DebugType type, const char *fmt, ...) { } if(SystemFlags::haveSpecialOutputCommandLineOption == false) { - printf("Opening logfile [%s] type = %d, currentDebugLog.fileStreamOwner = %d, file stream open = %d\n",debugLog.c_str(),type, currentDebugLog.fileStreamOwner,currentDebugLog.fileStream->is_open()); + if(SystemFlags::VERBOSE_MODE_ENABLED) printf("Opening logfile [%s] type = %d, currentDebugLog.fileStreamOwner = %d, file stream open = %d\n",debugLog.c_str(),type, currentDebugLog.fileStreamOwner,currentDebugLog.fileStream->is_open()); } if(currentDebugLog.fileStream->is_open() == true) { @@ -361,10 +362,6 @@ void SystemFlags::handleDebug(DebugType type, const char *fmt, ...) { } } - //printf("Logfile is open [%s]\n",SystemFlags::debugLogFile); - - //printf("writing to logfile [%s]\n",szBuf); - assert(currentDebugLog.fileStream != NULL); if(currentDebugLog.fileStream->is_open() == true) { @@ -391,6 +388,7 @@ void SystemFlags::handleDebug(DebugType type, const char *fmt, ...) { (currentDebugLog.debugLogFileName != "" && (currentDebugLog.fileStream == NULL || currentDebugLog.fileStream->is_open() == false))) { + if (type != debugPathFinder && type != debugError) { printf("[%s] %s", szBuf2, szBuf); }