diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json new file mode 100644 index 0000000..ba9207f --- /dev/null +++ b/.vscode/c_cpp_properties.json @@ -0,0 +1,16 @@ +{ + "configurations": [ + { + "name": "Linux", + "includePath": [ + "${workspaceFolder}/**" + ], + "defines": [], + "compilerPath": "/usr/bin/gcc", + "cStandard": "gnu17", + "cppStandard": "gnu++17", + "intelliSenseMode": "linux-gcc-x64" + } + ], + "version": 4 +} \ No newline at end of file diff --git a/Makefile b/Makefile index 044400c..d2ca802 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ -spiel: main.o sprite.o inputHandler.o - gcc -o spiel main.o sprite.o inputHandler.o -lraylib -lGL -lm -lpthread -ldl -lrt -lX11 +spiel: main.o sprite.o inputHandler.o isometricRenderer.o + gcc -o spiel main.o sprite.o inputHandler.o isometricRenderer.o -lraylib -lGL -lm -lpthread -ldl -lrt -lX11 main.o: main.c gcc -c main.c -lraylib -lGL -lm -lpthread -ldl -lrt -lX11 @@ -10,5 +10,8 @@ sprite.o: sprite.c inputHandler.o: inputHandler.c gcc -c inputHandler.c -lraylib -lGL -lm -lpthread -ldl -lrt -lX11 +isometricRenderer.o: isometricRenderer.c + gcc -c isometricRenderer.c -lraylib -lGL -lm -lpthread -ldl -lrt -lX11 + clean: rm *.o spiel diff --git a/inputHandler.o b/inputHandler.o new file mode 100644 index 0000000..91d79f0 Binary files /dev/null and b/inputHandler.o differ diff --git a/isometricRenderer.c b/isometricRenderer.c new file mode 100644 index 0000000..89eac3b --- /dev/null +++ b/isometricRenderer.c @@ -0,0 +1,35 @@ +#include "isometricRenderer.h" +#include "raylib.h" +#include + + +void IsometricRendererRenderMap(IsometricRenderer *renderer, int height){ + float originX = 0.0f; + float originY = 0.0f; + + int i = 0; + int j = 0; + + int amount = 1; + for(i=0; itexture.width + j * renderer->texture.width; + if(amount%2 == 1){ + x -= renderer->texture.width/2; + } + float y = i * renderer->texture.height/2; + DrawTexture(renderer->texture, x, y, WHITE); + + + + } + if(i < height/2){ + amount++; + } + else{ + amount--; + } + } + + +} diff --git a/isometricRenderer.h b/isometricRenderer.h new file mode 100644 index 0000000..c774421 --- /dev/null +++ b/isometricRenderer.h @@ -0,0 +1,11 @@ +#ifndef ISOMETRICRENDERER_H_ +#define ISOMETRICRENDERER_H_ +#include "raylib.h" + +typedef struct IsometricRenderer{ + Texture texture; +} IsometricRenderer; + +void renderMap(int width, int height); + +#endif \ No newline at end of file diff --git a/isometricRenderer.o b/isometricRenderer.o new file mode 100644 index 0000000..72ca390 Binary files /dev/null and b/isometricRenderer.o differ diff --git a/main.c b/main.c index f076b8b..1d206d4 100644 --- a/main.c +++ b/main.c @@ -3,6 +3,7 @@ #include "sprite.h" #include "inputHandler.h" #include "raymath.h" +#include "isometricRenderer.h" int main(){ @@ -13,17 +14,20 @@ int main(){ texture = LoadTexture("assets/amulet.png"); + Texture2D isometricTexture = LoadTexture("assets/grass.png"); + IsometricRenderer isometricRenderer = {isometricTexture}; + int spriteAmount = 0; Sprite cursorSprite = {&texture, 450, 225}; InputHandler inputHandler; Camera2D camera = { 0 }; - camera.target = (Vector2){400, 225}; + camera.target = (Vector2){0, 0}; camera.rotation = 0.0f; camera.zoom = 1.0f; - SpriteAdd(sprites, &spriteAmount, &texture, 400, 400); + SpriteAdd(sprites, &spriteAmount, &texture, 0, 0); SetTargetFPS(60); while(!WindowShouldClose()){ @@ -33,13 +37,19 @@ int main(){ ClearBackground(RAYWHITE); BeginMode2D(camera); + + IsometricRendererRenderMap(&isometricRenderer, 15); + int i; //int length = sizeof(sprites)/sizeof(sprites[0]); for(i=0; i < spriteAmount; i++){ DrawTexture(*sprites[i].texture, sprites[i].x, sprites[i].y, WHITE); } + EndMode2D(); + + // Moving cursor Sprite to Mouse Pos and drawing it cursorSprite.x = inputHandler.cursorPos.x - texture.width / 2; cursorSprite.y = inputHandler.cursorPos.y - texture.height / 2; diff --git a/main.o b/main.o new file mode 100644 index 0000000..35ec08a Binary files /dev/null and b/main.o differ diff --git a/spiel b/spiel new file mode 100755 index 0000000..ae13ad4 Binary files /dev/null and b/spiel differ diff --git a/sprite.o b/sprite.o new file mode 100644 index 0000000..a7d1287 Binary files /dev/null and b/sprite.o differ