mirror of
https://github.com/vcmi/vcmi.git
synced 2025-06-15 00:05:02 +02:00
VCMIDirs update #4
Added stderr color handling Updated logger to use boost::filesystem::path. Minor fixes. Some classes are now structs.
This commit is contained in:
@ -17,7 +17,7 @@ boost::mutex CConsoleHandler::smx;
|
||||
|
||||
DLL_LINKAGE CConsoleHandler * console = nullptr;
|
||||
|
||||
#ifndef _WIN32
|
||||
#ifndef VCMI_WINDOWS
|
||||
typedef std::string TColor;
|
||||
#define CONSOLE_GREEN "\x1b[1;32m"
|
||||
#define CONSOLE_RED "\x1b[1;31m"
|
||||
@ -36,6 +36,7 @@ DLL_LINKAGE CConsoleHandler * console = nullptr;
|
||||
typedef WORD TColor;
|
||||
HANDLE handleIn;
|
||||
HANDLE handleOut;
|
||||
HANDLE handleErr;
|
||||
#define CONSOLE_GREEN FOREGROUND_GREEN | FOREGROUND_INTENSITY
|
||||
#define CONSOLE_RED FOREGROUND_RED | FOREGROUND_INTENSITY
|
||||
#define CONSOLE_MAGENTA FOREGROUND_RED | FOREGROUND_BLUE | FOREGROUND_INTENSITY
|
||||
@ -43,6 +44,8 @@ DLL_LINKAGE CConsoleHandler * console = nullptr;
|
||||
#define CONSOLE_WHITE FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY
|
||||
#define CONSOLE_GRAY FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE
|
||||
#define CONSOLE_TEAL FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY
|
||||
|
||||
static TColor defErrColor;
|
||||
#endif
|
||||
|
||||
static TColor defColor;
|
||||
@ -178,8 +181,11 @@ void CConsoleHandler::setColor(EConsoleTextColor::EConsoleTextColor color)
|
||||
colorCode = defColor;
|
||||
break;
|
||||
}
|
||||
#ifdef _WIN32
|
||||
#ifdef VCMI_WINDOWS
|
||||
SetConsoleTextAttribute(handleOut, colorCode);
|
||||
if (color == EConsoleTextColor::DEFAULT)
|
||||
colorCode = defErrColor;
|
||||
SetConsoleTextAttribute(handleErr, colorCode);
|
||||
#else
|
||||
std::cout << colorCode;
|
||||
#endif
|
||||
@ -219,9 +225,14 @@ CConsoleHandler::CConsoleHandler() : thread(nullptr)
|
||||
#ifdef _WIN32
|
||||
handleIn = GetStdHandle(STD_INPUT_HANDLE);
|
||||
handleOut = GetStdHandle(STD_OUTPUT_HANDLE);
|
||||
handleErr = GetStdHandle(STD_ERROR_HANDLE);
|
||||
|
||||
CONSOLE_SCREEN_BUFFER_INFO csbi;
|
||||
GetConsoleScreenBufferInfo(handleOut,&csbi);
|
||||
defColor = csbi.wAttributes;
|
||||
|
||||
GetConsoleScreenBufferInfo(handleErr, &csbi);
|
||||
defErrColor = csbi.wAttributes;
|
||||
#ifndef _DEBUG
|
||||
SetUnhandledExceptionFilter(onUnhandledException);
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user