From 0a4c3eacd6692a6404c7cd5bd4ef64b62c6200ce Mon Sep 17 00:00:00 2001 From: KosmX <kosmx.mc@gmail.com> Date: Sun, 6 Dec 2020 18:59:46 +0100 Subject: [PATCH] windows VT100 enabling for runtime --- .gitignore | 5 ++++- multiplatformLib.c | 34 +++++++++++++++++++++++++++++++++- multiplatformLib.h | 2 +- multiplatformLib.o | Bin 3576 -> 1852 bytes snake.c | 20 +++++++++++++------- snake.o | Bin 22128 -> 15046 bytes 6 files changed, 51 insertions(+), 10 deletions(-) diff --git a/.gitignore b/.gitignore index ddd94d6..f954e6e 100644 --- a/.gitignore +++ b/.gitignore @@ -7,4 +7,7 @@ snake structs multiplatformLib -debugmalloc \ No newline at end of file +debugmalloc +snake.zip +multiplatformLib.o +snake.o diff --git a/multiplatformLib.c b/multiplatformLib.c index 2366dea..1f32c55 100644 --- a/multiplatformLib.c +++ b/multiplatformLib.c @@ -9,6 +9,11 @@ #include<termios.h> #else #include<Windows.h> +//I need these two from Windows consoleapi.h +#include<wchar.h> +#include<WinBase.h> +#define ENABLE_VIRTUAL_TERMINAL_PROCESSING 0x0004 +#define DISABLE_NEWLINE_AUTO_RETURN 0x0008 #include<conio.h> // read one char from stdio before pressing enter. essential for contol #endif @@ -37,7 +42,7 @@ struct termios term_config; /** * Init platform dependent stuff, mostly the custom oi control */ -void initMultiplatform(void){ +int initMultiplatform(void){ #ifdef __linux__ struct termios info; tcgetattr(0, &info); //get attr @@ -46,7 +51,34 @@ void initMultiplatform(void){ info.c_lflag &= ~ECHO; tcsetattr(0, TCSANOW, &info); //set attr setbuf(stdin, NULL); //??? + #else + //Enable vt100 emulation. Without this, snake is not working + HANDLE out = GetStdHandle(STD_OUTPUT_HANDLE); + if(out == INVALID_HANDLE_VALUE){ + return -1;// :( it won't work + } + + //following code is from docs.microsoft.com + //try to enable vt100 emulation + DWORD dwRequestedOutModes = ENABLE_VIRTUAL_TERMINAL_PROCESSING | DISABLE_NEWLINE_AUTO_RETURN; + + DWORD dwOriginalOutMode; + GetConsoleMode(out, &dwOriginalOutMode); + + DWORD dwOutMode = dwOriginalOutMode | dwRequestedOutModes; + if (!SetConsoleMode(out, dwOutMode)) + { + // we failed to set both modes, try to step down mode gracefully. + dwRequestedOutModes = ENABLE_VIRTUAL_TERMINAL_PROCESSING; + dwOutMode = dwOriginalOutMode | dwRequestedOutModes; + if (!SetConsoleMode(out, dwOutMode)) + { + // Failed to set any VT mode, can't do anything here. + return EOF; + } + } #endif + return 0; } /** diff --git a/multiplatformLib.h b/multiplatformLib.h index 510cf1e..02048c1 100644 --- a/multiplatformLib.h +++ b/multiplatformLib.h @@ -5,7 +5,7 @@ struct Vec2i getWindowSize(void); -void initMultiplatform(void); +int initMultiplatform(void); void endMultiplatformLib(void); diff --git a/multiplatformLib.o b/multiplatformLib.o index 29833e5dca49440ac71379427a402f2b5de69d01..6a65ac0f4d2f9680741fdaa9df6b2f97ee6a6cbe 100644 GIT binary patch literal 1852 zcmYdkV`BgTHx>p4SrCJPg+Z?*wW0*fh7bvi3=Axc3=AsF5IzS31A_uXK!RRMVo4%I z2q)>l5O6>*skj)Y0;og-NL>Z0fjSHf3@J=d1yIU?!N5VU099QG0|UbZCI*HQsQW}2 z7#Kk6^i80epp*jx1H%&x^8y?W^UJ$1Fr?}6%eR14h6Q^xzp>c)_5c6>|3PLkcr^d` z@6ma<B*ddPL`BD=^B_dH8_c=s(QOLS)_jWR|24x)tp`f@J1=-NAF+szJDdhK8LF=N z6bnQF|CB@DZ^6}c9(sMAU)}-9esuSEG{4b+*w}iYM98E0h=#|1RgjhZ@(mzr2gsoy zVW@o`&2K!AUEg^S<ZcCs5&Zi@RCM_FyQmoO@ApyB)4Tu@&}u%w=yC9Yg62h!&O^P9 zj2@gIA9%pbgV>e^3!m1L6*86=J5SVbYhGx6#pv34fZyfNVMO@#vIx4i9@q(T8o$fI z!xI=87#JAYm>JlTm<$*b7#P5O7DfgZCk6&a5Zwe71L**%h0+2H3=B;S3=Axw_+?;V zn8?7u01{ikz`$^dfq_AUfq~%y0|SE;BLjmBC`~dlFsOslDFXw80V4xLJR<{x1_J|w zyR);Ef<}dfS-hEvZb5!=W`%BXYKCr6YMFtKf>UW`PKiQNrGjr}o_n}%xS5GUK~a8I zYI2FDf`y);o&h9Zh=JV!N>JipmJ<U5g9MnhjDdkc63p5PatoMsn}LA=qT?k41A{bJ zOd0A*kZ%|mxEL51n87}Sut0eV<Tqvp9tM~!h!2qk`4q%s2HOb{1Nj)jQh<gFGlL3T zFUa2zSx_#5=rw@Lg8TuIwSeojfy;vO2}ITfF6#l8^?|bj;IevYnK`M@So`;%fgznS zw=}0Dvmht2BrU%v*C#VcFBv4w4<f)ZtiZqoN(N9qG6gDyK<;H^P+)*$R()vvBSf4T z7#KjQ03qTJO$!i_(!9*#oYd3;1x8TH0-2MWp8~c7lrA7@kV`p`Q<xb+=>-%IV1-}; zxr76`g&Cv}EQ27BOE*vfgjEev$p(slW=2q~Aj|-<kV`dIQ0ia=m22Sg2P6&0u}~JM z+-7F9hw@OV3?wed-3$!X7$OreM3!QRY{C%Pk0J5^MdS?w1A|@>sC-tbs;XirN=++D zEzSr|E=o<!W5~?QEb&E77!0X-DJTLynMn-ksU?1?6(!CYiA5lGcxGNoetB?aRVuQ< z@$s3t1@Z2wCBY>r9*KD=IjIbAA?N(O;{2Rc-~1GqU~p;)reJ(_QbuM8R9k#{YDsbi cl;aLp4sp0sX<Axpk!N07K2$+4C~+|W06{!48UO$Q literal 3576 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 diff --git a/snake.c b/snake.c index 7c4a9c4..3263298 100644 --- a/snake.c +++ b/snake.c @@ -953,7 +953,7 @@ void _print1char(Matrix *map){ int core(int argc, char const *argv[]) { if(argc == 1){ - printf("Usage: snake <map name> [<snek skin>]"); + printf("Usage: %s <map name>", argv[0]); return 0; } @@ -1010,14 +1010,20 @@ int core(int argc, char const *argv[]) _testprint(&map); #endif - initMultiplatform(); // init stuff. + if(!initMultiplatform()){ // init stuff. - printf("\e[7\e[?25l");//save cursor state and turn invisible cursor - loop(&map, tickspeed, repeatMap, feedAmount, canBite, foodText, foodLen); - printf("\e[8\e[2JGAME OVER...\n"); - unisleep(2000); + printf("\e[7\e[?25l");//save cursor state and turn invisible cursor + loop(&map, tickspeed, repeatMap, feedAmount, canBite, foodText, foodLen); + printf("\e[0;0H\e[8\e[2JGAME OVER...\n"); + unisleep(2000); - endMultiplatformLib(); + endMultiplatformLib(); + } + else + { + printf("VT100 not working\n%sthis text should be blue...\n"); + } + //test code diff --git a/snake.o b/snake.o index 6f4ef847b7cf4b4640c5af555f362d467957bd4f..8577fad433ea62ecfc82da07de6075682baf0674 100644 GIT binary patch literal 15046 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 literal 22128 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 RsFT9Lz%Uo45K5!#2LM>lu&4k4 -- GitLab