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