From 3d026d75b1a369f75b9d70749ab68ca8a8e826b4 Mon Sep 17 00:00:00 2001
From: KosmX <kosmx.mc@gmail.com>
Date: Thu, 5 Nov 2020 18:05:52 +0100
Subject: [PATCH] todo debug the whole stuff

---
 multiplatformLib.c |  47 ++++++++++++++++++
 multiplatformLib.h |  10 ++++
 snake.c            | 117 +++------------------------------------------
 structs.h          |  72 ++++++++++++++++++++++++++++
 tests/a.c          |  13 +++++
 tests/a.h          |   2 +
 tests/b.c          |  14 ++++++
 tests/b.h          |   2 +
 xperiments.c       |  12 ++++-
 xperiments.exe     | Bin 57168 -> 75830 bytes
 10 files changed, 178 insertions(+), 111 deletions(-)
 create mode 100644 multiplatformLib.c
 create mode 100644 multiplatformLib.h
 create mode 100644 structs.h
 create mode 100644 tests/a.c
 create mode 100644 tests/a.h
 create mode 100644 tests/b.c
 create mode 100644 tests/b.h

diff --git a/multiplatformLib.c b/multiplatformLib.c
new file mode 100644
index 0000000..2fa3abb
--- /dev/null
+++ b/multiplatformLib.c
@@ -0,0 +1,47 @@
+#include "multiplatformLib.h"
+
+#include "structs.h"
+
+#ifdef __linux__
+#include<sys/ioctl.h>
+#include<unistd.h>
+#include<time.h>
+#else
+#include<Windows.h>
+#endif
+
+
+
+
+//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.
+
+
+struct Vec2i getWindowSize(){
+    struct Vec2i size;
+    #ifdef __linux__
+    struct winsize info;
+    ioctl(STDOUT_FILENO, TIOCGWINSZ, &info);
+    size.x = info.ws_col;
+    size.y = info.ws_row;
+    #else    
+    CONSOLE_SCREEN_BUFFER_INFO info;
+    GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &info);
+    size.x = info.srWindow.Right - info.srWindow.Left + 1;
+    size.y = info.srWindow.Bottom - info.srWindow.Top + 1;
+    #endif
+    return size;
+}
+
+void unisleep(int milisec){
+    #ifdef __linux__
+    struct timespec ts;
+    ts.tv_sec = milisec / 1000;
+    ts.tv_nsec = (milisec % 1000) * 1000000;
+    nanosleep(&ts, NULL);
+    #else
+    Sleep(milisec);
+    #endif
+}
+
+
diff --git a/multiplatformLib.h b/multiplatformLib.h
new file mode 100644
index 0000000..bf6a5a3
--- /dev/null
+++ b/multiplatformLib.h
@@ -0,0 +1,10 @@
+#ifndef SNAKE_MULTIPLATFORM
+#define SNAKE_MULTIPLATFORM
+//include guard
+#include "structs.h"
+
+struct Vec2i getWindowSize();
+
+void unisleep(int milisec);
+
+#endif
\ No newline at end of file
diff --git a/snake.c b/snake.c
index 0e0240e..3d1dbaa 100644
--- a/snake.c
+++ b/snake.c
@@ -4,20 +4,15 @@
 #include<locale.h>
 #include<ctype.h>
 
-#ifdef __linux__
-#include<sys/ioctl.h>
-#include<unistd.h>
-#include<time.h>
-#else
-#include<Windows.h>
-#endif
+#include "structs.h"
+#include "multiplatformLib.h"
 
-//#define windows 1
+//There are lots of hints on https://infoc.eet.bme.hu/
 
-//typedef unsigned long long int pointer; //Not optimal
-
-//int isUnicodeEncoding = 0;
+//#define windows 1 with #ifndef __linux__ solved...
+//typedef unsigned long long int pointer; //Not optimal and not required. sometimes even the worst idea...
 
+//-----------methods--------------
 
 int isUnicodeEncoding(int set){
     static int bl = 0;
@@ -27,104 +22,6 @@ int isUnicodeEncoding(int set){
     return bl;
 }
 
-typedef enum Direcion{
-    UP,
-    RIGHT,
-    DOWN,
-    LEFT,
-}Direction;
-
-typedef struct Vec2i{
-    int x;
-    int y;
-}Pos;
-
-typedef struct snakeChain
-{
-    int num;
-    struct Vec2i pos;
-    struct snakeChain *next;
-
-}snakeChain;
-
-typedef union unichar{
-    int isUnicone : 1;
-    struct{
-        char c[4];
-    }bytes;
-
-}unichar;
-typedef struct chunk  //struct stores 2 chars and it's color :D
-{
-    unichar chars[2];
-    /*
-    struct{
-        int fg : 3; //3 bit color codes.
-        int bg : 3; //red green blue black white and 3 other (idk these)
-    }color;*/
-}chunk;
-
-typedef struct state{
-    struct Vec2i displaySize;
-    struct Vec2i displayPos;
-    int commands[2];
-}globalState;
-
-typedef struct linkedString{
-    unichar value;
-    struct linkedString *next;
-}linkedString;
-
-typedef struct chunkMatrix{
-    chunk **matrix;
-    int width;
-    int height;
-}Matrix;
-
-typedef struct food{
-    Pos pos;
-    int rand;
-    struct food *next;
-}food;
-
-typedef struct screenData{
-    Pos pos;
-    Pos size;
-    int repeatMap;
-    int isXRepeat;
-    int isYRepeat;
-}screenData;
-
-//-----------methods--------------
-
-
-struct Vec2i getWindowSize(){
-    struct Vec2i size;
-    #ifdef __linux__
-    struct winsize info;
-    ioctl(STDOUT_FILENO, TIOCGWINSZ, &info);
-    size.x = info.ws_col;
-    size.y = info.ws_row;
-    #else    
-    CONSOLE_SCREEN_BUFFER_INFO info;
-    GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &info);
-    size.x = info.srWindow.Right - info.srWindow.Left + 1;
-    size.y = info.srWindow.Bottom - info.srWindow.Top + 1;
-    #endif
-    return size;
-}
-
-void unisleep(int milisec){
-    #ifdef __linux__
-    struct timespec ts;
-    ts.tv_sec = milisec / 1000;
-    ts.tv_nsec = (milisec % 1000) * 1000000;
-    nanosleep(&ts, NULL);
-    #else
-    Sleep(milisec);
-    #endif
-}
-
 /**
  * Only the first byte is required
  */
@@ -154,7 +51,7 @@ void printChar(unichar c){
     }
 }
 
-//fueoetoeoecsoeoe *next
+//fueoetoeoecsoeoe *next //what to NOT do
 
 int readFile(FILE *file, Matrix *matrix){
     int c, len, maxLineLen = 0, lineCount = (3,1), lineLen = 0; //lineCount = (3,1) ??? why?... i was just bored
diff --git a/structs.h b/structs.h
new file mode 100644
index 0000000..3cd47f8
--- /dev/null
+++ b/structs.h
@@ -0,0 +1,72 @@
+#ifndef SNAKE_STRUCTS
+#define SNAKE_STRUCTS
+
+typedef enum Direcion{
+    UP,
+    RIGHT,
+    DOWN,
+    LEFT,
+}Direction;
+
+typedef struct Vec2i{
+    int x;
+    int y;
+}Pos;
+
+typedef struct snakeChain
+{
+    int num;
+    struct Vec2i pos;
+    struct snakeChain *next;
+
+}snakeChain;
+
+typedef union unichar{
+    int isUnicone : 1;
+    struct{
+        char c[4];
+    }bytes;
+
+}unichar;
+typedef struct chunk  //struct stores 2 chars and it's color :D
+{
+    unichar chars[2];
+    /*
+    struct{
+        int fg : 3; //3 bit color codes.
+        int bg : 3; //red green blue black white and 3 other (idk these)
+    }color;*/
+}chunk;
+
+typedef struct state{
+    struct Vec2i displaySize;
+    struct Vec2i displayPos;
+    int commands[2];
+}globalState;
+
+typedef struct linkedString{
+    unichar value;
+    struct linkedString *next;
+}linkedString;
+
+typedef struct chunkMatrix{
+    chunk **matrix;
+    int width;
+    int height;
+}Matrix;
+
+typedef struct food{
+    Pos pos;
+    int rand;
+    struct food *next;
+}food;
+
+typedef struct screenData{
+    Pos pos;
+    Pos size;
+    int repeatMap;
+    int isXRepeat;
+    int isYRepeat;
+}screenData;
+
+#endif
\ No newline at end of file
diff --git a/tests/a.c b/tests/a.c
new file mode 100644
index 0000000..a6f76c7
--- /dev/null
+++ b/tests/a.c
@@ -0,0 +1,13 @@
+#include "a.h"
+
+#include "b.h"
+
+void addone(int i){
+    test(i + 1);
+}
+
+int main(int argc, char const *argv[])
+{
+    /* code */
+    return 0;
+}
diff --git a/tests/a.h b/tests/a.h
new file mode 100644
index 0000000..2007132
--- /dev/null
+++ b/tests/a.h
@@ -0,0 +1,2 @@
+
+void addOne(int i);
\ No newline at end of file
diff --git a/tests/b.c b/tests/b.c
new file mode 100644
index 0000000..ccf9477
--- /dev/null
+++ b/tests/b.c
@@ -0,0 +1,14 @@
+#include<stdio.h>
+#include "b.h"
+
+#include "a.h"
+
+void test(int i){
+    printf("%d", i);
+}
+
+int main(int argc, char const *argv[])
+{
+    addOne(2);
+    return 0;
+}
diff --git a/tests/b.h b/tests/b.h
new file mode 100644
index 0000000..2db8f7c
--- /dev/null
+++ b/tests/b.h
@@ -0,0 +1,2 @@
+
+void test(int i);
\ No newline at end of file
diff --git a/xperiments.c b/xperiments.c
index b153b66..d78617a 100644
--- a/xperiments.c
+++ b/xperiments.c
@@ -1,5 +1,10 @@
 #include<stdio.h>
 #include<stdlib.h>
+#include<Windows.h>
+
+#ifndef __linux__
+#include<conio.h>
+#endif
 
 int xp1(void)
 {
@@ -42,11 +47,16 @@ void xp3(){
     printf("%c", 0x00);
 }
 
+void xp4(){
+    Sleep(1000);
+    char c = _getch();
+    printf("\nchar: %c\n", c);
+}
 
 int main(int argc, char const *argv[])
 {
     12%5;
-    xp3();
+    xp4();
     return 0;
 }
 
diff --git a/xperiments.exe b/xperiments.exe
index 6560eb7cf592c2b5632184b58ef125ff98a0b991..f0fdab5db041fca0420a901d4f88436f2935bb97 100644
GIT binary patch
delta 29660
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

delta 10523
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
Rw!af+T*kM3ks9L^MgWb&HE93<

-- 
GitLab