From dedc296c2bf20bc121808b19c2c2db690ad91e35 Mon Sep 17 00:00:00 2001 From: PXLcat <35851077+PXLcat@users.noreply.github.com> Date: Thu, 20 May 2021 22:59:57 +0200 Subject: [PATCH] Added tool to visually select and add basic tiles (#484) * Added tool to visually select and add basic tiles * Minor clean --- NHSE.WinForms/Resources/Map assets/brush.png | Bin 0 -> 481 bytes .../Resources/Map assets/center_brush.png | Bin 0 -> 201 bytes .../Map assets/center_water_brush.png | Bin 0 -> 271 bytes .../Map assets/down_left_dirt_corner.png | Bin 0 -> 491 bytes .../Map assets/down_left_water_corner.png | Bin 0 -> 368 bytes .../Map assets/down_right_dirt_corner.png | Bin 0 -> 526 bytes .../Map assets/down_right_water_corner.png | Bin 0 -> 398 bytes .../Resources/Map assets/e_brush.png | Bin 0 -> 307 bytes .../Resources/Map assets/e_water_brush.png | Bin 0 -> 343 bytes NHSE.WinForms/Resources/Map assets/mouse.png | Bin 0 -> 222 bytes .../Resources/Map assets/n_brush.png | Bin 0 -> 217 bytes .../Resources/Map assets/n_water_brush.png | Bin 0 -> 295 bytes .../Resources/Map assets/ne_brush_angular.png | Bin 0 -> 246 bytes .../Map assets/ne_brush_diagonal.png | Bin 0 -> 317 bytes .../Map assets/ne_water_brush_angular.png | Bin 0 -> 300 bytes .../Map assets/ne_water_brush_diagonal.png | Bin 0 -> 373 bytes .../Resources/Map assets/nw_brush_angular.png | Bin 0 -> 314 bytes .../Map assets/nw_brush_diagonal.png | Bin 0 -> 322 bytes .../Map assets/nw_water_brush_angular.png | Bin 0 -> 288 bytes .../Map assets/nw_water_brush_diagonal.png | Bin 0 -> 292 bytes .../Resources/Map assets/s_brush.png | Bin 0 -> 309 bytes .../Resources/Map assets/s_water_brush.png | Bin 0 -> 234 bytes .../Resources/Map assets/se_brush_angular.png | Bin 0 -> 358 bytes .../Map assets/se_brush_diagonal.png | Bin 0 -> 375 bytes .../Map assets/se_water_brush_angular.png | Bin 0 -> 294 bytes .../Map assets/se_water_brush_diagonal.png | Bin 0 -> 376 bytes .../Resources/Map assets/sw_brush_angular.png | Bin 0 -> 337 bytes .../Map assets/sw_brush_diagonal.png | Bin 0 -> 389 bytes .../Map assets/sw_water_brush_angular.png | Bin 0 -> 320 bytes .../Map assets/sw_water_brush_diagonal.png | Bin 0 -> 353 bytes .../Map assets/top_left_dirt_corner.png | Bin 0 -> 301 bytes .../Map assets/top_left_water_corner.png | Bin 0 -> 401 bytes .../Map assets/top_right_dirt_corner.png | Bin 0 -> 364 bytes .../Map assets/top_right_water_corner.png | Bin 0 -> 451 bytes .../Resources/Map assets/w_brush.png | Bin 0 -> 294 bytes .../Resources/Map assets/w_water_brush.png | Bin 0 -> 329 bytes .../Subforms/Map/FieldItemEditor.Designer.cs | 64 +- NHSE.WinForms/Subforms/Map/FieldItemEditor.cs | 114 ++- .../Map/TerrainBrushEditor.Designer.cs | 779 ++++++++++++++++++ .../Subforms/Map/TerrainBrushEditor.cs | 408 +++++++++ .../Subforms/Map/TerrainBrushEditor.resx | 448 ++++++++++ 41 files changed, 1780 insertions(+), 33 deletions(-) create mode 100644 NHSE.WinForms/Resources/Map assets/brush.png create mode 100644 NHSE.WinForms/Resources/Map assets/center_brush.png create mode 100644 NHSE.WinForms/Resources/Map assets/center_water_brush.png create mode 100644 NHSE.WinForms/Resources/Map assets/down_left_dirt_corner.png create mode 100644 NHSE.WinForms/Resources/Map assets/down_left_water_corner.png create mode 100644 NHSE.WinForms/Resources/Map assets/down_right_dirt_corner.png create mode 100644 NHSE.WinForms/Resources/Map assets/down_right_water_corner.png create mode 100644 NHSE.WinForms/Resources/Map assets/e_brush.png create mode 100644 NHSE.WinForms/Resources/Map assets/e_water_brush.png create mode 100644 NHSE.WinForms/Resources/Map assets/mouse.png create mode 100644 NHSE.WinForms/Resources/Map assets/n_brush.png create mode 100644 NHSE.WinForms/Resources/Map assets/n_water_brush.png create mode 100644 NHSE.WinForms/Resources/Map assets/ne_brush_angular.png create mode 100644 NHSE.WinForms/Resources/Map assets/ne_brush_diagonal.png create mode 100644 NHSE.WinForms/Resources/Map assets/ne_water_brush_angular.png create mode 100644 NHSE.WinForms/Resources/Map assets/ne_water_brush_diagonal.png create mode 100644 NHSE.WinForms/Resources/Map assets/nw_brush_angular.png create mode 100644 NHSE.WinForms/Resources/Map assets/nw_brush_diagonal.png create mode 100644 NHSE.WinForms/Resources/Map assets/nw_water_brush_angular.png create mode 100644 NHSE.WinForms/Resources/Map assets/nw_water_brush_diagonal.png create mode 100644 NHSE.WinForms/Resources/Map assets/s_brush.png create mode 100644 NHSE.WinForms/Resources/Map assets/s_water_brush.png create mode 100644 NHSE.WinForms/Resources/Map assets/se_brush_angular.png create mode 100644 NHSE.WinForms/Resources/Map assets/se_brush_diagonal.png create mode 100644 NHSE.WinForms/Resources/Map assets/se_water_brush_angular.png create mode 100644 NHSE.WinForms/Resources/Map assets/se_water_brush_diagonal.png create mode 100644 NHSE.WinForms/Resources/Map assets/sw_brush_angular.png create mode 100644 NHSE.WinForms/Resources/Map assets/sw_brush_diagonal.png create mode 100644 NHSE.WinForms/Resources/Map assets/sw_water_brush_angular.png create mode 100644 NHSE.WinForms/Resources/Map assets/sw_water_brush_diagonal.png create mode 100644 NHSE.WinForms/Resources/Map assets/top_left_dirt_corner.png create mode 100644 NHSE.WinForms/Resources/Map assets/top_left_water_corner.png create mode 100644 NHSE.WinForms/Resources/Map assets/top_right_dirt_corner.png create mode 100644 NHSE.WinForms/Resources/Map assets/top_right_water_corner.png create mode 100644 NHSE.WinForms/Resources/Map assets/w_brush.png create mode 100644 NHSE.WinForms/Resources/Map assets/w_water_brush.png create mode 100644 NHSE.WinForms/Subforms/Map/TerrainBrushEditor.Designer.cs create mode 100644 NHSE.WinForms/Subforms/Map/TerrainBrushEditor.cs create mode 100644 NHSE.WinForms/Subforms/Map/TerrainBrushEditor.resx diff --git a/NHSE.WinForms/Resources/Map assets/brush.png b/NHSE.WinForms/Resources/Map assets/brush.png new file mode 100644 index 0000000000000000000000000000000000000000..fc20571de3081ca885e596bd3ecabce8bccc69df GIT binary patch literal 481 zcmV<70UrK|P)Px$n@L1LR9J=Wl)p;DP#lH7ijYC1buRb-g+K?PQ+)&5snEsEsY4e95o?DcsNhuk z3WCth2k6ol5X20QVrDD4WQs$3OYY5WbDJhn(6i(Z$^Fhb_m{w5RH0Dt#d+>0;giWE zw~;aYLcN!11Htr=aRa*a09kH9Pr2?wMq8j(57YV~g9dbPX6Yg21{T2Q=^@1i7QqRm zhm;yv0+-T53JolSqojv~8;F31(nEp`M8VOdhlCn1fNRqyV&JlSlRWfex<9uC;U3 zYIXkHcsw@VTB(87s61b!KB)L6a8;|oAut2=LB$7ec7$TdgRkfX-akHLfrUadP%L>< zctD-kyEtnbNpjs9m3`N-LI#>{gPr_#=w*?9|L{Ea=PWg#gS(C;!39(tU!EW1vH{Ik z5FA9;u{h4x0Jtv>rE38{x*o3eGt<5-4dP5qw;_Rnwc!g51dRw2u48fVwwoCEU%y7* X#@eEy;V1Y200000NkvXXu0mjfh3eHO literal 0 HcmV?d00001 diff --git a/NHSE.WinForms/Resources/Map assets/center_brush.png b/NHSE.WinForms/Resources/Map assets/center_brush.png new file mode 100644 index 0000000000000000000000000000000000000000..a949e4732ab309462b2d4a60c2dfa09b88b49a86 GIT binary patch literal 201 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}&7LlfArY-_ zr*GsvpuoezFVg8aqhY2*_re(sjw?KbmuSca9SQ#7t$cI+_Vovz8nN{|`7nG5tIS@y z@7Cd`M#pOIti7idXIgVgyS;tJhx>EiOfzY`x9S>0hp@%rhQtgBE#8K}1Q7{V^#BF) y1xE~ylsGVX@$@onP~M{4l5N#kzwh?yuhP?E-S4R~%*h5ihr!d;&t;ucLK6Up{YqK@ literal 0 HcmV?d00001 diff --git a/NHSE.WinForms/Resources/Map assets/center_water_brush.png b/NHSE.WinForms/Resources/Map assets/center_water_brush.png new file mode 100644 index 0000000000000000000000000000000000000000..5fa0ea755faa5f4d83ba01b7480a134bbbf131e6 GIT binary patch literal 271 zcmV+q0r38bP)Px#$w@>(R9J=WS1}I5AP_Ss>cY^m5OI(F?shZdjDGg`!A(5?KpTsHq>QKTAx1y@Fj*SfSV$ImfMk-psfS$ONoi0sppE4U z0LU4rLqM}3+lE~%;Cj1cBUi)1FTza*)+c^F-`U6&DsX|gKb((;1gu z0kRFNa6z;e1mx-on<6YNpxfL1V()^Z0;L+3LkrJyUf}jLA=ewOc{sAjS VTE>k)EPVg~002ovPDHLkV1m*cYncE5 literal 0 HcmV?d00001 diff --git a/NHSE.WinForms/Resources/Map assets/down_left_dirt_corner.png b/NHSE.WinForms/Resources/Map assets/down_left_dirt_corner.png new file mode 100644 index 0000000000000000000000000000000000000000..38bc51fbd885356499dd9f85dc46b54847551b14 GIT binary patch literal 491 zcmVPx$rAb6VR9J=OmoZGjKoo|*Gi(l*G&VXgyQ`~V?%+a92NM#8vamb288-)a7rK!+ zG=v3{&cwwS;_l1z4jocmHe7eqJWGXxQ4Jc>873WFKZ&dJ{G61&Q zMj9pn!DO`Yu>KAMi*>(I0buW-2#`4~Dihib>;`A*6r^F*ngEFjK*TdrYd_KTJ>_h~ zDOoh3)xcDCzHcBVHUZ#727<|my@R3vGMmtzg0&5(uxia@Haw?1OPH%R5u-f?xi?_d znxE!l71~phQ literal 0 HcmV?d00001 diff --git a/NHSE.WinForms/Resources/Map assets/down_left_water_corner.png b/NHSE.WinForms/Resources/Map assets/down_left_water_corner.png new file mode 100644 index 0000000000000000000000000000000000000000..07ec80ac09a69cc889fadd6b23366fe5cf929e65 GIT binary patch literal 368 zcmV-$0gwKPP)Px$DoI2^R9J=OmoaL?FcgNrR|-9Yz4->2GCLVP8M*~JdGj4I^$vy(odVqgnL0Mv z0-bV$PD#&@NnI+}Q661kq`9C_O8{=x_q@G7pP2Xy^0agtXmXs)tvb-z=v9}+KDf4t)pU3AUa0SS`7#0^ zi88Sz^pj-rv<#m>YXjAES3gZnlSG-sv#r?HdNFVgy)Eak)<73@3c7BRC=+nkM9>;o zZL0nZBvB?hjV3`8=%o$KPBFRMIq)wG^x6e3dNp89M=xEV?+|VAmcXOjhBeTZVH+4; z8v?|$ZG9?U_MPyzxK2dxS27#susTlW@bvYY7K}nI!`8s~uu#J(LKh!yqGXQQYvjEE O0000Px$$Vo&&R9J=8mp@CxKp4iKE17f%6guhbHF95F!MZg?Ra52 z$k>fitFM3?J@L;TabV2N5sG9%7P&NH1+`^>`T+o7_A_M;0f?h6<$x-3v)v&8(6Z00I-spyNLrLEnNrdLYVB%h?9v{6**%;1Ir?(e!$zxq64mMS-sOv z$V#&QU65w>Gu2kNwgW}FVCdSp10_A*3p*ftv8w82PLx3XEU!Xr-e8Q^Wm_j%XG{ilJA?UVRXqTZ_P&1V3J zFAZk9L)dvvJoVHG8TZd4pxT3mE^8q|(wl@)a&aViXZN~Ai1h8a2^ufKABtnsPL_bE Qi2wiq07*qoM6N<$f>I*(D*ylh literal 0 HcmV?d00001 diff --git a/NHSE.WinForms/Resources/Map assets/down_right_water_corner.png b/NHSE.WinForms/Resources/Map assets/down_right_water_corner.png new file mode 100644 index 0000000000000000000000000000000000000000..3404c820d2f3412ec45c3a474a8db4b047108c76 GIT binary patch literal 398 zcmV;90df9`P)Px$NJ&INR9J=OSFujRFc5u*BJ~^6EkD8Bb|aIeZb(dQ{fAEdhe#Qi5F-+QP&Oo{ zc4T8o|Dlsv>gZ^Esh!$55^u6z9N+WZJ;$NCQ5q+_y;lGLHCuthhnMDlP9F#WZV%6z z^HeuVo0no@djCNH@I=dBd^R+Ak(YFwuK@s)?WW~z8~_}#wyr~WF9&UXasg&XLt!$J zso4rHS-3W!gv@7hC#|P+^SVCj*ACamivo(gY&)$Nins||U#SBsrjXLHVs`yjd?M7>??IUW}jc}ag&e~z{ZLkD*~ z38M+PgpLa)+s&Y}U7GI-uaA)p=fWg@{4V&n0+PEReFo}A>HXI?0b#CKzI^fwv;tz> sc3eQdCs!zprU}7+PE#Ox29gW-0hPF>hw$`GdH?_b07*qoM6N<$f&~Gn#sB~S literal 0 HcmV?d00001 diff --git a/NHSE.WinForms/Resources/Map assets/e_brush.png b/NHSE.WinForms/Resources/Map assets/e_brush.png new file mode 100644 index 0000000000000000000000000000000000000000..817a58e8925b4569c1c123e630df513f694b4f59 GIT binary patch literal 307 zcmV-30nGl1P)Px#?MXyIR9J=Wm@y85KoCXW5)wFoH!#|J5n^L$MJz15fL9^b792opFFl6rimXRX=rT7U(MK>hJq@ z+9_qerE19SFKM)uaGKSN{h9;aG(q_XvPl)E_6$z*sWe#|r>* zy9Zh(&VZMp2jGX1SHa-3pqT;0Zt?OA46TCm`Ut@7nmfgdGvHMq4?wyV57q}-{VzYu z6W@e`G0^D$D*z@7zZ}mGm&EWUY}6J2`wD>ic%EijKLN{SL;vSo`}qI>002ovPDHLk FV1i50eoz1a literal 0 HcmV?d00001 diff --git a/NHSE.WinForms/Resources/Map assets/e_water_brush.png b/NHSE.WinForms/Resources/Map assets/e_water_brush.png new file mode 100644 index 0000000000000000000000000000000000000000..690e1851019e9618fcf7c7106153cc86ad3e09e9 GIT binary patch literal 343 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^T?Roqy!Mm)7|Vc zX?I(aqLqVqeyuI*xp}80&UENZ|5LB)SSVJ)ePrj>4N-qSy*6F*XbO{B$ot z=0tO6zX<7mW&pw+EnENS^P9T#XCLC5&}HSfN^TX?B4-A+f>xHhG7h;0uNXFMR@{2& zP(wRIcgU5(w)NF-3$=dy_$2NtYw$twzyXKq_(#mla!k(4jTX&hZi`7Z$&h`Jpl}|D z?F;x6#5V-Y;(qY;VD_gk{1qHM&zc&`4`c+|JQ7w^uKF%BP3?j++jI*bz4wk{hi9#d h;Q74J*AJ(=PnoI{`Y3fT$ylN V_MQK)l>*(!;OXk;vd$@?2>>mXQSbl& literal 0 HcmV?d00001 diff --git a/NHSE.WinForms/Resources/Map assets/n_brush.png b/NHSE.WinForms/Resources/Map assets/n_brush.png new file mode 100644 index 0000000000000000000000000000000000000000..720deabf060b097eb93138abd65213b62378152c GIT binary patch literal 217 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}lRaG=Ln2z= zPT9zNK!JzFo}<$-Lg9?d^r<&gwG9}X11wpcytq5R=>3uPc<{JaerHF+k{B16)jvdJ zADn2t#>l`W(@^VV*1+EI+OGUuU0!T{l*|GC^*5(-8*a?vXGr@fARLoF_2hxl1=~-} zXJUT99KjdCXTZq78=Sy!Mux*sv!G!nv(~W-{z3^~p6s0$bu)hNV@9)Na|X3v3CDoW OWAJqKb6Mw<&;$V5b4ug@ literal 0 HcmV?d00001 diff --git a/NHSE.WinForms/Resources/Map assets/n_water_brush.png b/NHSE.WinForms/Resources/Map assets/n_water_brush.png new file mode 100644 index 0000000000000000000000000000000000000000..ee18b403dd6ffb12563c86f7aae9e490a1123727 GIT binary patch literal 295 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}4?SHRLn2z= zhHT_(G7#Bg_D0X@Gxrt!2f{K(dOJ7locusb?VX>M71QSK=K6;H57uzU2P~Ij_gJ84 z$(ENDe|fj}?{|uqma=h9)Z3cUDSd&r!((~~^B3_0S6XtI`yy2uH~s2Lj_X`jCBBdU z*e52>1zXeUHM&9!&rC7jlrSby9nr622WQ%mvv4FO#o&pb}j$_ literal 0 HcmV?d00001 diff --git a/NHSE.WinForms/Resources/Map assets/ne_brush_angular.png b/NHSE.WinForms/Resources/Map assets/ne_brush_angular.png new file mode 100644 index 0000000000000000000000000000000000000000..13a29b5d1ad56e0deaba204d56c1bc3657b4dfdd GIT binary patch literal 246 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}8$4YcLn2y} zJ?8!WZ-1D9X<6fzngELi!%DNKh6d(SC+6&BmSf^s+*zb1?|u&E{9eKA z*1}wNrt|0iWIvvBPPtoTBy`!`WDP#>Np$4Qu=#DzyvE+>gQCHs&5FuZ=Q*aSU2tZb qZlP#v|9)P2%7L5*hon~hXAJmg(!KuWCsv@_89ZJ6T-G@yGywor23dUo literal 0 HcmV?d00001 diff --git a/NHSE.WinForms/Resources/Map assets/ne_brush_diagonal.png b/NHSE.WinForms/Resources/Map assets/ne_brush_diagonal.png new file mode 100644 index 0000000000000000000000000000000000000000..5bfd9c0b473e3614b91fa70a5e28d1f006eaf722 GIT binary patch literal 317 zcmV-D0mA-?P)Px#_en%SR9J=Wmcb2!FbqY15K;%}0Ty>3a|i!aB?q=8lt3tNo6YW zFGxmKzMk#G(3S{-sw59Tg#o4Q@d`X2ik&M?09O-A8>j)GcTK7cUpvcmV-W-AAdu05 zis?oL0KIDvevgt6C!jL*&nhO7_`k~lo4`B`+|-4XwnVpkyF1a7@QR6SB_ZAeYy-V( zDC{58jjW0IUjkk+i6EYxl%fWXs^&~UN}j^nJrPTuz&s5oMFCj6tef^UaRQftUm73) zw6^wFB^z+7v?X|B@+BzsuCon@o{slI5(a!v#AI^uwVZhx6ru$epG%5f6y#hsVl@*_ P00000NkvXXu0mjfa_f3_ literal 0 HcmV?d00001 diff --git a/NHSE.WinForms/Resources/Map assets/ne_water_brush_angular.png b/NHSE.WinForms/Resources/Map assets/ne_water_brush_angular.png new file mode 100644 index 0000000000000000000000000000000000000000..0975739293faa6fc1de26083d1f60499a58fc8c2 GIT binary patch literal 300 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}&pcfmLn2y} zJ^t<%Bgs8$eE3e?UQrT0q2HH-%uS_Hjuj6 zZ3=t~PLydi1hQ{10D_S2XA{7WfP$h$5_}78uz1NP%=lH9 zAZxH-8^1RDgxkB8Wpb$ekN3Win3C@7#jxoxn;mb@kDL=7_l%pCa(>eaOlMMsKP)Px$FG)l}R9J=WmoaX_FcgMAN7dEs^Zl{`L8PzY?rCL9sH;!!JUBvEokN|&zX>lw zz~g;i?Hbex&5R~ai#mM^`=L{}u#JrK-+swjaliB#Q@j6kd(f*z<>j3>OP-{L%Lb9n07@1WLK zP!;9Q7bz?2KYS(M^e6$xE=Wzn)c=gUC+cKE;{e0SjKylrWPx#^hrcPR9J=WmmvLhTAOD3YN_ zKeVG{+NZX#xOH2VlOP!0{yWT%7?`YlaY@T~;7B z7#F^iM8C{{8;rB{mD5xi=nNrJL}AStfDcsgiQcnJoq>7-X!bx7g~e4cKaK>z zAM8s3q27Yr4D8m6uK=h%1NX|iy*>c(zmYNuDdm#4=SjLw4 z0@IlVfPeS{6;$FqU>r{#n|}W*rU$`T#+I#YUIyt5C%~Px#{7FPXR9J=Wmpu=`P!xuribU)N5)*%bSz<7mY&M%%{2&V^qs_u(Gc%YZVv#T~ z8cf&F94YZpy^^ESXKGJRoAaKp=7J*4t}!vq007hjh)^YJ!YBZMxa|kp)56Vtr?PnG zZ{+&CR?a{oU&IOevW;>tsu?)1=k`4iRJjnoDY&ow3%{4jh45uScvgGA$_4d3U_AxG zr^ literal 0 HcmV?d00001 diff --git a/NHSE.WinForms/Resources/Map assets/nw_water_brush_angular.png b/NHSE.WinForms/Resources/Map assets/nw_water_brush_angular.png new file mode 100644 index 0000000000000000000000000000000000000000..928fb02f14d7b8541b82a95f63b99c2eebe794a6 GIT binary patch literal 288 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}w>(`OLn2y} z6C@la{HcFizpSx@fti{4aD#Qj#A{+I|Kq#E>kc?4I2_DSN=X2Mh0`3LE^PZh@#oyt z=Y^*pXs_cqQ1dQ9p+1p$uCXrH|T4&N;m3ne5j2pIVM^{C_!_@t<4@L*@c6~^Y% zj3@tJPs%<1SZKM(ocU+{tMnZ5+21U?AjllY$5SDd;PY?4*v^j}*^3sMYZP`G8yGk| jn$*bnNZIMpizJ5U_SV^F)@3gS`jWxZ)z4*}Q$iB}oWyU| literal 0 HcmV?d00001 diff --git a/NHSE.WinForms/Resources/Map assets/nw_water_brush_diagonal.png b/NHSE.WinForms/Resources/Map assets/nw_water_brush_diagonal.png new file mode 100644 index 0000000000000000000000000000000000000000..89a0aa36638eff4b908d26018ba606ff061451d0 GIT binary patch literal 292 zcmV+<0o(qGP)Px#-bqA3R9J=WmOBoDKoms}#-2uNw;(%k5n^XGv9l-9*0>2uTV^e+#T7gYGRa^V zKl}y=r+gH1@6DUbfJc;QS@;wH;9Wq_^#Mxs$M4<~@XEY|vw%Se=)4DPsyboWrvRJP z;U>P$1|W$eQKF^y1d=!sfZcXO#sHSEw*+kGHq%eQ<=o&kf&Kl_T@ihAeqEmd&k01Q zXZt(wt8>G2Zo$9K4dYLsu5&{v0VTTfpY57AB~Qcp2{d(X7+(*x<=hY`(e~5GRP+0D q$u$RxP6x;?$I?7cL!fZ#n!Nz=m literal 0 HcmV?d00001 diff --git a/NHSE.WinForms/Resources/Map assets/s_brush.png b/NHSE.WinForms/Resources/Map assets/s_brush.png new file mode 100644 index 0000000000000000000000000000000000000000..05e2ed028728197a00d8d7d8a49c623a039bec3c GIT binary patch literal 309 zcmV-50m}Y~P)Px#?@2^KR9J=WmZ5F}Q4mGX5R#Q7OHq||b^U?rVsMBixTUg&kKhL?m#US|0EX48 z>Tq>9s+y40G+8x>g@%xpR4i|r^j&#J%*nialP5{4%1+VM4FKh8$tkZ+Uy@XHKlH6~ zwWMLP`9SsnR_BK*7xou8PNh$U5dIB-(1Or{01#U6?_1CWczcb$jLYlND}d<*o*zWy zb3M~T^L{$^3SoMIi|D2LmOpjpCIF9%o_!0<0E*lJAOOcf^a_wq1`2R{*FVdGpX4+X zfQHko*2TZouss6MCO|9hNRhi*pP?0Z1mI)y{_TA4o3~&K_(WGH+hQf-$>`R~PT>v7UR_{GzE@tFVEl5KotSg73~>Z<23lUR$L8 ze5Fk}!>$|maVjtd@E`6}!i{>}UQd+UAAcMhNJrn}5#R6WnCO0?y_WkmN@xw_rZPrcU&*hvV%#}48?l5jU hy>ij^JB*eGn3aMp8x}iqMgZN*;OXk;vd$@?2>_CeTbTd= literal 0 HcmV?d00001 diff --git a/NHSE.WinForms/Resources/Map assets/se_brush_angular.png b/NHSE.WinForms/Resources/Map assets/se_brush_angular.png new file mode 100644 index 0000000000000000000000000000000000000000..a93bd709ea0e15dd31517321717ee4bc0499d9c3 GIT binary patch literal 358 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^T<3Z5>GArY;~ zKJ)(mw`Ueg2scYf0D>Qt-))#RAK7O0^6b3*SK&eak4wnUptD?+H!VZUT3x2}D#@6FVdQ&MBb@0Hr>WmjD0& literal 0 HcmV?d00001 diff --git a/NHSE.WinForms/Resources/Map assets/se_brush_diagonal.png b/NHSE.WinForms/Resources/Map assets/se_brush_diagonal.png new file mode 100644 index 0000000000000000000000000000000000000000..dfc2edab19cf0d561957e56f947696b1668af1f6 GIT binary patch literal 375 zcmV--0f_#IP)Px$F-b&0R9J=0m!WRMFc60Svm&JrFi=odI#Sk0$VgRESdIHHER(9Ka>B&qn}25G7PM&vTvl>*)VH49w;$*Bh|Kb7em(-_BnE0Q+5P zv`*fE>~ugI7mCVlk$2$Ug;mOPwXbbIM&1G2`kN{bqQoekyaT3P;95B&??BUpCgl&q z5dpyUa=vQ=@(xth-&VP8?HPFoid|s(wYOEy$U6Y!PBC!b=S`?n4^fM6Z4u$hslTpGn|{&Ih3bvt%>H&!ivJ{}JZE`&;SE^SmPx$GD$>1R9J=WmcMSoFc617qlkrpF;X6Zft^RFIINI^{NWb9CCXX0?|yf-PZhelU1?g-7{7D<-K(E~gAj$HI z`mkc2PNOD%oqhmVzP|!+&NuATI@$qw1pwyhw23Gb6Z!V-L-}$aqKLQx>SbTIZ>gI! zIX`Zi%cV>14e|;Uy3`?eft~Xq9S~RG?prWc{mg*eBt}wmf3lq!Y2ak7OH`!bh@Pw%;v!RhONczx$ z%h_*2HpjHo3Or$26f9e{)koLhfug|zz7u!fnSW4p2+?z3YcE@~?1a-76O#vu4uv;& zC;RaPzWUMXBKd63+hmT^9@or5{=WhWVhP+Uul^VRFAsE0zyzD$|Lb>|F(laPrx-}F gGRrYBzhhuGrYy85}Sb4q9e0O7)jJpcdz literal 0 HcmV?d00001 diff --git a/NHSE.WinForms/Resources/Map assets/sw_brush_diagonal.png b/NHSE.WinForms/Resources/Map assets/sw_brush_diagonal.png new file mode 100644 index 0000000000000000000000000000000000000000..64c5dc6547cf16e9c12b1fb9fbf3ee2f635ed317 GIT binary patch literal 389 zcmV;00eb$4P)Px$KS@MER9J=8moZDjKp2Lf6XE_q2cd4=-1-MP$E9@1An2ry9Rw#AH~)a6by9E; zL|oc`pj)>NLN^OSrO+``9P|S{lU|ZbIqw-i_%6qj_r6@z;Z>UQ&GoTT06%L0u{xj= z#q@_=OmwRaKr$V#tmW0!pA`*8gZ&hs6UD#kr?2O>Rx8PL%tqDb*+es&Xy;8--auV! zR&BiNodIsILbuxf4LEPWB@0d=tc%JS5F`tGj~4(mcal>5-VIm>(euLz0L#TZb0C?N zHR0WWH3Q4VywrkaGVw1?L6MIU0FA9}06yN|3S~i9Wg-j%!n#a^V?e0WL|7Rx$ul7o znV1dz60iY5Ok_|f8{r$Uk$0^J=nuR84LIM3Y(z)53SczI&V*M3m%C5v&wzPx#`bk7VR9J=WmMsp#KoEt$B?N;&l3+li09S{tBOw@U55XC*2m}d|8qymeaFuWc zOcNv)vj}J?C6u=O3?=={HZMErKeSX~B58Q2^am{Voql@oXc54*0CMyYoXM z{mXwMgsC0yvtah_?}j*3swE(cQ}8Yh`y&V2xNRVO1AYV1BgoDaeDY|-9Z=7=MAMnA zG(ff7OjR%LKt2U8XTZl?c!|FW|K&g&{GZz(;tq&nX-A7YAl^V8LQ(P%0-OMb4M1Tv SIOCN70000Px$8%ab#R9J=Wma%HWP!xv0Tg0V7oifQX?4nEN9@FN{u*{$m4*@5ze*@cViu8m&4|fh{mLkh`3; zGLe04$ztztfZ`2!4U7#G(bxy@tUfK@7y0qXPx#=Sf6CR9J=WRxu8PFbq5@BnAe)(l2!94-DPJtfGl*OBX!QaxCOx#FrlOefTik1n~;D6 zEcg=;ClGZC_)aK>HjO5f+yk^!J#vA<8pJJ#rT_!+!|yAw=Dk8x1#XA4b}r{SY7bB` zv@b!?9tg4re4d;5{wZ+WnAQ>;=_&B3hYWAs*o5{Ps`uI)7d5}OG1^MN)dSBDdJ1ns zdV4_qD#b$Hj1wz(&433pj&iPHi~I7nxEZ?x(i%h@4(mgn00000NkvXXu0mjfIKg#T literal 0 HcmV?d00001 diff --git a/NHSE.WinForms/Resources/Map assets/top_left_water_corner.png b/NHSE.WinForms/Resources/Map assets/top_left_water_corner.png new file mode 100644 index 0000000000000000000000000000000000000000..adbdbd4c97317f7d68c5fb851094e283848af526 GIT binary patch literal 401 zcmV;C0dD?@P)Px$OG!jQR9J=Ompw`YK^TUgk+dR61PdXO6L^I61`C3fUAlB0Krr9|#9~Fz!pcGd zt00)lsnfaW4fG0v)mS8-W@dNUHD)K9_>|uaJM+HZ4?7CaJYF6E@HBWe?b8-3zAxa? z@O6+VUt8a>;;QO{JEor*Z|{sNMFfajr3 zt^c1c=p7y#fMBNuKr)UmuLF5~?=n{hVjazX5Q*~U<`w|A*8?l}XWNmrf36NxItN_k zc`Q#Cl&yM~#dTnE#>0>D_(o^u-mQLN@#a8Yp9^J`3-zA^dATm?^CIO!{kov2x`n?g z7wYH0eftG~)pJ!!vG7~vg5^NR^!eO9n(9N-5bG%I!05kS%`C@7)Nc;RizP{IuZG6O vd-z>!!|_`&47%2)SdVOX<3;OPaX0n_HkEGoOzs%{00000NkvXXu0mjf#AddQ literal 0 HcmV?d00001 diff --git a/NHSE.WinForms/Resources/Map assets/top_right_dirt_corner.png b/NHSE.WinForms/Resources/Map assets/top_right_dirt_corner.png new file mode 100644 index 0000000000000000000000000000000000000000..1d6e02e7f4a3992775450543b6f03bd047a90cac GIT binary patch literal 364 zcmV-y0h9iTP)Px$CP_p=R9J=WmoW~4Fc^iu8WRQwufi2{cJlxXY}|o~JGglSH)c2iiHGn44h&9p zp;#+bP)arNOGro|^zr`o@k3OdBp#XhoE%^dkQAW=1i)^6oL0c%yaC{{N&$!`D9B!H z+jH+F5K(oKjSE7*FjXmZ2V`?hiuV%y1$Yt&Aa zLQrPFEeFP)+~lPLF71aeScHE8Rsl&7k`$qH0oEK)#M13T6iqkuz-5(+uJJLrYe?#4 z-g#3{W^E?8h@Ksrs=4ebJn{b3*99=W0Eet_&F;`iv_I2V;naSjIa50000< KMNUMnLSTZX=a>%w literal 0 HcmV?d00001 diff --git a/NHSE.WinForms/Resources/Map assets/top_right_water_corner.png b/NHSE.WinForms/Resources/Map assets/top_right_water_corner.png new file mode 100644 index 0000000000000000000000000000000000000000..22fd734332cd1f4b523f35a305bd319b3a33868d GIT binary patch literal 451 zcmV;!0X+VRP)Px$eMv+?R9J=0m9a|0P#A^3Te1s+i-UG|(ZS6jPE}kYrGg+R*r|iKxj6a+4oaZ~ z2Sre%9UU|H06u|OpuvNds zCMBz@{edGlbMp%TJhu)2drGLY+FAhc^>D7NtT?2tssK3d>M{WS-bF4OaXyY<=_VZ1 z+8w~&5jf_+wik+%0`Wrk-VXrX3t3Yf1x##t!5K}!D6QQMeJ{z#0=0cN2mnsr8<7Y8 zYY)h-7o>;hXdqLN~(gQOM zf~3ORcNK)55T;e6G`e^m=pHahQbL%vCkoR8V;(SxQ$qN!H;R{nI3`s>m{gJ66-fLS z2$$ukN~R*xoPso{AWb^90b4zAy|WI$aqt9$F^uhjv`p#|>5bfapslKUaY*5TButNt tQ663&7b9cU?0fnM#1Ez_Y36Ca@eAN?rXN?z-H`wQ002ovPDHLkV1n)?!2tjO literal 0 HcmV?d00001 diff --git a/NHSE.WinForms/Resources/Map assets/w_brush.png b/NHSE.WinForms/Resources/Map assets/w_brush.png new file mode 100644 index 0000000000000000000000000000000000000000..15b2dd926650b82d3190a24ccefa9fb28776533b GIT binary patch literal 294 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}4?JBQLn2y} zedhiBZ_mtR;FOtS$OZ(*0*>AIzxuy^+5xs3Q+XvNfS~T4t$%<_Y>!~1^QWASy~V+T zhpe9+Fvi{jqJ+HAdDOiKy&8ar#*9>fI zZH=V|8r&I~4>PnMxKO~bf5M9cRt?h{VsB1pY@M*E|9#wl{?wjUafd5xi*FVjkaaNN zUBH|b;&dY6K=Hu__k$UF5~T-DlpV-0lR4YQ{I21mi$|DJO;zvQhc8XbR#`Spobk?b nP2jBEcli%9B<*_e;|QbBT2GM;`F*@VzcP5b`njxgN@xNA*phRm literal 0 HcmV?d00001 diff --git a/NHSE.WinForms/Resources/Map assets/w_water_brush.png b/NHSE.WinForms/Resources/Map assets/w_water_brush.png new file mode 100644 index 0000000000000000000000000000000000000000..8fc1a6bc714bdabb5b39cc739d385b9aa5f4b62e GIT binary patch literal 329 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^T<%$_ceArY;~ zKL7TAvu9>9aLPqwz`Y|6Ueej^eJdm=5Q6}uOXG ItemEdit; public ItemLayer SpawnLayer => Map.CurrentLayer; + private TerrainBrushEditor? tbeForm; + public FieldItemEditor(MainSave sav) { InitializeComponent(); @@ -118,12 +122,13 @@ private void ReloadMapBackground() private void ReloadAcreBackground() { var tbuild = (byte)TR_BuildingTransparency.Value; - var tterrain = (byte) TR_Terrain.Value; + var tterrain = (byte)TR_Terrain.Value; PB_Acre.BackgroundImage = View.GetBackgroundAcre(L_Coordinates.Font, tbuild, tterrain, SelectedBuildingIndex); PB_Acre.Invalidate(); // background image reassigning to same img doesn't redraw; force it } private void ReloadMapItemGrid() => PB_Map.Image = View.GetMapWithReticle(GetItemTransparency()); + private void ReloadAcreItemGrid() => PB_Acre.Image = View.GetLayerAcre(GetItemTransparency()); public void ReloadItems() @@ -179,7 +184,31 @@ private void OmniTileTerrain(MouseEventArgs e) var x = View.X + HoverX; var y = View.Y + HoverY; var tile = Map.Terrain.GetTile(x / 2, y / 2); - OmniTileTerrain(tile); + if (tbeForm?.brushSelected != true) + { + OmniTileTerrain(tile); + return; + } + + if (tbeForm.Slider_thickness.Value <= 1) + { + SetTile(tile); + return; + } + + List selectedTiles = new(); + int radius = tbeForm.Slider_thickness.Value; + int threshold = (radius * radius) / 2; + for (int i = -radius; i < radius; i++) + { + for (int j = -radius; j < radius; j++) + { + if ((i * i) + (j * j) < threshold) + selectedTiles.Add(Map.Terrain.GetTile((x / 2) + i, (y / 2) + j)); + } + } + + SetTiles(selectedTiles); } private void OmniTile(Item tile, int x, int y) @@ -189,13 +218,16 @@ private void OmniTile(Item tile, int x, int y) default: ViewTile(tile, x, y); return; + case Keys.Alt | Keys.Control: case Keys.Alt | Keys.Control | Keys.Shift: ReplaceTile(tile, x, y); return; + case Keys.Shift: SetTile(tile, x, y); return; + case Keys.Alt: DeleteTile(tile, x, y); return; @@ -209,12 +241,15 @@ private void OmniTileTerrain(TerrainTile tile) default: ViewTile(tile); return; + case Keys.Shift | Keys.Control: RotateTile(tile); return; + case Keys.Shift: SetTile(tile); return; + case Keys.Alt: DeleteTile(tile); return; @@ -252,6 +287,10 @@ private void PB_Acre_MouseMove(object sender, MouseEventArgs e) MoveDrag(e); return; } + if (e.Button == MouseButtons.Left && tbeForm?.brushSelected == true) + { + OmniTileTerrain(e); + } var oldTile = l.GetTile(View.X + HoverX, View.Y + HoverY); var tile = GetTile(l, e, out var x, out var y); @@ -414,11 +453,34 @@ private void RotateTile(TerrainTile tile) private void SetTile(TerrainTile tile) { var pgt = (TerrainTile)PG_TerrainTile.SelectedObject; + if (tbeForm?.randomizeVariation == true) + { + switch (pgt.UnitModel) + { + case TerrainUnitModel.Cliff5B: + case TerrainUnitModel.River5B: + Random rand = new(); + pgt.Variation = (ushort)rand.Next(4); + break; + } + } + tile.CopyFrom(pgt); ReloadBuildingsTerrain(); } + private void SetTiles(IEnumerable tiles) + { + var pgt = (TerrainTile)PG_TerrainTile.SelectedObject; + foreach (TerrainTile tile in tiles) + { + tile.CopyFrom(pgt); + } + + ReloadBuildingsTerrain(); + } + private void DeleteTile(Item tile, int x, int y) { if (CHK_AutoExtension.Checked) @@ -553,6 +615,7 @@ private void B_Down_Click(object sender, EventArgs e) } private void B_DumpAcre_Click(object sender, EventArgs e) => MapDumpHelper.DumpLayerAcreSingle(Map.CurrentLayer, AcreIndex, CB_Acre.Text, (int)NUD_Layer.Value); + private void B_DumpAllAcres_Click(object sender, EventArgs e) => MapDumpHelper.DumpLayerAcreAll(Map.CurrentLayer); private void B_ImportAcre_Click(object sender, EventArgs e) @@ -585,7 +648,9 @@ private void B_ImportBuildings_Click(object sender, EventArgs e) System.Media.SystemSounds.Asterisk.Play(); ReloadBuildingsTerrain(); } + private void B_DumpTerrainAcre_Click(object sender, EventArgs e) => MapDumpHelper.DumpTerrainAcre(Map.Terrain, AcreIndex, CB_Acre.Text); + private void B_DumpTerrainAll_Click(object sender, EventArgs e) => MapDumpHelper.DumpTerrainAll(Map.Terrain); private void B_ImportTerrainAcre_Click(object sender, EventArgs e) @@ -711,7 +776,7 @@ private void PB_Map_MouseMove(object sender, MouseEventArgs e) private void NUD_Layer_ValueChanged(object sender, EventArgs e) { - Map.MapLayer = (int) NUD_Layer.Value - 1; + Map.MapLayer = (int)NUD_Layer.Value - 1; LoadItemGridAcre(); } @@ -756,30 +821,50 @@ private void Modify(ToolStripItem sender, Func action) } private void B_RemoveAllWeeds_Click(object sender, EventArgs e) => Remove(B_RemoveAllWeeds, Map.CurrentLayer.RemoveAllWeeds); + private void B_RemoveAllTrees_Click(object sender, EventArgs e) => Remove(B_RemoveAllTrees, Map.CurrentLayer.RemoveAllTrees); + private void B_FillHoles_Click(object sender, EventArgs e) => Remove(B_FillHoles, Map.CurrentLayer.RemoveAllHoles); + private void B_RemovePlants_Click(object sender, EventArgs e) => Remove(B_RemovePlants, Map.CurrentLayer.RemoveAllPlants); + private void B_RemoveFences_Click(object sender, EventArgs e) => Remove(B_RemoveFences, Map.CurrentLayer.RemoveAllFences); + private void B_RemoveObjects_Click(object sender, EventArgs e) => Remove(B_RemoveObjects, Map.CurrentLayer.RemoveAllObjects); + private void B_RemoveAll_Click(object sender, EventArgs e) => Remove(B_RemoveAll, Map.CurrentLayer.RemoveAll); + private void B_RemovePlacedItems_Click(object sender, EventArgs e) => Remove(B_RemovePlacedItems, Map.CurrentLayer.RemoveAllPlacedItems); + private void B_RemoveShells_Click(object sender, EventArgs e) => Remove(B_RemoveShells, Map.CurrentLayer.RemoveAllShells); + private void B_RemoveBranches_Click(object sender, EventArgs e) => Remove(B_RemoveBranches, Map.CurrentLayer.RemoveAllBranches); + private void B_RemoveFlowers_Click(object sender, EventArgs e) => Remove(B_RemoveFlowers, Map.CurrentLayer.RemoveAllFlowers); + private void B_RemoveBushes_Click(object sender, EventArgs e) => Remove(B_RemoveBushes, Map.CurrentLayer.RemoveAllBushes); private void B_WaterFlowers_Click(object sender, EventArgs e) => Modify(B_WaterFlowers, (xmin, ymin, width, height) => Map.CurrentLayer.WaterAllFlowers(xmin, ymin, width, height, (ModifierKeys & Keys.Control) != 0)); private static void ShowContextMenuBelow(ToolStripDropDown c, Control n) => c.Show(n.PointToScreen(new Point(0, n.Height))); + private void B_RemoveItemDropDown_Click(object sender, EventArgs e) => ShowContextMenuBelow(CM_Remove, B_RemoveItemDropDown); + private void B_DumpLoadField_Click(object sender, EventArgs e) => ShowContextMenuBelow(CM_DLField, B_DumpLoadField); + private void B_DumpLoadTerrain_Click(object sender, EventArgs e) => ShowContextMenuBelow(CM_DLTerrain, B_DumpLoadTerrain); + private void B_DumpLoadBuildings_Click(object sender, EventArgs e) => ShowContextMenuBelow(CM_DLBuilding, B_DumpLoadBuildings); + private void B_ModifyAllTerrain_Click(object sender, EventArgs e) => ShowContextMenuBelow(CM_Terrain, B_ModifyAllTerrain); + private void B_DumpLoadAcres_Click(object sender, EventArgs e) => ShowContextMenuBelow(CM_DLMapAcres, B_DumpLoadAcres); + private void TR_Transparency_Scroll(object sender, EventArgs e) => ReloadItems(); + private void TR_BuildingTransparency_Scroll(object sender, EventArgs e) => ReloadBuildingsTerrain(); + private void TR_Terrain_Scroll(object sender, EventArgs e) => ReloadBuildingsTerrain(); #region Buildings @@ -794,7 +879,7 @@ private void NUD_PlazaX_ValueChanged(object sender, EventArgs e) { if (Loading) return; - Map.PlazaX = (uint) NUD_PlazaX.Value; + Map.PlazaX = (uint)NUD_PlazaX.Value; ReloadBuildingsTerrain(); } @@ -802,7 +887,7 @@ private void NUD_PlazaY_ValueChanged(object sender, EventArgs e) { if (Loading) return; - Map.PlazaY = (uint) NUD_PlazaY.Value; + Map.PlazaY = (uint)NUD_PlazaY.Value; ReloadBuildingsTerrain(); } @@ -866,7 +951,8 @@ private void NUD_BuildingType_ValueChanged(object sender, EventArgs e) LB_Items.Items[SelectedBuildingIndex] = Map.Buildings[SelectedBuildingIndex].ToString(); ReloadBuildingsTerrain(); } - #endregion + + #endregion Buildings #region Acres @@ -911,7 +997,7 @@ private void B_ImportMapAcres_Click(object sender, EventArgs e) System.Media.SystemSounds.Asterisk.Play(); } - #endregion + #endregion Acres private void B_ZeroElevation_Click(object sender, EventArgs e) { @@ -996,12 +1082,24 @@ private void Menu_Bulk_Click(object sender, EventArgs e) SpawnLayer.ClearDanglingExtensions(0, 0, SpawnLayer.MaxWidth, SpawnLayer.MaxHeight); LoadItemGridAcre(); } + + private void B_TerrainBrush_Click(object sender, EventArgs e) + { + tbeForm = new TerrainBrushEditor(PG_TerrainTile, this); + tbeForm.Show(); + } + + private void FieldItemEditor_FormClosed(object sender, FormClosedEventArgs e) + { + tbeForm?.Close(); + } } public interface IItemLayerEditor { void ReloadItems(); + ItemEditor ItemProvider { get; } ItemLayer SpawnLayer { get; } } -} +} \ No newline at end of file diff --git a/NHSE.WinForms/Subforms/Map/TerrainBrushEditor.Designer.cs b/NHSE.WinForms/Subforms/Map/TerrainBrushEditor.Designer.cs new file mode 100644 index 0000000..a4e4a03 --- /dev/null +++ b/NHSE.WinForms/Subforms/Map/TerrainBrushEditor.Designer.cs @@ -0,0 +1,779 @@ + +namespace NHSE.WinForms.Subforms.Map +{ + partial class TerrainBrushEditor + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(TerrainBrushEditor)); + this.nw_rounded_tile = new System.Windows.Forms.Button(); + this.n_tile = new System.Windows.Forms.Button(); + this.ne_rounded_tile = new System.Windows.Forms.Button(); + this.w_tile = new System.Windows.Forms.Button(); + this.middle_tile = new System.Windows.Forms.Button(); + this.e_tile = new System.Windows.Forms.Button(); + this.sw_rounded_tile = new System.Windows.Forms.Button(); + this.s_tile = new System.Windows.Forms.Button(); + this.se_rounded_tile = new System.Windows.Forms.Button(); + this.nw_angular_tile = new System.Windows.Forms.Button(); + this.ne_angular_tile = new System.Windows.Forms.Button(); + this.sw_angular_tile = new System.Windows.Forms.Button(); + this.se_angular_tile = new System.Windows.Forms.Button(); + this.lbl_angular_borders = new System.Windows.Forms.Label(); + this.lbl_diagonal_borders = new System.Windows.Forms.Label(); + this.slider_thickness = new System.Windows.Forms.TrackBar(); + this.btn_normal_click = new System.Windows.Forms.Button(); + this.btn_brush = new System.Windows.Forms.Button(); + this.lbl_brush = new System.Windows.Forms.Label(); + this.lbl_size_count = new System.Windows.Forms.Label(); + this.lbl_elevation_count = new System.Windows.Forms.Label(); + this.lbl_elevation = new System.Windows.Forms.Label(); + this.slider_elevation = new System.Windows.Forms.TrackBar(); + this.tabControl1 = new System.Windows.Forms.TabControl(); + this.tabPage1 = new System.Windows.Forms.TabPage(); + this.dr_dirt_inside = new System.Windows.Forms.Button(); + this.tr_dirt_inside = new System.Windows.Forms.Button(); + this.dl_dirt_inside = new System.Windows.Forms.Button(); + this.tl_dirt_inside = new System.Windows.Forms.Button(); + this.label3 = new System.Windows.Forms.Label(); + this.tabPage2 = new System.Windows.Forms.TabPage(); + this.dr_water_inside = new System.Windows.Forms.Button(); + this.tr_water_inside = new System.Windows.Forms.Button(); + this.dl_water_inside = new System.Windows.Forms.Button(); + this.tl_water_inside = new System.Windows.Forms.Button(); + this.label4 = new System.Windows.Forms.Label(); + this.nw_angular_water_tile = new System.Windows.Forms.Button(); + this.label1 = new System.Windows.Forms.Label(); + this.n_water_tile = new System.Windows.Forms.Button(); + this.ne_angular_water_tile = new System.Windows.Forms.Button(); + this.w_water_tile = new System.Windows.Forms.Button(); + this.center_water_tile = new System.Windows.Forms.Button(); + this.e_water_tile = new System.Windows.Forms.Button(); + this.s_water_tile = new System.Windows.Forms.Button(); + this.sw_angular_water_tile = new System.Windows.Forms.Button(); + this.label2 = new System.Windows.Forms.Label(); + this.se_angular_water_tile = new System.Windows.Forms.Button(); + this.se_diagonal_water_tile = new System.Windows.Forms.Button(); + this.ne_diagonal_water_tile = new System.Windows.Forms.Button(); + this.sw_diagonal_water_tile = new System.Windows.Forms.Button(); + this.nw_diagonal_water_tile = new System.Windows.Forms.Button(); + this.cb_tileVariation = new System.Windows.Forms.CheckBox(); + ((System.ComponentModel.ISupportInitialize)(this.slider_thickness)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.slider_elevation)).BeginInit(); + this.tabControl1.SuspendLayout(); + this.tabPage1.SuspendLayout(); + this.tabPage2.SuspendLayout(); + this.SuspendLayout(); + // + // nw_rounded_tile + // + this.nw_rounded_tile.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("nw_rounded_tile.BackgroundImage"))); + this.nw_rounded_tile.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.nw_rounded_tile.Location = new System.Drawing.Point(8, 42); + this.nw_rounded_tile.Name = "nw_rounded_tile"; + this.nw_rounded_tile.Size = new System.Drawing.Size(64, 64); + this.nw_rounded_tile.TabIndex = 0; + this.nw_rounded_tile.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.nw_rounded_tile.UseVisualStyleBackColor = true; + this.nw_rounded_tile.Click += new System.EventHandler(this.nw_rounded_tile_Click); + // + // n_tile + // + this.n_tile.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("n_tile.BackgroundImage"))); + this.n_tile.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.n_tile.Location = new System.Drawing.Point(78, 42); + this.n_tile.Name = "n_tile"; + this.n_tile.Size = new System.Drawing.Size(64, 64); + this.n_tile.TabIndex = 1; + this.n_tile.UseVisualStyleBackColor = true; + this.n_tile.Click += new System.EventHandler(this.n_tile_Click); + // + // ne_rounded_tile + // + this.ne_rounded_tile.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("ne_rounded_tile.BackgroundImage"))); + this.ne_rounded_tile.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.ne_rounded_tile.Location = new System.Drawing.Point(148, 42); + this.ne_rounded_tile.Name = "ne_rounded_tile"; + this.ne_rounded_tile.Size = new System.Drawing.Size(64, 64); + this.ne_rounded_tile.TabIndex = 2; + this.ne_rounded_tile.UseVisualStyleBackColor = true; + this.ne_rounded_tile.Click += new System.EventHandler(this.ne_rounded_tile_Click); + // + // w_tile + // + this.w_tile.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("w_tile.BackgroundImage"))); + this.w_tile.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.w_tile.Location = new System.Drawing.Point(8, 112); + this.w_tile.Name = "w_tile"; + this.w_tile.Size = new System.Drawing.Size(64, 64); + this.w_tile.TabIndex = 3; + this.w_tile.UseVisualStyleBackColor = true; + this.w_tile.Click += new System.EventHandler(this.w_tile_Click); + // + // middle_tile + // + this.middle_tile.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("middle_tile.BackgroundImage"))); + this.middle_tile.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.middle_tile.Location = new System.Drawing.Point(78, 112); + this.middle_tile.Name = "middle_tile"; + this.middle_tile.Size = new System.Drawing.Size(64, 64); + this.middle_tile.TabIndex = 4; + this.middle_tile.UseVisualStyleBackColor = true; + this.middle_tile.Click += new System.EventHandler(this.middle_tile_Click); + // + // e_tile + // + this.e_tile.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("e_tile.BackgroundImage"))); + this.e_tile.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.e_tile.Location = new System.Drawing.Point(148, 112); + this.e_tile.Name = "e_tile"; + this.e_tile.Size = new System.Drawing.Size(64, 64); + this.e_tile.TabIndex = 5; + this.e_tile.UseVisualStyleBackColor = true; + this.e_tile.Click += new System.EventHandler(this.e_tile_Click); + // + // sw_rounded_tile + // + this.sw_rounded_tile.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("sw_rounded_tile.BackgroundImage"))); + this.sw_rounded_tile.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.sw_rounded_tile.Location = new System.Drawing.Point(8, 181); + this.sw_rounded_tile.Name = "sw_rounded_tile"; + this.sw_rounded_tile.Size = new System.Drawing.Size(64, 64); + this.sw_rounded_tile.TabIndex = 6; + this.sw_rounded_tile.UseVisualStyleBackColor = true; + this.sw_rounded_tile.Click += new System.EventHandler(this.sw_rounded_tile_Click); + // + // s_tile + // + this.s_tile.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("s_tile.BackgroundImage"))); + this.s_tile.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.s_tile.Location = new System.Drawing.Point(78, 181); + this.s_tile.Name = "s_tile"; + this.s_tile.Size = new System.Drawing.Size(64, 64); + this.s_tile.TabIndex = 7; + this.s_tile.UseVisualStyleBackColor = true; + this.s_tile.Click += new System.EventHandler(this.s_tile_Click); + // + // se_rounded_tile + // + this.se_rounded_tile.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("se_rounded_tile.BackgroundImage"))); + this.se_rounded_tile.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.se_rounded_tile.Location = new System.Drawing.Point(148, 181); + this.se_rounded_tile.Name = "se_rounded_tile"; + this.se_rounded_tile.Size = new System.Drawing.Size(64, 64); + this.se_rounded_tile.TabIndex = 8; + this.se_rounded_tile.UseVisualStyleBackColor = true; + this.se_rounded_tile.Click += new System.EventHandler(this.se_rounded_tile_Click); + // + // nw_angular_tile + // + this.nw_angular_tile.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("nw_angular_tile.BackgroundImage"))); + this.nw_angular_tile.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.nw_angular_tile.Location = new System.Drawing.Point(8, 276); + this.nw_angular_tile.Name = "nw_angular_tile"; + this.nw_angular_tile.Size = new System.Drawing.Size(64, 64); + this.nw_angular_tile.TabIndex = 9; + this.nw_angular_tile.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.nw_angular_tile.UseVisualStyleBackColor = true; + this.nw_angular_tile.Click += new System.EventHandler(this.nw_angular_tile_Click); + // + // ne_angular_tile + // + this.ne_angular_tile.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("ne_angular_tile.BackgroundImage"))); + this.ne_angular_tile.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.ne_angular_tile.Location = new System.Drawing.Point(78, 276); + this.ne_angular_tile.Name = "ne_angular_tile"; + this.ne_angular_tile.Size = new System.Drawing.Size(64, 64); + this.ne_angular_tile.TabIndex = 10; + this.ne_angular_tile.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.ne_angular_tile.UseVisualStyleBackColor = true; + this.ne_angular_tile.Click += new System.EventHandler(this.ne_angular_tile_Click); + // + // sw_angular_tile + // + this.sw_angular_tile.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("sw_angular_tile.BackgroundImage"))); + this.sw_angular_tile.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.sw_angular_tile.Location = new System.Drawing.Point(8, 346); + this.sw_angular_tile.Name = "sw_angular_tile"; + this.sw_angular_tile.Size = new System.Drawing.Size(64, 64); + this.sw_angular_tile.TabIndex = 11; + this.sw_angular_tile.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.sw_angular_tile.UseVisualStyleBackColor = true; + this.sw_angular_tile.Click += new System.EventHandler(this.sw_angular_tile_Click); + // + // se_angular_tile + // + this.se_angular_tile.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("se_angular_tile.BackgroundImage"))); + this.se_angular_tile.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.se_angular_tile.Location = new System.Drawing.Point(78, 346); + this.se_angular_tile.Name = "se_angular_tile"; + this.se_angular_tile.Size = new System.Drawing.Size(64, 64); + this.se_angular_tile.TabIndex = 12; + this.se_angular_tile.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.se_angular_tile.UseVisualStyleBackColor = true; + this.se_angular_tile.Click += new System.EventHandler(this.se_angular_tile_Click); + // + // lbl_angular_borders + // + this.lbl_angular_borders.AutoSize = true; + this.lbl_angular_borders.Location = new System.Drawing.Point(5, 256); + this.lbl_angular_borders.Name = "lbl_angular_borders"; + this.lbl_angular_borders.Size = new System.Drawing.Size(87, 13); + this.lbl_angular_borders.TabIndex = 13; + this.lbl_angular_borders.Text = "Angular borders :"; + // + // lbl_diagonal_borders + // + this.lbl_diagonal_borders.AutoSize = true; + this.lbl_diagonal_borders.Location = new System.Drawing.Point(5, 15); + this.lbl_diagonal_borders.Name = "lbl_diagonal_borders"; + this.lbl_diagonal_borders.Size = new System.Drawing.Size(93, 13); + this.lbl_diagonal_borders.TabIndex = 14; + this.lbl_diagonal_borders.Text = "Diagonal borders :"; + // + // slider_thickness + // + this.slider_thickness.Location = new System.Drawing.Point(369, 208); + this.slider_thickness.Minimum = 1; + this.slider_thickness.Name = "slider_thickness"; + this.slider_thickness.Size = new System.Drawing.Size(104, 45); + this.slider_thickness.TabIndex = 15; + this.slider_thickness.Value = 1; + this.slider_thickness.ValueChanged += new System.EventHandler(this.slider_thickness_ValueChanged); + // + // btn_normal_click + // + this.btn_normal_click.Image = ((System.Drawing.Image)(resources.GetObject("btn_normal_click.Image"))); + this.btn_normal_click.Location = new System.Drawing.Point(375, 36); + this.btn_normal_click.Name = "btn_normal_click"; + this.btn_normal_click.Size = new System.Drawing.Size(43, 39); + this.btn_normal_click.TabIndex = 16; + this.btn_normal_click.UseVisualStyleBackColor = true; + this.btn_normal_click.Click += new System.EventHandler(this.btn_normal_click_Click); + // + // btn_brush + // + this.btn_brush.Image = ((System.Drawing.Image)(resources.GetObject("btn_brush.Image"))); + this.btn_brush.Location = new System.Drawing.Point(436, 36); + this.btn_brush.Name = "btn_brush"; + this.btn_brush.Size = new System.Drawing.Size(43, 39); + this.btn_brush.TabIndex = 17; + this.btn_brush.UseVisualStyleBackColor = true; + this.btn_brush.Click += new System.EventHandler(this.btn_brush_Click); + // + // lbl_brush + // + this.lbl_brush.AutoSize = true; + this.lbl_brush.Location = new System.Drawing.Point(369, 188); + this.lbl_brush.Name = "lbl_brush"; + this.lbl_brush.Size = new System.Drawing.Size(61, 13); + this.lbl_brush.TabIndex = 18; + this.lbl_brush.Text = "Brush size :"; + // + // lbl_size_count + // + this.lbl_size_count.AutoSize = true; + this.lbl_size_count.Location = new System.Drawing.Point(459, 188); + this.lbl_size_count.Name = "lbl_size_count"; + this.lbl_size_count.Size = new System.Drawing.Size(13, 13); + this.lbl_size_count.TabIndex = 19; + this.lbl_size_count.Text = "1"; + // + // lbl_elevation_count + // + this.lbl_elevation_count.AutoSize = true; + this.lbl_elevation_count.Location = new System.Drawing.Point(459, 106); + this.lbl_elevation_count.Name = "lbl_elevation_count"; + this.lbl_elevation_count.Size = new System.Drawing.Size(13, 13); + this.lbl_elevation_count.TabIndex = 22; + this.lbl_elevation_count.Text = "0"; + // + // lbl_elevation + // + this.lbl_elevation.AutoSize = true; + this.lbl_elevation.Location = new System.Drawing.Point(369, 106); + this.lbl_elevation.Name = "lbl_elevation"; + this.lbl_elevation.Size = new System.Drawing.Size(57, 13); + this.lbl_elevation.TabIndex = 21; + this.lbl_elevation.Text = "Elevation :"; + // + // slider_elevation + // + this.slider_elevation.Location = new System.Drawing.Point(372, 126); + this.slider_elevation.Maximum = 6; + this.slider_elevation.Name = "slider_elevation"; + this.slider_elevation.Size = new System.Drawing.Size(104, 45); + this.slider_elevation.TabIndex = 20; + this.slider_elevation.ValueChanged += new System.EventHandler(this.slider_elevation_ValueChanged); + // + // tabControl1 + // + this.tabControl1.Controls.Add(this.tabPage1); + this.tabControl1.Controls.Add(this.tabPage2); + this.tabControl1.Location = new System.Drawing.Point(12, 12); + this.tabControl1.Name = "tabControl1"; + this.tabControl1.SelectedIndex = 0; + this.tabControl1.Size = new System.Drawing.Size(351, 452); + this.tabControl1.TabIndex = 23; + // + // tabPage1 + // + this.tabPage1.Controls.Add(this.dr_dirt_inside); + this.tabPage1.Controls.Add(this.tr_dirt_inside); + this.tabPage1.Controls.Add(this.dl_dirt_inside); + this.tabPage1.Controls.Add(this.tl_dirt_inside); + this.tabPage1.Controls.Add(this.label3); + this.tabPage1.Controls.Add(this.nw_rounded_tile); + this.tabPage1.Controls.Add(this.lbl_diagonal_borders); + this.tabPage1.Controls.Add(this.n_tile); + this.tabPage1.Controls.Add(this.ne_rounded_tile); + this.tabPage1.Controls.Add(this.w_tile); + this.tabPage1.Controls.Add(this.middle_tile); + this.tabPage1.Controls.Add(this.e_tile); + this.tabPage1.Controls.Add(this.s_tile); + this.tabPage1.Controls.Add(this.sw_rounded_tile); + this.tabPage1.Controls.Add(this.lbl_angular_borders); + this.tabPage1.Controls.Add(this.se_rounded_tile); + this.tabPage1.Controls.Add(this.se_angular_tile); + this.tabPage1.Controls.Add(this.ne_angular_tile); + this.tabPage1.Controls.Add(this.sw_angular_tile); + this.tabPage1.Controls.Add(this.nw_angular_tile); + this.tabPage1.Location = new System.Drawing.Point(4, 22); + this.tabPage1.Name = "tabPage1"; + this.tabPage1.Padding = new System.Windows.Forms.Padding(3); + this.tabPage1.Size = new System.Drawing.Size(343, 426); + this.tabPage1.TabIndex = 0; + this.tabPage1.Text = "Dirt"; + this.tabPage1.UseVisualStyleBackColor = true; + // + // dr_dirt_inside + // + this.dr_dirt_inside.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("dr_dirt_inside.BackgroundImage"))); + this.dr_dirt_inside.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.dr_dirt_inside.Location = new System.Drawing.Point(233, 346); + this.dr_dirt_inside.Name = "dr_dirt_inside"; + this.dr_dirt_inside.Size = new System.Drawing.Size(64, 64); + this.dr_dirt_inside.TabIndex = 19; + this.dr_dirt_inside.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.dr_dirt_inside.UseVisualStyleBackColor = true; + this.dr_dirt_inside.Click += new System.EventHandler(this.dr_dirt_inside_Click); + // + // tr_dirt_inside + // + this.tr_dirt_inside.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("tr_dirt_inside.BackgroundImage"))); + this.tr_dirt_inside.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.tr_dirt_inside.Location = new System.Drawing.Point(233, 276); + this.tr_dirt_inside.Name = "tr_dirt_inside"; + this.tr_dirt_inside.Size = new System.Drawing.Size(64, 64); + this.tr_dirt_inside.TabIndex = 17; + this.tr_dirt_inside.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.tr_dirt_inside.UseVisualStyleBackColor = true; + this.tr_dirt_inside.Click += new System.EventHandler(this.tr_dirt_inside_Click); + // + // dl_dirt_inside + // + this.dl_dirt_inside.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("dl_dirt_inside.BackgroundImage"))); + this.dl_dirt_inside.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.dl_dirt_inside.Location = new System.Drawing.Point(163, 346); + this.dl_dirt_inside.Name = "dl_dirt_inside"; + this.dl_dirt_inside.Size = new System.Drawing.Size(64, 64); + this.dl_dirt_inside.TabIndex = 18; + this.dl_dirt_inside.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.dl_dirt_inside.UseVisualStyleBackColor = true; + this.dl_dirt_inside.Click += new System.EventHandler(this.dl_dirt_inside_Click); + // + // tl_dirt_inside + // + this.tl_dirt_inside.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("tl_dirt_inside.BackgroundImage"))); + this.tl_dirt_inside.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.tl_dirt_inside.Location = new System.Drawing.Point(163, 276); + this.tl_dirt_inside.Name = "tl_dirt_inside"; + this.tl_dirt_inside.Size = new System.Drawing.Size(64, 64); + this.tl_dirt_inside.TabIndex = 16; + this.tl_dirt_inside.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.tl_dirt_inside.UseVisualStyleBackColor = true; + this.tl_dirt_inside.Click += new System.EventHandler(this.tl_dirt_inside_Click); + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(160, 256); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(75, 13); + this.label3.TabIndex = 15; + this.label3.Text = "Inner corners :"; + // + // tabPage2 + // + this.tabPage2.Controls.Add(this.dr_water_inside); + this.tabPage2.Controls.Add(this.tr_water_inside); + this.tabPage2.Controls.Add(this.dl_water_inside); + this.tabPage2.Controls.Add(this.tl_water_inside); + this.tabPage2.Controls.Add(this.label4); + this.tabPage2.Controls.Add(this.nw_angular_water_tile); + this.tabPage2.Controls.Add(this.label1); + this.tabPage2.Controls.Add(this.n_water_tile); + this.tabPage2.Controls.Add(this.ne_angular_water_tile); + this.tabPage2.Controls.Add(this.w_water_tile); + this.tabPage2.Controls.Add(this.center_water_tile); + this.tabPage2.Controls.Add(this.e_water_tile); + this.tabPage2.Controls.Add(this.s_water_tile); + this.tabPage2.Controls.Add(this.sw_angular_water_tile); + this.tabPage2.Controls.Add(this.label2); + this.tabPage2.Controls.Add(this.se_angular_water_tile); + this.tabPage2.Controls.Add(this.se_diagonal_water_tile); + this.tabPage2.Controls.Add(this.ne_diagonal_water_tile); + this.tabPage2.Controls.Add(this.sw_diagonal_water_tile); + this.tabPage2.Controls.Add(this.nw_diagonal_water_tile); + this.tabPage2.Location = new System.Drawing.Point(4, 22); + this.tabPage2.Name = "tabPage2"; + this.tabPage2.Padding = new System.Windows.Forms.Padding(3); + this.tabPage2.Size = new System.Drawing.Size(343, 426); + this.tabPage2.TabIndex = 1; + this.tabPage2.Text = "Water"; + this.tabPage2.UseVisualStyleBackColor = true; + // + // dr_water_inside + // + this.dr_water_inside.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("dr_water_inside.BackgroundImage"))); + this.dr_water_inside.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.dr_water_inside.Location = new System.Drawing.Point(233, 346); + this.dr_water_inside.Name = "dr_water_inside"; + this.dr_water_inside.Size = new System.Drawing.Size(64, 64); + this.dr_water_inside.TabIndex = 34; + this.dr_water_inside.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.dr_water_inside.UseVisualStyleBackColor = true; + this.dr_water_inside.Click += new System.EventHandler(this.dr_water_inside_Click); + // + // tr_water_inside + // + this.tr_water_inside.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("tr_water_inside.BackgroundImage"))); + this.tr_water_inside.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.tr_water_inside.Location = new System.Drawing.Point(233, 276); + this.tr_water_inside.Name = "tr_water_inside"; + this.tr_water_inside.Size = new System.Drawing.Size(64, 64); + this.tr_water_inside.TabIndex = 32; + this.tr_water_inside.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.tr_water_inside.UseVisualStyleBackColor = true; + this.tr_water_inside.Click += new System.EventHandler(this.tr_water_inside_Click); + // + // dl_water_inside + // + this.dl_water_inside.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("dl_water_inside.BackgroundImage"))); + this.dl_water_inside.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.dl_water_inside.Location = new System.Drawing.Point(163, 346); + this.dl_water_inside.Name = "dl_water_inside"; + this.dl_water_inside.Size = new System.Drawing.Size(64, 64); + this.dl_water_inside.TabIndex = 33; + this.dl_water_inside.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.dl_water_inside.UseVisualStyleBackColor = true; + this.dl_water_inside.Click += new System.EventHandler(this.dl_water_inside_Click); + // + // tl_water_inside + // + this.tl_water_inside.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("tl_water_inside.BackgroundImage"))); + this.tl_water_inside.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.tl_water_inside.Location = new System.Drawing.Point(163, 276); + this.tl_water_inside.Name = "tl_water_inside"; + this.tl_water_inside.Size = new System.Drawing.Size(64, 64); + this.tl_water_inside.TabIndex = 31; + this.tl_water_inside.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.tl_water_inside.UseVisualStyleBackColor = true; + this.tl_water_inside.Click += new System.EventHandler(this.tl_water_inside_Click); + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(160, 256); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(75, 13); + this.label4.TabIndex = 30; + this.label4.Text = "Inner corners :"; + // + // nw_angular_water_tile + // + this.nw_angular_water_tile.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("nw_angular_water_tile.BackgroundImage"))); + this.nw_angular_water_tile.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.nw_angular_water_tile.Location = new System.Drawing.Point(8, 276); + this.nw_angular_water_tile.Name = "nw_angular_water_tile"; + this.nw_angular_water_tile.Size = new System.Drawing.Size(64, 64); + this.nw_angular_water_tile.TabIndex = 15; + this.nw_angular_water_tile.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.nw_angular_water_tile.UseVisualStyleBackColor = true; + this.nw_angular_water_tile.Click += new System.EventHandler(this.nw_angular_water_tile_Click); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(5, 15); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(93, 13); + this.label1.TabIndex = 29; + this.label1.Text = "Diagonal borders :"; + // + // n_water_tile + // + this.n_water_tile.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("n_water_tile.BackgroundImage"))); + this.n_water_tile.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.n_water_tile.Location = new System.Drawing.Point(78, 42); + this.n_water_tile.Name = "n_water_tile"; + this.n_water_tile.Size = new System.Drawing.Size(64, 64); + this.n_water_tile.TabIndex = 16; + this.n_water_tile.UseVisualStyleBackColor = true; + this.n_water_tile.Click += new System.EventHandler(this.n_water_tile_Click); + // + // ne_angular_water_tile + // + this.ne_angular_water_tile.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("ne_angular_water_tile.BackgroundImage"))); + this.ne_angular_water_tile.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.ne_angular_water_tile.Location = new System.Drawing.Point(78, 276); + this.ne_angular_water_tile.Name = "ne_angular_water_tile"; + this.ne_angular_water_tile.Size = new System.Drawing.Size(64, 64); + this.ne_angular_water_tile.TabIndex = 17; + this.ne_angular_water_tile.UseVisualStyleBackColor = true; + this.ne_angular_water_tile.Click += new System.EventHandler(this.ne_angular_water_tile_Click); + // + // w_water_tile + // + this.w_water_tile.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("w_water_tile.BackgroundImage"))); + this.w_water_tile.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.w_water_tile.Location = new System.Drawing.Point(8, 112); + this.w_water_tile.Name = "w_water_tile"; + this.w_water_tile.Size = new System.Drawing.Size(64, 64); + this.w_water_tile.TabIndex = 18; + this.w_water_tile.UseVisualStyleBackColor = true; + this.w_water_tile.Click += new System.EventHandler(this.w_water_tile_Click); + // + // center_water_tile + // + this.center_water_tile.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("center_water_tile.BackgroundImage"))); + this.center_water_tile.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.center_water_tile.Location = new System.Drawing.Point(78, 112); + this.center_water_tile.Name = "center_water_tile"; + this.center_water_tile.Size = new System.Drawing.Size(64, 64); + this.center_water_tile.TabIndex = 19; + this.center_water_tile.UseVisualStyleBackColor = true; + this.center_water_tile.Click += new System.EventHandler(this.center_water_tile_Click); + // + // e_water_tile + // + this.e_water_tile.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("e_water_tile.BackgroundImage"))); + this.e_water_tile.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.e_water_tile.Location = new System.Drawing.Point(148, 112); + this.e_water_tile.Name = "e_water_tile"; + this.e_water_tile.Size = new System.Drawing.Size(64, 64); + this.e_water_tile.TabIndex = 20; + this.e_water_tile.UseVisualStyleBackColor = true; + this.e_water_tile.Click += new System.EventHandler(this.e_water_tile_Click); + // + // s_water_tile + // + this.s_water_tile.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("s_water_tile.BackgroundImage"))); + this.s_water_tile.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.s_water_tile.Location = new System.Drawing.Point(78, 181); + this.s_water_tile.Name = "s_water_tile"; + this.s_water_tile.Size = new System.Drawing.Size(64, 64); + this.s_water_tile.TabIndex = 22; + this.s_water_tile.UseVisualStyleBackColor = true; + this.s_water_tile.Click += new System.EventHandler(this.s_water_tile_Click); + // + // sw_angular_water_tile + // + this.sw_angular_water_tile.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("sw_angular_water_tile.BackgroundImage"))); + this.sw_angular_water_tile.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.sw_angular_water_tile.Location = new System.Drawing.Point(8, 346); + this.sw_angular_water_tile.Name = "sw_angular_water_tile"; + this.sw_angular_water_tile.Size = new System.Drawing.Size(64, 64); + this.sw_angular_water_tile.TabIndex = 21; + this.sw_angular_water_tile.UseVisualStyleBackColor = true; + this.sw_angular_water_tile.Click += new System.EventHandler(this.sw_angular_water_tile_Click); + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(5, 256); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(87, 13); + this.label2.TabIndex = 28; + this.label2.Text = "Angular borders :"; + // + // se_angular_water_tile + // + this.se_angular_water_tile.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("se_angular_water_tile.BackgroundImage"))); + this.se_angular_water_tile.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.se_angular_water_tile.Location = new System.Drawing.Point(78, 346); + this.se_angular_water_tile.Name = "se_angular_water_tile"; + this.se_angular_water_tile.Size = new System.Drawing.Size(64, 64); + this.se_angular_water_tile.TabIndex = 23; + this.se_angular_water_tile.UseVisualStyleBackColor = true; + this.se_angular_water_tile.Click += new System.EventHandler(this.se_angular_water_tile_Click); + // + // se_diagonal_water_tile + // + this.se_diagonal_water_tile.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("se_diagonal_water_tile.BackgroundImage"))); + this.se_diagonal_water_tile.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.se_diagonal_water_tile.Location = new System.Drawing.Point(148, 182); + this.se_diagonal_water_tile.Name = "se_diagonal_water_tile"; + this.se_diagonal_water_tile.Size = new System.Drawing.Size(64, 64); + this.se_diagonal_water_tile.TabIndex = 27; + this.se_diagonal_water_tile.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.se_diagonal_water_tile.UseVisualStyleBackColor = true; + this.se_diagonal_water_tile.Click += new System.EventHandler(this.se_diagonal_water_tile_Click); + // + // ne_diagonal_water_tile + // + this.ne_diagonal_water_tile.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("ne_diagonal_water_tile.BackgroundImage"))); + this.ne_diagonal_water_tile.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.ne_diagonal_water_tile.Location = new System.Drawing.Point(148, 42); + this.ne_diagonal_water_tile.Name = "ne_diagonal_water_tile"; + this.ne_diagonal_water_tile.Size = new System.Drawing.Size(64, 64); + this.ne_diagonal_water_tile.TabIndex = 25; + this.ne_diagonal_water_tile.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.ne_diagonal_water_tile.UseVisualStyleBackColor = true; + this.ne_diagonal_water_tile.Click += new System.EventHandler(this.ne_diagonal_water_tile_Click); + // + // sw_diagonal_water_tile + // + this.sw_diagonal_water_tile.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("sw_diagonal_water_tile.BackgroundImage"))); + this.sw_diagonal_water_tile.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.sw_diagonal_water_tile.Location = new System.Drawing.Point(8, 181); + this.sw_diagonal_water_tile.Name = "sw_diagonal_water_tile"; + this.sw_diagonal_water_tile.Size = new System.Drawing.Size(64, 64); + this.sw_diagonal_water_tile.TabIndex = 26; + this.sw_diagonal_water_tile.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.sw_diagonal_water_tile.UseVisualStyleBackColor = true; + this.sw_diagonal_water_tile.Click += new System.EventHandler(this.sw_diagonal_water_tile_Click); + // + // nw_diagonal_water_tile + // + this.nw_diagonal_water_tile.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("nw_diagonal_water_tile.BackgroundImage"))); + this.nw_diagonal_water_tile.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.nw_diagonal_water_tile.Location = new System.Drawing.Point(8, 42); + this.nw_diagonal_water_tile.Name = "nw_diagonal_water_tile"; + this.nw_diagonal_water_tile.Size = new System.Drawing.Size(64, 64); + this.nw_diagonal_water_tile.TabIndex = 24; + this.nw_diagonal_water_tile.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.nw_diagonal_water_tile.UseVisualStyleBackColor = true; + this.nw_diagonal_water_tile.Click += new System.EventHandler(this.nw_diagonal_water_tile_Click); + // + // cb_tileVariation + // + this.cb_tileVariation.AutoSize = true; + this.cb_tileVariation.Location = new System.Drawing.Point(369, 260); + this.cb_tileVariation.Name = "cb_tileVariation"; + this.cb_tileVariation.Size = new System.Drawing.Size(138, 17); + this.cb_tileVariation.TabIndex = 24; + this.cb_tileVariation.Text = "Randomize tile variation"; + this.cb_tileVariation.UseVisualStyleBackColor = true; + this.cb_tileVariation.CheckedChanged += new System.EventHandler(this.cb_tileVariation_CheckedChanged); + // + // TerrainBrushEditor + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(511, 486); + this.Controls.Add(this.cb_tileVariation); + this.Controls.Add(this.tabControl1); + this.Controls.Add(this.lbl_elevation_count); + this.Controls.Add(this.lbl_elevation); + this.Controls.Add(this.slider_elevation); + this.Controls.Add(this.lbl_size_count); + this.Controls.Add(this.lbl_brush); + this.Controls.Add(this.btn_brush); + this.Controls.Add(this.btn_normal_click); + this.Controls.Add(this.slider_thickness); + this.Name = "TerrainBrushEditor"; + this.Text = "TerrainBrushEditor"; + this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.TerrainBrushEditor_FormClosed); + ((System.ComponentModel.ISupportInitialize)(this.slider_thickness)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.slider_elevation)).EndInit(); + this.tabControl1.ResumeLayout(false); + this.tabPage1.ResumeLayout(false); + this.tabPage1.PerformLayout(); + this.tabPage2.ResumeLayout(false); + this.tabPage2.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Button nw_rounded_tile; + private System.Windows.Forms.Button n_tile; + private System.Windows.Forms.Button ne_rounded_tile; + private System.Windows.Forms.Button w_tile; + private System.Windows.Forms.Button middle_tile; + private System.Windows.Forms.Button e_tile; + private System.Windows.Forms.Button sw_rounded_tile; + private System.Windows.Forms.Button s_tile; + private System.Windows.Forms.Button se_rounded_tile; + private System.Windows.Forms.Button nw_angular_tile; + private System.Windows.Forms.Button ne_angular_tile; + private System.Windows.Forms.Button sw_angular_tile; + private System.Windows.Forms.Button se_angular_tile; + private System.Windows.Forms.Label lbl_angular_borders; + private System.Windows.Forms.Label lbl_diagonal_borders; + private System.Windows.Forms.TrackBar slider_thickness; + private System.Windows.Forms.Button btn_normal_click; + private System.Windows.Forms.Button btn_brush; + private System.Windows.Forms.Label lbl_brush; + private System.Windows.Forms.Label lbl_size_count; + private System.Windows.Forms.Label lbl_elevation_count; + private System.Windows.Forms.Label lbl_elevation; + private System.Windows.Forms.TrackBar slider_elevation; + private System.Windows.Forms.TabControl tabControl1; + private System.Windows.Forms.TabPage tabPage1; + private System.Windows.Forms.TabPage tabPage2; + private System.Windows.Forms.Button nw_angular_water_tile; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Button n_water_tile; + private System.Windows.Forms.Button ne_angular_water_tile; + private System.Windows.Forms.Button w_water_tile; + private System.Windows.Forms.Button center_water_tile; + private System.Windows.Forms.Button e_water_tile; + private System.Windows.Forms.Button s_water_tile; + private System.Windows.Forms.Button sw_angular_water_tile; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Button se_angular_water_tile; + private System.Windows.Forms.Button se_diagonal_water_tile; + private System.Windows.Forms.Button ne_diagonal_water_tile; + private System.Windows.Forms.Button sw_diagonal_water_tile; + private System.Windows.Forms.Button nw_diagonal_water_tile; + private System.Windows.Forms.Button dr_dirt_inside; + private System.Windows.Forms.Button tr_dirt_inside; + private System.Windows.Forms.Button dl_dirt_inside; + private System.Windows.Forms.Button tl_dirt_inside; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Button dr_water_inside; + private System.Windows.Forms.Button tr_water_inside; + private System.Windows.Forms.Button dl_water_inside; + private System.Windows.Forms.Button tl_water_inside; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.CheckBox cb_tileVariation; + } +} \ No newline at end of file diff --git a/NHSE.WinForms/Subforms/Map/TerrainBrushEditor.cs b/NHSE.WinForms/Subforms/Map/TerrainBrushEditor.cs new file mode 100644 index 0000000..1a382a7 --- /dev/null +++ b/NHSE.WinForms/Subforms/Map/TerrainBrushEditor.cs @@ -0,0 +1,408 @@ +using NHSE.Core; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace NHSE.WinForms.Subforms.Map +{ + public partial class TerrainBrushEditor : Form + { + public PropertyGrid PG_TerrainTile; + private FieldItemEditor FIEWindow; + + public TrackBar Slider_thickness { get => slider_thickness; } + + public bool brushSelected; + + public bool randomizeVariation; + + public TerrainBrushEditor(PropertyGrid pG_TerrainTile, FieldItemEditor fieWindow) + { + InitializeComponent(); + this.PG_TerrainTile = pG_TerrainTile; + this.FIEWindow = fieWindow; + } + + #region Tiles buttons + + #region Dirt tiles + + private void nw_rounded_tile_Click(object sender, EventArgs e) + { + TerrainTile newTile = new TerrainTile(); + newTile.UnitModel = TerrainUnitModel.Cliff3B; + newTile.LandMakingAngle = 0; + newTile.Elevation = (ushort)slider_elevation.Value; + + PG_TerrainTile.SelectedObject = newTile; + } + + private void n_tile_Click(object sender, EventArgs e) + { + TerrainTile newTile = new TerrainTile(); + newTile.UnitModel = TerrainUnitModel.Cliff5B; + newTile.LandMakingAngle = 3; + newTile.Elevation = (ushort)slider_elevation.Value; + + PG_TerrainTile.SelectedObject = newTile; + } + + private void ne_rounded_tile_Click(object sender, EventArgs e) + { + TerrainTile newTile = new TerrainTile(); + newTile.UnitModel = TerrainUnitModel.Cliff3B; + newTile.LandMakingAngle = 3; + newTile.Elevation = (ushort)slider_elevation.Value; + + PG_TerrainTile.SelectedObject = newTile; + } + + private void w_tile_Click(object sender, EventArgs e) + { + TerrainTile newTile = new TerrainTile(); + newTile.UnitModel = TerrainUnitModel.Cliff5B; + newTile.LandMakingAngle = 0; + newTile.Elevation = (ushort)slider_elevation.Value; + + PG_TerrainTile.SelectedObject = newTile; + } + + private void middle_tile_Click(object sender, EventArgs e) + { + TerrainTile newTile = new TerrainTile(); + newTile.Elevation = (ushort)slider_elevation.Value; + + PG_TerrainTile.SelectedObject = newTile; + } + + private void e_tile_Click(object sender, EventArgs e) + { + TerrainTile newTile = new TerrainTile(); + newTile.UnitModel = TerrainUnitModel.Cliff5B; + newTile.LandMakingAngle = 2; + newTile.Elevation = (ushort)slider_elevation.Value; + + PG_TerrainTile.SelectedObject = newTile; + } + + private void sw_rounded_tile_Click(object sender, EventArgs e) + { + TerrainTile newTile = new TerrainTile(); + newTile.UnitModel = TerrainUnitModel.Cliff3B; + newTile.LandMakingAngle = 1; + newTile.Elevation = (ushort)slider_elevation.Value; + + PG_TerrainTile.SelectedObject = newTile; + } + + private void s_tile_Click(object sender, EventArgs e) + { + TerrainTile newTile = new TerrainTile(); + newTile.UnitModel = TerrainUnitModel.Cliff5B; + newTile.LandMakingAngle = 1; + newTile.Elevation = (ushort)slider_elevation.Value; + + PG_TerrainTile.SelectedObject = newTile; + } + + private void se_rounded_tile_Click(object sender, EventArgs e) + { + TerrainTile newTile = new TerrainTile(); + newTile.UnitModel = TerrainUnitModel.Cliff3B; + newTile.LandMakingAngle = 2; + newTile.Elevation = (ushort)slider_elevation.Value; + + PG_TerrainTile.SelectedObject = newTile; + } + + private void nw_angular_tile_Click(object sender, EventArgs e) + { + TerrainTile newTile = new TerrainTile(); + newTile.UnitModel = TerrainUnitModel.Cliff3C; + newTile.Elevation = (ushort)slider_elevation.Value; + + PG_TerrainTile.SelectedObject = newTile; + } + + private void ne_angular_tile_Click(object sender, EventArgs e) + { + TerrainTile newTile = new TerrainTile(); + newTile.UnitModel = TerrainUnitModel.Cliff3C; + newTile.LandMakingAngle = 3; + newTile.Elevation = (ushort)slider_elevation.Value; + + PG_TerrainTile.SelectedObject = newTile; + } + + private void sw_angular_tile_Click(object sender, EventArgs e) + { + TerrainTile newTile = new TerrainTile(); + newTile.UnitModel = TerrainUnitModel.Cliff3C; + newTile.LandMakingAngle = 1; + newTile.Elevation = (ushort)slider_elevation.Value; + + PG_TerrainTile.SelectedObject = newTile; + } + + private void se_angular_tile_Click(object sender, EventArgs e) + { + TerrainTile newTile = new TerrainTile(); + newTile.UnitModel = TerrainUnitModel.Cliff3C; + newTile.LandMakingAngle = 2; + newTile.Elevation = (ushort)slider_elevation.Value; + + PG_TerrainTile.SelectedObject = newTile; + } + + private void tr_dirt_inside_Click(object sender, EventArgs e) + { + TerrainTile newTile = new TerrainTile(); + newTile.UnitModel = TerrainUnitModel.Cliff7A; + newTile.LandMakingAngle = 2; + newTile.Elevation = (ushort)slider_elevation.Value; + + PG_TerrainTile.SelectedObject = newTile; + } + + private void dl_dirt_inside_Click(object sender, EventArgs e) + { + TerrainTile newTile = new TerrainTile(); + newTile.UnitModel = TerrainUnitModel.Cliff7A; + newTile.Elevation = (ushort)slider_elevation.Value; + + PG_TerrainTile.SelectedObject = newTile; + } + + private void dr_dirt_inside_Click(object sender, EventArgs e) + { + TerrainTile newTile = new TerrainTile(); + newTile.UnitModel = TerrainUnitModel.Cliff7A; + newTile.LandMakingAngle = 1; + newTile.Elevation = (ushort)slider_elevation.Value; + + PG_TerrainTile.SelectedObject = newTile; + } + + #endregion Dirt tiles + + #region Water tiles + + private void nw_diagonal_water_tile_Click(object sender, EventArgs e) + { + TerrainTile newTile = new TerrainTile(); + newTile.UnitModel = TerrainUnitModel.River3B; + newTile.Elevation = (ushort)slider_elevation.Value; + + PG_TerrainTile.SelectedObject = newTile; + } + + private void n_water_tile_Click(object sender, EventArgs e) + { + TerrainTile newTile = new TerrainTile(); + newTile.UnitModel = TerrainUnitModel.River5B; + newTile.LandMakingAngle = 3; + newTile.Elevation = (ushort)slider_elevation.Value; + + PG_TerrainTile.SelectedObject = newTile; + } + + private void ne_diagonal_water_tile_Click(object sender, EventArgs e) + { + TerrainTile newTile = new TerrainTile(); + newTile.UnitModel = TerrainUnitModel.River3B; + newTile.LandMakingAngle = 3; + newTile.Elevation = (ushort)slider_elevation.Value; + + PG_TerrainTile.SelectedObject = newTile; + } + + private void w_water_tile_Click(object sender, EventArgs e) + { + TerrainTile newTile = new TerrainTile(); + newTile.UnitModel = TerrainUnitModel.River5B; + newTile.Elevation = (ushort)slider_elevation.Value; + + PG_TerrainTile.SelectedObject = newTile; + } + + private void center_water_tile_Click(object sender, EventArgs e) + { + TerrainTile newTile = new TerrainTile(); + newTile.UnitModel = TerrainUnitModel.River8A; + newTile.Elevation = (ushort)slider_elevation.Value; + + PG_TerrainTile.SelectedObject = newTile; + } + + private void e_water_tile_Click(object sender, EventArgs e) + { + TerrainTile newTile = new TerrainTile(); + newTile.UnitModel = TerrainUnitModel.River5B; + newTile.LandMakingAngle = 2; + newTile.Elevation = (ushort)slider_elevation.Value; + + PG_TerrainTile.SelectedObject = newTile; + } + + private void sw_diagonal_water_tile_Click(object sender, EventArgs e) + { + TerrainTile newTile = new TerrainTile(); + newTile.UnitModel = TerrainUnitModel.River3B; + newTile.LandMakingAngle = 1; + newTile.Elevation = (ushort)slider_elevation.Value; + + PG_TerrainTile.SelectedObject = newTile; + } + + private void s_water_tile_Click(object sender, EventArgs e) + { + TerrainTile newTile = new TerrainTile(); + newTile.UnitModel = TerrainUnitModel.River5B; + newTile.LandMakingAngle = 1; + newTile.Elevation = (ushort)slider_elevation.Value; + + PG_TerrainTile.SelectedObject = newTile; + } + + private void se_diagonal_water_tile_Click(object sender, EventArgs e) + { + TerrainTile newTile = new TerrainTile(); + newTile.UnitModel = TerrainUnitModel.River3B; + newTile.LandMakingAngle = 2; + newTile.Elevation = (ushort)slider_elevation.Value; + + PG_TerrainTile.SelectedObject = newTile; + } + + private void nw_angular_water_tile_Click(object sender, EventArgs e) + { + TerrainTile newTile = new TerrainTile(); + newTile.UnitModel = TerrainUnitModel.River3C; + newTile.Elevation = (ushort)slider_elevation.Value; + + PG_TerrainTile.SelectedObject = newTile; + } + + private void ne_angular_water_tile_Click(object sender, EventArgs e) + { + TerrainTile newTile = new TerrainTile(); + newTile.UnitModel = TerrainUnitModel.River3C; + newTile.LandMakingAngle = 3; + newTile.Elevation = (ushort)slider_elevation.Value; + + PG_TerrainTile.SelectedObject = newTile; + } + + private void sw_angular_water_tile_Click(object sender, EventArgs e) + { + TerrainTile newTile = new TerrainTile(); + newTile.UnitModel = TerrainUnitModel.River3C; + newTile.LandMakingAngle = 1; + newTile.Elevation = (ushort)slider_elevation.Value; + + PG_TerrainTile.SelectedObject = newTile; + } + + private void se_angular_water_tile_Click(object sender, EventArgs e) + { + TerrainTile newTile = new TerrainTile(); + newTile.UnitModel = TerrainUnitModel.River3C; + newTile.LandMakingAngle = 2; + newTile.Elevation = (ushort)slider_elevation.Value; + + PG_TerrainTile.SelectedObject = newTile; + } + + private void tl_dirt_inside_Click(object sender, EventArgs e) + { + TerrainTile newTile = new TerrainTile(); + newTile.UnitModel = TerrainUnitModel.Cliff7A; + newTile.LandMakingAngle = 3; + newTile.Elevation = (ushort)slider_elevation.Value; + + PG_TerrainTile.SelectedObject = newTile; + } + + private void tl_water_inside_Click(object sender, EventArgs e) + { + TerrainTile newTile = new TerrainTile(); + newTile.UnitModel = TerrainUnitModel.River7A; + newTile.LandMakingAngle = 3; + newTile.Elevation = (ushort)slider_elevation.Value; + + PG_TerrainTile.SelectedObject = newTile; + } + + private void tr_water_inside_Click(object sender, EventArgs e) + { + TerrainTile newTile = new TerrainTile(); + newTile.UnitModel = TerrainUnitModel.River7A; + newTile.LandMakingAngle = 2; + newTile.Elevation = (ushort)slider_elevation.Value; + + PG_TerrainTile.SelectedObject = newTile; + } + + private void dl_water_inside_Click(object sender, EventArgs e) + { + TerrainTile newTile = new TerrainTile(); + newTile.UnitModel = TerrainUnitModel.River7A; + newTile.Elevation = (ushort)slider_elevation.Value; + + PG_TerrainTile.SelectedObject = newTile; + } + + private void dr_water_inside_Click(object sender, EventArgs e) + { + TerrainTile newTile = new TerrainTile(); + newTile.UnitModel = TerrainUnitModel.River7A; + newTile.LandMakingAngle = 1; + newTile.Elevation = (ushort)slider_elevation.Value; + + PG_TerrainTile.SelectedObject = newTile; + } + + #endregion Water tiles + + #endregion Tiles buttons + + private void slider_thickness_ValueChanged(object sender, EventArgs e) + { + lbl_size_count.Text = slider_thickness.Value.ToString(); + } + + private void slider_elevation_ValueChanged(object sender, EventArgs e) + { + lbl_elevation_count.Text = slider_elevation.Value.ToString(); + TerrainTile currentTile = (TerrainTile)PG_TerrainTile.SelectedObject; + currentTile.Elevation = (ushort)slider_elevation.Value; + PG_TerrainTile.SelectedObject = currentTile; + } + + private void btn_brush_Click(object sender, EventArgs e) + { + brushSelected = true; + } + + private void TerrainBrushEditor_FormClosed(object sender, FormClosedEventArgs e) + { + brushSelected = false; + } + + private void btn_normal_click_Click(object sender, EventArgs e) + { + brushSelected = false; + } + + private void cb_tileVariation_CheckedChanged(object sender, EventArgs e) + { + randomizeVariation = cb_tileVariation.Checked; + } + } +} \ No newline at end of file diff --git a/NHSE.WinForms/Subforms/Map/TerrainBrushEditor.resx b/NHSE.WinForms/Subforms/Map/TerrainBrushEditor.resx new file mode 100644 index 0000000..a7959a5 --- /dev/null +++ b/NHSE.WinForms/Subforms/Map/TerrainBrushEditor.resx @@ -0,0 +1,448 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAANJJREFUWEft + kkEKwkAMRT2Se6/SnTtP4MaT1EsICq48gcfwDG5jMiQwIylp2ilhYD68UtLm/w8zu0gdRwB+jVEv0NXv + QC9QpcDptS+whP+AEF6A4LFfFJZjicI0+LNfuLy6wKojQIPFwUKbBXCxYEoUYNF2gSnlARbhBQhemy9c + Ugvkph54fb5wqVqBKkeQG3ppq8DzOiQuj0NCM/TSVoH3/ZzAEkBohl7CCxBsb0uCv59bQjNbAtvb2qKA + 9xJuU4AeAmcVM5lT+P9cyA2teTkD+AEK/VymHh4LtQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAHRJREFUWEft + lEEKwCAMBPMk/+StX/Ivfi3tCoUectFCVnCFySGrOGDQanM30hp3S+ApVMJmJiiaAb7A1YstgHO/2EqA + whCIgizoAoD6BIA/AxKQQBRkQRcA1CcAGkIJ8AWiIJOz/4E9ZgDl5Rus9mf21uZ+A370sqxy3sgYAAAA + AElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAALBJREFUWEft + ktENgCAMRBnJnfxzJXdxNWzNQVQKiDRBIpe8xFSvvKhmXq01LTMESKCaqkgLS6kKLRj/QHuBZZskTAq1 + fFngAh7XF2kuwMtLQC0QcRSHSuJBMVDjNxcczhTn6Se4g7oPzd6JdCvgwBofmv1MwIF1XsCRTXMBLmuC + tR0JaH0CgSEwBA5oP06KRCppIgnwzM+lkiZZAboQi1r0IXDmVHw0T93DLDgDM8LaHcL21oKZfDHMAAAA + AElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAALdJREFUWEft + jrENwkAMRTNSOsZggXR0dOxCBzNEoqOizSLMQHv4205kWSfEkeJEzl96J90v/F93uKRkwN933N+vg+8W + jo+e+ab3XWdDBWNDw9xBALyeN2Y+tIbqAkBnJM0J0N0Q+AOBaTxtVwDojCQn4Ic3JUBbIVAukDv0K9UF + gM5ImhOgrRAIgboCQGckzQnQVgjUFQA6I2lOgLbKBfbnHZM7WAoL4DHMErZbBHwP7LFPXb5P6Q1Ekiip + tp7kbQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAG5JREFUWEft + k8EJwDAMAztSduqvK2WXruYigyEPUwgEKxA97iPlcRDrurtZ8LzNGbPZfOYtcIEoq3GBrKiCLgCoXwD4 + NyABukBWVEEXAJqhBLQCrUACZ88QnD3DPW6ALpAVlegI9xAIxuIvW5ebfR7akqzxTGdRAAAAAElFTkSu + QmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAL5JREFUWEft + lLENgzAQRTMSXcZgAbp0mYeOLJEuVabJDGnNcfKXkPOVYHyRbWGkh46P7vs1cLpMzq25Pjtla/7tnc8+ + zvCZ5npDwT9YDgovCOCBLlrxU4AtWVK+gAx00YomkE2gH89K+QJs2YLHbVDKF5CBFqTSBOoRYMsW1CMg + Ay1I5bgC+AXXI8BKUni/7ko9AjLQor00gWgBVpJCNgF8ftECMtDCWLIL4OBdAmtQuDXHu+XQMIdAmPtM + cG4GH+MqDktBIcAAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAN9JREFUWEfV + kjEOwjAMRXskNo7BBdjY2Nh6EDY4AxISQydWlh6DM7AGEvlLAdkkbdI4edJbUsl+ktvtTsbAjvDfrMN5 + a17P69cb3N9XztCb9E4rZexyBPhiWIpJAZvj2skNjrXtAMgNniKtkak+IOUUWU6gHgDnhLQR8LgcnEuF + 0BoZ9YDPUhgVAGNCYv+BOgLGW+/MGdJGAFgqhMaHUQ8AOUMmnQCoBwApBHLLfW1E2wHARghGhdCY+fws + 9S0TEOJfSJYThFAPAFyIeoCVPpcDIZCey+EvL3oCjgoCjHkDaXNIgOzvzCwAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAKhJREFUWEdj + SJ79/z8MZ+0zAGNCYtQUBzsAJklvPOoAsAOwSdATD7wDRtPAqAOwSdATj+aCUQeM5oLRXDA4HOA/xRyO + sSmkFR5wBzCAwLcnG/8jY2TH0AMPqAPgUYDuCHrhke2AHXNiIA7AlhDpgUEOAGEGGAObIkowzFxcGOh7 + UOgzgKMAJIDNEEowuoXo+Pi6QrDdYALEwaaIEgwyE2ouTjwIHPD/PwBhQEHYepTbEQAAAABJRU5ErkJg + gg== + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAANBJREFUWEfl + kUEKwjAQRedI7jyGF3DnzhN4kO70EoILV57AY3iGbmN/6IcSQhLspJPgh1/CBPJeGTldnVv2/Nr5ls5T + d8/b0cmUcI4Z4s/48AHNAk6BZLQFDsPetx+B2CO/lODxc/ftR2DtCkLw/wjkwFMFzcZcIPZ4qmpgJgZJ + VV2gdAXqYKZ5gRz4/bgI2q9ADIpWBzMxOLqZQLiCHJhAdnWaECC0BKyeJdxEIASy1cEMVtCUAMHzdf00 + I7A5mDH7c8YMzGAF5gLz0Sa2AiJfZ5gW6v4DgG0AAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAMFJREFUWEft + ksEJwmAMhR2pA3nz5gTuYpcQPHhyAsdwBq9pkiaQQqjmb2us/R98UgJ97wO7y8zhDCCPOdmGAI6Msni8 + UUtqUKB+hPMJHO9NmHULYAFMJV2AkLp4vLISpC4eryxK/QaKBPBFxS2NUAXSBQip/Tz40v8IFP0Ft3YP + hFcYZV0COKpsTECHH9cTs6gAHhgbGtf73AKEzPQZE9Dh1/PCeGUlyEyfbwtg7w8I0I9BJeyN7zTu3Blb + +O4+vAF0ur+3ofvv9eQAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAI9JREFUWEft + kksKgDAMRHskD+TOnVfSg7jyajGUCEKnfuhAimTgbSLTPGnTtIgkz4SACjTTFHTgV5qiB8Qb8BeY9wGR + 7qClZwEKtqYedwFUYmJr6kElJramnngDIfB7gW0dM7auDCox6V/A/QpCIARQiQkS0J/O5KASk0cBjyvo + T+DKWXw7v/tms2KHzRSRA53H1e+X+l40AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAMlJREFUWEft + lDEKwzAMRXOkbj1GLtAtW7fepVt6hkK3Tl1zkZ6hqyq5EgiRUGM7EU7y4UFsyNcDO2m6HkBBa7sHz9sJ + Pu9HeD6/Dknod3V3o4MbAR0aLgKELs1lF3AXIHjML5sTwFm7QAUCw/0S9kRkrCgHHjMddwEcOpsA9lYi + wASB9nosRh0CEhGQz7EUXP8/qxRwP4IkgVzqFZgKlkZhf+kC16SHymOYTSA2JGEpcgSxcRcYy+ICdAcs + i8ZdwAYFNnYHbLoe4AuhXv5kSpW3kgAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAANVJREFUWEft + lUEOgkAMRedI7jyGF3Dnzh13cadnMHHnyq0X8Qxssa1tgtA4wrSBJvOTR8jA/L4ACelw7ro+x8eGmLre + vm6jawD2j2bwGq3TQUpKQYn7ZU88r40MScN8rVsKICIABBHQSkqIJwAnatFcqkBfANGyLgGtpAQR+LT/ + Ea2khMkCXq+A6/NZjcDutDUhnoBsxF+pBfEE8BVoRXOJKSCbLOH6fLTNFnB9PvAEskAh3+0QGIDGNOQX + bkEBPl0mVQA/shyu0QYOcQ0MqN/AggIpvQHY5bR6btS67gAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGPC/xhBQAAAJ1JREFUSEvd + k0kOwyAQBOH/T+ZAUnRLMY4dxZ7hkJRkwSyqFgeXv6f7XAYBS0M6cKrMZwQAd7Vysb731tqSEOtf1FpT + Q6ydoa9xHCvfYaaVGNYdw1xr97HqHHa0eg9rPsOe1q9jxQz9k+8yVs7Q1ziOlZJuoR4bQfayUQN3tWJM + fy73Lc9WOORIYH3eK/ZYL6jVzsX6Hw6ApfIvKeUB8ZRerSxQcEMAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAQlJREFUWEft + kLENwkAMRTNCRqGjygxULMEENKEC0aOUdGzAABSswEDhfmRHjjEpkrNTwJO+OBKf3neKn6Qsy5aO8UDO + oUdxJGm9dIFeHl4gCQfbL1FgIE+p6ZU/hjxue0ueErO9Ie5Cr32xxBT/7Q1pHxrxw5KK+G5vCAehMR8s + oYrf9obsIzSan+Ph3CKWlEOj+WH5WAkanc/rfmll8EwX0CW6iznQchm8lwWqqoqTczAHMae7OIXdY9Vf + 3jRrU2YF87PlEKIAfvlsyXSet9N0qYSlMiwZ+xrZCgBIrSKQfJNnLWDJ9fZchuXX/TZfAaDlLNL/XeQM + RPpraLGbXCJL4Bwm/hNHUbwBwb/n5ZFhMTIAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAURJREFUWEfV + kz1uwzAMhXWkHKhAhmzduvUwuUILBOjQqWuW5hY5Q1eXZPQMiiYdqXX884APkCmZ79m00/5y7cDz107Q + tdZ6dPbz+CTYugTATY8EAZKVd7iGn+tpFBiCQ/eWmIG85jV4ppoogEbUOgLPjKkxtDw0wPn9JTG0FgpT + rdoAniljDWEEY2i7ASJDwE2/P157w8goDOCZamoCjAHZ616eKRMZ6+b/RRSNIAqAWdO6b8RrSDfHOkJk + A0TGfAOMYVg0yvJqrKi+rQAwhrymkVFUH3yEYwFasIrqYYC/GrcgikZgA9C6GMGgUZau30OEANYYv1tx + WGmq+noDEPLKWxu21pcPwOY6AA7OwToCYAR49bxBQW6bpOKw0lT1dQRgY/3L0XXenSGAfvK5WUcAjIAo + N7K8GmuqugTIy2W0bICUfgFsM8lZ5OSoNQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAL1JREFUWEft + k8ENgzAMRTMSG3Hgxm5doRuwBXukdRUDTn+aUBwDUp70LhGKn+Tg+mn27kwuETA+O9KR5oThfvAPZ6Xg + 9IB4BawZmwARYkYLaAHRcPg7VqUkQFtBbgXogqMK2iNsAakAtjph6GL21WoTB7AoREsBWAH7WQG64KiC + HwHs8h5Ide4QwIqQ2L+5U0BKGJTyi/churRY9MpzCtClNUwGKKygSDicsApgw9gVCmD5o+3Z3vM93/bT + 7F+fijm3FuocYAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAARNJREFUWEfl + lDEOwjAQBPMkHoREQUdHx2P4AkhIFFS0NPALv4E2ZJ1sdFhnYsA4B6y0UrwX+0a5JNXs4mp6Xm+qw3ra + r+mr23mHOb04TrxT8jCrpAgAs2nMPOgdqwDweb/qQT4N1LVuZQagadj7tF0yyw4UHQEa06MASAFCggEI + zgHyHQCQzAEB40V95mU1CQD7Q6kUAAoQNOspozEF8NIINLEOmHA0GgT8mwAQIGBmMRATALDfRMmDpGI5 + pdWZmQbIMgLWwjqzR7/urAChmI8O0DSl/xwAY+jWdyDd7a2GDtM0tGd0AAoQWEuAIiOgzADA/CyLAfBa + mk/C30CxGCqWQyl7eC2tApRS01gfQWkZAHD1DSio9mQAUhOLAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAMRJREFUWEft + lcENgzAMRTtSN+qhN3ZjBTboFuwRbLAlJ9hUqmobQb70EEoC/4mAeGTm9ZkLneYkVWCYnjEC7zIe4h6t + VBIefPRMyjsgBEoX6ALhAvLzQwGEpmKSLoCB0pwtEMVdYN37+wiI4nwB+fkxtMwvWExUxQwt8wuUmAIu + WwA3trioANzIYlfYck4BmPgVteSInYD4VVZY4w1qyTeoektTpF7wb6h6S7SAugXaQi9WATwwLCDHEHmB + hjWvjddjc1kAfjDnH1HeFlkAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAPNJREFUWEft + ktENAiEQRCnJNvyzB//syAL8tAW70TbODLndEJgNIAdccr5kEm5YlpHV3d+XRXR+fLxCr9a3aq/L00Gx + 7w051FMSIIEVl+j2OvmGENYi5oV+AmteImn4q5TSEbAmLVJqApQ8K/OA5ZsB2EVYh7CmzAOWv/8AoKZp + Ta2HXQ7JgVYJ8bfS6+KclHgE2JTnbx2BrJkUK0BIcmiF+TW1nt0EwKVSNDRA+Mu3VIzldwuQk8JGEMI8 + IL5Vn5PSGiCm1v8HmB8Al0NSMErK9AAYAZ5/6n9gFwEAK7IObuXrxmgpbHOEFIxgXc7h4AGc+wJL4nBO + k7/SKwAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAPlJREFUWEft + lDEKwkAQRfdKHsNuGzs7T2ClF/AQAVtLrQS9gY3XiNdYGcjfDJMRNnEzjOCH14SQ/+DvJjRtTLvVIt2P + 60CYx43A47INhLkIlRObdA6W5NwOMRHWIjk0ARcwn0AKmJ8FNwIAIn8Bsyl4ORfgV2ZWgeXplYgSkZrk + 0ASuBWY/C24FAESe130gqou4EQCaBAEROcnXQrzchQDQJAiIAO2KlZAjJ3AjADQJDkQmT+NeAGjlHIiM + FvoZAYkmwZFC+JENon28BK2UIwU+3gLt41PQJDhSJGfqBBKtlAOBrrZPLYFSuto+JADwEn829vmYd5s2 + pjcDMbnwsOO6CgAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAPNJREFUWEft + ksENwjAQBF0SbfBLD/zoiAJ40gLdQBtBi73S6diLgsDOPTLSSmEv8Y1kyuUxzcxpvhXEdsjx+nzH90w0 + V73vioUC5/uh8MWeWRSwiXpEHfxN2upKGgGP6q0E57ZTy3zCK/Co3i7j3HZqoc9PAhY7txLo1GKmqwA7 + tZjpIkDYUSilANJer6iDQNQTNWdHgUikvV5RB4GoJ2rObklgyBWQXSClANLGFXUQiHqi5r5LIYDfdvlf + roAzP/dddwGP73eBlAJIG1fWHmZZ+00aAQTPWL7JFSCbCAB2wwX4bCP/A6OByKZ8XMFoEghM8wtTtV1x + vQJZswAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAQBJREFUWEfl + ljEKAjEQRT2SHsMujZ2dnZ2VXsBDCLaWCoKgla2Nx1CPYBuZ2fkQ1wkbNYlh/fC2iNm8z44L28mdw3LI + TAc9u7gaK8v58rMCEJ82EyZbgZFdq1ABQrali0/cX90Y2ZY+98uWcQtkGQFmT3LM/j8LQLyfG6b9BSB2 + 3/viChCyPV4gPu9mjE9cRIEkI0CBurj9BSD2/enaVwDCT8TFFCDkuPBAWH/N3hUDOTY8MQsEjQBC0PSo + gSasU2aBJmEMMSizwPjYZUKFQBM08VIAn865ChCiruJ+t2sSQjvkG0RdJXcBdQTaxlRwAboAFHDXCPcG + Dd/v2vrzmrEPgBv2BTppveAAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAL1JREFUWEft + k8ENwjAMRVkJJuHCBAzBBF2iO/TMpbuFJLUlx01DrBqMqL/0qsiVvp+U9mSZe5gCHG1yDIG4pMnHU1tK + MU0U8I9QT+BxOwcKjJv5DwFc+ByuBVRmC3OBBNTIgwV8sRSok0dDYNcVuIALbAlcxrmAv6eYCySgTh4u + wBf3AnXyaAioXEGtuBcXcIGVQBxkeGpzDYEE1C3pEcDFe/9/JJdivi0QO39AID0IuIzOWvMMLXw3L2dT + eAEBo25FgNXFAAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAKtJREFUWEft + lMEJhDAQRW1prcTLVmARVmAT9uB5L/Y2mg8Dw/APmoVJwAm8gJmf5MEEh1l2GRoN3J0C19QUuhhJmfIN + 9CGwfD9SA04ig2U9/QiUj986/YU/XGFZBQJ3gnewl1pYVoEAK0SCFrBCFE0F0IIU6EZg3I4q/KEKy3og + 8GQDw15qYVkPBFghErSAFaJoKoAWpEAKsEIk7/4P9PEGyqTYQu36k+wsu5y32Bq4H4qrsAAAAABJRU5E + rkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAKJJREFUWEft + ktEJgCAURV2pJumnCRqiCVqiHfzup91MQaHkUV5focl7cCAudDhQajLaqJInATaADesoIQrrrED+gfIB + 89jB+Nf5V0XAtgwwr4UUD6DkCOwQSorADsj9BDFeh58EVBHQrztMOwGUHOH/AbmfICAB1QRYjzeC92WA + 2x7DKClCTsBlp6QI7AD7QIpTaSPgTBCn7o4QEO9+u9m1OQDqINUMemAzWwAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAANBJREFUWEft + lTEOwjAMRXsluAUbCxI7h+AEXIKdsTNLz8PEHYLt9kvBstxEgpTQfOlV4g/fbyhqdwp9iODfuvN6YXsd + BN3vbg/B67o4VAg6cX8+bAJzv+wFHNfgkMdXBKxDHjKKVCGAw1rAGp+DNv9AwBpOpQksLsDIKJIioP+G + 1mgOMoqUFqDNJrByAUZGkRQBBCLWaA7T3JjSArTZBJrAsgLMNDemCgEc/oQAbVYssN5vwZzAcXhmIaNI + aQHa/IF3gB8ROBZ3Xv825nV234cXW5vp4szff5EAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAKpJREFUWEft + lMENgDAIRbueG3h3No/dwHk8uUMNJDWEEG0TCiT28C7wa18CNW0ll8qynwit9dZ7sgAK1KY1KCA1rHAX + AFxHAPjvwBRwF5AaVrgLAPGf4Xpcw8ARhBPgIdrTBgV40V3AmvivYCQ4gingLiA1LPn3M4yxA1yA/4or + NKMFCvCidDnAc1qk1ot4jiOdaQFH0PIhmpGQznwh7oAlj0CFNt5qevVcbnfgb04LZbZ8AAAAAElFTkSu + QmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAANJJREFUWEft + ljEOwjAMRbkS3IKNBYmdQ3ACLsHO2Jml52HiDsFO+CgtP5UTpEquaum1liv9/8ZuzqELObtbH7Helcf1 + oO+frM9t8h4f+/vzC4qsaDkExoOi8QzusgwESrBy5W8BVsZg5cpsAoBJKJfjNpJS05gEZKFFJVi5MpsA + WAWWI8DCa/AvIEs49a8irDRnGQIs2Ip/ARZag38BWWiwlVUAAvgxSalpfAiw0Bb8CshCA2tZBZoFWFgL + fgVkoYG1+BbIQaD1jm9aTr6hrHDvwhuUWQ84t/lAbAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAHdJREFUWEdj + SP6/9j8Mey59BsaExKgpDnYATJLeeNQBYAdgk6AnHngHjKYBEBGx582A4MHhAGxBQ088mgtGHTDwDsAm + QU88mgtGHTCgDgBhkAMGFGMVJAeTA4D6IFEA5dMdjDoA5oABxVgF6YlBxGgaGEAHrP0PAGtZ7S6agQxB + AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAALtJREFUWEft + krENgzAQRVmJbJEuTaT0GYIJskR6Smoa5qHKDsfZ8UnW5TAnC9mynS+9gl98P+nonjCBh/nmXaiH67ha + jrq9vvODhYXH74d7D4b5dbPQaAx/gSgByhkCBjf3TVECdAppVAtuFixAkYY1PJZP4wKEmwmnWgHcLEQg + FGlYSx0Cl/cCBukBDW4mPkULZD/BKQIU6YEj6hLQBB/8IWmyC/CgQNoT8LQnQHf3SZrsAjwo0PxPOMEG + sxbPKEfoE64AAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAANFJREFUWEft + kkEOwjAMBPs9fsCdt3HkB7yHE38oTnAkOywEbxSlh4y0JdpKY9N2u+y33eZ0feT825d78vvh0u5nny9F + 3pMkrCmDalwvByiMpjnI4Ho5QGE0zUEG1yMZEzQMdQnXIxkTNAx1CdfLIQvO9ycVu0CNG2RwvRzmL2BF + bNCgbxxrASRj8rYRIBkT1cVJrwAJo1FdnLXA9AWQjInq4iAZE9XFWd9A7wKq4UHSSFTDI0+gmaHIgP5/ + 0cNa4AgLNDMUNLDOUGTA+gYmLrBtL3K1KgqLkj9WAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAPBJREFUWEft + ksENwjAUQ7MSbMEASNwZgl24c2SDzsOJHdqfKF/6CSZJ2/wkh1oyRK7wc0vNfX7P0pfXx7k052v0/dPl + s2TuPrh8j21hLAbFCnI6wMJSn5+TcxYkFOR0gMWl3j0AlW4xgqHMKshR2RYjGMqsgpwOruA2fVeZwY/r + yTkLEgpyOvQfIAtLzWDfAUH/NNYAVJ4yg7lkDRgKQVKuPoAKICg2g/3P6mn4AWpgVvcBCGrNYPuSSVcX + glujASqiYgj2l/U1zIDmYFZ85/H/Lc8qYqB0UxGw/WOXOgaMMCBrVSFgbFUR4HgHOg4wZgFEuvj60Bpa + MAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAANlJREFUWEft + ksENgzAMRVmpnYRLJ+gQnaBLdAfOXLpbaqNYMtJPaBIH58CXnoQC8n8ymZ5hCZNnLgESaKYpaGApTaEB + 1x3wF3g9bn4SQwis73mTcBFxF+ByzekiKQHaDG8ni0lo0E6gRMQkNCgrED/rl5SA0F1kCIH75wvLNd1E + 3AW4XIPKNeYitQK0Od5enNIQ+QW1InFMfYYVEFC5plnESqD6PhwJCKhcgzbBUodiqAyBSjUlArtzVJYD + lTPVAvQAi1KgcuY0AcFUQCMF/54zIgDeSVnifAk/uEy1gXtaxNUAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAALxJREFUWEft + krENAjEMRW8l2IKOBomeIZiAJegpr6a5eajYwdghX7IMF10UESsXnvSL/CjOk5LhRCOpyNp2qZ621ylE + d7vbI0R3c/2g4SLE8q2/X/YkgQCG56RI4HzYkOQvUCIgiePeNCUASkR45goEsJcrcpyeKxGw5IrEY2ma + EgBLRHhmIwIlpET6EABzInH797gLAIhUfwLgLgBEoj8BvvAjVXEXsLCA3x8Q+hPAu+tUxV3AwgLdf8KR + XrVEbH8yCMf7AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAALlJREFUWEft + ldENQDAQhq3EJF5MYAgTWMIOnr3Yre7au+RC0VKtqD/5RU7T72tIFCnTqlHRbZrkIQCQwz4eG1Q2aUDg + /wh/gcwEALhp1Ehw15QKS4/iB+EgEl+ATz71dWYCEszNQ8AGfo0AlpaFzxm4GmZdWh4+LgKPvALXk39P + wAf8LYErYO5GAAbWf/TeHHNHAEvbmPgI3AVzaTuT2AKwp79AqJNjtQBeRBkmZ0dzXYav5xJkn41qAQpx + tq7mqcNnAAAAAElFTkSuQmCC + + + \ No newline at end of file