From 6918b443e29d7c5a3e07f87c15140145b80baa5d Mon Sep 17 00:00:00 2001 From: Sean Barrett Date: Mon, 7 Jul 2014 07:13:45 -0700 Subject: [PATCH] stb_herringbone_wang_tile sample data --- .../template_caves_limit_connectivity.png | Bin 0 -> 10818 bytes .../template_caves_tiny_corridors.png | Bin 0 -> 4904 bytes data/herringbone/template_corner_caves.png | Bin 0 -> 9337 bytes .../template_horizontal_corridors_v1.png | Bin 0 -> 5491 bytes .../template_horizontal_corridors_v2.png | Bin 0 -> 5759 bytes .../template_horizontal_corridors_v3.png | Bin 0 -> 6766 bytes .../template_limit_connectivity_fat.png | Bin 0 -> 6655 bytes .../template_limited_connectivity.png | Bin 0 -> 6728 bytes data/herringbone/template_maze_2_wide.png | Bin 0 -> 12776 bytes data/herringbone/template_maze_plus_2_wide.png | Bin 0 -> 13141 bytes data/herringbone/template_open_areas.png | Bin 0 -> 7764 bytes data/herringbone/template_ref2_corner_caves.png | Bin 0 -> 9729 bytes .../template_rooms_and_corridors.png | Bin 0 -> 4736 bytes ...rooms_and_corridors_2_wide_diagonal_bias.png | Bin 0 -> 4193 bytes .../template_rooms_limit_connectivity.png | Bin 0 -> 7664 bytes .../template_round_rooms_diagonal_corridors.png | Bin 0 -> 8172 bytes data/herringbone/template_sean_dungeon.png | Bin 0 -> 10261 bytes .../template_simple_caves_2_wide.png | Bin 0 -> 15712 bytes .../template_square_rooms_with_random_rects.png | Bin 0 -> 4772 bytes 19 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 data/herringbone/template_caves_limit_connectivity.png create mode 100644 data/herringbone/template_caves_tiny_corridors.png create mode 100644 data/herringbone/template_corner_caves.png create mode 100644 data/herringbone/template_horizontal_corridors_v1.png create mode 100644 data/herringbone/template_horizontal_corridors_v2.png create mode 100644 data/herringbone/template_horizontal_corridors_v3.png create mode 100644 data/herringbone/template_limit_connectivity_fat.png create mode 100644 data/herringbone/template_limited_connectivity.png create mode 100644 data/herringbone/template_maze_2_wide.png create mode 100644 data/herringbone/template_maze_plus_2_wide.png create mode 100644 data/herringbone/template_open_areas.png create mode 100644 data/herringbone/template_ref2_corner_caves.png create mode 100644 data/herringbone/template_rooms_and_corridors.png create mode 100644 data/herringbone/template_rooms_and_corridors_2_wide_diagonal_bias.png create mode 100644 data/herringbone/template_rooms_limit_connectivity.png create mode 100644 data/herringbone/template_round_rooms_diagonal_corridors.png create mode 100644 data/herringbone/template_sean_dungeon.png create mode 100644 data/herringbone/template_simple_caves_2_wide.png create mode 100644 data/herringbone/template_square_rooms_with_random_rects.png diff --git a/data/herringbone/template_caves_limit_connectivity.png b/data/herringbone/template_caves_limit_connectivity.png new file mode 100644 index 0000000000000000000000000000000000000000..1c286e7ce44665d478b9bf4c767826793bab28b4 GIT binary patch literal 10818 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 JF6*2UngDUgIClU5 literal 0 HcmV?d00001 diff --git a/data/herringbone/template_caves_tiny_corridors.png b/data/herringbone/template_caves_tiny_corridors.png new file mode 100644 index 0000000000000000000000000000000000000000..e9b0d444eade835c71554eb09e253d0d4c541fb1 GIT binary patch literal 4904 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 literal 0 HcmV?d00001 diff --git a/data/herringbone/template_corner_caves.png b/data/herringbone/template_corner_caves.png new file mode 100644 index 0000000000000000000000000000000000000000..73421e97e4da371beeb3ed0272d84ca5eb5cd84a GIT binary patch literal 9337 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 XifOV>{j3=n7#KWV{an^LB{Ts5NZdWL literal 0 HcmV?d00001 diff --git a/data/herringbone/template_horizontal_corridors_v1.png b/data/herringbone/template_horizontal_corridors_v1.png new file mode 100644 index 0000000000000000000000000000000000000000..c14380dad3bde671cda8b51787eddb27cde1845e GIT binary patch literal 5491 zcmeAS@N?(olHy`uVBq!ia0y~yV3@$b!0?)biGhKE^I*qY5LMt2Sxlq%ts6+?pGl9uoXg%=Y`eFHYVa4O6`H zgG4zLf}FY=L?)_fDRK&Ubto>pDH?cC(AAYi`ow|`=Dxm$9??J@o-VE%>`xRI^))Z< z=sNZLVfEtdYkR&wJNs|zb-U+lKF{5Jp8Ws^&omF?K+^`El}>Vk51Nl3Iri|0o_w47Ff}1uP5+r<0Q&GX&@|B&gRvyUfrq_s7g?MuzAqilU4Q zCNd}pr*^n7WLPt-IUm;L$`E0|Ad=>N#FF8LE`xz*c$x>phV2Xo&IxdDV&LFmFbM2u z)ns6)W=J@ptX#p+GLu2X?NhkTN9}b2&$SpBDrRo7*{Ndb+8E8DTgV(b`r5dc+8glCUr$_dnaY|NoJ_taQXPX=j9%$m2kv!akQ-J)e!1Ds?(d(mbkq>3_te&X5A~u=%o42|^M9G0i-x(M_?an`VMT3L6A*1=>`SSno?f<$jP-SRH z^PE)3z!2x6q8D;%v;A=n1_qY}janNVrN11M&^f>+bCC7ULGC{ZW-U%CM-Dj&IB}&k z$P^`Lu4!`8Xgj+>Rx3gOii51lfxwKm$pw6RheCJo*%t8sO5~V#P-9OcCyV0=4&g+_ zTOEu^T@lKC9O5%ue<&XGU=iw8Q8?Kl5~$=o(bU5*s4GMv)I;`@Z4r}YdyLzziPk3= zjGF$m?Qu7p(zq$m_6pBd=bbCerCQt;abHL&F`U&ewqW*!qAgOkJ!T7^Us#>Nf2-fl z`MAM>7ZU8oM{*4GjvaQ|XraS7Ir;QPr8PXOk4bF^Tf@A&^K0_?jpZytjjjhc%~;Bv z6cXheJtBM}{BC%xP>@kE5xm7|&dJ;oct~Ao@(S-QYP$q~9+5~gGHj3V&{4i7)Gw?r zP~G8t#9T$F)7eOU=L9CtjY~o<30-o#lozD@QfK9C6Avln$tQ26WN%`(oT8(keWLZr z+$V>h7(bDIqWCGAYi^Q5;gTQ0k2Hc#WqCO= zyKr03`oQ)T!X~A&EYCKJd3rBhyJ+fVsSNRq@0sggl5}CV>u2~Zlf2w5c|63x-0<~`=QH_d=7&aTZPTg|op_3C zs@GJtsnS~dAuCrcTXk<0cj)KP(;@vU|h34*NSV30$x-{_&n;3f#$(n=5n_vw2syl{T6lQQLU-W=)ya z?iqh&cX!*aTDj2D+1SfCd~?v}DQWiXk7pGAm{a1%`CMc9^v`u&_e9=nKGKw4X5zEc zFf}H7)wJo;B365>4qWa2dav2Kx69`)+v~bJ@^>Sj<8d$b7O*#OV)PChojwv-ql8uN!|)=CPQ^DvxuI z^-<}Xv z5v8+j#kL)(o|~RTEsK1&ZBJfnlx5`7h|s9m&2DSwu2sFZd+qM!g3EXMP4-(o?^^od z4Ij6i+_rMN2m;Zq7UV+M{2lz0^;SI4^MihVkQV!lyNlWX=tqec3%-Jbh*eVsdd^Xx-!SKMCz&g@<0yY@Tt&zQ{DoEK?aeBtm3 z=LdmLFWPg@pK6eOe@&ggvwvgy*5}Il$@&w+*IwVSeQEis?}_il?Y`L+&3|n7*v9;x z(Y?s{Gv)`jpV)rd|8V}i_}2T*^~(QK{#X6K$gsRYl`);Uv(d3Jn(6nCsv5=pefCzj zQ@?Gx`PQ*#!A?g}$Nr|ZO-~Q5Rm?c?X2M#<@6TtPn|LmhuQj0V#kC9UiO&+d57+Ui zx3;&2x7qgEsi(EhEH7u@{XcI%w?CTui2HH1_ze9Mu?3Y2&mH>Gx?F6fo{)~! zGzXs!KZ_|J90jyii1ny`5-wNm5k5zqFn$+FyJQ&@SM>#-=Sc3T+R8k-$m+q818`mcT) zK7C!?UbQOU?8dl*ru+QIBlIKhZ%zEwHdoqCw6klS$ZhfI zqV+d4?o>RLZqGlpf99PjTUM?5sLVksqy}NXGYvT1Ec^BVFSMT{| z^5*L8=sn;6+MV2YJCrfh_iEbJ)Zd=JH-EQZ*SYHDk7>ViW7qoS7QQ{se2MulyE5Ol z>pQPpmAzye64ZZ9`?WjYaru4!=Dsi2FOa zA^TGo6M z@Ezf^)?3BrzAAZT^KbHH|Kq#o?4Gr5XH53acU610R;PV`DLv2p+}$sGD?f_;zjk$= zrS09lpR4k}AN~IIzS!NmBK5!LPVc^1uKsTA9{)Y@UmV^#-gLg(e$_tu-<=!p@6=}< zC|~gT;vM(zY^}}b|4sbb&+p9IKePXI8*kg|c@}n-mXGX<{=WRP-1&UUd9``s{}%l_ zy-r+AzwXD?*VoTooN;mC^iR_#@6WAS`uEj=*OKdRA3JnRZr{lYW5c*FVZYxVEWcAO z`+o6#e*Y&m3iTTQGk$LT8hl~-@5z#rC;w+*p7Hrlva#-M1_lO&WRD>)Lk*68NEDnosT;8DnigkVF zrM?E8O_T2)j!}F4D{xZnIR`VhmOXb4sW9y_IrGY^Mfc&Al;Bt04mI+ZSE{XGg+hCa)v1cMn1$WN= z``3$oUZ3Ck`BV3=%F5>p|5=u%&FD}%F;D)&jFWY)yLaVGp87;pNnY*TT6epgsKSWD zYd5`fKGA;An`KT_XQ$KTgD2SdRW4??ws{Ii+^tPue9Lh{N&AdS)zq0cy06L`O3cZc zQfAlFn)6i~?8FD6?LVVtFX_}?_hB7V;m-|~nKxLnbiCYDPuRB|mSbx;z>qe1$K81; zGp@|O_4E7YSlc6CP8qmPwtau5y|Cc6W7wqW9W^s7w#)t8u<}SETlm=rGRpF7%b6J( z9TOTF?^J!`YcYQ{Psqf~WP&Mw%Dsmskr@&SGuvFN3S|#e?WmH;aQw5TsMvbKfnPmt zOMH`kc-be+ef9CHp_#P2bAl4zPxv$epld0_^V=H@E;%*+sG zIk~lEGl-*O)?y{1$`H+TE(l93o_n-D?a;pOG^0s2tmgH2%%E&$B*1_IMJ1x6#W> ze)kt7USbI|VLF*{K~gO;MP10^c*~+*w&@@9YSnKx?2v0TPSBES>oGRr5xAv)aaQ6a z*RV;RE_Ob5fSK0E|s!#$|faie_j6lmoHk!7arg9R&GkzrW5UqEXNWLp5C^8W8xCl?8&KyosWL0 zmT{cPR=V{&KK{WQk8S7I9?!J(d30tD-?t74fvxSXQj#hL!I=>e>`vKjo??-nQf)Oe zEGBo<+}QHXV2?c8b~$kD_}s0!f2=Jmi8trBMxS13#uM-WJoYDHG6K^bu@ST zy+{7<%M$N>+mUiKL!z49>8_K9SmX>B2d~K)?;Ip*`V?04Dx2^yG%_~*R+Z~J`Crw_ zR!x1;-!kuoy}Wl%PV$#_(~fj(sF`8lV8`>*;K|{j-CsKup7BaE>^Z{8dM<5)yc{2Q z+m}-^Tef|9!-xDO^ls}PYyG@^i_Hlul`!~m2Z>k;Vb`g zY$A&_U%Grsd?U;8RdAxtrb8w?ih^_a9OSAa_za4x1Cr8OId#@BFEl-@(!EB(!OllQ zLB6d<;#1~NQTKCpG?k#=d+zNkahd0etO2<(;kOs zCFbwBUs-)y(D%7-S&&rQhRnD|g$L^Y{dxE<@8yQq0aHWR?Ahx2ej0oWDKfD8 zVfbMFj<1aT8cc2-hus7_6{RQL7CPA_Zy|fh#HV)G`MxHSj^5{{r>mq&TmVud|9qw;F$11`39?uOvYvnhe&a88ojAHQQJbtfW~#O;C>AM#0>uW&rdLCKHPYt79Edza_W{%EW5;nQ-P zTXrn+d1fDe-$=65@oQZFbGu*3pFcBL%MPeNzo*oEH|W)o@|SleirjxC#ba!rK1=j| z^Uoze7?>X{VUByWB)0z}>oO0~>8!Q2=BMs_?Jk+VVakuyS6?kTcyD9ujh%Vo+a$&6 z_uswt@oeoewgc`vCmJ{yvUDjf`gpLP(LQ_m;nfz&Y7?D93|(Gb5&z@7<7?6ae@U+@A*9}f#3{}ZrLTV!SWZl{Sw$M^sE_`GZ1P7&9~{D;n$zx%QCWALP6itf}3&TVH(N z{r8T$K2KhJ%66`+>fh2ZY|3&u{y%x ze|^kdS-E2uH@rT|bcpYY!Sp27wOPM*HA?PZH%0G9?yqZ)+Ojx|>u%e$Jlri}KIcq- zv7w8EU9{nm39R-v4u5J=>{dLYtES$V`SxSgk|$LgZ|t17HsQHXWkSvCiy_H%GTWaU z{JF9FYug2_PnWt&o!Ad=7b`ZoCot!(s?7Suvlu^Y=1L3TF*IJz{P2nnQ@Vr8gPtS~ zWxFm#hQNj-4iRUU$IbH0c60a|^J<^0RdE0F;6%xcxP^)Op*wm`SleGPD9rn-e*Ib0 zE#>n4Z`OajtN%N@=0ox^{kv}u#DBSWddk;_-y$`X42ZU z?_1a7i-LX27u1MnGeXh~gaoF9k#o$LhL;VKnjYdm2^cff!7(8A5T-G@yGywp5 C+h5-R literal 0 HcmV?d00001 diff --git a/data/herringbone/template_horizontal_corridors_v2.png b/data/herringbone/template_horizontal_corridors_v2.png new file mode 100644 index 0000000000000000000000000000000000000000..8a35beccaf82af3df9c6e84abed10f91d6f5d182 GIT binary patch literal 5759 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 literal 0 HcmV?d00001 diff --git a/data/herringbone/template_limit_connectivity_fat.png b/data/herringbone/template_limit_connectivity_fat.png new file mode 100644 index 0000000000000000000000000000000000000000..dda13023c77749a9f5dfe7d36eb9d5c62404e70b GIT binary patch literal 6655 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 literal 0 HcmV?d00001 diff --git a/data/herringbone/template_limited_connectivity.png b/data/herringbone/template_limited_connectivity.png new file mode 100644 index 0000000000000000000000000000000000000000..d9f97c9c6463b3ccba096d946e86412eb57e8846 GIT binary patch literal 6728 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 literal 0 HcmV?d00001 diff --git a/data/herringbone/template_maze_2_wide.png b/data/herringbone/template_maze_2_wide.png new file mode 100644 index 0000000000000000000000000000000000000000..0e5bfad77d479bf20aa99608577d4fc6943e8512 GIT binary patch literal 12776 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 literal 0 HcmV?d00001 diff --git a/data/herringbone/template_open_areas.png b/data/herringbone/template_open_areas.png new file mode 100644 index 0000000000000000000000000000000000000000..7ac4eab570ba4009f1a28d7fd414fa02c553aa88 GIT binary patch literal 7764 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

3Wp6t7V;_fXzeZ=PLI{isbXb+7cf3rw4&HJCFB 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 literal 0 HcmV?d00001 diff --git a/data/herringbone/template_ref2_corner_caves.png b/data/herringbone/template_ref2_corner_caves.png new file mode 100644 index 0000000000000000000000000000000000000000..b6c70c94ace0ed35d300ac710b1a6483d2f78904 GIT binary patch literal 9729 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 fs&;w(mt&~Yku1!gTe~DWM4f?d%`@ literal 0 HcmV?d00001 diff --git a/data/herringbone/template_rooms_and_corridors.png b/data/herringbone/template_rooms_and_corridors.png new file mode 100644 index 0000000000000000000000000000000000000000..c0467f3e92b00086f4d74ca4498ed4f1b6156d64 GIT binary patch literal 4736 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 AMgRZ+ literal 0 HcmV?d00001 diff --git a/data/herringbone/template_rooms_limit_connectivity.png b/data/herringbone/template_rooms_limit_connectivity.png new file mode 100644 index 0000000000000000000000000000000000000000..e07599e713c8ca75487292c2960dab076abf6709 GIT binary patch literal 7664 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 literal 0 HcmV?d00001 diff --git a/data/herringbone/template_round_rooms_diagonal_corridors.png b/data/herringbone/template_round_rooms_diagonal_corridors.png new file mode 100644 index 0000000000000000000000000000000000000000..2073f988906f634b1c0f884470df9f10c8bac369 GIT binary patch literal 8172 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 aXPBE?aV1ikcMk&t1B0ilpUXO@geCy9(Ut-L literal 0 HcmV?d00001 diff --git a/data/herringbone/template_sean_dungeon.png b/data/herringbone/template_sean_dungeon.png new file mode 100644 index 0000000000000000000000000000000000000000..5be3b24663b74f61b3d8868b4be60bb4baebd3af GIT binary patch literal 10261 zcmeAS@N?(olHy`uVBq!ia0y~yVA#RHz^KB(#K6EH+>|53z`(#+;1OBOz`!jG!i)^F z=14FwaQSCCI|l@0&Ql|}l*f)3`szJ?yrKpmbgt{d!66c_b1 zFYf3%_4{G<;_PdCzCSzrZ|ilt=W9OC-F%+?00+-B592`72A-8pa)J+TGPZl@74)V_>Yf%+0}Yz<2fm1DW>!{I8s5#xORtFditG zXyMJ#Aj05K)#tQ~!NHBOVeSmIV1@-O3<;-`lO8h!=rSaz*FU?=&@lJM%xXr4=qZY# zj0+|*C}b_wV5w$EIH9au!O$|3LB#D-xXnlHbpp?|7#J#MZnD{_V(Ho#&7oV!9v-eIr*Y0x zTwBB}ktuPOgWjRanUY40Cj1XRpJ8BFFi}+SLG$Oo73cWYojYgNw~a4e_tk#3|4Ky-n{wr$&(viN1UP)Pleb1OFtBUApCF6&pMkw-@iWC_eiDDD7Mj^<;R0VXTJC> zl{r6&vnA=yvwrtK+qwV$k-e;R#4~AUgqFzTK%v4umsvfZjg~5PI!)3%s(R^v%A@-_ zznSgsn=)+3vSX~CsJkLInfaTyx= zXh`#%RLH;(=c1w)a%!{vaSjFsmj#Vl8yuy-9F)*Gz$SB$_0B==KM7_nPAW$ZISDv% zr8LMCC1|c`a?)r!yFpefLH~+_tjU4EjJC-Ie0qmMcktO3@c&BWn0HWPPa`Lb;|UJo zM8#Vjj7eP)%6%N-Gh2Ts9`s-l>Q+%W*&!0B3~!Vz->4qo94F z^~u~Pho2Zfk$$51DVl3;l0)H=AHk0_f=*?5Nj?>LYVwpVb%v2+=;B#HcULS75j5?O za$37^ThRKz_7%b=rL!#0Hj8Sd`6@r>`8>tB@Y61+QA&TsmK@Jpv(y1$tI zg85514{w`j^YM;!4awOO>=Nmc>_$-sW+%0)L#K7F}^^E5;`Df;bMrdu*su7)d zifgLZRJEznTKXX?S1nt0Zxwgw=g`w3{VU^wYuCAj8V5gK$$4ek>d;kl16~J92dA&J zUeUfPeMNqV{gS%KznyH6hkXwFJ1+@burdDeo?{B!$&#BZbQH6BSGScmnjTTxc=l#Z znbz(Ze`R-f+pb!<(9+r1%Q$><(B~;>_Uw;m6#ke~;>Y=1WBK&YbzS#F-fKS6lwM}y zv(qp&CVSPi>C+-sd#nyz?f!bN*}AvO=Pujpx;yfBBcJ1OFZCF8_w@dAtaG0S-weLH zoNKw5udUVBb$Y9^mr5_(?NYu!Z~40!^Y+Cx%=5`#ey?)x^ItNx`hP?I=Kfm#)tx7T zZ8MJw+ijk65;jLo3-fJc^^f2F80Z{(*ui;e;?%_H4_hYgylAuds#~uce^2JIn8zxQ zbC2a7Tdc;Wrl{ua`^xv-tRUZ=%QTl+`&j!NKYQlvqO;d#n$EU0yl(V-_Vd}-XW!qR z5LFSSvu(w;9jTt1o9x1HR!a=YY)r#IMcuiKWptu`?|Nj!b~(RGL4P2M}Xc2{lhUt4zG_M3dGWus*4 zinkPrScO^Ln{{r^JNw$BU#7j(Pmee+aQ=qz<88vHHIHP@4W513JzYF~XL0lAj_ywH zrqg=U?eu0#AG>>E?-Q?*uZ6J>t1f+=JA3o&LvL5yUjNSQUFN&?JM+(&%-5V3X`jY`Ks@U@5SxD*%i%yZ1>p4 z{GQRh$oMnn2ezNse%k+V{=E3s`_A>s|5N@~{lCbtyg`*Qow>8ou`!zI_m8R?#r=Ku zR<~2XZMyl^v1h?fM^VTArnOB^53W_rIPqq}TE*|rXPldOE|ae{pzg)B3+#!{61xxA z@u;`9w}!Xb_Z4(RNL@6XZd!ivj&t#SmtQW^T<*d|8{wJbEn}&twazRrXW#ulZ$Gy`n)`_Rakcmi{S&bTl?%@u`qH{wY^9!% zj@2{=pAJ8ZDIXjKv{s1qsD2VISMB4fJS2N4T}l6<*~N|<&M{hYexE$Fe5)qCnYhQa zQst=eQk|zeThv!h*yF?Nb9c7YJh5423b{tMR(lPbCrzAC=(I}Fck;IMSLx5v%1*CI zZQb5r%eBpE*^7`Ujq6(Mo6=Lm)Apb3JY_j;^*rsfZ_jK# zb$f#OocHtpzZE(p^l;L)rET8fy0Q_^_O8jY++CTJho3?8Dv*~h0(~-~Za3+;=;aG1T{J+SSzGp1(JLw_n$}>gA7VzjI^P`sEhBJf0yI6x>eRw zz2+hNW%)AMbXol@r&*t7xy=rq^*cH#dYAthyNlOe-K+ZJep{Y@j)_fVrPt?>lbN?( zHeH^a{^@+r+^KVG>-2u!Nw~deTlMqgbN93O^WX0hD0z6v^?&zs>pj-zVm|FC`LyZw zQ{nI(;j`9T#pk{%d1do&@@40-a6iNzT1A)KKkFC8}IMb zXB{YC@cH5$_wQ`2&FBA3{Myg&%-TP*|8yH~+v|B2c9xcp?2G=s{IlHoe9C#XdE);T z{X4x*Tui_2$JN)@&t05xapCk&(u(=BbWCpF$qHk`xG!P9-yST# zQ!e{{@qK>(Cp8N78viqXZu}a2VfpXLl9MO@XJMZ4`A@R3?rjDJ28CpgAYTTCDpdxC zhGqtapZ^&c8eTFmlo~KFyh>nTu$sZZAf7)d{-_%RgRFz6i(^Q|tv9iI^I}g}6pY7lC^T+uqm+JqV*5AE)^-uNRTkhNZdwu`jpM0;E(_ddd zy?@!1OLhDGGdFu4d~#-{%|FGvckYThZP~l$%>O8XGyiwp%=z~F@1Osz%YL}ZPrfYK zd1%Rlv{`(Ae-^quN;Z1>Si7z7bEsYO`|G=n&nyo+v*lF4uSLDS;^M~>)@UEj6J6=M z(;*--QSz+G51y&{XS&k51vIP=UwL`E&wUp3Ki1eceiE?#XuRG{-5y)8_USEt%=|$Zn3+ zx|3I`lxz0gyH#Gl^HMnWvaQ*ie2iFou3)g;Fz8UMm|p@|`|z zy64_9liD4>*F7z|Tld#&sl5H2+U>aku3~C$#rK;Cy_~#3+E%`^#87nqr1jRj)lM)> zFtv=RdH3Ud{fWMmiFI1qf42SkmFs1n7v%LmFMn$9ivFDPQq$L0Erqie`@C4TKJI^a zo4-5LDyiG2y<0i!=7(KZnLpRW;Qk@8_^9~FuY6BM+ja;|`Ty_F|5*OB_0!`Vg120( z>HoDX_|5sZPoJ)9Q;{~%t!A-`?EBQK& zGJEBAuT^t@;<@~#wa^9cvuu|#Qus`~cDKw@Rp*t9^DQa}6tb9m*yXUFT6(cy*(cq} znha@N{$Y0&kFp221)bx zg;p!u&Tqc8ohxWU?W@zb;`8z+fAPP3{`Y%P_K>T7(+>HaNOYdLMPg3v#HM%d*E3nq zJknfq^2!du=tq@S!bc~bs^4FIIFV0@_4e|`^9^go!@8b_$~yh}wMIf@%e+PthG+XW zPoFqLZ}FntNxo~I-|@Xob7M_cT`<;I zu|VhGd48ww6W-slSUjiGx}AUa<|D_K6n@^)uCDG`9Fixqdd-YK>>5Y*ZM*Y^xo_%& zw&VHB-dSQb7yd9t>bzd*wkdw z9VZm?_~POQMkD!HgM2vK|K$ine(;Uel?Xc0y@&)|}Lo z!cDWD>4vSin({U&dSk@O>A$z-+Ga~`s=D^?kHTcrrY2pV16O8UoA~1V!m0C1&hKgt zxmzh9!ZLq(jC=)y&&J=G3_Om$)1KYV@^D<8{LEs8tFUmp@M@2hR*_Hr^w~4kikvob z^qXbsP$!c2!e-8iSqf4?mZ>|>DHSP)H#c3`f3$AL+owy#L`-zn37j{6$=G+}s*scp zQ%jDZ-D)=_L&wb%*9xC^zV~H~_&lA7O+mkGF7BCj*zbolpAI+E)M@+ib*mf?ZfOeM|JQd(5L@2!*!Dl`txwOWZe*P*oap6#WKpR5 zWy4K31T|kwGpq3xIhuF%$+}5>Nyh!VIVMzl&B(A51ygVT?Nzi_qYm3R6tGy3M95I(b&dFhYskF&YXB{ixvo~=H0*l)+v$S;c) zJo=#P#GH^|;3(O-_JORXPe##Ih3ux?!BZzj+|M^~Jm?xG6vG|nHPv$Sr-QtO`WFta zzq4IVD0YTQzE`MOb-^pi!2Sqv!1I;HIVpXD2;bu;69Nsy>#Pv8DlC?$OJ|YFEi#2B3E+6A9q=%d*>SS&q%|3?NIYAd2O6B^G~K; zG4ix!Xlq{NtGD|J6O-L_>$iH1L7#tbnl7<>mZgi0{)DEBe(P9+K2-Qz>OOaR)`JBK z)#mozm(D$B`Wd>H&7Ir-m)j+wO>?cZYIl9SHt*xH2d`RCu<} zqY&yo|v7I6^r$LX`Ncz|4g~i;N#Jax7i!MMCT;P{;ptj>v37^>33^o`qSVU zA_`L1t}V4saZg%%X5kc%98P~LzAITNf|e3@W*nW9F00w0ko;9=dWUq@!9}vUw=Cn;gayHyOI{}p0aQD z?5UiuZH~?qS$(I_id8sUbW@Y3VS=XZ@ga2dU>rIy&f6a3PdeGzx))-#R(r| zmYhnM@?>J?@~(^wEOU!OI~$?rt8DA{WCTk-g$blb3ykj27~(^2ORx=2wt-Dzf<#m z>9JRmUuuhE7%F44=FRh9TT!LAilc#5xW$u&b+Myv78l#(dyWSupW4p3jQ_3mq*sr( zc*x(9eDb_cXB*G5S``mZG51>eIrl_5U5*H*8)>FR9JSq3q;ZZ-e^U9|TL%8E{7sXi z@(rqDCLD73`nkv|s_B%LSZ|wpX2yi6JxrT5=GuBxx}{iECs$eO%hR?&9*a5nGzmNDt4z8+l6@y_~9CZ}!Y=k*-it9SqNa8=aZsXZyU zGSTSe*Uzu`B25{>YMy1i$*R8j>MYB`(p~R&Y&CfJ_kDN3oc7znHt*NXJ^80}j@+U3 z_m_QnthQ8T=_!{v{kvDMj$EI{m>U`pwQ!EO&kgU8Re7iTmi%g2^})kS*|5|5+>y5j zmR>%{?W@ZoyWH5){H)P@Q&E$roMKF1u{Lbd`zFudJjz@sm?; z&wP7h%Du?+OLmjoKECZcU;N+e{=^NpY*()nwO_-+TDvfO^1{ZNJ>RM(y~}U=o&RNm zMc<6|w*>YbYFQS(@XUE-1~DH2H9?UcwyoU}O&N+B7p=HXJzKd{zHZ0P-QMno6xQ~}H)<0hFvxehSVruHG|Bv7Qdh%T1>p%JW>yl?Lw#=N} zv@7C7NnYi0uN6g#m+vP1ydh((o3eD{pBLVHtMc~MFz4Ry>DgPgZ||SePRr(8vYfdx z`0b^K$HLx*eEQOyEd9>qX5H7zdrU4Feh~Qk|CPE%eF-v))rO2JpfIj**ISstFLvu0k`-sWrnSdD6w zW@d34)iS&*Uzz>njBUC-*X#cYd%3TOGOFnX+sN;bZ|&=~tyuL=tRUy8aIfKCjo?$y z&dA;6|9|G^f+FRalQv3+D{0S~nzMS}3H=>UE%)*TabI0#AlxtMve(13|I4$&-E%Ew zhFLp2E1U4z_3f9JHC*k{_uEn~f5^1CcIva0>T9z%p|k(2VPUN~lIq*eFJ^yHep2Jl z(1SWou8NtSVH0G!4s)LRcX{^g^SAis*-o{T+#NBcC-!w;O3?Bzlf_fIBSbbeoheb2 z{^)XXp^16?zKg+Tc7J{;&s?Il>CTb2-a9eEZ?d8r$Tl4wryO(Od-tqU@cFm=&KD(9_8=Ymae4_UAf`+8E zjg{Fqg9*o$oe$|UKA-Z~>dq>!VaIXJY~s4?B_qS|0{@Cy}X9Y)7SBSXH#);NtKCFYR+L!t{I24bAu+xPT*D7 zU}WfKd#TZQm}5tqv-``|ISe~(y_d%xkbhXP`u8;z-TbA`PB%7)yBPB(--$SXabN0v zi8q2fN;NAB?3$7eC2Dl9SYYK~v@Lk9PkXkGz0M9#|7=ZjGnu!3#ieR|<|_l&G&hNq zJT{o(w|d@zCh1$g_r&cl;Bzu)*_@4xT91h_{{Yz0rkR-8JfGFt;p2xIl;-PeKbinqxa3! z2T~R@gSJJ_)HH5=xNhEAxA+%3zXbaodmrWG_Sz@FXjajTNty1fFHH*NLZ|UOQJd6S z`6outV(*n_UZ+};D#|s(OTtdA5fw`O^=DGz%YrlE-J+#}_b(JwIxd{hA(Ww+AlsF? zR!Kb~?^5}s6J90h%&VFm=W*TXitORMz9XUkesk@bUz_IDXgR%_IBDPH*I}=w)ZLxE zd-qf;+3Wp542$IIPBcnLRLpNE)%d()`$DUt1iw{`I;-vo7)4d;JdpZxEoGu`Xh?g8 z(VFvXl_m4Dc=@hR;A6IJd~->qp*6%ZGdJ(jVbu-6NB?x%Z1#0ai=Vu;yEe}#?hu37 z3ylX^VP`Xi>(WE>-uXoy%}7b)+TnJ<)WMN+hntCqJEx4>0aKr_^PP_kZiIh5&+(5V z^;%k_!l?x!iw_=@&-oEhe|bsI*^lcsTK{-_boTLmEo@g~>fVJMJo#0R&%8}sS%ax@ zs_@ZpGv~%^k=g5S>=S7}cx$!JD(3fFCaAFgXm(q}m3MfqhR!v`dbY4BXIIFuvAhm2 z;j|3wRnW?tlqJZ=9;3|vZo{26;VF_w0=@^^x*bwE#b173)%%C<`lh`FtDEfC%oUTj z`(J!eS8p-1W2E%!fHy^RZ!2lPebB!z_=Nrf!-rD-?*qR?FQ{hzoOW^lHlFjVRvlj$ z^nJ08c6Uph>L#bjt~(w&rcINc&3>ErU&2$<2U0cJj(!2Bx1Dx<7 zl*tnlXpTGRbkOR_Qq7{gONJMgUKZO_wY>1F#&PS4Jn`e4pV~C0Po3shJu&qC?vH*V z`W=ierEAzX6o^0cxGM5{;o%_1kBPD`n#{x=UNBU;wo&x_{?feDIzDsTDt(%AB~=bh zIlJt`0-HVazCSX!p?u2RY{}(4yM<00sl+^XvajGSae8>!#^NpG6PAwB4-+-RI}e== zaaUoDaSr}?t3X0w`=$g9cenFAQT)wc&j#nM5t}qwbE(eaU2XRtPK)_!;IR7m!Lx>D zb9H3$qDp!1Tzy--TDxD&$}A-(bbs9q$F)~YFU=Cwk+RNR|7T%|)tm);bauFTy)1wK zf5GIxMSp)?z1<(WNu+>x_5zj|WvL~LS@@J6Nb$+4uF7VKaTXTYb6_z`OvH(4+mDNg zKHOY=(EoOZtM~foC7L~I8o^fuJ;kSZZYz%2;?4cz@r>B{Qx|MdTo)t7<Me0t|_Im^^J8-Yu zYx$Jh6?Ie6nc~XNKWmK(Gqa3sg?zpxPsZ{$@@1yXzOSad zt!O2W>^voZ zCU|i}_Lp5%B02F_?>^ag=<&Py#HLMInO#|>yqCKdKC)dO+EnUpY;?KMSnsX<-jy*Y z`xV*_9nlDzHmUJW)Cswol}0z;gucG<@=)#(Vb}ASWuKqU)-7n!Ny$+-TgChIj!M-Z z$35rXp48TuEc(=KTcX@$)~q${fpI4Bj^+U%Bhb)%;RkFa@5j)|k;e)omvHvT-%w}Y*EOT*8=T~}UZJQNG> zKf5kc>(cJOQ&;c%Fhe!r`qYOj=0)C&zjWGh6PtPGnef=;x0-VfUlqP;Iw$2Yr`G|~ zMT&ge4I>B{a=>P zlnzp0nd_vcz4^vP&7O>}PZZd+H0++VEIAcm^zHG+xtAVpouGTfF2PGRrp*l-B3xb{B(u7SM*IDv8#+l!DioY zS@3Lo-Q;uWNPAnh#*39-wIVdW&+4B&WB1bD=z|3rJKBCP%kSJj-)PFzeKTb4JT$x5 zyQ5;7$k~vKTuX&)PEEg1yXjYV#^h@;YtOHl+^eG}o+sd}=&U<|;}z%HqQiv}y2;7B zdlx>G>T+GRK$!2{0%xPb;8QF5niq34yNEDwFA09yv$4!-SKp$L>lfbD&D5FB=@oYB zsg9mZQPag8JN*iGxIGko!{lRmd-d@^{^q|$@04UtI~FBGZkhUJfrOyBxz+27tFu)Y zXWi!OJYl|WWm9X@s|9nl!uy%mEqpVl&{%Kl?P;M4EVEsMqnW?2Z|c0fc|9;-T9>%B>e9v6iF1s8IIByC%$&NZ z?S~KB%hXS+*f?&iwAM1Q_*0Sf=dau9hX*pXZ+n^4A1a=?BQUnvy!NtUhofa$1}pbA z%Ts9|TDR%zPnNy9F#2D~GM%S03VJ(vpFLgu`R&vApj}6}V{<|$M4ae~I(O5%yEQqd-*@E) zZ`jDIu94HB9e*J{_um{oCVEFDXMVr*+&6#ZPxtnI<$38Ix$pw( zUpC!4Q*8cT@}Dw2Cs6mWzQ(EJY1@rr^W2mCJ(+g7|E@`%Tvwa$`3B$h6-lxpsn^&# zH}tH{f6DI~wrCgI{cG#mFYdjpJhAog+A6#7+9|sIcfY2uT^MJxe1S%PknFpbboF8n z13$BMeVhJ&dG>5`Rk3}OM8u|4U+zth-b8M2(lLLv=XRlw`-ZaraqL? z<@>sC-pze;=dJBKWGA(1QAOY97u-4}iL;tcCW{13Vp=Cyz#9?3v`&!sQXo^iU;*!) zSDxotHZYu=m!0#*_~F8bQVGUKyfa`%nGE_;LWxJW@@r{S zp5-j_-#mdsOI3U7*$b*cj1d-GEiWV{Hr*~bwPx!xmw#tpRNt7>6Pvy5g6qHeM|yLw zo|6A8aeztDd-)f?GxbKGmSf?Rvk9#W@^AL2=N)hs-WEJdyLIiKM*qYQA)CeR1ekM0 zgdERzise1HaU-3xH(2A>+?~BE&gjkdzi*g5<*dUApP##S6Pd4-aG9&#+=!OM- zyqZqY`*H)kt319M$RwZspYX`+Ugx7#>n_e+BOtYR3Hxc^i;5ygP9E&`ye!ftJmsv~ z+wZ3q{%v9qo3zHHEQ+J>fa#xoE5(WzM9E)YBK>sJqUSoL&3%K%TG@Ce zYgWQL^$o{1g`}9fEXk9*JWH5+%OeX>og4XgB33Ux)myr9rj@K;z>T+8IXX3J)MFXM z*5og1o&6|m8F$f#?&ia$D*25qej0gPEJrSI3oX3zDuKU8NwI&5;JOFL7SDO0Ip=n# z(?hAHx(W>vRiPUazRn0eD1YhW$}6uHBuig;xXi;rS!K}{-M6X6znnZp?s6zbTge8x z2cEeo&fa-o@*f4sqC!M&6RIJ041DF1^3^zw=a`2U5?K zG#IaUu*KSfdkcqOSr)N&uUPl-5DTk`!Fmw0jKrT zofHN8qGV6=->i}-nWMmWI99=B=AnY7CPyVbZW*@N7ke(WZi>9gC3fkuz#h3{VQ0TR z(+~(MSn$-XO?ZmT+yxd>R0Nz~-am3s{#Cm1VbieJCbuRVt)9Qsn?*%^u{fh@vOagK z&hm6?*5ljQBxOOB{=K#NtlcN}moBOkX>;oMF4om5y)MwzPoqCN`b=`oGM$?h&kUch zIu#ztZm1JKQFZZ!O=3@2M6KoBTuvR7FW?Og&{1GJx+i5LU#oykqO70XpM`V%8Lvm^ zKlRiQd#<4IH4!9CkKY#Gw#bRX`lUgDqGyFreFJ1yja&I);dn&;B%hk8gkvCRAh3%B0g9eQG#OW8e8tC?xt$J1Y5hv(ae6-sd2+FVdQ&MBb@0A<5XkpKVy literal 0 HcmV?d00001 diff --git a/data/herringbone/template_simple_caves_2_wide.png b/data/herringbone/template_simple_caves_2_wide.png new file mode 100644 index 0000000000000000000000000000000000000000..321727146615e7644ced4a1c96157cae96cf76be GIT binary patch literal 15712 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 Pz`)??>gTe~DWM4fVFmhB literal 0 HcmV?d00001 diff --git a/data/herringbone/template_square_rooms_with_random_rects.png b/data/herringbone/template_square_rooms_with_random_rects.png new file mode 100644 index 0000000000000000000000000000000000000000..0d7e82e560c996d89533869f71aa66aed4e9dbf4 GIT binary patch literal 4772 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 akzxJ!*e>zI%03JX3=E#GelF{r5}E)6dgKZK literal 0 HcmV?d00001