From 7051b4bd442bc28f3a7c51146e220eabbd98b801 Mon Sep 17 00:00:00 2001 From: JanEhehalt Date: Wed, 23 Nov 2022 00:16:07 +0100 Subject: [PATCH] selected Tile is detected, weird drifting --- Input/inputHandler.c | 2 +- IsometricMap/isometricMap.c | 8 +++++--- IsometricMap/isometricMap.h | 5 ++--- inputHandler.o | Bin 5408 -> 5408 bytes isometricMap.o | Bin 3576 -> 3576 bytes isometricRenderer.o | Bin 2616 -> 2424 bytes main.c | 6 +++--- main.o | Bin 4544 -> 4552 bytes spiel | Bin 21856 -> 21856 bytes 9 files changed, 11 insertions(+), 10 deletions(-) diff --git a/Input/inputHandler.c b/Input/inputHandler.c index 95ea24a..0722f7e 100644 --- a/Input/inputHandler.c +++ b/Input/inputHandler.c @@ -57,7 +57,7 @@ void mouseInput(InputHandler *inputHandler, Sprite *sprites, int *spriteAmount, inputHandler->cursorPos.x = GetMousePosition().x; inputHandler->cursorPos.y = GetMousePosition().y; - inputHandler->selectedTile = IsometricMapProject(map, camera, inputHandler->cursorPos.x, inputHandler->cursorPos.y); + IsometricMapProject(map, camera, inputHandler->cursorPos.x, inputHandler->cursorPos.y, &inputHandler->selectedTile); if(IsMouseButtonPressed(MOUSE_BUTTON_LEFT)){ if(inputHandler->pressed == 0){ diff --git a/IsometricMap/isometricMap.c b/IsometricMap/isometricMap.c index 758de60..28bb0c0 100644 --- a/IsometricMap/isometricMap.c +++ b/IsometricMap/isometricMap.c @@ -62,7 +62,7 @@ Tile * IsometricMapGetTileFromArrayPosition(IsometricMap *map, int x, int y){ return &(map->tiles[x][y]); } -Vector2 IsometricMapProject(IsometricMap *isometricMap, Camera2D *camera, int x, int y){ +void IsometricMapProject(IsometricMap *isometricMap, Camera2D *camera, int x, int y, Vector2 *tmp){ float tileWidthHalf = isometricMap->tileTextures[0].width / 2; float tileHeightHalf = isometricMap->tileTextures[0].height / 2; @@ -78,9 +78,11 @@ Vector2 IsometricMapProject(IsometricMap *isometricMap, Camera2D *camera, int x, //Vector2 tmp = {isoX * tileWidthHalf * 2, isoY * tileHeightHalf * 2}; - Vector2 tmp = {isoX, isoY}; + //Vector2* tmp = (Vector2 *) malloc(sizeof(Vector2)); + tmp->x = isoX; + tmp->y = isoY; - return tmp; + //return tmp; } diff --git a/IsometricMap/isometricMap.h b/IsometricMap/isometricMap.h index 4e0a35f..50d0661 100644 --- a/IsometricMap/isometricMap.h +++ b/IsometricMap/isometricMap.h @@ -17,8 +17,6 @@ typedef struct IsometricMap{ // TODO: void IsometricMapAddTile(IsometricMap *isometricMap, int x, int y, int textureId); Tile * IsometricMapGetTileFromWorldCoordinates(IsometricMap *isometricMap, float x, float y); -// Screen Coordinates -> World Coordinates -Vector2 IsometricMapProject(IsometricMap *isometricMap, Camera2D *camera, int x, int y); // World Coordinates -> Screen Coordinates Vector2 IsometricMapUnproject(IsometricMap *isometricMap, Camera2D *camera, int x, int y); @@ -26,7 +24,8 @@ Vector2 IsometricMapUnproject(IsometricMap *isometricMap, Camera2D *camera, int IsometricMap * IsometricMapInit(int x, int y); Vector2 * IsometricMapCalcOffsetForTileAt(int x, int y, int textureSize); Tile * IsometricMapGetTileFromArrayPosition(IsometricMap *isometricMap, int x, int y); - +// Screen Coordinates -> World Coordinates +void IsometricMapProject(IsometricMap *isometricMap, Camera2D *camera, int x, int y, Vector2 *tmp); #endif \ No newline at end of file diff --git a/inputHandler.o b/inputHandler.o index 78e05a29cb80d8db5d91e741ba68f8e6137f4a5b..fa414908b23f5f9e9a3e53b9eee5af60bc9a4059 100644 GIT binary patch delta 1432 zcmZ`&Pe>GD6rb6DZvOjr#a#cT?Lm=6lFAN&hmjcjA~!79P*Jo)MnPhr)}_o=t6>V1 zcL_o;Iv0iq_tvZ(T)ntAZ#W3Yu{?~OZZxjy*by!XA|d++z&%uMq)~j(ISDo= zh?r?6^q(S&2en+T24b*ot*$`Ce(irKBR6gvzgy;~6mpz8>j>irauPi`!D=EpYxR?3 zrwXht%$^0&F!3~L2%{1X)fz@eQza)X+KS6kCIo5hL9q571X{8RA#Tg5$F&X6TB3~y zTc9+qN;c%#s~wEa6**;4f=au`ksvckrZ?Hcety+idw`62H2g+z8!Zh{ohj(I*AK;s z{aPjNNtNUL4G+idT$!cTT#OQbBnN={ zG7H9O)Sw&}ky%6)E+TT-QQEOe*K1K!s=WID22`nhRAVC_Ge_s7V)Fw-ay;V;EgCvf zG`+vQzkw1nek{st_(!D}T}sgcbmog>pl4Pp49ctfW394R-re2ZvH34LtN0UuwXE+B zno$s@7o8`?D%wLgxhM%6DmmZv+;S<;VO_E1W;un^c=Z(Wvd=?bwhg50keGnq*)PP2 z>EWEq7I7KA<$1(S(j^U6#G+7@6L_|EgdrCo4d#YiZ)#Vyl z-%F2sknkxMzKnvrlV~%FuCfP7p$R_BKP9z?7Fz3^yIqx<4}I{Ro%1`t^Y?xWHUt|& zzs#;n)W6nF<=ZhT52#f3gsJQfwaLn%F+)=%xSEY&+V@E7iH)1K`5Ct?- zL=c4(IT|yJVlXtSbOA6h4q%YV(d{f$ZYi6@oH`Ux`_EvUVj5NlPH(e}T3Cf=$1LS_ zdO;gC zSdHHsJn~!mQ2#`*%P@|ozn9gj{6R?YOFoT*e#45XNz%y3?C(rw60_wV9|^325tZUd zUdELvQvB~_DPr}oN&?UGd!u57@f=}}e_nzQUkfi!MOJD!Z6=K~!$*$gDU)0N)}Jc> zyZfI^Wqv7MzBPWFjMQc_nNj#>rrCVq*9py5#vMKgQ+30|v(AH%_6qmREhPn#-(p$h ziwkWgQ#HT=R%AcUM0=Q9XFu)txv`0%J!j3_JXU$d9a6aB?Xf+0+r9 zy#S=14S{TA7eO}ZNSBUyb)*-NtBwbH2ifUx!ZB9s_{=?GT~3yY#pr|SWaZr2;#4lJFA4!)9Sym0YH8vpwPpZT?bSkU#wlKb1G()Pw{D)u Hoz4UR6Ea|j delta 253 zcmew%{X=>~3(MpV78#BQ9^I}tx*a$s_p^vHKAC)o#a-=18vpwPpZT?1PkiPVbba%g zU%>SRzXp&K=lcM}0gA-AKABv=DyRGbED0od8GwL4{2+F9+FxKs0yPM_{($kmfOvm^ zF8Gn=!Jl^^_AtuU9J>#a$6S>ow0K6tv A3IG5A diff --git a/isometricRenderer.o b/isometricRenderer.o index 747892a1f092136f2d0d16921c9fb0d4446992c3..a391ea18d519c032d32f365f7b3339fb419843b9 100644 GIT binary patch delta 455 zcmdlX@F z-|TvY(WBe-M0djlprobi75<);K;a1!Ji23loIE_ahgpXeY}n-O%$Z_+Kyw&e`2^aS zoO#(?o0*v#7UyzLK+2Kh{CcY@H`P=RY=h))Pynd z82uj9eefn6`FHkndq^NMEC?ZBiI5Tf3o>@!9SdcSX@szY$LjKzHqZW2`goa{5LQ}Q z+>&;;*Rr`Rw8a~0z?C!u6-7}GEf;aXyA+`X7?k7qP05jfoonla6zo75rUfrNNX|eE zHTLFc&to+uxR5n*j;T1Nm)0>=3#9SR2Kt+es-gupnfo8L1t~?FT1SNqqGR>LV{g0r q0tbpJ+$y2rS!PF=+s4z0CBTOgQa$F%3CWvtgw=6Xw^MT6$$kMLa(7h# diff --git a/main.c b/main.c index 6f1a072..14d66eb 100644 --- a/main.c +++ b/main.c @@ -39,10 +39,10 @@ int main(){ BeginMode2D(camera); - IsometricRendererRenderIsometricMap(map); - Vector2 tmp = IsometricMapProject(map, &camera, inputHandler.cursorPos.x, inputHandler.cursorPos.y); + IsometricRendererRenderIsometricMap(map, &inputHandler); + IsometricMapProject(map, &camera, inputHandler.cursorPos.x, inputHandler.cursorPos.y, &inputHandler.selectedTile); - printf("%f %f \n", tmp.x, tmp.y); + printf("%f %f \n", inputHandler.selectedTile.x, inputHandler.selectedTile.y); int i; for(i=0; i < spriteAmount; i++){ diff --git a/main.o b/main.o index 470e77631d455c7efd541dc609b023a0552d8e61..af34ca9612dc1902ec680e9c0208d946719b9427 100644 GIT binary patch delta 893 zcmZ9JO=uHQ5XblJSDKQ|?$R`$n%V>*fz}TwSV7qoE39CVN-2$pf(MU+hzF0BbOT|# zVjO~25Yn5+KoNo{CQ?WaMRF<)i1wJGl*SzNpu~B*Sz8^LH#6_|{1)a~n$YEfVONkdC?lpp?{g91NA^Bx!3-C`=@z-!;5P0z>_fD{ z{v69Nv`2+Y#;H<&uGjYj-O3#5q@zzh@-Ym4*FMta(xeG7{sgXFE($mKghIQ?XPa{V zB{mz(GTg|7X>X?-9%UsERn)RlkyFuSlYv<2Xk2 zd4^!dABS@?4-=jRqHeBup7D_{gx-N+cytN357X^hRsaA1 delta 818 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 delta 3175 zcmai04^Wfm8UJ1(lsMoE7(ya}1d%@#6a>~TtSWSaIpP& zyTi84*Prr+j(m?kq+gnGVn&vkzUX!Br`z;K^L{Wy&%hx@+^(2H1|$%V>j?d={uy$D zX6Kp+M=NqS=lwhfmTp%V;*k~bB2C?p<%wqcdhYtKcoeqi4oN?uT0=q2U$|N3d5&9V z;J9v)|8W2gB5*Lv>s+G>?FeA)jm*#vL%#L6iG>LH=P~z<|B>a8D*!E)^W}1nD?s;{ z4D>C-{9MK*9v3Ufrl`DdR{AwPYxur_r6+pdQQ~{ON=e><6Lf7}U1?ti$03;JZ6l-E zu2WFG6=1@Fs4T|odBr3^&*Yi$zsF>xH}kTw(izpgU^E*;*OVH(%mrT+=3hLF6x9Ux z8MTUOZt6+K`og%7zGqColT||w(IV4=GUfm{MVX)SFd*6*kiG-wDp*XA@N3M{iRlct zTdbmFhJQ6>DyzcBGn@(@yXX({`^c+wI)5{Hh;B5OkZ0*mb3S>J4wzSwQTl<| zPAD}L*ho8lqCig?=u-thB-Qj{fw^GzYOG1}0`mx)=`aSTTkKWF zw_ZQO@RBy6F?$2s8=0Ypa|L=*~PFclP#P)S!+=q0PA zZWy@wAquQ^#~HK>G3(4k^w?8bodM|>%2cWl-GT&9LX@s7%1eu~gK)xv zW_W~%ct{M!G@|yVhb$oe{$S~bnYYc*qTzR8>e~~Q9`*9t_>5XD@&P9NOGhZfgiC$#((}@LhXG!)VdJybKRQ7k1>?z-w#k&Z3ls1+26mLZ7At9=uSB*8G4tt(R^*Exy z(fvM7%vSnw=|LWStJf-hlQv(HWja}6p)Z%MuRVZ`=sab03Q<-^*t45;!iF*Fe+R8f zmIpR#jZHv_uTp*aszv{pfSp^w@$4KHy{>0bx9H7Xlg>hX$PVgHX-|1&#-dw{Z~FdF z{x~5OzW9S*BczWmuc#oWeVr9)Ps;0*+MKKOuwgaoDNnt z^|JE|-6hHuF5p<}1WCD*HaTK!1I{J^2fQuF1|CNzJcFAmkiu~@e0y+)uMD__D~c6s z#xVGJq5OXby-5c`!oyWH3%J6oO5I&$yBjDXu3T50f1l+GueXTq&+&4y;^icb;Ol~u zenj6|`f%j}xCD608&*2~8ID#tv-EJv!Hcu&Ta^yctYs$c2MLz+J74v(-2@+A!&TzT z)&8{A>sB{Atn_cyeZ7m&sV$g{4s?1i=$gy2d=&KDq%223Z%)bb70@Z%_IkLB;`LJp zy8BITS6!Fo*FYb@cfcvowV>mm`*8oJBJUB<#h}aa@z4M|3A!bPqa(`) zN;GMxQOMH0IIli4O?0NDT-9VefYD%&8NWZ{cbx95v5@!aD>Y?gfCg)dpPEI+wa9GF zGGz&2W>&E5;HRO2X?7*6o&|XRBvtXuyt1m#6+T&5-Vyx zjNP0T^R!P1#w`Z>J;+|62Wrdk(eie!1!wPKt)-|7A43hdTctdzn6TJS0vRVY)mdO+ z!~f^B9sj$1JL^W$iQi{ixn4uAQTJoh#7}qDS7}=-VT7lF9;+`SaeA@-dGZn6(9lKB z(PIt2C(CHNP-R+Mkgu&a~Oj-<4ko)@~b^YK1r&os3) zwvq?wfyO+tlD^TnPupLbkQ}C~o61b%tYADttTH_PK$yj7p?jJvMB^K5vdkyX)8K|G Qt-mUv;`d$K@N~-m07G>sP5=M^