From 50900034849f1971c8ab1e651576e872a94a36f5 Mon Sep 17 00:00:00 2001 From: Bill Rossi Date: Sat, 7 Jun 2025 12:55:28 -0400 Subject: [PATCH] Oh yeah we're moving from map to map --- assets/roguelikeIndoor_transparent.png | Bin 0 -> 10112 bytes assets/roguelikeSheet_transparent.png | Bin 0 -> 46099 bytes rooms/sample.tmj | 29 +++++++++++- rooms/sample_inside.tmj | 62 +++++++++++++++++++++++++ src/assets.js | 3 +- src/game.js | 19 +++++++- src/tileset.js | 2 +- tilesets/kenney_roguelike_base.tsj | 14 ++++++ tilesets/kenney_roguelike_indoor.tsj | 14 ++++++ 9 files changed, 138 insertions(+), 5 deletions(-) create mode 100644 assets/roguelikeIndoor_transparent.png create mode 100644 assets/roguelikeSheet_transparent.png create mode 100644 rooms/sample_inside.tmj create mode 100644 tilesets/kenney_roguelike_base.tsj create mode 100644 tilesets/kenney_roguelike_indoor.tsj diff --git a/assets/roguelikeIndoor_transparent.png b/assets/roguelikeIndoor_transparent.png new file mode 100644 index 0000000000000000000000000000000000000000..d66794b80186e551ee4bd5efa6d46f0e3aa31d74 GIT binary patch literal 10112 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 literal 0 HcmV?d00001 diff --git a/assets/roguelikeSheet_transparent.png b/assets/roguelikeSheet_transparent.png new file mode 100644 index 0000000000000000000000000000000000000000..32e606ca0596611d977d7ab5b29d6f2b23cfe212 GIT binary patch literal 46099 zcmZU)cT`hh)2|&uLIq$3ED(2?GI4u(&_x;ZK<6A4)DJv^`a__n4H*?M8rM|8@B^fgr2n3?k)KD=5fd~N*2uwvn zh=0fE(VQ^;0pg0(L4rUHDdblUP!NdVT3_2(75{#|QS%@_DeGpL#mvl1nr-d=_r|YZzk2J783DbC9_q^xs`;tUfAqg8Nk-3hr)BzA*gt>(|cCPI!1Y+FUj)EUXsYdy_HJJ4nKgbtgQA9{*2A6_vQ!8&d#2mp2nyJuFo{+Hu$ckihbyrUat!5 zdTHL;+M4U5@eZxNK3%u;Wz)7beCCZusunx9k9%Q+Q)Xu7U@pkZ%PYwR!Qo`z*4Eb8 z*5BXyx;|7duvKa8`|i!nO-rWVCqLHx&6y@^o^p%a&Ytn1`iPi}Op&CQH^Wpj^~t{P z`E%^q5&4eepNf;`R+9RqL_>Aj`v;1Qx!R(Q^z`&33v!(@rFx#TH+<}lj7{+i3rl^( zE?Zk+)*MtGY8(}ZX|*q1TU+CQ5vWz}ITa4y-58&FD*65U_oDK~e1CmZqIg9`#mdSG zCdMZ=Hg+Jzx~VKtrK2S`H@CO9chH$HzDs<5WfOrwI1Nmex3sp{@-{`8$W)dLj4q9h zjcqP>2iFKKjZ^@|;VG_)?FqIfRKucp4g*gQAwg=ry{t zQz@ZOIvVesXejOqMRCTA+8>TSf>+t4wYz$KuJaaxxBlQe&pke;PRX%q8Hj6h@+$K_ zK0KQ%%R@evbWlwe=lsn)@QJF#PiFUL+Fh8RxPuVaj-%Dy>>R`WPjuP9oSV&bJRU-bw-rq1}9neo{lqQcjNz4l05u|X%rU9(Qh^+)>9n;63H!;o zfCMW?U-hF)_SXJQU4ZM}IjkKsCi0TAf*!wkRx@U-&XZi+7!Csrhau+eeas3o${FK} zG!6SjP)_>I`F=0_*0lW@ZBQsZifd};Ww=Lb^)2kW0mYv_H1Z!Mp_1d^2;rZAdt~TA zGbT3F@7rqOiPyOJGWfR%%uOBSV?0#iY*e6Uj8On1mGy#L99H}u@P{iSzov@1r+=Xa zKDyiNK6xeFYHuDYDkA_;oHK9->U zR>R+D56q>DUst(o%W0O>(Aa86wXDmgEeyza(yXK%Q}C@Sc(0$uBSVh9v+#icLrlnO zQo)J18?r}#FUKiHO1QcqPmf?4&Tv@4sbSi)MW z+^&ce6HMruO001FX1OfK``^TSYS@7WCj~ZlS`zRtk!J?9?!Z}IMM>Ad_#q9A7q>E3{gUjZbRc2A_2jhPx4TeNAL)g$``rtUU68uSvsSFVw?}7WCIT zuMA;E*JY*ny<#y>@#_IUruhI4GRb*3wRXW4^^1)X`?@d;>7|wqFA6vFg$0sE3Q-<; z&%$p^U*mXN-!8jUjP<|&&c(5r)iwE_-Txh#nPtyJPJsE$+)j!i7-9!v=Xz&Q3mYot zv%Qwj)Hd!eQ&Yta(i25H&Qp;eWqxiy4@6>#+ONvS<3keasu0QMI4&9kp}Ynl&HlW# zCvx|?o>Do|nwF)fHnngH0));5$=6DW1CE1+^tcjUsb_*U7#-1_Ty#{}8Tzw)u9umzSPg9k@pv zHRp#UGCY%0`JsQ^G}S3k2*DkdX?Q_tqrl;b&^4|D()cJ?`#Z%NdNkN&=1b;{I-=By zAf{Vp3SeG>b_{l@!C12+LMZq3q@d^mRofAtng-SDSIN)CT2CdTgt4Tq_$SYH5wX*? z%W&UB*>+(b`2&b^x}8f=xHaDsws&bH?w00Nml>=H@;)#N@)@ql-wyes8LAULHQu*$ z>IFO13NY^Da~xvFvdqmbIoM^mH$O%uUeL3FVL{vpB@W+-ruM*$BIbEy2*tmKjX=)V z_RNRr&jfO#uFQ(eQ5^@GGVc=7c4omxpBPbeR8|a5qCQpq5MU|n*I`z{O6W|3@Pi(yBWJ=f-abcFd~#r>hq05i<&$>a(yV^w`|L(JZIZeOGfF4f2`{ z8Wr=>|K+S}XmAg!dnfm>fluMzD_T z&aAnZV{9{Mv?ZxY1L0N0V=!QnH$YbgC{n8t?3njcvoJNw?2VijM*nd~o!uVlB(EZ+ zBVe^HMy>;1#8lP=)N%nAd$t)Q?u(7JR~cYE z;cXH>d3rr_BsUMPO<`DE?SQH2%1QgP-mtyd4+BEnubkvx_X&&UA0B!0)u-%ssU>*u zR2jP0r^+|1EmJeB&})@%!-cGG6szZffH{2oX6M{v!9^9-V+o1U_YA{x<4I zr^HKywh9S4(~r*uK%_qad#3GmoS zelcI4i_9-qe|QPk%8~{4o`&ZO!IMeKU?{S}>|6t4oXaZ>4Gsd^X-$ZEr9pIbXU?-_ zmtfvb>z_)6EVM_oN{@C@3Ge0|BW)`o*o6f9yZK8c(rHMS>}3t2T$`ZmMQ8ttBowbs zgZSW$JbQw5FtV2qHH6ZNI<$PL{7Qd=gkoKU=@X$m+oT6PI&FMgOqhx_hO zIO<(9m3dyKQvQ00K_ss}37XdoXcei}bb}GnY)V2vsd7AY=^2R_yj2SD3@y8hc`A1B zuKbQq&^SlvQ!|2^xF6DR2=e+}i_Ymns~aYLWw7uC>NJg49lWRKJO&Ufb;S}bb*cGY z0<1j+pmtXP7MT+feHwHXcIR2JPwbdtj6~3Qgf=sIBIJnn9eQ{z)H3hqNqRG|*Yd1h z0k7vgR2o4j*bq1J*ad7wb5 zggR(opwQE)?y=)Z;YZIQ9<7dQePoB(_Iqi@8}a%qv*-@I7}F~<+F!IXs97fD3O zEE862Wf9Bko>O#?!pEZ7S$Gr^8A`Os0kfAEDDRHbPUw{6#r&~x*NsWyln?ABZSbEq zSEqV^7E^JrP|R;~3LLIXy5C{gt1R=~K^Z>O+wV-^!hw4J=Jm}t2AzCEjD&yQtSTML z1ef<;`bGa(qSn)|&YaevdSnim@x(^LqZxByEc>f1UgSrAad@2RG!bffCo1Pl{tqG0 z$h@?3czz4O-7#+g=d*S!09^}O0Wfd^d2$4fC(;xpQLUz4)8NDGjFxN#NHYSf_3N>cNgc!m2`G0tGWU z#PVMvY&T6>sh}{3T-s683tpA_L zTX#``c8Z`ueidG<F37Zm4jxYt?x)M{F;Hgewe?-!7Nax89RSym(VQ7 zdsj!5bc|Qs4un!1CO*noB@JWbR5eoO zZ?KU&4??-7{;}DKbBE!YrAWoKiBsV+`cF8Pso2?Yf0<>ww00-?&pqFWV^|&wVWcX5 zSdKnWo7y1~!p(D=c?gNp0#9COX*|@#OuM5ZJR~}VfWv8*M|(qr=(B_9Swf=4OWj$T zA_EDeg+vmxO+I!IT-I_?ab#}IV>UXfziyUoAQ&+^I|!Z?V{>&po6lfgXNH|iGwmJ# z_Cu)pl~vuoTQ^b&?;sNlWzcMg@9M8lWt}NS;IqHiD-TUP2`jJe7n$RDsXRG4RBLH6 z|3=zCR)XMycKaJ3Bu=Z%Y07 z$7$d~Zn=<10d}7eNY}G>kAo!~t|DzzfxE3>LZgsL1 z%0>t(Sy=LVKk~~(6XGN_U}=AbiKyM{UIb}mVh;Dck2PxBw~!A3Cg~0>UDs;vvz}Tc zGKE%yo@h(8=GWVD5za4n5|@m`1<5}nuQzVjEm0|2qqs^w4CHf(cX-gfbGN&4Ob~|E zB{a10dy{=s6ZuN(6ln34J|xLH#4K?%`-e_yCbc*dW`L0a=PcR_U)a5a0WbZzh*XN~ z-~m>G*sw{T28)Y~+$v9LsC%nB6|1^Kv)Myzl{M6Bpy+KKLb9j^j9+qeo>-G~N14md zt6Kym1>eZ-?XMbem@Y0Ga+p3pP&lRu8UgP|`Tgsre z;?oju$&J+B#SW+Xl$CWTMPZp_;jdNlzv)MLB(IAp(Z#jJOn4ZD;GJQ)9#nyz0=HxwcAV)i@G2`}Q zAN;iL*xG;hC&^0!ep{IYd(n7Dl!@y0oe4u~@62yL78^p)h+&`S78}-cel;d3B2o!V z(Mi1*y1xV$K5RBrzPqZZzHqzCf_f0U%(XH-3tLL&D{;qdB2De|u82HS-=7Bnf==>x zF(s;|a2BtWgQIVs=E0Dq2dbG-A@z4}5s@FfB#)Hs+m>*mBW&M7%-4NG?E5k4{GuXd zf-CyK6*1i@52$bt3>VRGZ_RHC#7Dv0;S@wW=@Ag}qcdHnYLC<;S5F)F?-o`I%Pp&~ zMS%rf2yRLsh-bmlmOQIZi5fQ^6&0luc=dGA2uIN^pc!hCD$lfF8SY^?BLwie>5#It zNzU9(Yqyhibts80V@7GCukPl3cR`%Y1GOdLot|O~hKR4Gpz~$YaF6+L6obOwiOh)6 zC2C*@f@`Ceqq1NNV{HZUQOSo@joZGu{DRy^Z=hJMn*G=qV-4YM>d~eAOi0yad^RN+hF&}mYzz)WAlVZan&;!# z9xMb|kc@t6{wNfUKdSMms0d-{?gJ)~Hel51hh~29XrTlT%@!789}p6~ieqL9w=QrM zj;2URY-58VIj7CnB_pb{#>6;(@_W6a3823-+_*1+YtcexDaA5q&2uYzk&~gP-GvrE zQvldsbIqpGz{YZPi?I?3g?~jfHOp?=WQ743LoCi0C_{NvyJ2pDTbbj!VQU74nA~wA z@Yj1~H3_%-;DSTe6f4rEsZgWMi^)}So!?#tR}xSr55<3Mi{W5+9J*$} zs8b3}1RQiYoTMgY+Rnpov9-2%f@o-yphqXELk(<NulH6!3W>)s(o~=QS}bnk2Ha znA@54kCC>fy;$fumR7_H^Q%Iq>4uoblB;3#L0t`lsmc>GcWWC-%8|$)Uu@3(7c*BY ztu$NOuncjO_@7yRBu0sbHzw@a7~9$3Q&i3H$XSeRVGrd6k`jke{v}a1 zl+Q@qNKm?~CrO?poWE|6(et+jO>~K7bx3uE)$Z((D!DW`s5!Sa4 z{Rm16M2+1Z8E`_6S{`j|D5rYH@G>9?N|P6WO-jD6PY#G=5auepX5&J*prk`#}x zsD~dvwbYP-0r8qCwu6hS55=KN2T@E9&hLBAfdb`9o#ZAy;XlsoB$Nald99nP-Td5u?G4(5nOp_=wI|9p7#yWa*LE@N!PEEt z<=>O^%J%?apkCMEK$rP9&dT_5?!-cpKx^++xfhU)eLrAn;w|TColFml{G7=+tg@rcmjtO#Zx{W(SLnm9<>#q zoBj&tr(J_!tyB>LDqOIAeJ~1MC=HY(LA|yj6Hk-c-zJ@8vAFGD%th_WNPtRMuZ`~C zQ{4NPapQevV748mZ0txB_MIJY__{>=x|mh=jr(4h1z)}purWj%wdNHIsrdOeEFB6F zGwG>*$==WqP7pZU2&DAbrwk){N#HE;-YNBJEf#s=tw9GHsyVw-YM3r(eg;Rax!sbg zfXBf}QiT_hO#~(c{HJo1XPw0_$-;NPE{kD$8Y;<9KGoZ9#7kG1Shy2XV0$RwfAHIm z;Xd!-X%4 z0!Us)?XrcXQ^iA0bhTCc!u?OgbL#$@&dvT{vk-n9xI{vmS@5lUfdB~N2t-J9d_rzr zRCz4k=&=AC%0dd9EU1pZjLpg#PVj}hd7}8V3SA>SoC|;LSVkHp|HLVxsf&`8CV`km zzo#mctU2xby+6ticUxPJ{xLio+G_a#r@#`NzY_s;%yCcWxMfJNHg^~HsM840UVjuG zr&cX+3wBVjkQ+nKqlM7$)GB6x-Y8`^7Qs#x25);Y8|pfsZ`&=)DuK6UO%8(gTlf%E zUsbrrm%)oCk^Jk&O;Hp(sVo-U!SFwG?e6g_u$}X_GmDL% z%aNVE2i20qSQZ*g6>*2I$0cdDm^28>(Hy#r3^krHeTj=9xj2eR1Inebxs@gmE!V7?)Pg00wq)q5oS6X}`L?iuyj~x4G zWEFD0gqtWvUhkk++>qfwoo^K(UdjA$vXZ*l3NW?(pOrDg@7&oy=O>;%Hc*tHG2^|DXO35P(6yRr&f*I6zu|C-l*Hf4M_j5Z zPp_gF0aoxF;k%UqTQN8kZCdHsB*^eCRug+t(-eYdndbW6S#WK z9NwNH&jqydLBz|RAFn?7`?e&Nic^mUI0JGDInsxMJqtRfzxef~xQ&tBk` z`E33P@wfwma`w-R@;Le+R7!>V#^)MNf$keY+78T3ym@Wag|)N=No@Z|uY9{BmHOl4 zkQnmLR#Qmm{XjJV5w=peZ!i1d$xIhJvEAP`?EYlO+kE*s^ zXlI6t8Q(vQxc2tV(^NO)7-T!uU1(eaQMw9iDGNXUhDP|Gb9@jQ)*^XI)cz1)Z&mm> zG|Dn(M+BDs^p)c6N};UyAn76~SYi-@c1nVFTJNOV?5y;yEQ?CG#l2X#ke;|F6j1Z; z_% zBm+V(f7K;INqOjqkAid2!I5yjXdw(;Z!yB_>fIkhO!f%kBivHaKjKcHZH@4 zz7Ah~zmlh4f3VPB%r=yJX}||Tb8T4P#v@C@m0fi+(aIW&Ue5qY40jT=KmcPU)20_t zB*hHWH-xvQSbz8Ec?G}c>__rcUf_~Uykk2`UK=)37Q@@}c90OgKRERme%bYdm-1+E z_7?W>u`l=MZQ|QH#@<3xKtrV#_v!BY9jjZoPl+TzZ3BX?Sy1m5U=ov0#Tn7}matX| zeEthv(`9c)iNPxbG5Uw8q7)vBeha}_y5m+v8nt%0l`#_dMN3%K$Id=Sus1g#s9M>h znegSUJ#-ngu-RO)$&#JJ9ttJf}?uQ!?F zrjdg$?z2Fc)@nHW?ON~wm3cY|4@(Y3E30o)9(_Lsl`qr7znI%+a1Evj4B(;@ix;M% z8)RVSJZ5bMMBN_}ElI5lq+xgx|J-y?qerCO8Wu@vMd>yjO}9=jtwLl`dqxIJncgCu zeOjtE!mgZHy6=Sd>CmMT#{)r3a~>V#f5{RRFJSu()0P!!4%lIURUJT6e}&We8bn(hCa z1)%ps@K$}-!HQ&o^Xe_i8b09=?D)-PK5c$P7<8-ptvDuKiuT-uUNyo$FX6G7SKDnH z{Xu$a55i+=pA;*Ud6WAde_apq*(#X;w6qpsL26G@NW8-w*rwGKU$1D(+358=0{g`O z0qf&JgeMQ=UMZVbbhad5cQF&Oci5-OYgj3hYoy|m?FoK%SaQ#E-c3jp-;^}KcxILM z%tdIQq&mT)HgE!P?}C*v(9-4i521elsw1r_p3M^*wSKieZGA(@#p21zrJ$TGVD!j_ z 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 literal 0 HcmV?d00001 diff --git a/rooms/sample.tmj b/rooms/sample.tmj index 3ea7a8e..0e574ea 100644 --- a/rooms/sample.tmj +++ b/rooms/sample.tmj @@ -147,6 +147,33 @@ "width":30.3798879567435, "x":656.930237743527, "y":411.661417542295 + }, + { + "height":23.3879051119279, + "id":8, + "name":"", + "properties":[ + { + "name":"event", + "type":"string", + "value":"transport" + }, + { + "name":"transport_to_coords", + "type":"string", + "value":"[10, 10]" + }, + { + "name":"transport_to_room", + "type":"string", + "value":"sampleInside" + }], + "rotation":0, + "type":"", + "visible":true, + "width":48.4463748747077, + "x":518.988751531351, + "y":358.61454504956 }], "opacity":1, "type":"objectgroup", @@ -186,7 +213,7 @@ "y":0 }], "nextlayerid":4, - "nextobjectid":8, + "nextobjectid":9, "orientation":"orthogonal", "renderorder":"right-down", "tiledversion":"1.11.2", diff --git a/rooms/sample_inside.tmj b/rooms/sample_inside.tmj new file mode 100644 index 0000000..f288f29 --- /dev/null +++ b/rooms/sample_inside.tmj @@ -0,0 +1,62 @@ +{ "compressionlevel":-1, + "height":8, + "infinite":false, + "layers":[ + { + "data":[722, 720, 720, 720, 720, 720, 720, 720, 720, 723, + 778, 894, 895, 895, 895, 895, 895, 895, 896, 778, + 778, 891, 890, 890, 890, 890, 890, 890, 893, 778, + 778, 1063, 1005, 1005, 1005, 1005, 1005, 1005, 1006, 778, + 778, 2219, 2220, 2220, 2220, 2220, 2221, 1005, 2219, 778, + 778, 1004, 1005, 1005, 1005, 1005, 1005, 1005, 1006, 778, + 778, 1004, 1005, 1005, 1005, 1005, 1005, 1005, 1006, 778, + 779, 720, 720, 721, 1004, 1006, 719, 720, 720, 780], + "height":8, + "id":1, + "name":"Tile Layer 1", + "opacity":1, + "type":"tilelayer", + "visible":true, + "width":10, + "x":0, + "y":0 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2148, 2149, 2150, 0, 0, 2050, 0, 0, + 0, 1841, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1903, 0, + 0, 0, 0, 0, 0, 0, 0, 1358, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":8, + "id":2, + "name":"Tile Layer 2", + "opacity":1, + "type":"tilelayer", + "visible":true, + "width":10, + "x":0, + "y":0 + }], + "nextlayerid":3, + "nextobjectid":1, + "orientation":"orthogonal", + "renderorder":"right-down", + "tiledversion":"1.11.2", + "tileheight":16, + "tilesets":[ + { + "firstgid":1, + "source":"..\/tilesets\/kenney_roguelike_base.tsj" + }, + { + "firstgid":1768, + "source":"..\/tilesets\/kenney_roguelike_indoor.tsj" + }], + "tilewidth":16, + "type":"map", + "version":"1.10", + "width":10 +} \ No newline at end of file diff --git a/src/assets.js b/src/assets.js index 05d5e98..f957ae2 100644 --- a/src/assets.js +++ b/src/assets.js @@ -8,7 +8,8 @@ const TILESET_ASSETS = { } const ROOM_ASSETS = { - sampleRoom: "./rooms/sample.tmj" + sampleRoom: "./rooms/sample.tmj", + sampleInside: "./rooms/sample_inside.tmj" } export default class Assets { diff --git a/src/game.js b/src/game.js index 203ef1c..a412126 100644 --- a/src/game.js +++ b/src/game.js @@ -10,7 +10,7 @@ export default class Game { this.canvas = canvas this.ctx = canvas.getContext("2d") this.timestamp = 0 - this.player = new Player(this, 200, 200) + this.player = new Player(this, 500, 450) this.actors = [this.player] this.input = new Input().initialize() @@ -19,7 +19,8 @@ export default class Game { this.events = { "log_test": new Event("log_test", () => console.log("Log events work!")), "change_color": new Event("change_color", object => object.setProperty("color", "blue")), - "show_message": new Event("show_message", object => this.message = new Message(this, object.getProperty("messageText"))) + "show_message": new Event("show_message", this.openMessage.bind(this)), + "transport": new Event("transport", this.initiateTransport.bind(this)) } this.message = null @@ -43,10 +44,22 @@ export default class Game { this.currentRoom.objects.forEach(roomObject => this.actors.push(roomObject)) } + openMessage(object) { + this.message = new Message(this, object.getProperty("messageText")) + } + closeMessage(message) { this.message = null } + initiateTransport(object) { + const coords = JSON.parse(object.getProperty("transport_to_coords")) + this.loadRoom(this.assets.get(object.getProperty("transport_to_room"))) + this.actors = [this.player] + this.player.x = coords[0] + this.player.y = coords[1] + } + loop(timestamp) { this.dt = timestamp - this.timestamp const fps = 1000 / this.dt @@ -71,6 +84,8 @@ export default class Game { draw() { const { canvas, ctx } = this + ctx.fillStyle = "black" + ctx.fillRect(0, 0, canvas.width, canvas.height) this.currentRoom.draw(ctx) this.actors.forEach(actor => actor.draw(ctx)) this.message?.draw(ctx) diff --git a/src/tileset.js b/src/tileset.js index 754f8f3..5b6bfbe 100644 --- a/src/tileset.js +++ b/src/tileset.js @@ -3,7 +3,7 @@ export default class Tileset { this.game = game this.json = json this.name = name - this.tiles = json.tiles + this.tiles = json.tiles || [] } get imagesToLoad() { diff --git a/tilesets/kenney_roguelike_base.tsj b/tilesets/kenney_roguelike_base.tsj new file mode 100644 index 0000000..cd314f4 --- /dev/null +++ b/tilesets/kenney_roguelike_base.tsj @@ -0,0 +1,14 @@ +{ "columns":57, + "image":"..\/assets\/roguelikeSheet_transparent.png", + "imageheight":526, + "imagewidth":968, + "margin":0, + "name":"kenney_roguelike_base", + "spacing":1, + "tilecount":1767, + "tiledversion":"1.11.2", + "tileheight":16, + "tilewidth":16, + "type":"tileset", + "version":"1.10" +} \ No newline at end of file diff --git a/tilesets/kenney_roguelike_indoor.tsj b/tilesets/kenney_roguelike_indoor.tsj new file mode 100644 index 0000000..bcda41e --- /dev/null +++ b/tilesets/kenney_roguelike_indoor.tsj @@ -0,0 +1,14 @@ +{ "columns":26, + "image":"..\/assets\/roguelikeIndoor_transparent.png", + "imageheight":305, + "imagewidth":457, + "margin":0, + "name":"kenney_roguelike_indoor", + "spacing":1, + "tilecount":468, + "tiledversion":"1.11.2", + "tileheight":16, + "tilewidth":16, + "type":"tileset", + "version":"1.10" +} \ No newline at end of file