From c6f1ec5756a9a2eb0d22421442bb16b88e75ef98 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 6 Apr 2023 17:13:51 -0500 Subject: [PATCH] enable virtual terminal processing on Windows --- src/engine/engine.h | 4 ++-- src/log.cpp | 11 ++++++++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/engine/engine.h b/src/engine/engine.h index 3c8b48bef..c896b082c 100644 --- a/src/engine/engine.h +++ b/src/engine/engine.h @@ -53,8 +53,8 @@ #define EXTERN_BUSY_BEGIN_SOFT e->softLocked=true; e->isBusy.lock(); #define EXTERN_BUSY_END e->isBusy.unlock(); e->softLocked=false; -#define DIV_VERSION "dev149" -#define DIV_ENGINE_VERSION 149 +#define DIV_VERSION "dev151" +#define DIV_ENGINE_VERSION 151 // for imports #define DIV_VERSION_MOD 0xff01 #define DIV_VERSION_FC 0xff02 diff --git a/src/log.cpp b/src/log.cpp index 074e79c40..4adccfe19 100644 --- a/src/log.cpp +++ b/src/log.cpp @@ -134,7 +134,16 @@ int writeLog(int level, const char* msg, fmt::printf_args args) { } void initLog() { - // initalize log buffer + // initialize coloring on Windows +#ifdef _WIN32 + HANDLE winout=GetStdHandle(STD_OUTPUT_HANDLE); + int termprop=0; + GetConsoleMode(winout,(LPDWORD)&termprop); + termprop|=ENABLE_VIRTUAL_TERMINAL_PROCESSING; + SetConsoleMode(winout,termprop); +#endif + + // initialize log buffer logPosition=0; for (int i=0; i