From 251ce390153d34c42f7d482bb18b0345fe171018 Mon Sep 17 00:00:00 2001 From: JanEhehalt Date: Mon, 21 Nov 2022 21:52:01 +0100 Subject: [PATCH 1/7] Isometric Rendering kinda working --- .vscode/c_cpp_properties.json | 16 ++++++++++++++++ Makefile | 7 +++++-- inputHandler.o | Bin 0 -> 3888 bytes isometricRenderer.c | 35 ++++++++++++++++++++++++++++++++++ isometricRenderer.h | 11 +++++++++++ isometricRenderer.o | Bin 0 -> 1792 bytes main.c | 14 ++++++++++++-- main.o | Bin 0 -> 4488 bytes spiel | Bin 0 -> 21216 bytes sprite.o | Bin 0 -> 2024 bytes 10 files changed, 79 insertions(+), 4 deletions(-) create mode 100644 .vscode/c_cpp_properties.json create mode 100644 inputHandler.o create mode 100644 isometricRenderer.c create mode 100644 isometricRenderer.h create mode 100644 isometricRenderer.o create mode 100644 main.o create mode 100755 spiel create mode 100644 sprite.o 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 0000000000000000000000000000000000000000..91d79f0d8cb5dfb09192229eb5c79b8e1b6414cf GIT binary patch literal 3888 zcmbtW&u<$=6dot0H6`gfsE10WU?eCla^0jUulSvRX`&;B)PIKLZn>v6-mQZ<~y zn&FIA3}>i3=;$j|_)Z$y)zYM9m5icZt!X{+t`=-8)g!7Yya)!j&zJ0zU=-QsrNWUG zMRgChU~i-lxXZj68O7d>nK4)DGK!;BqnHR9&N5|Z-Qr=?rM3A7l!qIlnUSZEuo0|j zV@p(#UiZr*Y=orGqnZ}h>)PIxns#Og$`c5z9az$4=fqkB8ev+LT*C1#@>?RMT#SdD zTTAzz3zYBFC$$HwHSJ|`z{1fwG6ah%a#^7kE9l2sq4LW{u}~q>TEA1LU2r!5N6%;T zC2jsQH>tJd_)g&eekDZ5aib!hh*Da20mc;j6kWOrhB)6TDLW}*ICAHEEDW#6kecC&z{i4%Fx>9cS z7FwU`8mh>isH0MK=;4NH%H_x@Ouoe;C?MZ=f*Px*MF-(cVU)@U@oT6QWg zHX5u!rSvlAwo^e(4Tt)MXBb_b zjFo_O(gWGy4lM9Vf(0&z1G~Dmh8F1dJwrGiNQy{I-yZ&=<9PR$&JQ}sh1-sBD`WRD zN_)qzFtZm38WZ+e+-7Ol=Q=y>0QV8*wgV_Z_OQ{;*xB}rftvUW?lB5#e_HY9wGg(8 z9@xARC7>OS`-M2~ijCtn5%!jk|5+dWW5N+f=E3)lu**LFvp)EBADpGF>4I$}t<;p6 zi%qahwvabZ0b>KEJp^qyn@`*6ti?{{xqhr*+gWQkXXf)}ik-+MFD1+g`*CZ+oHCOz zk4)#%w%MObu?yzRcs7|!xxr86-!^AXWG`7*=439JG2csP%x1Ktb#BTWOj~B2@`gO` z4s^zDZ$6@n1v%`4pHc8FG?)Gt6db27aqJt!8-LY>Ilh(V(*Gv~r}k~)_Y_=>zYPsa z;*Eb);J7kq6&e3W#s5hK|5?G+x~?Js3F70gkc{)Cf_EwSb%D!u$;9P`;;+WJso-jy z?|tG_6@N9(Lj_mk{OJ>Cx41vvy7nlz8Yd=jgcDO<*QDaFp3AHce#;XFYd|`Y2#Jg@ z@i%<%gb)6Mz%k%+AkQm8a|q&#E#Z2c|F&@XJ~->a<@<)k@-rDbIZmUUbI0>?mNTc4 zG26Usvsfx=Cs}MfpJ%aL)>S65nT% + + +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 0000000000000000000000000000000000000000..72ca390b5b26e9d70950dfbe929df1c2a3791159 GIT binary patch literal 1792 zcmbVK&rcIk5PnNbsS0i}nvh_$2Sb3shN1@qVrt;QYQQLp@gOnVvIvp3WV?-Ef*v+8 zzAOiB#=nAt7moaBq%%EFbS_8Jvd9igXFZ%Gd*qq9X zk3W{OIAafMg~^Xr>GT}%yt8PGoY1mm6of<*D=*PQ&n8d;l@I5D&u+A8&q1HZ3WnjS2l-JU>jueO*RGDyyumP zMi3!AWsp8A=xyWpk{sxsC?=`nvtiqoG7pPxu1?>8jMx9!OYW;ALm0)N!qa!E`D@ zZcra+HR#}-QB(ydrx-u`dGM(SFGi3s>k}GlYrKnatSf+Bv@!_2rB}sgeXpzf>O9zR zxrhK&Ecp*ZTiobpu~OPq;U!*x!gFP~H50H7Q2PDHWGWtusJb>49#Ny?s-|jE7~OJW zc5YaiLH(NY{DC^FCp6Wf8loQvLU%#+H$6OvAABmXCrhn>{z&n;h^~ad>Y8mQxu>bq zilhTMlExKXK~g9lM^ZQziKtP)qA^{SVE65DT?s#9@zZERn$co2s;18&$zo6^pG;^< z#Qwh0+!H!}=%atpDs@w121!0^*xX)k{c9B*Pce`l;5 zeQ^$A2`AjfI8WLiVDstwDHlGU@|O#r&uup(xnExAq7S2jIBRc1O%15C+{*yJgM;sn z!y#}er?bDA0YP5Kth0X%@JjdVs&GHr%lrBLD$S;&CfWR18i1SurIgP8Qw#@lL~^XZ W_Xv7?*Y%Kh-k!GHW#IIG`u_qHza;bk literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..35ec08ad5956b913ae2938fc42203d884c0073e3 GIT binary patch literal 4488 zcmbtXTWl0n7(Uw;s8~7+qLN@_L&Q{Vm$vdCYIJ*p)1)OpDfR(Vrn}Sa%HA?N8wwgO zDMOeHYnsSL9yBS54T?ZCp2pMCO%+_!B}lb8ZTM@|I9hNXV)DxdXm}m zpYOl_|GBg$d-`_OcsxW54|$1{RstoYzOh6H7#SdqWF1*n9{+8STDJ%2>ARQL5fY+y z-L@tWpjOXfTaIQ{p)j@PuFiqkYra}S78#N;5C2*y(9FXQ|66M19fs{N?CcowEpv)Z z*~>85W)gla^L>OeW{yo&3^0bBokzZ9-eOaB5hmNb3BQ)P1iyLnJp3~6c{8wFBx#A< zTOx-9nc)F3m1V`t@>^Eco2VzR`(RD;rcWs5&88CB%E?jX=Nu{{OVG^{jdHTl9k8aE zEUQUo8WVsz90sss1~d7{DW+4&YcIlz)$~rfj#D4ro4Hpg6wc+Xg>8^=0XlY%Sl6uu zAV>j-@0=z~+^sK6qw~TvhE|xyG&t*1ANa(gUR6K|`o>%{X5O6SHNEpO@a)VXSbk8L z0Skq5pPjw|K8Q8%_%e}aGX;8)&fZ!@Gsz{Isq@p8GYtebmX|DdE6urbk#Q8+PFv0i z5v6&hTtXO`1PN-_Q%D8AP1O2<+8%1}tEbj#Y8|Y%JG|B|ubss(x~bMwm;=-rKF<>~ol<=&aM|X>2sqp1{;=t(2s*jx=LXt9X>;jdKA)kh;@f1KlaBePD@t z7HP{kRLv$6D;~w%>LzoF*S^evHOF@%_1pxLD-C%Tcr%#`i(%Gq~u$H_U#A>{*`fbGhkD_5K?<^mn{c6yt|D&CT zs>kKhpZvJ6E=??X&g2yH_1`(j?h9%UE{5nc8`)!Fta6T@{p!k%>tsYtMS{Mgk$5O^ zl&GncW~8>Ov2;{3{KIF>U!SSG&quu8);u#oBvsV zYfD?2E!$4CxBFXnJjG!G7bEe)hu8S-J%a@Hd=4>qr`XuYXV3Bd#53;oY;IUnKM60{ z6M#R)c>}9~=xOwxt?62~noiW#cCH2~&UBgZjjbcUu=l4@q_*k{j4`ptrc4~&Y>?zx zEP&x1i+NQJJO$No%%>Xecfnt9!Kn*A@RKgM?Sf}r@F^GkiVKb}Xtg@zUGN1L z{I(0ej;I&fMy&} z^{{5_+B-lxwQwZft*dar!lWyzsd}dxJQCIu>3GOt_9sGGdpGG#C1RSPM}qsccu3PV z-I@E_xYTF^-7?R{E2Y>W}U+LO>@ zYBX|O6Tm=FjcNoei#VP12F4QUXs9ciNNEr`{PL`ahf@aRFdQ5^GCZnAqJ(UPI^%%z z%+B&3_$LUA9Sp^@=bU+gcXC|FKfu@hk~|)BAwN+eznQP!bdksY;t=+moh8{&fwyuz zT!D+Y-{v^RzXm=L&m{@RJ3-)ABph=R_*W9XR>FUh@CPM)Ed~w){ldFlwDX08_{EBL@XtqqpOkPs2Lit+;p-)QisPc5&jAm|aWo7Arw#B4J3IN+iTFbj zu1YxG^+J9#HX8=Y<9`?e_euC865cA|k4kv2gyY>?v;#B_jGvc^t%*N%EM}-9FdMov zj|ocGqN?A3!%h4l)li9lB$Xn5J>e{ZiC9dF123L1G(Ws$E$mG2bvT~(C-p>9(~V=G zgO;?h;Za?UX^!9j`RfCH+&VnnqO}00#JeOIe4B|S!SjQ)4ipiGSisE*V~Q6E_ay3y z=M`&;<4O1s=i34yHr}cXh~t(1@jRl<|Ek{xx@fbkm$1IT{Re=S2j(h|ov=WCasCDG zYpyTu3xSLH#oWpD1;04sB~fJvJ;B-!1d3M1&p^O^@X15eUtq5Rfi^4kecXRQ2=cj7 zA9rE3{*U9O0z>o}`;YgS&=+_$->7$(`yb+g;oXIPD)rH3W$ytZGyEagQc&i literal 0 HcmV?d00001 diff --git a/spiel b/spiel new file mode 100755 index 0000000000000000000000000000000000000000..ae13ad4713f50216fa074c3f1a45122a3a3aa0c6 GIT binary patch literal 21216 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

EvH^ z!QK4xQ^7S>;1SJQ%e+FEBm_j`D~rg>zh74g7NW=XN!~ z<+B7R{Q|h3W1j%lBslCTcA};9sm$bbp>1L2mty(Jsc0Vcg9;n zoxw1^zE1{2>FuI5-qnpK)RAzYVtNVs@I4v~CGahKFcM28c8E6mxIY+9cXjQ6ij50G zGBrh%K95IvlHG}DDuPHfhHvHdP%PXTNf4WicSTZ(Xlqj>Mr9@}7_4imZqS0-x>`EV zAczw@f|{;Cy|zgN*Q{M%Q@u90zOJrW+ZfzfU9(n$VC`4dRX5bH77s;sw8TS+a6M&Z zKdiuUQUZOnU&SBd(>M21&JvjRv;q6k1kx>hpny8Mz;^7w#m`|_kFx^8(O3}2DugdM za6zh0drSjbFq8_JCl64~)M*D79%3-{#DXccv>&Mu4B~tU%hBOvJlG+dMoc+0p;1K~njUWQa9bKtV3ur1~ z(hiPAV>pVVTLfZp41)GpI?$bncSjPb9X6;X9mOFz(XfK5YwDNKpqAntp=5^$gm=V{ zg-KHhGv$#;B1va*NHN6(k(P*bhDbrhx;s-MK!Z~R5Dm1)RU{c{6@e6v?GOPP<&cg` zuLU9yg${@-H{d_Te%-8b9y`M#a0p9K|l z>eE}{_#Pn6<>!4ZQ_i3Fwa)T~pig^R*5`dM)BP%e%1C}@ecpdYfnh1K^m!l6l=saL zk%4U3!^2=`Ps;i8K9uPSCCue#Ii`;zo%XoQ^FEhpmC|>XU%{de5%MYP^S+zufD+{V zo%R2Q(yvi+ypLzf`+m|VpE>oP1x7w$`_?+I)_ZkZ1PL=Z+y9$@?fQPD$5j5Wm6bvH zHiGGM4*h<$zh%mDY=U{F2ORqQl|Iw0js|Bvru3nvz5Kj?VY<@GIh&OA7(MLJ=jTLB z`S}scJN@^H(&zT)eFM{OR#eoP|KB_GdEdu0?9g}S|As?zDPJ&V;gE-`W>fnJSzQ8(=-=>6|jcto$35UX@9m@|2f7nEQ8Y zyJ;o)s?6xE7Gg$N-%hQ*XOpd}GMNfBF?=2@J!|Ch@cc{9d${bThWXoFXVRw}iJULX V(r|T%$Ry9brUX5Qum=Y#{tH*QtA+po literal 0 HcmV?d00001 diff --git a/sprite.o b/sprite.o new file mode 100644 index 0000000000000000000000000000000000000000..a7d1287f6c3f0bca25d4cad842c65220b3c5ea30 GIT binary patch literal 2024 zcmbtT&1(};5T8x@5o_ArmL4h<$w8z_yEN5{A`;ugzJrRirU$`~G~HS?Uu-tm7Suza zbXkhM2>uzKJ;hcmy?M}!UV5k!P_U9q5FyUIyhr0>$w3F+&dhJ-H}Ac9v(FM&uLLv= zq-byn4n2tiEOi{(F>c174|<`dpZJwz?iW`69%1g2I&(`0%uQC^Yx{9GvB$i`fd}P! zT7Ui-SxuL{WN-F5nY)EBf~Ym>1?BuK*fsX$wu0d3jPhQr;VO&pZth|?k&rol<{8Eb*5-mc()hAD6op^FqmS*4GR zC(6M5d$Yb|(p z3m!q6gzC_e5)+2RLqE}RwiXSct9{0QceoY`C<`FJKuED`E1t8 zVJw%&d*Y0Y6`fT2k?`;5N@l^%7cARZK@L^2mhLXvsjMZB^j|uHY-&N5QY9w*7otBh zthg|Y0qSW?CJ4PO2Am21C~D%$x#T}P`lkdg{|9urd{j3QxC)OVPBs6PA4M+JY<**N zLGG_kyt@B+!5=45i+mD^biP)Re5offDDBp~F7-ensOHWfPIIfKhXfE2JgH>=rT-8O zs;Tlv1aMC#3a#>K3jN-{A|6Ech2H-NF3Feg@3%K?wJ!Frkb@G&Mf<3Hs;Ry`Lco;$ V2_sSa*N>PV|3H8aXB~c2{vW&RE0h2L literal 0 HcmV?d00001 From 6178a9fc57f8555e00a970f99c7259a9d8d36a27 Mon Sep 17 00:00:00 2001 From: JanEhehalt Date: Mon, 21 Nov 2022 22:06:54 +0100 Subject: [PATCH 2/7] bug fixed --- isometricRenderer.c | 9 +++++---- isometricRenderer.o | Bin 1792 -> 1792 bytes main.c | 2 +- main.o | Bin 4488 -> 4488 bytes spiel | Bin 21216 -> 21216 bytes 5 files changed, 6 insertions(+), 5 deletions(-) diff --git a/isometricRenderer.c b/isometricRenderer.c index 89eac3b..7d6ebc5 100644 --- a/isometricRenderer.c +++ b/isometricRenderer.c @@ -2,6 +2,8 @@ #include "raylib.h" #include +//TODO: Isometric Tilemap Struct, which can be scanned for clicked Tile +// General coordinate translation function void IsometricRendererRenderMap(IsometricRenderer *renderer, int height){ float originX = 0.0f; @@ -11,17 +13,15 @@ void IsometricRendererRenderMap(IsometricRenderer *renderer, int height){ 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; + float y = i * renderer->texture.height/4; DrawTexture(renderer->texture, x, y, WHITE); - - } if(i < height/2){ amount++; @@ -29,6 +29,7 @@ void IsometricRendererRenderMap(IsometricRenderer *renderer, int height){ else{ amount--; } + } diff --git a/isometricRenderer.o b/isometricRenderer.o index 72ca390b5b26e9d70950dfbe929df1c2a3791159..8f76c4528d6ee63d0004c871d8c63e72a3e8a3c8 100644 GIT binary patch delta 137 zcmZqRYv7yE%xlNUz;N941_KbhWS=;ppSw4Jx%B|Q$DxBim?mp5RxrMuypU0osc+ll zGmKV~Ihb68W&(9Exbg|KF*)kRL|hbC(y>^%**E5%*@<5IgTlbar)$gO!169lNFi&1KEl!G3mpOoC^0SNsS`q;dv*#853Jp8~ z0075D*Z=?k0O+twWC2c-@gWld?~?^0DG!Xe{{R1wkVuPN z_{qZn0JA$H2@n>S0RR91MGg>#0z(Z3MS}wai2)1;2(wWlrV6q>xCa53v$;fv3IRE@ HK~J9pI8!=- From 358d5e34818d081d98dbdbd07a5e2c186f43281a Mon Sep 17 00:00:00 2001 From: JanEhehalt Date: Tue, 22 Nov 2022 01:13:18 -0800 Subject: [PATCH 3/7] Bug with 2-dimensional Tile Array in isometricRenderer.c --- .vscode/settings.json | 3 +- Makefile | 10 +++++-- inputHandler.o | Bin 3888 -> 0 bytes isometricMap.c | 62 ++++++++++++++++++++++++++++++++++++++++++ isometricMap.h | 24 ++++++++++++++++ isometricRenderer.c | 35 ++++++++++++++++++++---- isometricRenderer.h | 7 +++-- isometricRenderer.o | Bin 1792 -> 0 bytes main.c | 10 +++++-- main.o | Bin 4488 -> 0 bytes spiel | Bin 21216 -> 0 bytes sprite.o | Bin 2024 -> 0 bytes tile.c | 2 ++ tile.h | 11 ++++++++ 14 files changed, 152 insertions(+), 12 deletions(-) delete mode 100644 inputHandler.o create mode 100644 isometricMap.c create mode 100644 isometricMap.h delete mode 100644 isometricRenderer.o delete mode 100644 main.o delete mode 100755 spiel delete mode 100644 sprite.o create mode 100644 tile.c create mode 100644 tile.h diff --git a/.vscode/settings.json b/.vscode/settings.json index 23106ef..ab7a5ec 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,6 @@ { "files.associations": { - "inputhandling.h": "c" + "inputhandling.h": "c", + "isometricmap.h": "c" } } \ No newline at end of file diff --git a/Makefile b/Makefile index d2ca802..38630de 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ -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 +spiel: main.o sprite.o inputHandler.o isometricRenderer.o isometricMap.o tile.o + gcc -o spiel main.o sprite.o inputHandler.o isometricRenderer.o isometricMap.o tile.o -lraylib -lGL -lm -lpthread -ldl -lrt -lX11 main.o: main.c gcc -c main.c -lraylib -lGL -lm -lpthread -ldl -lrt -lX11 @@ -13,5 +13,11 @@ inputHandler.o: inputHandler.c isometricRenderer.o: isometricRenderer.c gcc -c isometricRenderer.c -lraylib -lGL -lm -lpthread -ldl -lrt -lX11 +isometricMap.o: isometricMap.c + gcc -c isometricMap.c -lraylib -lGL -lm -lpthread -ldl -lrt -lX11 + +tile.o: tile.c + gcc -c tile.c -lraylib -lGL -lm -lpthread -ldl -lrt -lX11 + clean: rm *.o spiel diff --git a/inputHandler.o b/inputHandler.o deleted file mode 100644 index 91d79f0d8cb5dfb09192229eb5c79b8e1b6414cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3888 zcmbtW&u<$=6dot0H6`gfsE10WU?eCla^0jUulSvRX`&;B)PIKLZn>v6-mQZ<~y zn&FIA3}>i3=;$j|_)Z$y)zYM9m5icZt!X{+t`=-8)g!7Yya)!j&zJ0zU=-QsrNWUG zMRgChU~i-lxXZj68O7d>nK4)DGK!;BqnHR9&N5|Z-Qr=?rM3A7l!qIlnUSZEuo0|j zV@p(#UiZr*Y=orGqnZ}h>)PIxns#Og$`c5z9az$4=fqkB8ev+LT*C1#@>?RMT#SdD zTTAzz3zYBFC$$HwHSJ|`z{1fwG6ah%a#^7kE9l2sq4LW{u}~q>TEA1LU2r!5N6%;T zC2jsQH>tJd_)g&eekDZ5aib!hh*Da20mc;j6kWOrhB)6TDLW}*ICAHEEDW#6kecC&z{i4%Fx>9cS z7FwU`8mh>isH0MK=;4NH%H_x@Ouoe;C?MZ=f*Px*MF-(cVU)@U@oT6QWg zHX5u!rSvlAwo^e(4Tt)MXBb_b zjFo_O(gWGy4lM9Vf(0&z1G~Dmh8F1dJwrGiNQy{I-yZ&=<9PR$&JQ}sh1-sBD`WRD zN_)qzFtZm38WZ+e+-7Ol=Q=y>0QV8*wgV_Z_OQ{;*xB}rftvUW?lB5#e_HY9wGg(8 z9@xARC7>OS`-M2~ijCtn5%!jk|5+dWW5N+f=E3)lu**LFvp)EBADpGF>4I$}t<;p6 zi%qahwvabZ0b>KEJp^qyn@`*6ti?{{xqhr*+gWQkXXf)}ik-+MFD1+g`*CZ+oHCOz zk4)#%w%MObu?yzRcs7|!xxr86-!^AXWG`7*=439JG2csP%x1Ktb#BTWOj~B2@`gO` z4s^zDZ$6@n1v%`4pHc8FG?)Gt6db27aqJt!8-LY>Ilh(V(*Gv~r}k~)_Y_=>zYPsa z;*Eb);J7kq6&e3W#s5hK|5?G+x~?Js3F70gkc{)Cf_EwSb%D!u$;9P`;;+WJso-jy z?|tG_6@N9(Lj_mk{OJ>Cx41vvy7nlz8Yd=jgcDO<*QDaFp3AHce#;XFYd|`Y2#Jg@ z@i%<%gb)6Mz%k%+AkQm8a|q&#E#Z2c|F&@XJ~->a<@<)k@-rDbIZmUUbI0>?mNTc4 zG26Usvsfx=Cs}MfpJ%aL)>S65nT% + +IsometricMap * IsometricMapInit(int x, int y){ + IsometricMap *map = (IsometricMap *) malloc(sizeof(IsometricMap)); + Texture textures[10]; + textures[0] = LoadTexture("assets/grass.png"); + textures[1] = LoadTexture("assets/tower.png"); + map->tileTextures = &textures; + + //Tile *tiles[x][y]; + Tile **tiles = (Tile **)malloc(x * sizeof(Tile *)); + int n = 0; + for(n = 0; n < x; ++n){ + tiles[n] = (Tile *)malloc(y * sizeof(Tile)); + } + + map->sizeX = x; + map->sizeY = y; + + int i = 0; + int j = 0; + + for(i=0; i < x; i++){ + for(i=0; i < y; i++){ + if(i != j){ + Tile tmp = {0, i, j}; + tiles[i][j] = tmp; + } + else{ + Tile tmp = {1, i, j}; + tiles[i][j] = tmp; + } + } + } + map->tiles = tiles; + + return map; +} + + +Vector2 * IsometricMapCalcOffsetForTileAt(int x, int y, int textureSize){ + + Vector2 offset = {0, 0}; + + offset.x = x * textureSize/2; + offset.y = x * textureSize/4; + + offset.x -= y * textureSize/2; + offset.y += y * textureSize/4; + + return &offset; +} + + + + + + + + + diff --git a/isometricMap.h b/isometricMap.h new file mode 100644 index 0000000..edadb8f --- /dev/null +++ b/isometricMap.h @@ -0,0 +1,24 @@ +#ifndef ISOMETRICMAP_H_ +#define ISOMETRICMAP_H_ +#include "raylib.h" +#include "tile.c" + +typedef struct IsometricMap{ + Texture *tileTextures; + //tiles -> two dimensional Array + Tile *tiles; + int sizeX; + int sizeY; +} IsometricMap; + +void IsometricMapAddTile(IsometricMap isometricMap); + +Tile IsometricMapGetTileFromArrayPosition(int x, int y); + +Tile IsometricMapGetTileFromWorldCoordinates(float x, float y); + +Vector2 * IsometricMapCalcOffsetForTileAt(int x, int y, int textureSize); + +IsometricMap * IsometricMapInit(int x, int y); + +#endif \ No newline at end of file diff --git a/isometricRenderer.c b/isometricRenderer.c index 7d6ebc5..8996691 100644 --- a/isometricRenderer.c +++ b/isometricRenderer.c @@ -1,11 +1,12 @@ #include "isometricRenderer.h" #include "raylib.h" +#include "isometricMap.h" #include //TODO: Isometric Tilemap Struct, which can be scanned for clicked Tile // General coordinate translation function -void IsometricRendererRenderMap(IsometricRenderer *renderer, int height){ +void IsometricRendererDrawMap(IsometricRenderer *renderer, int height){ float originX = 0.0f; float originY = 0.0f; @@ -15,12 +16,12 @@ void IsometricRendererRenderMap(IsometricRenderer *renderer, int height){ int amount = 1; for(i=0; i<=height; i++){ for(j=0; jtexture.width + j * renderer->texture.width; + float x = originX - amount/2 * renderer->texture->width + j * renderer->texture->width; if(amount%2 == 1){ - x -= renderer->texture.width/2; + x -= renderer->texture->width/2; } - float y = i * renderer->texture.height/4; - DrawTexture(renderer->texture, x, y, WHITE); + float y = i * renderer->texture->height/4; + DrawTexture(*renderer->texture, x, y, WHITE); } if(i < height/2){ @@ -31,6 +32,30 @@ void IsometricRendererRenderMap(IsometricRenderer *renderer, int height){ } } +} + +void IsometricRendererRenderIsometricMap(IsometricMap *map){ + + float originX = 0.0f; + float originY = 0.0f; + + int i = 0; + int j = 0; + for(i=0; i < map->sizeX; i++){ + for(j=0; j < map->sizeY; j++){ + Vector2 *offset = IsometricMapCalcOffsetForTileAt(i,j, map->tileTextures[0].width); + float x = originX + offset->x; + float y = originY + offset->y; + + // TODO: Komischer "Bug" + // map sollte ein 2-dimensionaler Array aus Tiles sein + // -> 2 Dimensionaler Array aus pointern + // wird in IsometricMapInit erzeugt + int textureId = (*(*map->tiles[i])[j]).textureId; + + DrawTexture(map->tileTextures[textureId], x, y, WHITE); + } + } } diff --git a/isometricRenderer.h b/isometricRenderer.h index c774421..148d444 100644 --- a/isometricRenderer.h +++ b/isometricRenderer.h @@ -1,11 +1,14 @@ #ifndef ISOMETRICRENDERER_H_ #define ISOMETRICRENDERER_H_ #include "raylib.h" +#include "isometricMap.h" typedef struct IsometricRenderer{ - Texture texture; + Texture *texture; } IsometricRenderer; -void renderMap(int width, int height); +void IsometricRendererDrawMap(IsometricRenderer *renderer, int height); + +void IsometricRendererRenderIsometricMap(IsometricMap *map); #endif \ No newline at end of file diff --git a/isometricRenderer.o b/isometricRenderer.o deleted file mode 100644 index 8f76c4528d6ee63d0004c871d8c63e72a3e8a3c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1792 zcmbVKK~ED=5PsX1wko*AXhMR~9t;5j8;Twf45@(!s}X`I#)HIc%OXVDlI=Ev33}LQ z+^ia|{0a^x#v_zQiYGKZRMSHbXh1Q>^wJn(owxg5DNBtBlT2sko0)I6Gw(6JHsIhm z#Dqh=XfI+YLMzTaKWMr^REKI&fj{$WOw>Q$5VhSdQC~>wiPR+jW2L~?<1OZFuj35q zS;tw+Gp)dQ$>P+aT&+ zM1vEJ>t0cJi~23EaoML2`1DWx`rB=?9Z^g9HJs%PobACm{`vPmrILYDG+li3;4D30Max`Thek9gjt1RhbTt%Fzi~ zkrg3~uGldvHzduXenon4Q=U^3ifmF1lMe(TyCC|ToE^juJ`vcHsb)Zag!p_!l|o=u z#j;b(Q{)**P=Oo?6Ot++Ary}zAsmZDBDKD_))N=mpuoD zH&L9uGg^*5+6U2u9d4tXhwTs0`Q-gn3Y$;(D}~Kxwi}YnudJ&f52K3MYp+6$2h?8f zrGVeY!S=`C5IBU>-rr1tAStexture = &isometricTexture; int spriteAmount = 0; Sprite cursorSprite = {&texture, 450, 225}; @@ -29,6 +31,8 @@ int main(){ SpriteAdd(sprites, &spriteAmount, &texture, 0, 0); + IsometricMap *map = IsometricMapInit(10, 10); + SetTargetFPS(60); while(!WindowShouldClose()){ @@ -38,7 +42,9 @@ int main(){ BeginMode2D(camera); - IsometricRendererRenderMap(&isometricRenderer, 50); + //IsometricRendererRenderMap(&isometricRenderer, 50); + + IsometricRendererRenderIsometricMap(map); int i; //int length = sizeof(sprites)/sizeof(sprites[0]); diff --git a/main.o b/main.o deleted file mode 100644 index 6f1bac3969c1b60f64c7abb25601e86aa5caea09..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4488 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 V2_sSa*N>PV|3H8aXB~c2{vW&RE0h2L diff --git a/tile.c b/tile.c new file mode 100644 index 0000000..240246b --- /dev/null +++ b/tile.c @@ -0,0 +1,2 @@ +#include "tile.h" + diff --git a/tile.h b/tile.h new file mode 100644 index 0000000..62c052b --- /dev/null +++ b/tile.h @@ -0,0 +1,11 @@ +#ifndef TILE_H_ +#define TILE_H_ +#include "raylib.h" + +typedef struct Tile{ + int textureId; + int x; + int y; +} Tile; + +#endif \ No newline at end of file From 2412c1a0d3355312b38e297c34f64e6401d39cb1 Mon Sep 17 00:00:00 2001 From: JanEhehalt Date: Tue, 22 Nov 2022 01:19:14 -0800 Subject: [PATCH 4/7] komische Pointer kacke --- isometricRenderer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/isometricRenderer.c b/isometricRenderer.c index 8996691..e114378 100644 --- a/isometricRenderer.c +++ b/isometricRenderer.c @@ -52,7 +52,7 @@ void IsometricRendererRenderIsometricMap(IsometricMap *map){ // map sollte ein 2-dimensionaler Array aus Tiles sein // -> 2 Dimensionaler Array aus pointern // wird in IsometricMapInit erzeugt - int textureId = (*(*map->tiles[i])[j]).textureId; + int textureId = map->tiles[i][j].textureId; DrawTexture(map->tileTextures[textureId], x, y, WHITE); } From 251a876d5f66f11a25f7f9a7332513c5bbf68c4f Mon Sep 17 00:00:00 2001 From: JanEhehalt Date: Tue, 22 Nov 2022 21:13:56 +0100 Subject: [PATCH 5/7] loebbt --- .vscode/c_cpp_properties.json | 3 ++- inputHandler.o | Bin 0 -> 3888 bytes isometricMap.c | 43 +++++++++++++++++++--------------- isometricMap.h | 4 ++-- isometricMap.o | Bin 0 -> 2776 bytes isometricRenderer.c | 14 +++++------ isometricRenderer.o | Bin 0 -> 2368 bytes main.c | 3 ++- main.o | Bin 0 -> 4624 bytes spiel | Bin 0 -> 21480 bytes sprite.o | Bin 0 -> 2024 bytes tile.o | Bin 0 -> 928 bytes 12 files changed, 37 insertions(+), 30 deletions(-) create mode 100644 inputHandler.o create mode 100644 isometricMap.o create mode 100644 isometricRenderer.o create mode 100644 main.o create mode 100755 spiel create mode 100644 sprite.o create mode 100644 tile.o diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json index ba9207f..f52f716 100644 --- a/.vscode/c_cpp_properties.json +++ b/.vscode/c_cpp_properties.json @@ -9,7 +9,8 @@ "compilerPath": "/usr/bin/gcc", "cStandard": "gnu17", "cppStandard": "gnu++17", - "intelliSenseMode": "linux-gcc-x64" + "intelliSenseMode": "linux-gcc-x64", + "configurationProvider": "ms-vscode.makefile-tools" } ], "version": 4 diff --git a/inputHandler.o b/inputHandler.o new file mode 100644 index 0000000000000000000000000000000000000000..91d79f0d8cb5dfb09192229eb5c79b8e1b6414cf GIT binary patch literal 3888 zcmbtW&u<$=6dot0H6`gfsE10WU?eCla^0jUulSvRX`&;B)PIKLZn>v6-mQZ<~y zn&FIA3}>i3=;$j|_)Z$y)zYM9m5icZt!X{+t`=-8)g!7Yya)!j&zJ0zU=-QsrNWUG zMRgChU~i-lxXZj68O7d>nK4)DGK!;BqnHR9&N5|Z-Qr=?rM3A7l!qIlnUSZEuo0|j zV@p(#UiZr*Y=orGqnZ}h>)PIxns#Og$`c5z9az$4=fqkB8ev+LT*C1#@>?RMT#SdD zTTAzz3zYBFC$$HwHSJ|`z{1fwG6ah%a#^7kE9l2sq4LW{u}~q>TEA1LU2r!5N6%;T zC2jsQH>tJd_)g&eekDZ5aib!hh*Da20mc;j6kWOrhB)6TDLW}*ICAHEEDW#6kecC&z{i4%Fx>9cS z7FwU`8mh>isH0MK=;4NH%H_x@Ouoe;C?MZ=f*Px*MF-(cVU)@U@oT6QWg zHX5u!rSvlAwo^e(4Tt)MXBb_b zjFo_O(gWGy4lM9Vf(0&z1G~Dmh8F1dJwrGiNQy{I-yZ&=<9PR$&JQ}sh1-sBD`WRD zN_)qzFtZm38WZ+e+-7Ol=Q=y>0QV8*wgV_Z_OQ{;*xB}rftvUW?lB5#e_HY9wGg(8 z9@xARC7>OS`-M2~ijCtn5%!jk|5+dWW5N+f=E3)lu**LFvp)EBADpGF>4I$}t<;p6 zi%qahwvabZ0b>KEJp^qyn@`*6ti?{{xqhr*+gWQkXXf)}ik-+MFD1+g`*CZ+oHCOz zk4)#%w%MObu?yzRcs7|!xxr86-!^AXWG`7*=439JG2csP%x1Ktb#BTWOj~B2@`gO` z4s^zDZ$6@n1v%`4pHc8FG?)Gt6db27aqJt!8-LY>Ilh(V(*Gv~r}k~)_Y_=>zYPsa z;*Eb);J7kq6&e3W#s5hK|5?G+x~?Js3F70gkc{)Cf_EwSb%D!u$;9P`;;+WJso-jy z?|tG_6@N9(Lj_mk{OJ>Cx41vvy7nlz8Yd=jgcDO<*QDaFp3AHce#;XFYd|`Y2#Jg@ z@i%<%gb)6Mz%k%+AkQm8a|q&#E#Z2c|F&@XJ~->a<@<)k@-rDbIZmUUbI0>?mNTc4 zG26Usvsfx=Cs}MfpJ%aL)>S65nT% +#include IsometricMap * IsometricMapInit(int x, int y){ - IsometricMap *map = (IsometricMap *) malloc(sizeof(IsometricMap)); - Texture textures[10]; - textures[0] = LoadTexture("assets/grass.png"); - textures[1] = LoadTexture("assets/tower.png"); - map->tileTextures = &textures; - - //Tile *tiles[x][y]; - Tile **tiles = (Tile **)malloc(x * sizeof(Tile *)); - int n = 0; - for(n = 0; n < x; ++n){ - tiles[n] = (Tile *)malloc(y * sizeof(Tile)); - } + IsometricMap* map = (IsometricMap *) malloc(sizeof(IsometricMap)); + //Texture2D textures[10]; + map->tileTextures[0] = LoadTexture("assets/grass.png"); + map->tileTextures[1] = LoadTexture("assets/tower.png"); + //map->tileTextures = textures; + + Tile* tiles[x]; + int n = 0; + for(n=0; nsizeX = x; map->sizeY = y; int i = 0; int j = 0; + for(i=0; i < x; i++){ - for(i=0; i < y; i++){ + for(j=0; j < y; j++){ if(i != j){ Tile tmp = {0, i, j}; tiles[i][j] = tmp; @@ -41,15 +44,17 @@ IsometricMap * IsometricMapInit(int x, int y){ Vector2 * IsometricMapCalcOffsetForTileAt(int x, int y, int textureSize){ - Vector2 offset = {0, 0}; + //Vector2 offset = {0, 0}; + + Vector2* offset = (Vector2 *)malloc(sizeof(Vector2)); - offset.x = x * textureSize/2; - offset.y = x * textureSize/4; + offset->x = x * textureSize/2; + offset->y = x * textureSize/4; - offset.x -= y * textureSize/2; - offset.y += y * textureSize/4; + offset->x -= y * textureSize/2; + offset->y += y * textureSize/4; - return &offset; + return offset; } diff --git a/isometricMap.h b/isometricMap.h index edadb8f..5a77fb0 100644 --- a/isometricMap.h +++ b/isometricMap.h @@ -4,9 +4,9 @@ #include "tile.c" typedef struct IsometricMap{ - Texture *tileTextures; + Texture2D tileTextures[10]; //tiles -> two dimensional Array - Tile *tiles; + Tile **tiles; int sizeX; int sizeY; } IsometricMap; diff --git a/isometricMap.o b/isometricMap.o new file mode 100644 index 0000000000000000000000000000000000000000..a5159daf7bf3089ac316978b886f5049c5fc8990 GIT binary patch literal 2776 zcmbtWT}&KR6uz^&z#5^uZ7?xuqpP6?)Q)WJOC>S8-ClZ8RMN8A#J1aE8GdAc$nI>U z#%ghc@n+b{OAQY^_`m}XBqcsIKFC6Apr#LNLmD2}29u?bShI-|V}j?*+=1yx6HQMt zbI0%%ql0*< zgWn6!8~P+GH2#R%4L`hCz9KQH^aJYOBg+2#gAEn^j4!a!U&ur3@;+<%i5*|j4zSTp z0z{S{Z`$$!cVnIL#nJoQptF{hU487X=09wp`HGiGWtR8C*}zh)V+$2GTPVZEX>o~8 zV@0uSwCZ%yXurgyBJ>0_*UrH~J31}u(PcnoO$8_;z+(?(~t_9c1;X<%|%(&;RxD`wFdEUMQd_OAvd zC?CDUxL=R1@GkGhNyvhC?TNDF=`8GSwvA5u#xKAS^K=Gm=yJ+8egbC;n}o7(0VkHB z7Mh)W4UpAd_DZ91L$w<7#ue1^hv9SK3*p%Lo7TN%`ON^oyvcJF9$lOFLI#t|>6T76 zeb?z4UtDZv>j7 zJ-L*Y3j~Am>vHRnV9qdupB+6aw;pQ|Fzns~4}JhO@SJ)#N?e2#5p%JQWCSU8mr)03j|4@O zMEt$JKA3)cI@3LvP{SIQ!M;#%X1M#m;S)i53qcSZ4bIZSqX>c^zZM<~{{le}i{D_H zq##x&|0)g$#94O<69^pt#8~;OHr(E40LdWe78Ju~#(NjH&X>s9OG!=XfmO?x>wu+Y z)Py2yaF|5yRWyajJ=rXgGilR^r;|xF1-?{TQ)Rg8M~u@Jc7G}-4`Os)(tV279sXWBP1SuMCLY{^dW35l? zS%JSKa7P(Zb^?O$tpBRW>7@VH_@Jn7pD~uQ;$K9=CeHfD!G~C@jf1KS4+RAKvx^mP zttY@~>2{th;_VpfPVQ;I@IE{HZx!(Y@Y%&We+&Bv6wK+2?-KDBEuvVR@puc78WMhM znG+YvIv1S(Q}9^v*8KOXjXCB-ef&obr5+xHobi~`IeUP}SK|ITzY^#9?SD*sS@duG Lm|;R8&iH=-y%tdJ literal 0 HcmV?d00001 diff --git a/isometricRenderer.c b/isometricRenderer.c index e114378..ed2c6ac 100644 --- a/isometricRenderer.c +++ b/isometricRenderer.c @@ -44,16 +44,16 @@ void IsometricRendererRenderIsometricMap(IsometricMap *map){ for(i=0; i < map->sizeX; i++){ for(j=0; j < map->sizeY; j++){ Vector2 *offset = IsometricMapCalcOffsetForTileAt(i,j, map->tileTextures[0].width); + float x = originX + offset->x; float y = originY + offset->y; - - // TODO: Komischer "Bug" - // map sollte ein 2-dimensionaler Array aus Tiles sein - // -> 2 Dimensionaler Array aus pointern - // wird in IsometricMapInit erzeugt - int textureId = map->tiles[i][j].textureId; - + // TODO -> results in Segmentation fault + //int textureId = map->tiles[i][j].textureId; + int textureId = 0; + if(i + j == 9){ + textureId = 1; + } DrawTexture(map->tileTextures[textureId], x, y, WHITE); } } diff --git a/isometricRenderer.o b/isometricRenderer.o new file mode 100644 index 0000000000000000000000000000000000000000..cfb84679f2658864b8be7004fa26bc60f81546fb GIT binary patch literal 2368 zcmbtV&u<%55PoZ$#D#{n5v?K>flsKZ(p6k~Agx4QB`24;Hde4gn<)@k72?2w`S+-?O)yNNvSPplQLqDjKjXO>GDP;1w)*Vf(~ST82D5iwWc}($d-=QtOTK)Ao#r?j+SD8cCnM0gROufAd z34ds-N8GlWpquL9^|t!Xy&!=${UeXS`EOUTh7HK}rI*a!P)1z4qm)Pb5xsLD>@FmR zgbBIa}?&h9%p=j@i*hn=>(rj@E<4nw_DgOX0N4e+Eg6cJV{&X z(og?(yAECJRX$D|HwJ9lQhtls`IchS22dL(>6-fa*FddQm^0J43zhWe#9&U#{uPq4 zV@cYo(Yik!*Eim3y9DTeP%*B$CAFqeJhLBR02ctAflL;b`?I@x8oG|Rb+yR5nqVTv%-N9eH&V}QGT zgpcYtb=9RLOx31!0b>isXhSbzxnPx3>9qEOHg+^!_Lk|J$Bt=Z z$43MV;UF>41n6U+XI`Bq5kgiFi-Mv&?Hi(eaGogF63U_dgYgP0bo59z`dFP(?IclVL1T+ z@+Hr!53qMZ_u`ZJQZa8>=6vqFQMhE7hNhEXuMS}K%am^~5#%_|Ipcjk$ z;9^2w$h|f@Jt;o zS$giOSYIxbwMDbIXqeV@qInsNEAP#jdfpHf{6CX|aBNlJ@4-u$@qXcR7`!xKqOD?= zkVD{MzcM|@*eF6t_pL~Huf!y>>?>F4P UBZ(A~584=R!EjsO4v literal 0 HcmV?d00001 diff --git a/main.c b/main.c index 9f57f96..54c0991 100644 --- a/main.c +++ b/main.c @@ -1,5 +1,6 @@ #include "raylib.h" #include "stdio.h" +#include #include "sprite.h" #include "inputHandler.h" #include "raymath.h" @@ -31,7 +32,7 @@ int main(){ SpriteAdd(sprites, &spriteAmount, &texture, 0, 0); - IsometricMap *map = IsometricMapInit(10, 10); + IsometricMap *map = IsometricMapInit(20, 10); SetTargetFPS(60); while(!WindowShouldClose()){ diff --git a/main.o b/main.o new file mode 100644 index 0000000000000000000000000000000000000000..04d3f5ede41c760d6a605aa1844a5125491620df GIT binary patch literal 4624 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 HgVp{UoL+48 literal 0 HcmV?d00001 diff --git a/sprite.o b/sprite.o new file mode 100644 index 0000000000000000000000000000000000000000..a7d1287f6c3f0bca25d4cad842c65220b3c5ea30 GIT binary patch literal 2024 zcmbtT&1(};5T8x@5o_ArmL4h<$w8z_yEN5{A`;ugzJrRirU$`~G~HS?Uu-tm7Suza zbXkhM2>uzKJ;hcmy?M}!UV5k!P_U9q5FyUIyhr0>$w3F+&dhJ-H}Ac9v(FM&uLLv= zq-byn4n2tiEOi{(F>c174|<`dpZJwz?iW`69%1g2I&(`0%uQC^Yx{9GvB$i`fd}P! zT7Ui-SxuL{WN-F5nY)EBf~Ym>1?BuK*fsX$wu0d3jPhQr;VO&pZth|?k&rol<{8Eb*5-mc()hAD6op^FqmS*4GR zC(6M5d$Yb|(p z3m!q6gzC_e5)+2RLqE}RwiXSct9{0QceoY`C<`FJKuED`E1t8 zVJw%&d*Y0Y6`fT2k?`;5N@l^%7cARZK@L^2mhLXvsjMZB^j|uHY-&N5QY9w*7otBh zthg|Y0qSW?CJ4PO2Am21C~D%$x#T}P`lkdg{|9urd{j3QxC)OVPBs6PA4M+JY<**N zLGG_kyt@B+!5=45i+mD^biP)Re5offDDBp~F7-ensOHWfPIIfKhXfE2JgH>=rT-8O zs;Tlv1aMC#3a#>K3jN-{A|6Ech2H-NF3Feg@3%K?wJ!Frkb@G&Mf<3Hs;Ry`Lco;$ V2_sSa*N>PV|3H8aXB~c2{vW&RE0h2L literal 0 HcmV?d00001 diff --git a/tile.o b/tile.o new file mode 100644 index 0000000000000000000000000000000000000000..ec204adaedf6210815518221e71da3ff50430c83 GIT binary patch literal 928 zcmbVK%}N6?5T32|_oO$$%l4##4ZBq@9wboOUc_6$>+TvgHOpKkDP~!B z`O&PTc#**F6PW-@n+8}`=D8@4D@rLCUSrtEBzxBQp=eoEmzAjH(mU?2#1S^o-M5@Z z?qCD0F)M0-kvMlgTvh$x_8+5U2mQbOXV^=7M(DP24XAFLIp5?`D8f L8}4*A$$kGfOw%{6 literal 0 HcmV?d00001 From df6d4b1a6cb0aef3197c1f6de6c77bdc5453ae01 Mon Sep 17 00:00:00 2001 From: JanEhehalt Date: Tue, 22 Nov 2022 21:19:00 +0100 Subject: [PATCH 6/7] make clean --- README.md | 4 +--- inputHandler.c | 4 ---- inputHandler.o | Bin 3888 -> 0 bytes isometricMap.c | 7 ------- isometricMap.h | 6 ++---- isometricMap.o | Bin 2776 -> 0 bytes isometricRenderer.o | Bin 2368 -> 0 bytes main.c | 2 -- main.o | Bin 4624 -> 0 bytes spiel | Bin 21480 -> 0 bytes sprite.o | Bin 2024 -> 0 bytes tile.o | Bin 928 -> 0 bytes 12 files changed, 3 insertions(+), 20 deletions(-) delete mode 100644 inputHandler.o delete mode 100644 isometricMap.o delete mode 100644 isometricRenderer.o delete mode 100644 main.o delete mode 100755 spiel delete mode 100644 sprite.o delete mode 100644 tile.o diff --git a/README.md b/README.md index e9151f5..4b4732c 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,4 @@ Fantasy Welt oder Realistisch? ## TODO -- Bug with movement of sprite after spawning a few other sprites -- Drawn Rectangle problems with negative width/height -- Selecting Sprites for moving all selected to the same destination \ No newline at end of file +- Macht es Sinn ein einzelnes "Game" struct zu haben, das alle möglichen Pointer hat zu allen arrays, camera, textures etc? diff --git a/inputHandler.c b/inputHandler.c index 1012804..3bf879f 100644 --- a/inputHandler.c +++ b/inputHandler.c @@ -3,9 +3,6 @@ #include "sprite.h" #include -//TODO: Macht es Sinn ein einzelnes "Game" struct zu haben, das alle möglichen Pointer hat zu allen arrays, camera, textures etc? -// Man hat einen Übergabeparameter mit dem man dann alles verändern kann, man muss nicht alles was man verändern will einzeln übergeben - void mouseInput(InputHandler *inputHandler, Sprite *sprites, int *spriteAmount, Texture2D *texture, Camera2D *camera){ inputHandler->cursorPos.x = GetMousePosition().x; @@ -28,7 +25,6 @@ void mouseInput(InputHandler *inputHandler, Sprite *sprites, int *spriteAmount, float width = GetMousePosition().x - inputHandler->rectStart.x; float height = GetMousePosition().y - inputHandler->rectStart.y; if(width + height <= 1){ - //printf("Klick\n"); SpriteAdd(sprites, spriteAmount, texture, inputHandler->cursorPos.x + (*camera).target.x - (texture->width)/2, inputHandler->cursorPos.y + (*camera).target.y - (texture->height)/2); } } diff --git a/inputHandler.o b/inputHandler.o deleted file mode 100644 index 91d79f0d8cb5dfb09192229eb5c79b8e1b6414cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3888 zcmbtW&u<$=6dot0H6`gfsE10WU?eCla^0jUulSvRX`&;B)PIKLZn>v6-mQZ<~y zn&FIA3}>i3=;$j|_)Z$y)zYM9m5icZt!X{+t`=-8)g!7Yya)!j&zJ0zU=-QsrNWUG zMRgChU~i-lxXZj68O7d>nK4)DGK!;BqnHR9&N5|Z-Qr=?rM3A7l!qIlnUSZEuo0|j zV@p(#UiZr*Y=orGqnZ}h>)PIxns#Og$`c5z9az$4=fqkB8ev+LT*C1#@>?RMT#SdD zTTAzz3zYBFC$$HwHSJ|`z{1fwG6ah%a#^7kE9l2sq4LW{u}~q>TEA1LU2r!5N6%;T zC2jsQH>tJd_)g&eekDZ5aib!hh*Da20mc;j6kWOrhB)6TDLW}*ICAHEEDW#6kecC&z{i4%Fx>9cS z7FwU`8mh>isH0MK=;4NH%H_x@Ouoe;C?MZ=f*Px*MF-(cVU)@U@oT6QWg zHX5u!rSvlAwo^e(4Tt)MXBb_b zjFo_O(gWGy4lM9Vf(0&z1G~Dmh8F1dJwrGiNQy{I-yZ&=<9PR$&JQ}sh1-sBD`WRD zN_)qzFtZm38WZ+e+-7Ol=Q=y>0QV8*wgV_Z_OQ{;*xB}rftvUW?lB5#e_HY9wGg(8 z9@xARC7>OS`-M2~ijCtn5%!jk|5+dWW5N+f=E3)lu**LFvp)EBADpGF>4I$}t<;p6 zi%qahwvabZ0b>KEJp^qyn@`*6ti?{{xqhr*+gWQkXXf)}ik-+MFD1+g`*CZ+oHCOz zk4)#%w%MObu?yzRcs7|!xxr86-!^AXWG`7*=439JG2csP%x1Ktb#BTWOj~B2@`gO` z4s^zDZ$6@n1v%`4pHc8FG?)Gt6db27aqJt!8-LY>Ilh(V(*Gv~r}k~)_Y_=>zYPsa z;*Eb);J7kq6&e3W#s5hK|5?G+x~?Js3F70gkc{)Cf_EwSb%D!u$;9P`;;+WJso-jy z?|tG_6@N9(Lj_mk{OJ>Cx41vvy7nlz8Yd=jgcDO<*QDaFp3AHce#;XFYd|`Y2#Jg@ z@i%<%gb)6Mz%k%+AkQm8a|q&#E#Z2c|F&@XJ~->a<@<)k@-rDbIZmUUbI0>?mNTc4 zG26Usvsfx=Cs}MfpJ%aL)>S65nT%tileTextures[0] = LoadTexture("assets/grass.png"); map->tileTextures[1] = LoadTexture("assets/tower.png"); - //map->tileTextures = textures; Tile* tiles[x]; int n = 0; @@ -15,15 +13,12 @@ IsometricMap * IsometricMapInit(int x, int y){ tiles[n] = (Tile*)malloc(y*sizeof(Tile)); } - //printf("%ld\n", sizeof(tiles)); - map->sizeX = x; map->sizeY = y; int i = 0; int j = 0; - for(i=0; i < x; i++){ for(j=0; j < y; j++){ if(i != j){ @@ -44,8 +39,6 @@ IsometricMap * IsometricMapInit(int x, int y){ Vector2 * IsometricMapCalcOffsetForTileAt(int x, int y, int textureSize){ - //Vector2 offset = {0, 0}; - Vector2* offset = (Vector2 *)malloc(sizeof(Vector2)); offset->x = x * textureSize/2; diff --git a/isometricMap.h b/isometricMap.h index 5a77fb0..03b833d 100644 --- a/isometricMap.h +++ b/isometricMap.h @@ -5,20 +5,18 @@ typedef struct IsometricMap{ Texture2D tileTextures[10]; - //tiles -> two dimensional Array Tile **tiles; int sizeX; int sizeY; } IsometricMap; +// TODO: void IsometricMapAddTile(IsometricMap isometricMap); - Tile IsometricMapGetTileFromArrayPosition(int x, int y); - Tile IsometricMapGetTileFromWorldCoordinates(float x, float y); - Vector2 * IsometricMapCalcOffsetForTileAt(int x, int y, int textureSize); +// Working IsometricMap * IsometricMapInit(int x, int y); #endif \ No newline at end of file diff --git a/isometricMap.o b/isometricMap.o deleted file mode 100644 index a5159daf7bf3089ac316978b886f5049c5fc8990..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2776 zcmbtWT}&KR6uz^&z#5^uZ7?xuqpP6?)Q)WJOC>S8-ClZ8RMN8A#J1aE8GdAc$nI>U z#%ghc@n+b{OAQY^_`m}XBqcsIKFC6Apr#LNLmD2}29u?bShI-|V}j?*+=1yx6HQMt zbI0%%ql0*< zgWn6!8~P+GH2#R%4L`hCz9KQH^aJYOBg+2#gAEn^j4!a!U&ur3@;+<%i5*|j4zSTp z0z{S{Z`$$!cVnIL#nJoQptF{hU487X=09wp`HGiGWtR8C*}zh)V+$2GTPVZEX>o~8 zV@0uSwCZ%yXurgyBJ>0_*UrH~J31}u(PcnoO$8_;z+(?(~t_9c1;X<%|%(&;RxD`wFdEUMQd_OAvd zC?CDUxL=R1@GkGhNyvhC?TNDF=`8GSwvA5u#xKAS^K=Gm=yJ+8egbC;n}o7(0VkHB z7Mh)W4UpAd_DZ91L$w<7#ue1^hv9SK3*p%Lo7TN%`ON^oyvcJF9$lOFLI#t|>6T76 zeb?z4UtDZv>j7 zJ-L*Y3j~Am>vHRnV9qdupB+6aw;pQ|Fzns~4}JhO@SJ)#N?e2#5p%JQWCSU8mr)03j|4@O zMEt$JKA3)cI@3LvP{SIQ!M;#%X1M#m;S)i53qcSZ4bIZSqX>c^zZM<~{{le}i{D_H zq##x&|0)g$#94O<69^pt#8~;OHr(E40LdWe78Ju~#(NjH&X>s9OG!=XfmO?x>wu+Y z)Py2yaF|5yRWyajJ=rXgGilR^r;|xF1-?{TQ)Rg8M~u@Jc7G}-4`Os)(tV279sXWBP1SuMCLY{^dW35l? zS%JSKa7P(Zb^?O$tpBRW>7@VH_@Jn7pD~uQ;$K9=CeHfD!G~C@jf1KS4+RAKvx^mP zttY@~>2{th;_VpfPVQ;I@IE{HZx!(Y@Y%&We+&Bv6wK+2?-KDBEuvVR@puc78WMhM znG+YvIv1S(Q}9^v*8KOXjXCB-ef&obr5+xHobi~`IeUP}SK|ITzY^#9?SD*sS@duG Lm|;R8&iH=-y%tdJ diff --git a/isometricRenderer.o b/isometricRenderer.o deleted file mode 100644 index cfb84679f2658864b8be7004fa26bc60f81546fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2368 zcmbtV&u<%55PoZ$#D#{n5v?K>flsKZ(p6k~Agx4QB`24;Hde4gn<)@k72?2w`S+-?O)yNNvSPplQLqDjKjXO>GDP;1w)*Vf(~ST82D5iwWc}($d-=QtOTK)Ao#r?j+SD8cCnM0gROufAd z34ds-N8GlWpquL9^|t!Xy&!=${UeXS`EOUTh7HK}rI*a!P)1z4qm)Pb5xsLD>@FmR zgbBIa}?&h9%p=j@i*hn=>(rj@E<4nw_DgOX0N4e+Eg6cJV{&X z(og?(yAECJRX$D|HwJ9lQhtls`IchS22dL(>6-fa*FddQm^0J43zhWe#9&U#{uPq4 zV@cYo(Yik!*Eim3y9DTeP%*B$CAFqeJhLBR02ctAflL;b`?I@x8oG|Rb+yR5nqVTv%-N9eH&V}QGT zgpcYtb=9RLOx31!0b>isXhSbzxnPx3>9qEOHg+^!_Lk|J$Bt=Z z$43MV;UF>41n6U+XI`Bq5kgiFi-Mv&?Hi(eaGogF63U_dgYgP0bo59z`dFP(?IclVL1T+ z@+Hr!53qMZ_u`ZJQZa8>=6vqFQMhE7hNhEXuMS}K%am^~5#%_|Ipcjk$ z;9^2w$h|f@Jt;o zS$giOSYIxbwMDbIXqeV@qInsNEAP#jdfpHf{6CX|aBNlJ@4-u$@qXcR7`!xKqOD?= zkVD{MzcM|@*eF6t_pL~Huf!y>>?>F4P UBZ(A~584=R!EjsO4v diff --git a/main.c b/main.c index 54c0991..08d0f4d 100644 --- a/main.c +++ b/main.c @@ -43,8 +43,6 @@ int main(){ BeginMode2D(camera); - //IsometricRendererRenderMap(&isometricRenderer, 50); - IsometricRendererRenderIsometricMap(map); int i; diff --git a/main.o b/main.o deleted file mode 100644 index 04d3f5ede41c760d6a605aa1844a5125491620df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4624 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 HgVp{UoL+48 diff --git a/sprite.o b/sprite.o deleted file mode 100644 index a7d1287f6c3f0bca25d4cad842c65220b3c5ea30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2024 zcmbtT&1(};5T8x@5o_ArmL4h<$w8z_yEN5{A`;ugzJrRirU$`~G~HS?Uu-tm7Suza zbXkhM2>uzKJ;hcmy?M}!UV5k!P_U9q5FyUIyhr0>$w3F+&dhJ-H}Ac9v(FM&uLLv= zq-byn4n2tiEOi{(F>c174|<`dpZJwz?iW`69%1g2I&(`0%uQC^Yx{9GvB$i`fd}P! zT7Ui-SxuL{WN-F5nY)EBf~Ym>1?BuK*fsX$wu0d3jPhQr;VO&pZth|?k&rol<{8Eb*5-mc()hAD6op^FqmS*4GR zC(6M5d$Yb|(p z3m!q6gzC_e5)+2RLqE}RwiXSct9{0QceoY`C<`FJKuED`E1t8 zVJw%&d*Y0Y6`fT2k?`;5N@l^%7cARZK@L^2mhLXvsjMZB^j|uHY-&N5QY9w*7otBh zthg|Y0qSW?CJ4PO2Am21C~D%$x#T}P`lkdg{|9urd{j3QxC)OVPBs6PA4M+JY<**N zLGG_kyt@B+!5=45i+mD^biP)Re5offDDBp~F7-ensOHWfPIIfKhXfE2JgH>=rT-8O zs;Tlv1aMC#3a#>K3jN-{A|6Ech2H-NF3Feg@3%K?wJ!Frkb@G&Mf<3Hs;Ry`Lco;$ V2_sSa*N>PV|3H8aXB~c2{vW&RE0h2L diff --git a/tile.o b/tile.o deleted file mode 100644 index ec204adaedf6210815518221e71da3ff50430c83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 928 zcmbVK%}N6?5T32|_oO$$%l4##4ZBq@9wboOUc_6$>+TvgHOpKkDP~!B z`O&PTc#**F6PW-@n+8}`=D8@4D@rLCUSrtEBzxBQp=eoEmzAjH(mU?2#1S^o-M5@Z z?qCD0F)M0-kvMlgTvh$x_8+5U2mQbOXV^=7M(DP24XAFLIp5?`D8f L8}4*A$$kGfOw%{6 From 3d4ba7c9b099011d791df2765b7072af460bc766 Mon Sep 17 00:00:00 2001 From: JanEhehalt Date: Tue, 22 Nov 2022 21:21:34 +0100 Subject: [PATCH 7/7] cleanup --- README.md | 1 + main.c | 8 -------- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/README.md b/README.md index 4b4732c..48795cf 100644 --- a/README.md +++ b/README.md @@ -14,3 +14,4 @@ Fantasy Welt oder Realistisch? ## TODO - Macht es Sinn ein einzelnes "Game" struct zu haben, das alle möglichen Pointer hat zu allen arrays, camera, textures etc? +- Bug in isometricRenderer.c -> Segmentation Fault \ No newline at end of file diff --git a/main.c b/main.c index 08d0f4d..a062c81 100644 --- a/main.c +++ b/main.c @@ -46,7 +46,6 @@ int main(){ IsometricRendererRenderIsometricMap(map); 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); } @@ -64,13 +63,6 @@ int main(){ mouseInput(&inputHandler, sprites, &spriteAmount, &texture, &camera); keyboardInput(&inputHandler, &camera); -/* - if (IsMouseButtonPressed(MOUSE_BUTTON_LEFT)){ - printf("Klick\n"); - SpriteAdd(sprites, &j, &texture, cursor.x + camera.target.x, cursor.y + camera.target.y); - } - */ - // Sprites move towards their destination float movementSpeed = 10.0f; for(i=0; i < spriteAmount; i++){