From 251a876d5f66f11a25f7f9a7332513c5bbf68c4f Mon Sep 17 00:00:00 2001 From: JanEhehalt Date: Tue, 22 Nov 2022 21:13:56 +0100 Subject: [PATCH] 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