From cdc9aa1e50ddd59dc58adb1d35fe2e828cbadc8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20T=C5=AFma?= Date: Mon, 5 May 2025 22:38:17 +0200 Subject: [PATCH] Added support for multi (3 & 4) color buoys/beacons --- gpxsee.qrc | 28 ++++- icons/map/marine/beacon-black-red-black.png | Bin 0 -> 273 bytes .../map/marine/beacon-black-yellow-black.png | Bin 0 -> 274 bytes .../map/marine/beacon-green-red-green-red.png | Bin 0 -> 294 bytes icons/map/marine/beacon-green-red-green.png | Bin 0 -> 295 bytes .../marine/beacon-green-white-green-white.png | Bin 0 -> 295 bytes .../map/marine/beacon-red-green-red-green.png | Bin 0 -> 300 bytes icons/map/marine/beacon-red-green-red.png | Bin 0 -> 293 bytes .../map/marine/beacon-red-white-red-white.png | Bin 0 -> 288 bytes .../map/marine/beacon-white-yellow-white.png | Bin 0 -> 285 bytes .../map/marine/beacon-yellow-black-yellow.png | Bin 0 -> 282 bytes icons/map/marine/beacon-yellow-red-yellow.png | Bin 0 -> 286 bytes .../map/marine/beacon-yellow-white-yellow.png | Bin 0 -> 280 bytes icons/map/marine/buoy-black-red-black.png | Bin 0 -> 330 bytes icons/map/marine/buoy-black-yellow-black.png | Bin 0 -> 326 bytes icons/map/marine/buoy-green-red-green-red.png | Bin 0 -> 357 bytes icons/map/marine/buoy-green-red-green.png | Bin 0 -> 351 bytes .../marine/buoy-green-white-green-white.png | Bin 0 -> 353 bytes icons/map/marine/buoy-red-green-red-green.png | Bin 0 -> 353 bytes icons/map/marine/buoy-red-green-red.png | Bin 0 -> 351 bytes icons/map/marine/buoy-red-white-red-white.png | Bin 0 -> 348 bytes icons/map/marine/buoy-white-yellow-white.png | Bin 0 -> 331 bytes icons/map/marine/buoy-yellow-black-yellow.png | Bin 0 -> 330 bytes icons/map/marine/buoy-yellow-red-yellow.png | Bin 0 -> 348 bytes icons/map/marine/buoy-yellow-white-yellow.png | Bin 0 -> 337 bytes src/map/ENC/mapdata.cpp | 4 +- src/map/ENC/style.cpp | 102 +++++++++++------- 27 files changed, 91 insertions(+), 43 deletions(-) create mode 100644 icons/map/marine/beacon-black-red-black.png create mode 100644 icons/map/marine/beacon-black-yellow-black.png create mode 100644 icons/map/marine/beacon-green-red-green-red.png create mode 100644 icons/map/marine/beacon-green-red-green.png create mode 100644 icons/map/marine/beacon-green-white-green-white.png create mode 100644 icons/map/marine/beacon-red-green-red-green.png create mode 100644 icons/map/marine/beacon-red-green-red.png create mode 100644 icons/map/marine/beacon-red-white-red-white.png create mode 100644 icons/map/marine/beacon-white-yellow-white.png create mode 100644 icons/map/marine/beacon-yellow-black-yellow.png create mode 100644 icons/map/marine/beacon-yellow-red-yellow.png create mode 100644 icons/map/marine/beacon-yellow-white-yellow.png create mode 100644 icons/map/marine/buoy-black-red-black.png create mode 100644 icons/map/marine/buoy-black-yellow-black.png create mode 100644 icons/map/marine/buoy-green-red-green-red.png create mode 100644 icons/map/marine/buoy-green-red-green.png create mode 100644 icons/map/marine/buoy-green-white-green-white.png create mode 100644 icons/map/marine/buoy-red-green-red-green.png create mode 100644 icons/map/marine/buoy-red-green-red.png create mode 100644 icons/map/marine/buoy-red-white-red-white.png create mode 100644 icons/map/marine/buoy-white-yellow-white.png create mode 100644 icons/map/marine/buoy-yellow-black-yellow.png create mode 100644 icons/map/marine/buoy-yellow-red-yellow.png create mode 100644 icons/map/marine/buoy-yellow-white-yellow.png diff --git a/gpxsee.qrc b/gpxsee.qrc index b749a107..38b2b309 100644 --- a/gpxsee.qrc +++ b/gpxsee.qrc @@ -144,42 +144,66 @@ icons/map/marine/buoy-white-green.png icons/map/marine/buoy-white-red.png icons/map/marine/buoy-white-yellow.png + icons/map/marine/buoy-white-yellow-white.png icons/map/marine/buoy-green.png icons/map/marine/buoy-green-white.png + icons/map/marine/buoy-green-white-green-white.png icons/map/marine/buoy-green-black.png icons/map/marine/buoy-green-red.png + icons/map/marine/buoy-green-red-green.png + icons/map/marine/buoy-green-red-green-red.png icons/map/marine/buoy-red.png icons/map/marine/buoy-red-white.png + icons/map/marine/buoy-red-white-red-white.png icons/map/marine/buoy-red-black.png icons/map/marine/buoy-red-green.png + icons/map/marine/buoy-red-green-red.png + icons/map/marine/buoy-red-green-red-green.png icons/map/marine/buoy-yellow.png icons/map/marine/buoy-yellow-white.png + icons/map/marine/buoy-yellow-white-yellow.png icons/map/marine/buoy-yellow-black.png + icons/map/marine/buoy-yellow-black-yellow.png + icons/map/marine/buoy-yellow-red-yellow.png icons/map/marine/buoy-black-white.png icons/map/marine/buoy-black-red.png + icons/map/marine/buoy-black-red-black.png icons/map/marine/buoy-black-green.png icons/map/marine/buoy-black-yellow.png + icons/map/marine/buoy-black-yellow-black.png icons/map/marine/beacon.png icons/map/marine/beacon-white.png icons/map/marine/beacon-white-black.png icons/map/marine/beacon-white-green.png icons/map/marine/beacon-white-red.png - icons/map/marine/beacon-white-yellow.png + icons/map/marine/beacon-white-yellow.png + icons/map/marine/beacon-white-yellow-white.png icons/map/marine/beacon-green.png icons/map/marine/beacon-green-white.png + icons/map/marine/beacon-green-white-green-white.png icons/map/marine/beacon-green-black.png - icons/map/marine/beacon-green-red.png + icons/map/marine/beacon-green-red.png + icons/map/marine/beacon-green-red-green.png + icons/map/marine/beacon-green-red-green-red.png icons/map/marine/beacon-red.png icons/map/marine/beacon-red-white.png + icons/map/marine/beacon-red-white-red-white.png icons/map/marine/beacon-red-black.png icons/map/marine/beacon-red-green.png + icons/map/marine/beacon-red-green-red.png + icons/map/marine/beacon-red-green-red-green.png icons/map/marine/beacon-yellow.png icons/map/marine/beacon-yellow-white.png + icons/map/marine/beacon-yellow-white-yellow.png icons/map/marine/beacon-yellow-black.png + icons/map/marine/beacon-yellow-black-yellow.png + icons/map/marine/beacon-yellow-red-yellow.png icons/map/marine/beacon-black-white.png icons/map/marine/beacon-black-red.png + icons/map/marine/beacon-black-red-black.png icons/map/marine/beacon-black-green.png icons/map/marine/beacon-black-yellow.png + icons/map/marine/beacon-black-yellow-black.png icons/map/marine/rock-exposed.png icons/map/marine/rock-dangerous.png icons/map/marine/wreck.png diff --git a/icons/map/marine/beacon-black-red-black.png b/icons/map/marine/beacon-black-red-black.png new file mode 100644 index 0000000000000000000000000000000000000000..184d3746d9300e37abf02002b4aeb439c8825f53 GIT binary patch literal 273 zcmeAS@N?(olHy`uVBq!ia0vp@3=9n79Bd2>3>TIiZDe3zU`coMb!1@J*w6hZk(Ggg zfw4Hq-HGw$Nu7EI1_p&>k04(LhAK4%hK3dfhF=T}3=Jx zB_8+gmcJ+URYrBCl>X-(Hz(PIRjR00PLg}?DXtS4RPZceA*W!isvtv5fsL8^z3l7N PAQySM`njxgN@xNA-NRLZ literal 0 HcmV?d00001 diff --git a/icons/map/marine/beacon-black-yellow-black.png b/icons/map/marine/beacon-black-yellow-black.png new file mode 100644 index 0000000000000000000000000000000000000000..79522e14f287a7c6473f929fd4c48e8dc9b4fb72 GIT binary patch literal 274 zcmeAS@N?(olHy`uVBq!ia0vp@3=9n79Bd2>3>TIiZDe3zU`coMb!1@J*w6hZk(Ggg zfw4Hq-HGw$Nu7EI1_p&>k04(LhAK4%hK3dfhF=T}3=JEOFX5i%qgnPWVIimB+esV@af`p1t1N4I QCIoVlr>mdKI;Vst0PSsA_y7O^ literal 0 HcmV?d00001 diff --git a/icons/map/marine/beacon-green-red-green-red.png b/icons/map/marine/beacon-green-red-green-red.png new file mode 100644 index 0000000000000000000000000000000000000000..2736df0accb352f916995ac27ed48600485501d6 GIT binary patch literal 294 zcmeAS@N?(olHy`uVBq!ia0vp@3=9n79Bd2>3>TIiZDe3zU`coMb!1@J*w6hZk(Ggg zfw4Hq-HGw$Nu7EI1_p&>k04(LhAK4%hK3dfhF=T}3=JS#Zz?$tG(M=Fy5Vi=r{WfV6(!e2 z=1nSj!K>fTUnBVY$x@GnPrq)j+5I$rNy5il(eHO({bOBrJk47?ai?Wvr3!oHq*FyZ m;)331wx52`kx|;o@PP4Zj=PS}_6Pq!&h&Kkb6Mw<&;$S^(`T^& literal 0 HcmV?d00001 diff --git a/icons/map/marine/beacon-green-red-green.png b/icons/map/marine/beacon-green-red-green.png new file mode 100644 index 0000000000000000000000000000000000000000..f3c0bdea6f9a8f63f2bccc14d9acac505d525e3d GIT binary patch literal 295 zcmeAS@N?(olHy`uVBq!ia0vp@3=9n79Bd2>3>TIiZDe3zU`coMb!1@J*w6hZk(Ggg zfw4Hq-HGw$Nu7EI1_p&>k04(LhAK4%hK3dfhF=T}3=Jra{bh@3>TIiZDe3zU`coMb!1@J*w6hZk(Ggg zfw4Hq-HGw$Nu7EI1_p&>k04(LhAK4%hK3dfhF=T}3=Jw@;v+?GI)U8qT7uh6CNKf09 olQ-qboZ4c~X&r0LCU%@)z4h1YL;b^0caS?hUHx3vIVCg!0D_5Vu>b%7 literal 0 HcmV?d00001 diff --git a/icons/map/marine/beacon-red-green-red-green.png b/icons/map/marine/beacon-red-green-red-green.png new file mode 100644 index 0000000000000000000000000000000000000000..e33b743f11cff77f93f4b04ab116ea95dafe446b GIT binary patch literal 300 zcmeAS@N?(olHy`uVBq!ia0vp@3=9n79Bd2>3>TIiZDe3zU`coMb!1@J*w6hZk(Ggg zfw4Hq-HGw$Nu7EI1_p&>k04(LhAK4%hK3dfhF=T}3=J@7RQxi|Ck3x7#Uys$R=#I3Xm2R(wgm>E8sa<;MbFO_^{_d~Z+-zf3D z>eBqI+Z!VHFJZqQ!?5s)ivHQZ-v3lQg=|}&mM-i3@T)TK)~kPVYZgv@vFXMgiOMPl sCfi9>*46VSCH8G@U)1!}Uqz{i;lveRIpf!!KS7T5boFyt=akR{0DXF9!vFvP literal 0 HcmV?d00001 diff --git a/icons/map/marine/beacon-red-green-red.png b/icons/map/marine/beacon-red-green-red.png new file mode 100644 index 0000000000000000000000000000000000000000..e12f5e734ae4d3b475e797a60f95cf16865d941a GIT binary patch literal 293 zcmeAS@N?(olHy`uVBq!ia0vp@3=9n79Bd2>3>TIiZDe3zU`coMb!1@J*w6hZk(Ggg zfw4Hq-HGw$Nu7EI1_p&>k04(LhAK4%hK3dfhF=T}3=JeH`utDLyuQ+DY@=h|k248=K~LRM~*o=s=TVMoYj>9 zw>nD8+us(~CoK^?nYLq6p2@HC1@oJP9$tNYZ%gQ7>!{h)i%xIY`S92$53{G9TF!1q lCh06sXPK3>TIiZDe3zU`coMb!1@J*w6hZk(Ggg zfw4Hq-HGw$Nu7EI1_p&>k04(LhAK4%hK3dfhF=T}3=JqG`UKXcGY eSZSA+5<>)|Wv#Vgp(+E&%M6~belF{r5}E*JQe9jC literal 0 HcmV?d00001 diff --git a/icons/map/marine/beacon-white-yellow-white.png b/icons/map/marine/beacon-white-yellow-white.png new file mode 100644 index 0000000000000000000000000000000000000000..2e72f534a0cd01fb0dabc02dcf7f1ec5fb2f796e GIT binary patch literal 285 zcmeAS@N?(olHy`uVBq!ia0vp@3=9n79Bd2>3>TIiZDe3zU`coMb!1@J*w6hZk(Ggg zfw4Hq-HGw$Nu7EI1_p&>k04(LhAK4%hK3dfhF=T}3=JUMY?|5p(nDXqZ9b@&pDNjA6o-o?UK3905%9>su5pst; dZ2E~aZ`jOUS!#JqkUI`?ou{jx%Q~loCIFSxU|s+K literal 0 HcmV?d00001 diff --git a/icons/map/marine/beacon-yellow-black-yellow.png b/icons/map/marine/beacon-yellow-black-yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..d6112d53122fab3a40c49cf3cd35543c03416c66 GIT binary patch literal 282 zcmeAS@N?(olHy`uVBq!ia0vp@3=9n79Bd2>3>TIiZDe3zU`coMb!1@J*w6hZk(Ggg zfw4Hq-HGw$Nu7EI1_p&>k04(LhAK4%hK3dfhF=T}3=JVp75vXA3hP Y;M81WspWY%$phpxPgg&ebxsLQ0MnydGynhq literal 0 HcmV?d00001 diff --git a/icons/map/marine/beacon-yellow-red-yellow.png b/icons/map/marine/beacon-yellow-red-yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..976312422ad48657a177bb5066b104cb64759c5a GIT binary patch literal 286 zcmeAS@N?(olHy`uVBq!ia0vp@3=9n79Bd2>3>TIiZDe3zU`coMb!1@J*w6hZk(Ggg zfw4Hq-HGw$Nu7EI1_p&>k04(LhAK4%hK3dfhF=T}3=J&f@1gdJTCH{74dSS%nMJe%;m<@d{!o>B`-7- dJUfSjp-el&Qd9fPX=jl0JYD@<);T3K0RX-DU2^~c literal 0 HcmV?d00001 diff --git a/icons/map/marine/beacon-yellow-white-yellow.png b/icons/map/marine/beacon-yellow-white-yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..3181f63076a1219629915f3a9729671b935dfb2d GIT binary patch literal 280 zcmeAS@N?(olHy`uVBq!ia0vp@3=9n79Bd2>3>TIiZDe3zU`coMb!1@J*w6hZk(Ggg zfw4Hq-HGw$Nu7EI1_p&>k04(LhAK4%hK3dfhF=T}3=JXKPaq6p}rHd>I(3)EF2VS{N99F)%PRykKA`HDF+PmB7GYHG_dc zykO3*KpO@I2DT(`cNYdQ`02bGq?@zABeIx*fm;}a85w5Hkzin8Sm^2E7-DgHY4C2o zBMLl+IsX06&rkfI+xw)5)3bV-M8?Ls>bJNjEV=h_7RQb6X7eWW?nwUQY}Ylz!OiT; zi+0X6uUXRebu3%>M0EDT`HOCBoVQFkF?Zz>C1b%OqDA(+Q`AkgUsimb;TWD*{K$0z zr{kSnd|?-+_Pag!*{D)FbI+719LF;&_&v=SG%aHfaQ$3v{cGE<3Uk4=N8{#m6=WH9 aDb_MhTplGYIBiZK$Sa<%elF{r5}E*Wzi{>d literal 0 HcmV?d00001 diff --git a/icons/map/marine/buoy-black-yellow-black.png b/icons/map/marine/buoy-black-yellow-black.png new file mode 100644 index 0000000000000000000000000000000000000000..0ff9be9b8b678f644ff2e24d840241086ceeef8a GIT binary patch literal 326 zcmeAS@N?(olHy`uVBq!ia0y~yU=UKPaq6p}rHd>I(3)EF2VS{N99F)%PRykKA`HDF+PmB7GYHG_dc zykO3*KpO@I2DT(`cNYdQ`02bGq?@zABeIx*fm;}a85w5Hkzin8nCt1{7-DgHY4B;j z1_O@hlmGq~@4eQnca4*I>XGK0S_bB~&J&jWdu%Kq@$=gK2KIu!f9!iyBv~XYT3p$~ z&mI@=_^A@r)}*Y&uwiQV@&l)f9<|-~_VnDe@6nc=)$C6NE02V|JU(aE)~Y88; z@?i#3ePt`E6g*?q)~m1{3Ve0XbrP=wm!J3sraB+@_hI7i-4^Yg@jIAvja$#6rLwX+ V66Ah<KPaq6p}rHd>I(3)EF2VS{N99F)%PRykKA`HDF+PmB7GYHG_dc zykO3*KpO@I2DT(`cNYdQ`02bGq?@zABeIx*fm;}a85w5Hkzin8*yHKq7-DgHZt!lt z76YE*fZzUq{$J5gN<6_^ZaMRc?i3H%jwEaTl{V%!vz-#V|nY_mz>Samy8{PF>e(#Hh ztf$!&rBzM^(y^)A&Mf)5wbtyK=9Mg^hl_J^)||Mm{o_IQ6Fr6lKb8bea8FvW$u+Qb ze_8&)?e-6Z3(95J)i%8LtProX_dhh{WSARc1ONZS`I3h?KCJ`!($m$?Wt~$(698p4 Bd?o+@ literal 0 HcmV?d00001 diff --git a/icons/map/marine/buoy-green-red-green.png b/icons/map/marine/buoy-green-red-green.png new file mode 100644 index 0000000000000000000000000000000000000000..ca78b2e4e27fc4617c3ef3d3125c5938931e26c4 GIT binary patch literal 351 zcmeAS@N?(olHy`uVBq!ia0y~yU=UKPaq6p}rHd>I(3)EF2VS{N99F)%PRykKA`HDF+PmB7GYHG_dc zykO3*KpO@I2DT(`cNYdQ`02bGq?@zABeIx*fm;}a85w5Hkzin8*yict7-DgH?qoxu zBMKa@_I+m6O7G(<7nz9VY<}}6P(kfX#E}p33JMj8t5*HdUEiuy*8j^T=g`$x$sZM# z&vW1r=;CBxP(5{o;d6OYf?dn$gpY3$4LZF78LZ|uH~#;>HQ74l#{^G?<|%9T=0175 zJ;=)}KyHQQ2BA__=CvDF&29{K^WLTOF2QicW2O(0#y1r9_{bRuKPaq6p}rHd>I(3)EF2VS{N99F)%PRykKA`HDF+PmB7GYHG_dc zykO3*KpO@I2DT(`cNYdQ`02bGq?@zABeIx*fm;}a85w5Hkzin8*x~8o7-DgHZipk_ zVFQlC8uhpS)xWaaqHUeyGR=9?(!HXI$vx3GdexPh?iWgPq};v5Y0>y=OY#R--}9`V zLOuswHiR6q{(g(w>dculHJJ;1`rShgyDe8zs`|O=;2I%@nkuoNh1oA=1y4$>a-1^z zhgN`S;8fB1v8k!c&ipzS*Syr%YhGKKs?3@-#ta8$uMgyVFgfk;1|jx!21`SG?RQ3h yF#Gnuq5X9Szq`F=xc(~s{MFmIZl2UiOOv-wE8Ftpb;S~p4?SJ|T-G@yGywqWa(k5k literal 0 HcmV?d00001 diff --git a/icons/map/marine/buoy-red-green-red-green.png b/icons/map/marine/buoy-red-green-red-green.png new file mode 100644 index 0000000000000000000000000000000000000000..5a6bf7f22b69cac34b7f72f8a97f2ebf8ca305e1 GIT binary patch literal 353 zcmeAS@N?(olHy`uVBq!ia0y~yU=UKPaq6p}rHd>I(3)EF2VS{N99F)%PRykKA`HDF+PmB7GYHG_dc zykO3*KpO@I2DT(`cNYdQ`02bGq?@zABeIx*fm;}a85w5Hkzin8*x~8o7-DgH?i5?G zW&@t)r#2B)i|*8)>fB|p#Mx8(kGqpu#kKUCf*f*l?o~feuhbEde7|vRM|;5h+|ZhU zv-2F;6oiZwN^ZY&K7;<-0}eluKQ&Cep)!rzfA{uB xw{M*9@b%kK=9I3uhkNh*nacO#vr|PFelR3HO8;KEz9AFjLr+&fmvv4FO#oU!dZYjV literal 0 HcmV?d00001 diff --git a/icons/map/marine/buoy-red-green-red.png b/icons/map/marine/buoy-red-green-red.png new file mode 100644 index 0000000000000000000000000000000000000000..fb55915bba56c4ff60f36b5f7680cea66c4b4ee9 GIT binary patch literal 351 zcmeAS@N?(olHy`uVBq!ia0y~yU=UKPaq6p}rHd>I(3)EF2VS{N99F)%PRykKA`HDF+PmB7GYHG_dc zykO3*KpO@I2DT(`cNYdQ`02bGq?@zABeIx*fm;}a85w5Hkzin8*yict7-DgH?&OU^ zM-(_*#NGbC{I~y8_qvS_r1sua5E4!cI`UChXTby488bib-^1qm%<`0QMU&mB;2oFe z&g%4Ols&`5uwb{>Kc?K8!c7rRE;%%1-&Pa$UHw7qR+j44%jVC6JGigq?D;#nKi=)+ zEZqg-f2O^7r14#B xUu}c>2P4^i)d$up-Qm7JfAWO8ljcS-Hps6}N!}y!I)feLKTlUbmvv4FO#l+qfj0mE literal 0 HcmV?d00001 diff --git a/icons/map/marine/buoy-red-white-red-white.png b/icons/map/marine/buoy-red-white-red-white.png new file mode 100644 index 0000000000000000000000000000000000000000..12961e4c1355d2f5f2957449952cc5e0d38385da GIT binary patch literal 348 zcmeAS@N?(olHy`uVBq!ia0y~yU=UKPaq6p}rHd>I(3)EF2VS{N99F)%PRykKA`HDF+PmB7GYHG_dc zykO3*KpO@I2DT(`cNYdQ`02bGq?@zABeIx*fm;}a85w5Hkzin8*zD=z7-DgHZipk_ zVFM24DS!WO-@Rs1dBnt+R}+@r@k&ZQu<~{@1H->>#~r?(xqX9CeZ#REto1L>tycDI zlAOUArFy6MSm3Rbn_t{oarJoVw#YM!gBPyie{iWQWKoDrlJ=cvQu*kcFYDe`?#^JP8xb?p8+Px%X}pPnAtd?dkq{f7pJhKDX_j-w-TEj0 uA=f&UFWP?Pip>H1`76U_<}4RA-mLG>RiJG1eBlO==R95gT-G@yGywpc2!C1t literal 0 HcmV?d00001 diff --git a/icons/map/marine/buoy-white-yellow-white.png b/icons/map/marine/buoy-white-yellow-white.png new file mode 100644 index 0000000000000000000000000000000000000000..ba462786327989bda5fde51aeadfe4684b6528da GIT binary patch literal 331 zcmeAS@N?(olHy`uVBq!ia0y~yU=UKPaq6p}rHd>I(3)EF2VS{N99F)%PRykKA`HDF+PmB7GYHG_dc zykO3*KpO@I2DT(`cNYdQ`02bGq?@zABeIx*fm;}a85w5Hkzin8Smf#A7-DgHZipk_ zVFQlMf&c#BiQVhHSdpz|N_3%5j)H1ji^|XZeQJ}e`%9hg9g%oF?G5YOKd-n#o^(w0 zs+$+Rnt|bUj!&Ayq-!fZCWvgGd}Y;y<8KWfh&@$4xvTXQSE^s`HU6z(;mZ_+MY1p7 zO{?2jc5k)f&yVj__Bu@Zv+zt%MCr8rPOzA1f67g{qt cCykY1Uvgu*#_tubMIgU;y85}Sb4q9e05w#0K>z>% literal 0 HcmV?d00001 diff --git a/icons/map/marine/buoy-yellow-black-yellow.png b/icons/map/marine/buoy-yellow-black-yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..e482b13a0c136dc3967d496d7b041c24103a3000 GIT binary patch literal 330 zcmeAS@N?(olHy`uVBq!ia0y~yU=UKPaq6p}rHd>I(3)EF2VS{N99F)%PRykKA`HDF+PmB7GYHG_dc zykO3*KpO@I2DT(`cNYdQ`02bGq?@zABeIx*fm;}a85w5Hkzin8Sm^2E7-DgHZm=WY z0R@i5NB-NFUw^k@f=Nf$XSG{F+O2;hR9061VPgv1UdYUs5cgPYP1PcsG8XL(LNjLm z^g8KPl@&HQg?aV4m6CtlT&H~Ac>kP-z>0+U{o9>?1pYeL&lk8-<#(W9>U(#0M$6fp zFP~XO1coyt^v{a)W$*|(9Ae+Ov`N#tYT^<`i>7|YHx0}0U)(+Sj*rSK*Kf;BkN&>! aRb{VOQj(h8jlK&YuXwupxvXKPaq6p}rHd>I(3)EF2VS{N99F)%PRykKA`HDF+PmB7GYHG_dc zykO3*KpO@I2DT(`cNYdQ`02bGq?@zABeIx*fm;}a85w5Hkzin8*zD=z7-DgH?qpBC z!v;Leo`?Vb&#%s8_;!IyA*Ir@q&v57h3b*!2`c}eB`Zoke^Gu!@yx~dU3dLuzKbTP zl^wX`$zb<7h>;;Tw2fKMZ}P^qF;6%G_T?F`-fYD5M0mc_u5Y^!?|-^2Y6aI9t%Tg` z{ajOu{<_VPeKPlj)NIew*J?ICy2Gk+Z%bO5ID>=dr}-)*( tD`xcVx4qCS@ZR;^dCv_}ALj-!Jm7xvI7K;3DW?(SIZszVmvv4FO#lPUei;A& literal 0 HcmV?d00001 diff --git a/icons/map/marine/buoy-yellow-white-yellow.png b/icons/map/marine/buoy-yellow-white-yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..fc26f2198cf8f8e5b4986ddc0ac9bb46c4901019 GIT binary patch literal 337 zcmeAS@N?(olHy`uVBq!ia0y~yU=UKPaq6p}rHd>I(3)EF2VS{N99F)%PRykKA`HDF+PmB7GYHG_dc zykO3*KpO@I2DT(`cNYdQ`02bGq?@zABeIx*fm;}a85w5Hkzin8SmEj77-DgHZm^-y z0R;|ki~s-cta};sPDAO|rcM^&jwAgOmQ*~;S9n?3qo2V3Od|f^#Qx>(*ArO#c%#$; zKWEj{rO)m8uCukO=h{Y%7QY}bwbhbO+$Jvl%Ka|)Nc*PJwpCK0L2q;9bhdwrDohLb zr0A{5kZ>_#UjJ7WJ$rAbr86c?>75$i>mXL;9;(5qvi-r@xBdq%mnFSr%*zu>H>}@N fTadfSSd*cEx!NXGeP2z!ILJqyu6{1-oD!M &list) { uint c = 0; - for (int i = 0; i < list.size() && i < 2; i++) - c |= list.at(i).toUInt() << (i * 8); + for (int i = 0; i < list.size() && i < 4; i++) + c |= list.at(i).toUInt() << (i * 4); return c; } diff --git a/src/map/ENC/style.cpp b/src/map/ENC/style.cpp index d2bc4062..0d1a4621 100644 --- a/src/map/ENC/style.cpp +++ b/src/map/ENC/style.cpp @@ -6,48 +6,72 @@ using namespace ENC; using namespace Util; +#define COLOR2(c1, c2) (((c2)<<4) | (c1)) +#define COLOR3(c1, c2, c3) (((c3)<<8) | ((c2)<<4) | (c1)) +#define COLOR4(c1, c2, c3, c4) (((c4)<<12) | ((c3)<<8) | ((c2)<<4) | (c1)) + +#define PATH(name) ":/marine/" name ".png" +#define PATH1(name, c1) ":/marine/" name "-" c1 ".png" +#define PATH2(name, c1, c2) ":/marine/" name "-" c1 "-" c2 ".png" +#define PATH3(name, c1, c2, c3) ":/marine/" name "-" c1 "-" c2 "-" c3 ".png" +#define PATH4(name, c1, c2, c3, c4) ":/marine/" name "-" c1 "-" c2 "-" c3 "-" c4 ".png" + #define PNT(type, subtype, img, dx, dy) \ - _points[SUBTYPE((type), (subtype))] = Point(QImage(img), Small, QPoint(dx, dy)); + _points[SUBTYPE((type), (subtype))] = Point(QImage(img), Small, QPoint((dx), (dy))); #define COLORSET(type, name, dx, dy) \ - PNT(type, 0, ":/marine/" name ".png", dx, dy); \ - PNT(type, 1, ":/marine/" name "-white.png", dx, dy); \ - PNT(type, 2, ":/marine/" name ".png", dx, dy); \ - PNT(type, 3, ":/marine/" name "-red.png", dx, dy); \ - PNT(type, 4, ":/marine/" name "-green.png", dx, dy); \ - PNT(type, 5, ":/marine/" name ".png", dx, dy); \ - PNT(type, 6, ":/marine/" name "-yellow.png", dx, dy); \ - PNT(type, 7, ":/marine/" name ".png", dx, dy); \ - PNT(type, 8, ":/marine/" name ".png", dx, dy); \ - PNT(type, 9, ":/marine/" name "-yellow.png", dx, dy); \ - PNT(type, 10, ":/marine/" name ".png", dx, dy); \ - PNT(type, 11, ":/marine/" name "-yellow.png", dx, dy); \ - PNT(type, 12, ":/marine/" name ".png", dx, dy); \ - PNT(type, 13, ":/marine/" name ".png", dx, dy); \ - PNT(type, 0x201, ":/marine/" name "-white-black.png", dx, dy); \ - PNT(type, 0x301, ":/marine/" name "-white-red.png", dx, dy); \ - PNT(type, 0x401, ":/marine/" name "-white-green.png", dx, dy); \ - PNT(type, 0x601, ":/marine/" name "-white-yellow.png", dx, dy); \ - PNT(type, 0x901, ":/marine/" name "-white-yellow.png", dx, dy); \ - PNT(type, 0xb01, ":/marine/" name "-white-yellow.png", dx, dy); \ - PNT(type, 0x102, ":/marine/" name "-black-white.png", dx, dy); \ - PNT(type, 0x302, ":/marine/" name "-black-red.png", dx, dy); \ - PNT(type, 0x402, ":/marine/" name "-black-green.png", dx, dy); \ - PNT(type, 0x602, ":/marine/" name "-black-yellow.png", dx, dy); \ - PNT(type, 0x902, ":/marine/" name "-black-yellow.png", dx, dy); \ - PNT(type, 0xb02, ":/marine/" name "-black-yellow.png", dx, dy); \ - PNT(type, 0x103, ":/marine/" name "-red-white.png", dx, dy); \ - PNT(type, 0x203, ":/marine/" name "-red-black.png", dx, dy); \ - PNT(type, 0x403, ":/marine/" name "-red-green.png", dx, dy); \ - PNT(type, 0x104, ":/marine/" name "-green-white.png", dx, dy); \ - PNT(type, 0x204, ":/marine/" name "-green-black.png", dx, dy); \ - PNT(type, 0x304, ":/marine/" name "-green-red.png", dx, dy); \ - PNT(type, 0x106, ":/marine/" name "-yellow-white.png", dx, dy); \ - PNT(type, 0x109, ":/marine/" name "-yellow-white.png", dx, dy); \ - PNT(type, 0x10b, ":/marine/" name "-yellow-white.png", dx, dy); \ - PNT(type, 0x206, ":/marine/" name "-yellow-black.png", dx, dy); \ - PNT(type, 0x209, ":/marine/" name "-yellow-black.png", dx, dy); \ - PNT(type, 0x20b, ":/marine/" name "-yellow-black.png", dx, dy); + PNT(type, 0, PATH(name), dx, dy); \ + PNT(type, 1, PATH1(name, "white"), dx, dy); \ + PNT(type, 2, PATH(name), dx, dy); \ + PNT(type, 3, PATH1(name, "red"), dx, dy); \ + PNT(type, 4, PATH1(name, "green"), dx, dy); \ + PNT(type, 5, PATH(name), dx, dy); \ + PNT(type, 6, PATH1(name, "yellow"), dx, dy); \ + PNT(type, 7, PATH(name), dx, dy); \ + PNT(type, 8, PATH(name), dx, dy); \ + PNT(type, 9, PATH1(name, "yellow"), dx, dy); \ + PNT(type, 10, PATH(name), dx, dy); \ + PNT(type, 11, PATH1(name, "yellow"), dx, dy); \ + PNT(type, 12, PATH(name), dx, dy); \ + PNT(type, 13, PATH(name), dx, dy); \ + PNT(type, COLOR2(1, 2), PATH2(name, "white", "black"), dx, dy); \ + PNT(type, COLOR2(1, 3), PATH2(name, "white", "red"), dx, dy); \ + PNT(type, COLOR2(1, 4), PATH2(name, "white", "green"), dx, dy); \ + PNT(type, COLOR2(1, 6), PATH2(name, "white", "yellow"), dx, dy); \ + PNT(type, COLOR2(1, 9), PATH2(name, "white", "yellow"), dx, dy); \ + PNT(type, COLOR2(1, 11), PATH2(name, "white", "yellow"), dx, dy); \ + PNT(type, COLOR2(2, 1), PATH2(name, "black", "white"), dx, dy); \ + PNT(type, COLOR2(2, 3), PATH2(name, "black", "red"), dx, dy); \ + PNT(type, COLOR2(2, 4), PATH2(name, "black", "green"), dx, dy); \ + PNT(type, COLOR2(2, 6), PATH2(name, "black", "yellow"), dx, dy); \ + PNT(type, COLOR2(2, 9), PATH2(name, "black", "yellow"), dx, dy); \ + PNT(type, COLOR2(2, 11), PATH2(name, "black", "yellow"), dx, dy); \ + PNT(type, COLOR2(3, 1), PATH2(name, "red", "white"), dx, dy); \ + PNT(type, COLOR2(3, 2), PATH2(name, "red", "black"), dx, dy); \ + PNT(type, COLOR2(3, 4), PATH2(name, "red", "green"), dx, dy); \ + PNT(type, COLOR2(4, 1), PATH2(name, "green", "white"), dx, dy); \ + PNT(type, COLOR2(4, 2), PATH2(name, "green", "black"), dx, dy); \ + PNT(type, COLOR2(4, 3), PATH2(name, "green", "red"), dx, dy); \ + PNT(type, COLOR2(6, 1), PATH2(name, "yellow", "white"), dx, dy); \ + PNT(type, COLOR2(9, 1), PATH2(name, "yellow", "white"), dx, dy); \ + PNT(type, COLOR2(11, 1), PATH2(name, "yellow", "white"), dx, dy); \ + PNT(type, COLOR2(6, 2), PATH2(name, "yellow", "black"), dx, dy); \ + PNT(type, COLOR2(9, 2), PATH2(name, "yellow", "black"), dx, dy); \ + PNT(type, COLOR2(11, 2), PATH2(name, "yellow", "black"), dx, dy); \ + PNT(type, COLOR3(1, 6, 1), PATH3(name, "white", "yellow", "white"), dx, dy); \ + PNT(type, COLOR3(1, 9, 1), PATH3(name, "white", "yellow", "white"), dx, dy); \ + PNT(type, COLOR3(1, 11, 1), PATH3(name, "white", "yellow", "white"), dx, dy); \ + PNT(type, COLOR3(2, 3, 2), PATH3(name, "black", "red", "black"), dx, dy); \ + PNT(type, COLOR3(2, 6, 2), PATH3(name, "black", "yellow", "black"), dx, dy); \ + PNT(type, COLOR3(3, 4, 3), PATH3(name, "red", "green", "red"), dx, dy); \ + PNT(type, COLOR3(4, 3, 4), PATH3(name, "green", "red", "green"), dx, dy); \ + PNT(type, COLOR3(6, 1, 6), PATH3(name, "yellow", "white", "yellow"), dx, dy); \ + PNT(type, COLOR3(6, 2, 6), PATH3(name, "yellow", "black", "yellow"), dx, dy); \ + PNT(type, COLOR3(6, 3, 6), PATH3(name, "yellow", "red", "yellow"), dx, dy); \ + PNT(type, COLOR4(3, 1, 3, 1), PATH4(name, "red", "white", "red", "white"), dx, dy); \ + PNT(type, COLOR4(3, 4, 3, 4), PATH4(name, "red", "green", "red", "green"), dx, dy); \ + PNT(type, COLOR4(4, 1, 4, 1), PATH4(name, "green", "white", "green", "white"), dx, dy); \ + PNT(type, COLOR4(4, 3, 4, 3), PATH4(name, "green", "red", "green", "red"), dx, dy); static QImage railroad(qreal ratio) {