From e3ffb48906101c40b80d3203b7dc041f3e9d17db Mon Sep 17 00:00:00 2001 From: Jonathan Hager Date: Sat, 26 Nov 2022 21:47:26 +0100 Subject: [PATCH] Is komisch --- Input/inputHandler.c | 6 +++--- IsometricMap/isometricMap.c | 11 ++++++----- IsometricMap/isometricRenderer.c | 2 ++ Makefile | 2 -- Textures/textureatlas.h | 11 +++++++++++ game.c | 24 +++++++++++------------- game.h | 2 +- game.o | Bin 0 -> 5072 bytes inputHandler.o | Bin 0 -> 5856 bytes isometricMap.o | Bin 0 -> 4744 bytes isometricRenderer.o | Bin 0 -> 2976 bytes list.o | Bin 0 -> 3000 bytes main.c | 4 ++-- main.o | Bin 0 -> 3944 bytes spiel | Bin 0 -> 31544 bytes sprite.o | Bin 0 -> 3352 bytes tile.o | Bin 0 -> 920 bytes 17 files changed, 36 insertions(+), 26 deletions(-) create mode 100644 Textures/textureatlas.h create mode 100644 game.o create mode 100644 inputHandler.o create mode 100644 isometricMap.o create mode 100644 isometricRenderer.o create mode 100644 list.o create mode 100644 main.o create mode 100755 spiel create mode 100644 sprite.o create mode 100644 tile.o diff --git a/Input/inputHandler.c b/Input/inputHandler.c index 59f7904..9b1cab6 100644 --- a/Input/inputHandler.c +++ b/Input/inputHandler.c @@ -58,7 +58,7 @@ void mouseInput(Game *game){ InputHandler *inputHandler = game->inputHandler; List *sprites = game->sprites; Camera2D *camera = game->camera; - IsometricMap **layers = *game->layers; + IsometricMap **layers = game->layers; Texture2D *texture = game->worker +4; inputHandler->cursorPos.x = GetMousePosition().x; @@ -135,7 +135,7 @@ void mouseInput(Game *game){ width = abs(width); height = abs(height); - printf("Auswahl: x: %f, y: %f, w: %f, h: %f\n", rect.x, rect.y, width, height); + //printf("Auswahl: x: %f, y: %f, w: %f, h: %f\n", rect.x, rect.y, width, height); // TODO: update to World Coordinates float deltaX; @@ -148,7 +148,7 @@ void mouseInput(Game *game){ deltaX = currPos.x - camera->target.x - (rect.x + camera->target.x); deltaY = currPos.y - camera->target.y - (rect.y + camera->target.y); - printf("deltaX: %f, deltaY: %f\n", deltaX, deltaY); + //printf("deltaX: %f, deltaY: %f\n", deltaX, deltaY); if(deltaX > 0 && deltaX < width && deltaY > 0 && deltaY < height){ current->data.selected = 1; diff --git a/IsometricMap/isometricMap.c b/IsometricMap/isometricMap.c index 5a5bf94..adddd73 100644 --- a/IsometricMap/isometricMap.c +++ b/IsometricMap/isometricMap.c @@ -19,11 +19,11 @@ IsometricMap * IsometricMapInit(int layer){ map->heightBounds = 100; map->layer = layer; - Tile*** tiles = (Tile***)malloc(map->widthBounds*sizeof(Tile*)); - int n = 0; - for(n=0; n < map->widthBounds; n++){ - tiles[n] = (Tile**)malloc(map->heightBounds*sizeof(Tile*)); - } + Tile*** tiles = (Tile***)malloc(map->widthBounds*sizeof(Tile*)); + int n = 0; + for(n=0; n < map->widthBounds; n++){ + tiles[n] = (Tile**)malloc(map->heightBounds*sizeof(Tile*)); + } int i = 0; int j = 0; @@ -38,6 +38,7 @@ IsometricMap * IsometricMapInit(int layer){ } map->tiles = tiles; + return map; } diff --git a/IsometricMap/isometricRenderer.c b/IsometricMap/isometricRenderer.c index 1482d61..461af93 100644 --- a/IsometricMap/isometricRenderer.c +++ b/IsometricMap/isometricRenderer.c @@ -3,6 +3,7 @@ #include "isometricMap.h" #include "../Input/inputHandler.h" #include +#include // @param deprecated void IsometricRendererDrawMap(IsometricRenderer *renderer, int height){ @@ -56,6 +57,7 @@ void IsometricRendererRenderIsometricMap(IsometricMap **map, InputHandler *input int textureId = map[n]->tiles[i][j]->textureId; DrawTexture(map[n]->tileTextures[textureId], x, y, WHITE); + free(offset); } } } diff --git a/Makefile b/Makefile index 9b17783..9a013e4 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,6 @@ CC = gcc FLAGS = -lraylib -lGL -lm -lpthread -ldl -lrt -lX11 - - spiel: main.o sprite.o inputHandler.o isometricRenderer.o isometricMap.o tile.o list.o game.o $(CC) -o spiel main.o sprite.o inputHandler.o isometricRenderer.o isometricMap.o tile.o list.o game.o $(FLAGS) diff --git a/Textures/textureatlas.h b/Textures/textureatlas.h new file mode 100644 index 0000000..9c843ea --- /dev/null +++ b/Textures/textureatlas.h @@ -0,0 +1,11 @@ +#ifndef TEXTUREATLAS_H_ +#define TEXTUREATLAS_H_ +#include "raylib.h" + +typedef struct TextureAtlas{ + Texture2D cursorTextures[2]; + Texture2D workerTextures[7]; + //Texture2D[] mapTextures; +} TextureAtlas; + +#endif \ No newline at end of file diff --git a/game.c b/game.c index 16dc8e1..c4d14c2 100644 --- a/game.c +++ b/game.c @@ -8,17 +8,14 @@ #include "stdio.h" Game * GameInit(){ - Game *game = (Game *) malloc(sizeof(Game)); game->cursorTextures[0] = LoadTexture("assets/cursor.gif"); game->cursorTextures[1] = LoadTexture("assets/cursor_down.gif"); //game->cursorSprite = {&(cursorTextures[0]), 450, 225}; - game->cursorSprite = (Sprite *) malloc(sizeof(Sprite)); - game->cursorSprite->texture = &(game->cursorTextures[0]); - game->cursorSprite->x = 450; - game->cursorSprite->y = 225; + //game->cursorSprite = (Sprite *) malloc(sizeof(Sprite)); + game->cursorSprite = SpriteCreate(game->cursorTextures, 450, 225); @@ -52,13 +49,14 @@ Game * GameInit(){ game->inputHandler->cursorSprite = game->cursorSprite; game->camera = (Camera2D *) malloc(sizeof(Camera2D)); - game->camera->target = (Vector2){0, 0}; + game->camera->target.x = 0; + game->camera->target.y = 0; game->camera->rotation = 0.0f; game->camera->zoom = 1.0f; game->sprites = ListInit(); - game->layers = ((IsometricMap ***) malloc(10*sizeof(IsometricMap *))); + game->layers = ((IsometricMap **) malloc(10*sizeof(IsometricMap *))); // Test Layers --- int n = 0; @@ -66,7 +64,7 @@ Game * GameInit(){ int j = 0; for(n = 0; n < 10; n++){ - (*(game->layers))[n] = IsometricMapInit(n); + ((game->layers))[n] = IsometricMapInit(n); } for(n = 0; n <= 10; n++){ @@ -74,16 +72,16 @@ Game * GameInit(){ for(j = 0; j < 100; j++){ switch(n){ case 0: - IsometricMapAddTile((*(game->layers))[n], i, j, 0); + IsometricMapAddTile(((game->layers))[n], i, j, 0); break; case 1: if(i > 35 && i < 50 && j > 45 && j < 60){ - IsometricMapAddTile((*(game->layers))[n], i, j, 0); + IsometricMapAddTile(((game->layers))[n], i, j, 0); } break; case 2: if(i > 40 && i < 44 && j > 50 && j < 54){ - IsometricMapAddTile((*(game->layers))[n], i, j, 1); + IsometricMapAddTile(((game->layers))[n], i, j, 1); } break; } @@ -96,9 +94,9 @@ Game * GameInit(){ for(n = 0; n <= 10; n++){ for(i = 0; i < 20-n*2; i++){ for(j = 0; j < 20-n*2; j++){ - IsometricMapAddTile((*(game->layers))[n], i, j, 0); + IsometricMapAddTile(((game->layers))[n], i, j, 0); if(n == 9){ - IsometricMapAddTile((*(game->layers))[n], i, j, 1); + IsometricMapAddTile(((game->layers))[n], i, j, 1); } } } diff --git a/game.h b/game.h index e81c376..3722fc5 100644 --- a/game.h +++ b/game.h @@ -11,7 +11,7 @@ typedef struct Game{ struct List *sprites; struct InputHandler *inputHandler; struct Camera2D *camera; - struct IsometricMap ***layers; + struct IsometricMap **layers; } Game; Game * GameInit(); diff --git a/game.o b/game.o new file mode 100644 index 0000000000000000000000000000000000000000..6ab38a9139f39f69ae780f6903077fd9020b457d GIT binary patch literal 5072 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 literal 0 HcmV?d00001 diff --git a/isometricRenderer.o b/isometricRenderer.o new file mode 100644 index 0000000000000000000000000000000000000000..e103aee0f7f35d3ad5d9ace49e00f9695c1afe87 GIT binary patch literal 2976 zcmbtUO>7%g5PoZ$)D=zFfg)8(r7RcJRAJSY1Edw;ki6s-Xeeo2IDn|@Y}!ElqxD*( zND+~?Kp&e_;l`C45{DePz=_xiB&`H;D<7=N2dhevLn8sQkbD5l%ksLxqdrL@f+X?+X-WbmLMxRH|3)nRr#&ktp>E{q&x=s-^^kSWh+wR`E0E(Tj`T>=6$I@$Ma@Q z%Jet=8ri`47KDeeAzFsmPK1VGP+q2m#dH3TR%DjT)_l!eJ#_o)`Zsl;8|%E-O-P;a zRr^Bfd=S!(rsv=WOxN_h@EUE#+Yx40>?=Sm#^!c16k(+*4ZMwk^kgw9pkjpp;~JmA0(y=uc*Kv zh**(QM=xxO$15BVZsiVcY_Ct`bn{=9rrcPXQdJ(P?ViwHB8zUaSf24b%a(oEQ=4V? zyj$24@%cJ?w(Iz;`AulaAT7!Zy|7l!nsu-&+m;1+;lW>MnU~DD{C@f7S0Fu<#6p4% z&>KS&<7dXlPAQS}bmEFKsikx+7B#duwNV6fS z_rSj35*RChA8~cxqVv$f(8s>v?k;Nj{mT+qIW}R}<}>&p+H5}Y**30v2g8s7@_T)U z0sw!b+IFqqepNg61c;Bd*xR)Nrosueo7&Pd9q<KCSGv>}5`>6%6!hx(9k zEPgnD;y*M{FM>e06SyM+PvAg+5buH`aM1_EVdM?`HU5|P|B0Hu7B`}ofg8HRuZo+l%|ulLI!4sVs1YUV<#d{;deRYM$#`5#fG&|VG!?#q zr_)9>_MR(WNo3TNo=j=FaSePhl6Li-DLoq3L`naPE8vZ-#2&U%*cD#JhP9B}_6CCU zL6dL;aV`}%;F60!3LJfLCP;@JMxFwWxH|?HCFE02UZL>j9{>f${IC8ez!zh-&KN|p z7ke$#qJF_&0)@B>8|39ZzJCI2_rdYjFZ{iAdFy`{ zd@;Y*KZG9}&?Wn~`Q!D+EyPm8O%wYzi$wv6{5XI7zJ$M+|8BX_FXiU{4F#YBa4?V8 iA7grF4-mQJ?%xd*TFBe$9?3O&19$GZ-}%nD z=bm%2d2e=pu2?8AEd};C%TF3*>|rO@eWChnI~!$-JpGlQ`OW3&sr5^fWLSrhr?VTp zdyrOVop*`XmeT|pi{jOH3d`(KT$1~>(MT#Qx#m!xxUP1er zQyZ-FNlp`tH7l94bB*q~##IXP!7{=3d!4&wvWpu$rPl(6T6Ov@c~YS7@O_s%dvb=t z8S%+yfr?gjrIn}x+d)vJKQ2M=5Vw*?#ZkG4+yAG$ll%rsOy<2;V)A8qLjRcfgyf0W z7^zn2byWH6B{F87d-+m1Yn2!+3=KwrDgf1Yw4SwT5);YMrgZVD&W?Qh_Y0RUz=LG` zHf!PEX5hy)%3#~etg@@-o^*HB#wWJ1R~b7nGxLaBIdEuk+}%CpO?jAlwuP2U3xi1} zR%C@9F#WewQ0H3-gWM@MR(NND6;{iIog-VFH6q_bI2PnJe5SXTKPb+O4i{e{hO|8f zoa7unnf+{Le+4+n1$;95rIdo5Cz|6MkfR#ZPo%(6E06S+hLr{#Zfac&ijL9*%@rP6&a4(jQbMYp4L-he%^IcyV_^1)bB^?5@qKLCEzB#Vv?R5*+ z^K;t5_57T-a6Lag3)l0*y!MGk5*(#HiRFGwYjIc)yd+#rn714x0rQTw+sun2d02`X zjgZE|Yeq@v(Qnp+?F4fn&u=t4UMr4TG(9KC2a&>KM{04<2vsKkZF9*TEg81L`0D(# zSzN+Y`!e=U($F(ML!?qs0UhOld4VeaLC`)XY3u=oV`fdc&jysyzJG#n#I))E)_*to zBBu3Bru}axn<@7F`^X4P{PQu0Q!1f53=FFF*ZY10GpV!ogOpMGY3>3k_`9?7=gQyC zOV?lfzex&W+WxD`|Eeac-S)>64(k6Tk|J4?8$#4@t{yx>Iw0F0 fF$b0EJbpw-&dM$O+Vw+!2l@9@{z>L372E$W9Yq;- literal 0 HcmV?d00001 diff --git a/main.c b/main.c index a2286ad..bfc9174 100644 --- a/main.c +++ b/main.c @@ -26,9 +26,9 @@ int main(){ BeginMode2D(*(game->camera)); - IsometricRendererRenderIsometricMap(*game->layers, game->inputHandler); + IsometricRendererRenderIsometricMap(game->layers, game->inputHandler); - ListDrawAllSprites(game->sprites, *game->layers[0], game->camera); + ListDrawAllSprites(game->sprites, game->layers[0], game->camera); EndMode2D(); diff --git a/main.o b/main.o new file mode 100644 index 0000000000000000000000000000000000000000..f7f180acd231787a27586680581fa191689de807 GIT binary patch literal 3944 zcmbuC?QaxC9LMKcgrbE#5Cy^DnE@rCIdwJ~T)Bp@^x5{>8YJ3Diop54UgFWH-! z&+l;_cD8*dwY|G37Gp|c>=iaUQk1djM`rt`=$dRPTf%yI@N=3E-Fktae+ZZdS1(_s z09O*tIFNmm`L4`sg-I=N||5};rK3dQTvYIjCovky*GE=(hNtHeheX9%&sNxC~S(3;! zTQg-6D^9^u*Y!Fp6faf1`2+0&;cCTPHS{263}aU?COIRXier`CUV&3Gx|q1i=v($rD~@rsF=i* z(Ka!gs;*WwQMqv#9~cYCY#vVK##1+RRcpU-XB2arR-IeC(mSnY^QD%Dst8gOWcKZh zai|v+oURIW{Zx;SQ1Rh04x=4PP24l$IGpUB@y6Ia`GcBEOJaRLq9i(C z_0;gMyGPb8HW_=ZcRm`!jf^B)7R_18Va|fMlsNCUZ z?e?u~TiGqzzL(GJv7M~#*>5`ZC?J`R_Ss4I|knVNU8PB#I zR&)o;R9OtC+or2t5c$x<oxaAEigdKd5oUP<%||k7@iT$kUT#y{5hYK?!U@iiJxP#=Q&Unm- zO8WK*pCz-FZ?R-wxy+KD8xAsVv1mJ_b6np}(zo{6vQIaJ9Os0-)(`c5jHJWguJur}BOvrfX!MfqJHk&A?P2fh+B@z*7d zH%Km*n?_O)bRKEUkMAyG{#Sq8ABZ_;FKH|$MGfNXqUu)+-*@9jHzD?^%zsfTamNBR`XlB)_MX@-EDFhM4U5|_WVl1;^DoKzeGz5$r_uj! DVw(o! literal 0 HcmV?d00001 diff --git a/spiel b/spiel new file mode 100755 index 0000000000000000000000000000000000000000..ae2dda183444c2cb53069fed646dc046af791eea GIT binary patch literal 31544 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 UD8DHsQwVe~oc5RpVmvAs6YY z=wC~U)GBvV4_!80%SJw^!NL>yO}?<&&P5qwjT$(5)7H0I>}V{`oi<2IL?1->T)V`@QkCW#%ZpUA#MuFq z?I_AtLD^PNw);8mwjJt(3KyyBv3b~6)+13fgpJ8!N-0bd_7SB|*L`A;an}l;n?k`S z@55@PPoNcEG`S9p6gfPdUy$CUy@uh^gV!jeYj#|pkIa05JQAO?TaY;j_)f3__*qvA*R{N@Om$_zW?sO3Lyu45gpnc0|A7aCQGSY=!B3lX~Rok{wjdayK zr4UL)V?P%^aTgVRCB(%xE(SwxA}UTrlj8fNxF^fXr|-so{un8JR=-sT%`S-wGORPP zC>d54i~nP$;+y6~Z(w`X96#)}+iCZ9FlRk{J#qemJRWp7u%S_%$Lce7t;e>6fWQe=xP|00fTnxFUSII^hAB=obzb$L{ zwTvSh&D}KlJgFmil8TTWV-hH+$D0aZwFk%>V_p!tR z%$O%kzpaLn^|QJUYedG|XP9v{Y8(h}58Z$=MUxRRKSRceUD5XfJv+Arj~GyqF4t=yv;I^kgSPP<*+Su>) z7E3I+vD?k7L0Of}*baz$n)Kyffl*zen^mRs1iqxN_2k}x9mZ&-pV$KL-vYk~ocs?2 z!GL7lFu#dG_z7wzNY)DTI~c9vveJY-=2-D88<0#Qmtzx?PKhP$%v&CGw)kq%&gWQP zsaUWado0_ZnMjXM*u~3M){%N=t*g$YZLy)Dl9S0^8On}c8M>4i%WrZrkhLvqT!rbe zt&C%_LMERtW+~4@)F==g5!%w9biqO03a9PRS=IQ5P5AaEe1;r=NT1G)*6&tz^5dtP za60Q+|H~%4+0PMGSHGXZCOq8aCkCE~(o(5O*_7V~uFpx%hwJ{%`f%M}7B5{ZIGGX5 zj_u8(nzOBZChnj&ES}3a85SQYl~~*^dP25XC|KiI8!w{&cmuj+^OXF?_+%U{p0I4^ z8f?guH9B<3&J-+_$$y(-FsBx7^SLpV{FkbyURLeaB0B(%RLl*;W2$r*KoxIdk7FiV z>LHQ*LBjkb2H~pB;5>R!{tRiUG5h0pVTpYHTl-_MC7;b_0wUA#{b~5)Kd0>FV@`&O zPAbE_8c?&g*Yio>nr~K3`vd#zweA@(RBC_z=ajuaFI|6ae;EwL_uJ1Z`;WAun*H_` z@K*hwSBk^Rj`~mcTHEXXw~9?Bo$5e7tBON+nd12E$)~^ffY`7)f7eN9B7d!SW382a Oj2wd;Z`%0!?f(YJc>DeU literal 0 HcmV?d00001 diff --git a/tile.o b/tile.o new file mode 100644 index 0000000000000000000000000000000000000000..a3f5170101d18026ae52a15af47139f78c90f14b GIT binary patch literal 920 zcmbVKJxjzu5S@+ZXD2oXHnCDc7d^1CkcH#CMr=f|&BaAUlN`wiUS;b~vb?|KFF0q+ z4DM|z9hkg%^X6@KH+dgjT_(nWhJg$CW!eSk2Tk|WcCZDT0OR5CJUtj+-yWu?13R!M zt*1wjQm#^x2nm=u_cV;~U|E%xko6vXEtZ;0@ae_d9KbfS0<#Gr)-672h5ik}-e;JB zoiq*DyebM`Qm?GgTiVufgIWG8{Goic)4H1a8fTr?{k5@62HyKxWONZ%8sEbn3EW%J z0YMjWrLljXgbm97`j5!VYs%-OstqT&BdDP7S3Dy@Yn@@d2}w}Lvm?^hDU)D^%RAxm zzWA(R@OrVA^$!_RKl^x2{e98t&+gnEOP`|aywJ{Bw@HZao@eL$pwM%)tb14A*m^Lj literal 0 HcmV?d00001