From 1ceddeb2d99bfa33ab05fe7d19f900975e3df40d Mon Sep 17 00:00:00 2001 From: deuce <> Date: Fri, 17 Sep 2004 23:00:03 +0000 Subject: [PATCH] Do not initialize console mode to BW40! --- src/conio/ciolib.c | 2 +- src/conio/win32cio.c | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/conio/ciolib.c b/src/conio/ciolib.c index e9554f80db..19f6c6cb42 100644 --- a/src/conio/ciolib.c +++ b/src/conio/ciolib.c @@ -158,7 +158,7 @@ int try_ansi_init(int mode) int try_conio_init(int mode) { /* This should test for something or other */ - if(win32_initciolib(mode)) { + if(win32_initciolib(C80)) { cio_api.mode=CIOLIB_MODE_CONIO; cio_api.mouse=1; cio_api.puttext=win32_puttext; diff --git a/src/conio/win32cio.c b/src/conio/win32cio.c index 13a590e286..dafeefcb88 100644 --- a/src/conio/win32cio.c +++ b/src/conio/win32cio.c @@ -247,13 +247,21 @@ int win32_initciolib(long inmode) if(!isatty(fileno(stdin))) return(0); - win32_textmode(inmode); if(!GetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), &conmode)) return(0); conmode&=~ENABLE_PROCESSED_INPUT; conmode|=ENABLE_MOUSE_INPUT; if(!SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), conmode)) return(0); + + if(!GetConsoleMode(GetStdHandle(STD_OUTPUT_HANDLE), &conmode)) + return(0); + conmode&=~ENABLE_PROCESSED_OUTPUT; + conmode&=~ENABLE_WRAP_AT_EOL_OUTPUT; + if(!SetConsoleMode(GetStdHandle(STD_OUTPUT_HANDLE), conmode)) + return(0); + + win32_textmode(inmode); cio_api.mouse=1; return(1); } @@ -384,7 +392,7 @@ int win32_puttext(int left, int top, int right, int bottom, void* buf) ci=(CHAR_INFO *)malloc(sizeof(CHAR_INFO)*(bs.X*bs.Y)); for(y=0;y<bs.Y;y++) { for(x=0;x<bs.X;x++) { - ci[(y*bs.X)+x].Char.AsciiChar=bu[((y*bs.X)+x)*2]; + ci[(y*bs.X)+x].Char.AsciiChar=ch; ci[(y*bs.X)+x].Attributes=DOStoWinAttr(bu[(((y*bs.X)+x)*2)+1]); } } -- GitLab