From dce2c1b3bf27aa55e48fe948241438fbd31f0056 Mon Sep 17 00:00:00 2001
From: KosmX <kosmx.mc@gmail.com>
Date: Fri, 6 Nov 2020 18:56:31 +0100
Subject: [PATCH] some new stuff

---
 multiplatformLib.c | 26 ++++++++++++++++++++++++--
 1 file changed, 24 insertions(+), 2 deletions(-)

diff --git a/multiplatformLib.c b/multiplatformLib.c
index a3e9d09..e6c208d 100644
--- a/multiplatformLib.c
+++ b/multiplatformLib.c
@@ -1,11 +1,12 @@
 #include "multiplatformLib.h"
-
+#include<stdio.h>
 #include "structs.h"
 
 #ifdef __linux__
 #include<sys/ioctl.h>
 #include<unistd.h>
 #include<time.h>
+#include<termios.h>
 #else
 #include<Windows.h>
 #include<conio.h> // read one char from stdio before pressing enter. essential for contol
@@ -17,9 +18,30 @@
 //This package is designed to do the basic operations like get char without waiting for enter or sleep
 //and be able to compile on multiple OS like linux and windows.
 
+//Init some platform dependent configurations
+int initMultiplatform(){
+    #ifdef __linux__
+    struct termios info;          // This is from stackoverflow
+    tcgetattr(0, &info);          /* get current terminal attirbutes; 0 is the file descriptor for stdin */
+    info.c_lflag &= ~ICANON;      /* disable canonical mode */
+    info.c_cc[VMIN] = 0;          /* don't wait for keypress, return EOF instead */
+    info.c_cc[VTIME] = 0;         /* no timeout */
+    tcsetattr(0, TCSANOW, &info); /* set immediately */
+    #endif
+}
+
 //returns the char or EOF
 int getNextChar(){
-
+    #ifdef __linux__
+    return getchar();
+    #else
+    if(_kbhit()){
+        return _getch();
+    }
+    else{
+        return EOF;
+    }
+    #endif
 }
 
 
-- 
GitLab