From fb7c781a6612a8c8a0d543fb000c81592290d451 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Sat, 15 Feb 2020 14:13:44 +0000 Subject: [PATCH] Add multi-resolution mod icon support. --- OpenRA.Game/ExternalMods.cs | 68 ++++++++++++------ .../Widgets/Logic/ConnectionLogic.cs | 24 +++++-- mods/cnc/icon-2x.png | Bin 0 -> 7165 bytes mods/cnc/icon-3x.png | Bin 0 -> 12611 bytes mods/d2k/icon-2x.png | Bin 0 -> 6222 bytes mods/d2k/icon-3x.png | Bin 0 -> 12220 bytes mods/ra/icon-2x.png | Bin 0 -> 3132 bytes mods/ra/icon-3x.png | Bin 0 -> 5019 bytes mods/ts/icon-2x.png | Bin 0 -> 7502 bytes mods/ts/icon-3x.png | Bin 0 -> 12320 bytes mods/ts/icon.png | Bin 3396 -> 3587 bytes 11 files changed, 66 insertions(+), 26 deletions(-) create mode 100644 mods/cnc/icon-2x.png create mode 100644 mods/cnc/icon-3x.png create mode 100755 mods/d2k/icon-2x.png create mode 100755 mods/d2k/icon-3x.png create mode 100644 mods/ra/icon-2x.png create mode 100644 mods/ra/icon-3x.png create mode 100644 mods/ts/icon-2x.png create mode 100644 mods/ts/icon-3x.png diff --git a/OpenRA.Game/ExternalMods.cs b/OpenRA.Game/ExternalMods.cs index 98bd4b6ed7..f2f5e93971 100644 --- a/OpenRA.Game/ExternalMods.cs +++ b/OpenRA.Game/ExternalMods.cs @@ -16,6 +16,7 @@ using System.IO; using System.Linq; using OpenRA.FileFormats; using OpenRA.Graphics; +using OpenRA.Primitives; namespace OpenRA { @@ -30,6 +31,8 @@ namespace OpenRA public readonly string LaunchPath; public readonly string[] LaunchArgs; public Sprite Icon { get; internal set; } + public Sprite Icon2x { get; internal set; } + public Sprite Icon3x { get; internal set; } public static string MakeKey(Manifest mod) { return MakeKey(mod.Id, mod.Metadata.Version); } public static string MakeKey(ExternalMod mod) { return MakeKey(mod.Id, mod.Version); } @@ -41,9 +44,22 @@ namespace OpenRA readonly Dictionary mods = new Dictionary(); readonly SheetBuilder sheetBuilder; + Sheet CreateSheet() + { + var sheet = new Sheet(SheetType.BGRA, new Size(512, 512)); + + // We must manually force the buffer creation to avoid a crash + // that is indirectly triggered by rendering from a Sheet that + // has not yet been written to. + sheet.CreateBuffer(); + sheet.GetTexture().ScaleFilter = TextureScaleFilter.Linear; + + return sheet; + } + public ExternalMods() { - sheetBuilder = new SheetBuilder(SheetType.BGRA, 256); + sheetBuilder = new SheetBuilder(SheetType.BGRA, CreateSheet); // Several types of support directory types are available, depending on // how the player has installed and launched the game. @@ -80,10 +96,18 @@ namespace OpenRA var mod = FieldLoader.Load(yaml); var iconNode = yaml.Nodes.FirstOrDefault(n => n.Key == "Icon"); if (iconNode != null && !string.IsNullOrEmpty(iconNode.Value.Value)) - { using (var stream = new MemoryStream(Convert.FromBase64String(iconNode.Value.Value))) mod.Icon = sheetBuilder.Add(new Png(stream)); - } + + var icon2xNode = yaml.Nodes.FirstOrDefault(n => n.Key == "Icon2x"); + if (icon2xNode != null && !string.IsNullOrEmpty(icon2xNode.Value.Value)) + using (var stream = new MemoryStream(Convert.FromBase64String(icon2xNode.Value.Value))) + mod.Icon2x = sheetBuilder.Add(new Png(stream), 1f / 2); + + var icon3xNode = yaml.Nodes.FirstOrDefault(n => n.Key == "Icon3x"); + if (icon3xNode != null && !string.IsNullOrEmpty(icon3xNode.Value.Value)) + using (var stream = new MemoryStream(Convert.FromBase64String(icon3xNode.Value.Value))) + mod.Icon3x = sheetBuilder.Add(new Png(stream), 1f / 3); // Avoid possibly overwriting a valid mod with an obviously bogus one var key = ExternalMod.MakeKey(mod); @@ -96,24 +120,27 @@ namespace OpenRA if (mod.Metadata.Hidden) return; - var iconData = ""; + var key = ExternalMod.MakeKey(mod); + var yaml = new MiniYamlNode("Registration", new MiniYaml("", new List() + { + new MiniYamlNode("Id", mod.Id), + new MiniYamlNode("Version", mod.Metadata.Version), + new MiniYamlNode("Title", mod.Metadata.Title), + new MiniYamlNode("LaunchPath", launchPath), + new MiniYamlNode("LaunchArgs", "Game.Mod=" + mod.Id) + })); + using (var stream = mod.Package.GetStream("icon.png")) if (stream != null) - iconData = Convert.ToBase64String(stream.ReadAllBytes()); + yaml.Value.Nodes.Add(new MiniYamlNode("Icon", Convert.ToBase64String(stream.ReadAllBytes()))); - var key = ExternalMod.MakeKey(mod); - var yaml = new List() - { - new MiniYamlNode("Registration", new MiniYaml("", new List() - { - new MiniYamlNode("Id", mod.Id), - new MiniYamlNode("Version", mod.Metadata.Version), - new MiniYamlNode("Title", mod.Metadata.Title), - new MiniYamlNode("Icon", iconData), - new MiniYamlNode("LaunchPath", launchPath), - new MiniYamlNode("LaunchArgs", "Game.Mod=" + mod.Id) - })) - }; + using (var stream = mod.Package.GetStream("icon-2x.png")) + if (stream != null) + yaml.Value.Nodes.Add(new MiniYamlNode("Icon2x", Convert.ToBase64String(stream.ReadAllBytes()))); + + using (var stream = mod.Package.GetStream("icon-3x.png")) + if (stream != null) + yaml.Value.Nodes.Add(new MiniYamlNode("Icon3x", Convert.ToBase64String(stream.ReadAllBytes()))); var sources = new List(); if (registration.HasFlag(ModRegistration.System)) @@ -131,8 +158,9 @@ namespace OpenRA } // Make sure the mod is available for this session, even if saving it fails - LoadMod(yaml.First().Value, forceRegistration: true); + LoadMod(yaml.Value, forceRegistration: true); + var lines = new List { yaml }.ToLines().ToArray(); foreach (var source in sources.Distinct()) { var metadataPath = Path.Combine(source, "ModMetadata"); @@ -140,7 +168,7 @@ namespace OpenRA try { Directory.CreateDirectory(metadataPath); - File.WriteAllLines(Path.Combine(metadataPath, key + ".yaml"), yaml.ToLines().ToArray()); + File.WriteAllLines(Path.Combine(metadataPath, key + ".yaml"), lines); } catch (Exception e) { diff --git a/OpenRA.Mods.Common/Widgets/Logic/ConnectionLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/ConnectionLogic.cs index 8aa1072085..0638a04821 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/ConnectionLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/ConnectionLogic.cs @@ -159,9 +159,9 @@ namespace OpenRA.Mods.Common.Widgets.Logic var abortButton = panel.Get("ABORT_BUTTON"); var switchButton = panel.Get("SWITCH_BUTTON"); - var modTitle = orderManager.ServerExternalMod.Title; - var modVersion = orderManager.ServerExternalMod.Version; - var modIcon = orderManager.ServerExternalMod.Icon; + var mod = orderManager.ServerExternalMod; + var modTitle = mod.Title; + var modVersion = mod.Version; switchButton.OnClick = () => { @@ -206,10 +206,22 @@ namespace OpenRA.Mods.Common.Widgets.Logic } var logo = panel.GetOrNull("MOD_ICON"); - if (logo != null && modIcon != null) - logo.GetSprite = () => modIcon; + if (logo != null) + { + logo.GetSprite = () => + { + var ws = Game.Renderer.WindowScale; + if (ws > 2 && mod.Icon3x != null) + return mod.Icon3x; - if (logo != null && modIcon == null) + if (ws > 1 && mod.Icon2x != null) + return mod.Icon2x; + + return mod.Icon; + }; + } + + if (logo != null && mod.Icon == null) { // Hide the logo and center just the text if (title != null) diff --git a/mods/cnc/icon-2x.png b/mods/cnc/icon-2x.png new file mode 100644 index 0000000000000000000000000000000000000000..400994d0313129ad7fc34d82d8600b2a0f7ce5af GIT binary patch literal 7165 zcmV}6o!F8K%N82OHsksM~sON#E2TBM{_tFjS)4`+F7&kmtPj%zp2#s{6;@z3tfyNQ~C! z)1TeDy1Tl5zgo4{sZT$y)32z*r$f1yHWF4r#413?reGiU}dQ zg%G=yQoB4J&j*=IX8og&K6>Qy?4S5N8oleTyJiA6Xss^=CYYuvOw&XNfyd)Pi2Q2} z!$4~dfKm#rHBw5HQrNbQ&R=ZOTEFh~dY^yr!3Q^e)_wiV2)OgkJEOqA3n6Yb3}b?6 zn)rM^yk0Lth$3jMHCk(g5XE1o-l=oWZQDjlNiLUjh-p?z{Vp61Kl0-r|2Xzp^!uMC z;GTQ#sgzRQ4Sd5i%?h8-hhC&Y}S6A29gb+V645P}jEPOuSfWVJePDH@*>Vyzvvsu#VG)k#1Ddqi- zKKke{ffKWMobss%Sh8fvSgrLlhGEPO1OoW|{-T(>JANW@cVBmOf&0GWNsRlsOeRAn zlL6Qo3>W5O@a^tr4-3z65F=pTI(f`J@(jd{}DVVO~BHnOO048_K=ivNgxn7?mTx& zHk)MLg23|^X zCX*qZP9ubPqP@NS_CNjUPx3P(VCmAOzV7bsXM_;fhr{8bDH}-Kv)L@ER0^dO2M->k zxw)Bx2M>}?r}Hl?kXHIzT4z}n!-frG)TmJm9Xb@#G_fpeKq8!eNGVAslW479OQlj* zJ^l34>3^DlrAwFkIy*a8n5KDYBoZl#W$8#biYb%H(Ad~WLqh|JM4}(4>gsAHPn^i~ z(W9vuG>AwvicpH)M1s!VUiNo%@J>SmyLRouw(Vjcg25mYCr)I{m@)YMe*AuaKO)?N zpp+t!NT8HjKXmBOOP4NPdO{LTNWjviOO4LX&flA+xv;FPY(RwskVquRX0z+0P zer_1Xo$ir$zf4L=B9Wl0tBbX3*V5kJjt~N$&&Q&L3%TLkb2;_ze#n=5173(mqy5C*DY;yZL?S_Rb2A$@Y#^7*A%x)SFMNUf=Fg{Q*)qHvHsk@h zKx!fKM3k4KBawVvUmvQk4=rU8y!(C~iO_N5jckuZ_|7AbkjZ55dcDk;F@q5!Mi2-D z@OV7^Bmls+Z4!wDz}KIA^2x_ent(g*xZ`w>$Fn662t+K)I>sr<<#NR1akg*Y&O7hC zgAju9@^YTI|9;NcyqU-!{*adv2Y}B&t`*6R4}J!?G;AUhgqeA(P3F&1MsU zKw#D*k36!Y6sxDSqTt~@K$smaSXI+MoT5csz~}g38KDg25n4Df;^Q=`%9Db&=|gi?wrQ>GN3caz}r`H)hEQmNGQz%)uc#$zO4 z$&w|D4a4|VG#Wj|&PyqY$K!0-vW2Z%w*qj{x##lJ1q&GVo$sKt+5CtHgS6do2k%-I z|MQ#QaOB7l&Y3lfFJEv0wb3YHDe-l5U?!7jA;?9eu3fuWyLK%?2+o@|i(ky2&yeqa7p+tt%$aA>yl4^MdgKxI?%T)W z>#pNVb#4?4?d^(+`tE-C*8#W+>VEovz z{OpDs82r8Obkt-FF{>7hgohVtMT^1PYLb zf%bUv=MDkAy@XzTk=pNlkAFLOkmnwHh+HoBiQoaYZQDk7cQ@&Dx(MDm3eHf6 zfD*8H@#3;TAkZ2N2FrauU%z>;lp+?3v0}vv+S}U+27~CFe3j@w_}|4nKMF$rA#1i+p8eC3EJ?DNY5qLd@lIq*AFqpU+qO)KgD&flCPn z0)g9w5am9f@0b@PlS!JIn&{~0KnTHu-~KkEAAAs%N`Vmc&Y#ZNRp0pzBbu7% zm^_)E|KJBF1>7lJU0t-cwlZqesD4vHDTQGe2q7Z2ZQl$0XFme8*0(q&&%JDwQj$ug zib`+Rv}w%l>Vn<7(Lx|6OyI34Q+ViyKjfJo{D5gsJb~D~J1^Gb#_{3e#r%BvayHz5 zKNp^NCW~*ln4nK%Xd8nZO8Bs~L0?)>zjHsYzWF9A*Q{aYv}xEocRI`6lLGIQojZ3@ zU0q#VQ99u^$S=Gynao!l0tCR_ci%l*DfM=#yX%bp)~#FFym>PKD<6KC$>07qWV2|m zm*xi_Wd42k@%_8*;c1} zKr4+@kW-NLk02YaW5?bu{_@(}1J3&s0e6>4lO{2G^l1Eke{nFKBbiJhgt+jz=bl?< z6dL`C6T5R4DJAK2njJgx{=?jJ&SAv6?-tEn=hwc*{ZBv51!tel+{1@4wrv9;NL_Rh zFHf4p9sm8`+`RBICRZIM)V_jpeUQqqNqNYiJY-THEc}M@b!GYh(au+>t31f!n-?4d z{A9svt!Zg#DaIh&*1$#LEl{umQp$^+)s?#u+qOA$=umN0_l>KrBJ$#kXdzIM2#v#s zQ@>*ecU^G>(Phg(2<)+A*>vu?{LiD00^wfV}P8 zvu6)N2&$^8sP64WWwR)t{rc;9VA(RhcFi@^EL(uZC1@Fi!z2{&5bzlU113SgLC9|s^qCl;Vbt%>v8VMwF)k1ehffN4smp%o(4k^L z#!-ZhGE_>{-g@h;HHK-L7aE2koVc93A=|b&eE2Xz2)=yjr3`-MmAqyL4vij7^X}bz zamo}#LF4ybeKo&WzMSi?oXfZV^-^Zfr~_boLo)|5!wGs#0)7+AXW}oM`#c7IpNZu& z@cRr7=&AhWwM}_6jdmvjBO z7Wdu$WlkG4f)APxlk*M1Q;7K?45ZHg3i5TfXAtl0I!Z7Ys`Sdt*Ck7d$c9KhV(`P8siQUYYaw%Kun@$S2`<_@VMtOO8F>vCxEJ~?y95L+73cRMk>j6u55s5_T?d?5j z@Q^p-&J=L2IoFj^BMhL@9olwBdz__fZEY>Vy?c@5*Y{2rLb+UC{Dq)17^Ey3#YpbQ zYZ`dG28JOpOfU^l3Zw?5^57K)8WSxHv^G!$LZk*m2!sKqAuvsWX$W+DALGXi|3u)W z(ve6ckWwC_2n+X@8CvVGTlu-?NiLTIpscJ6e@{=|`~h((sjRHT-`!nY#U-RBITXBk}|Yfz|@0b$-+lsQgtBdEj~Q22v@c&i@xeAP~jXyOHgpW@zO}19$3e+b&{q zdxV8+0YeB8ayL?P0{|7F5F`>s3y{;AU@(Z0NaR;>hC#x%sVobDOe36rYYL;9A6=yd z8spz8UCQ+eKQQS?fNhA{3!C+o0lpHA zz!3?lbiQ6HY+E6vD%L5bQBq<{m6r&mv1ML&CyT@?vAGkA&A9dB+AN)L5qN45R1h~S5y>9@dLZ}wUhGIXX8}hG7(4 z(Ea=O(>r2BQQU(CiRm+pA}P^$oX+kTDp*5K3Uan4YeUY~WNF|X|!X|M~=WThr+Yce^F@(-h>_0UNJcm6w}y@8ZG(CZOGd?=-yJkW|M5{cx2_VtmB zM2aEm@VucNDD8B_(FKZxD(A!aAO?Bc7$kR)&L&7_6&V})>>$Zx@`U0((6vAyP|PB`i6|)e zk33rIX1958ZW2OJQBhHJjM|l=CclUvvUMvLPM^-ox8G*QIp+|3^;KwWGH$0oBeKxPY`402WKZBWL_TVQ`NP38mWBwxFsXi)rVRr=$O|8tEdj`Wo zJ?Lx$nZOv{-QIFS-~;^!2#3S{6uX-Muh-jR2qEfA6@=FLAfl6c0@&2lggs$GUg@>8 zaMqYHykB2W`x$5C^?;NN-M*b6l|$&1gNc=2%F`=%@X{+ANT<`BHZ+XP#K>f2Q2{EY z&?>JGv$jHHJ2-vhV7hx^yzufmUf$S2Uvw@#Y6!dc?Ege@FD+iLx1R*K9U-kXUaxnn zIeq%{PT(Go$0JIUpSfI)?(S}4u^0!A9_7NzFDJNV3mPzn59j@Knye5^@Olw#ZFu(X zWyFm)@{1Q^hr)6?xporRaI0~RUM-U3mdO=AQ1S5@%ZD9AJkg6xL@Ej;PH5BQQ!64f2M+-r8;Sbz( zk|ffKL|PF~OX8{gd0$Er&nV()1@XO{HMyFyXaueE;j2_CHQ=b92)x#sL4yW4YyW?>ydXY~-?w&L$)eV5hoK3UU&%wkBtjS8zE^I;Tiw73r)d zkyd2WajM5mXUDD&PimeIBpH6cpOGU+;`Ms_4Xm@6mDW%=I`*UufBRmkpO^c z)20oUQqFZm#wm^oF-?=BM~~9c*~yq$vl!ml39%SD7Ng9v2%dQ+kG=2$Swf-EZ(3SfR)H%ucKhwOSLAZJeU@cK z+`7PdFdmPyVZ#QxySwrG{XB5zoeY2E5mY*j272esW3|`IpH{8n->$uuGh;DAt5y|L zW6Cg4W5?1xbt?4jnAQy4yH4!{26A35mvQ?ph7g!OosETeeA4I}hQYXT^y$;LNGTT!AuRXiBd2jEpLgWQ5qkUj_%Ifu?y9S>wr@vi zjc5OUhW7Pw=JnUJp}wBw>(-H-G>NiHF2M+eFuJ<(Nfq+z2jx;)QtP~D7z&Y?HH-GS zb6J~A^7|DlaFVrdcXl8W#*7(5BogVjQ^Y;`K-}l^UAbq^o`m!KF|p=bZ@u+i;3uWo zRmX-V5(!#bT4-)=24KpB2`rj3hsxjn7Uh8R`RMuL7ug*M@Q2l_>FDTS?C8;)H)RT^ zghE(S;_2(dNT-onlM4osmPH@X9*?u(gAdr-+KSif<>J}1nL1(w@3*${>RWFeGwROo z@ZrN5I&|oOiccv;CX*o?4*%DhHEWi-@eUMh7q{Me>vqF1>MYATW)a~eOPiXS*jw1O zHL|9L+poBSQ~vlzbbEVo4~mRN>Av`4+9DC&YG`0vV!xQMVMFdg`gv)YSC*7Qt=Ov)L>jkEi9Wx8538 z5WW)oS?lCXdGxEOjIxpEJm0GPJg~vU6vCe{vuY;I@Se8NF{G*1C1Yd8`5D z@sJ%ij^5KxCmsk8my+&yoJ1;xREn@=5ef#efS{BF4<5u@Uyn{E^HC*0N2BaI|9pP8 zVnx5vudc3U*sx)EJf42@-npL5W|2~+qtWO&Yu2oJ|CrGphyZ|FZn@<)+qNHb786c! z+tYM9&Edm`*|B3s(N~{VSI7Lb&!+P4f5&WWECK*N1_S6|5ETgI2}&mO8!fc%cTe%$ zvgn;Xn|*#ie_FK)DJ7<9Qd?U~MMXtF@TER~LGzmvg zqumTU(;<;a(9qCO%p;hl$=sPUId}Yc%34~mwr)igf~rNSaLx-L-4Y{pe#?y(4j-@*|UdiHd}1qwAxxOIP**f`~3vEy9pgUh-hoeCsYdCYoyPI z4g^q<2#I0CNDUc6pJCAW(MN1;Xecg*yk0NW)zu6dG^n^vaf`cqU^1Bue!qWHb#?W5 zpL(k-z%94jV&!tVwNlEn-S*W1@4VcZ5>86}qmMo+<`tb%R#wK)Q%_~&kReor!&rVl zC`B@pp)Z-FJr<+&&>`B|+KOB0wbuB2K2AC16b26-Tm(K)ki$`YnM?-Dvg*BF?^)~C zt^4$wrJZu^wb%Mg(_F5Uy3DEf4Q@No#<*$N*F28)p>Awj&I?;%GLcB+|EyoX z{-^&4o=^4B)OFWgH`TW7WwvckbUtS(CE$1+ch6P#wbFU)zTdg-2JN11mSwd>B9UuX zuU@_FAI0*|d^aerzWVC_R7(9XrBuY@@$}obKTwBDfx52^q|gRx$C04I_WVRR9DZp1 z`t|p7k|JMP%ul}M_@$|->8*3lIp@i2Hd~R&WX9)mIqxS)!a&j4Pm&sUEU%zUQ;|sI z_Z1ZtUwZxZ*H^-)`(_Y6!%t^#zWL^=cs%|e>2&&f+qSEnIqd$P@OWf6Kue{^9m0}Q z;_-NnT9)diOb{M%>U*UyCjcUiDt!AL3P<>_>Knv`;!Qfjzu+hL_t5bza7 zJ1c}pnWh;B4w|O9%jfgG2dsSUwb%B3p8fm(>0*!PVO$li00000NkvXXu0mjfTW>4W literal 0 HcmV?d00001 diff --git a/mods/cnc/icon-3x.png b/mods/cnc/icon-3x.png new file mode 100644 index 0000000000000000000000000000000000000000..6ec796f337699543d2b2a5df06d885366aa44ec8 GIT binary patch literal 12611 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 literal 0 HcmV?d00001 diff --git a/mods/d2k/icon-2x.png b/mods/d2k/icon-2x.png new file mode 100755 index 0000000000000000000000000000000000000000..5a12762d2b7259dd4117573ca750ec3c71d0bb39 GIT binary patch literal 6222 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 literal 0 HcmV?d00001 diff --git a/mods/d2k/icon-3x.png b/mods/d2k/icon-3x.png new file mode 100755 index 0000000000000000000000000000000000000000..1e9cf461f007e2e34017a6a6f002ddf3f1081f3c GIT binary patch literal 12220 zcmV;tFGJ9YP)H_p)4jK)`&czKXy$%(8i*$x#CjBU!)Op1y~kOT-46A7RjXrLS2=;4hu+yMfOs_~fd75fj~aP7g>x2^75y=PceH`Y~kT~hi`Olsg`wkWNQF)E|bT2WbxwHjws zFj{4$n57uE+je$jb9?vEXHRc^?$nv>hc+i?kL~WV1N2|-54u=?6ckV&I50T)=4-Be z=k?dFf7{x4R44R6%a;&V3Ss4vzYD@C-Fx}ZYcJ$cskAMElPki*DBhNkr?0h|h@HJP!>gwwH z``&)lhu(hs_1|w?{h^a*r{j}nci7ySvb8hC`ye|#L(Um;#yN{M21UjgO;cH_%0bRp zm024%fM(uBs>-31qE8BIEzWAzMh#Wnuy5Z!4jo*lX$Dy5Fb0yJO-?-X^zZz^{g3?0 z{f|EO`@6fG`&!E5Yo>sG``Gu#-u1R`d*@qk{74tgH$QV~r#f|Zo0DfY+1Z`abv?Zg zq@2-OV~oLQg;t8Xa^x(+AJh)56qPkVrg4s@aVRoYi*lOU(uYh)ptNCiR5NTGF)3C? z4TGj;w0eMMWlS|#5p$O2{i)+me)2ay^~Ilm;B$|DatpS;7IOJoD4_YyZ@TSW-}4>s z_{pT}Z-4yA>H5hNXE<@{9NW87b|!N|2xLGhxg6&#MjM>fSZk=PMJcdGez#hqwW6sk zR%@I!IHRbX#Td<~v7`*O(KJnk(V!IcL1B$zJgQk4k1?*sHe>3Q{j99*$6AB$cKz`q zU-|dH_FJF%nJ+$g?2Ek4KH_y%!0m53c=Zo`?>GI(;cMRXW5=J}I`GKj$2ofJBT^33qQ2aodD(c?UKc9Y%7oVE}65Q!-R3R8ry zwS<;NYm{awbfqNvshmYCuv&gsWO^R}+2xf{)XvEJStB1&E3|@P?HJXHeftIs1{F>1 zFd9PN5&90o9A`DgRt&~hjBdF3=J((8*6ZHAeQxXMu~Qo-fq1zEb=eiLe?M#g^I!h1 z|NNf!zxN+LcY1o~=f8A>FFo=kPe1z{o7)rSZBOT;gqAs@)k5G3YYf(Cv{Gf~D~vIa zGnKU%g*=WpXlpe&%ipy|qqX>r+8QzmYZN)j`C6E`!N4&X)r?kG7!E6%T4OYfMm4@` zQOToJL>o&rSW{~Uuf6_V@3{SsA8h)`=N~%u6)tlQaak2`*A0iR{JVeS&;3t_-gL`P z9eLup@n`RQl!qQW#;LQLOr~?DZI2I;l=D&`=DZzmig^(;qp7S2)RrA=4QM5HT$dA( zQ!4*2&r{`nV+5rY3QgY!w91eY+8FAlCZ~+69L=z%8q`#^!)Q%b8l^KzgVq^Wk7!2w zMz`L6+qb>@)_v<=c=X5@XEQ&!Tr#_C3i!Y~uD#`_e*F7>)(x-t!3XYt%zXC#NBQbg zCpfpY!(`Udb{-!SvSAgdV)K=l3Z)cUX%Tp__e!27QP0Axl-Fyemd>?yn(?5bG8(Ni zvw4p*2F0G4B4;XRQCgu>7Db^@Bzdo@CY6LwDad_`wF>JD#@4uI)n0M!4e!3^Emz<2 z@S{(D?%eit^K!`TvMAt>zvtFFe&Vlv|1Y+k{jM+G|ERk6i;wcuv!~hGo-mnp%-evE zd1)?`Qp>N!?swLp^`7}LN|gv9W39oJursAxOjC)Ntelj}YAP$Iqq3T{m6}2A@F9ws zQ;Mdx4C;zp-V-vR^W+fG)?!>GxrRa%ZWSsATwSA$#a1Ks9lYkv_q_9lw;g@_=og+n zvwh}LWp~L6_!A$z^RB=8Uwr>BPN(TxAGrTv?)~CdICk<3n>$l>rY)Thq=c9pWXDnj zueIz!5oi&gY%q*T$1Sq(V!5Bs3G_^AfYD-gDR)>z!O2g{vfYtGUm7!y0;Fi08 z*f{D+oV;^}dN2T`=v$9A8tp2KwPJ8!x9Z~nwz_=U+% z_r5QF{z3k~FFedMr_QjkJz?7RbUu;t-Wx6yun^{Aw_7byjxh!e7_CTIb|OlCubu32 zV>GLyic#%YDGAofsA5oAhJ%`>G7JV4qfx_fB+-u6ieXc+GOQV{3>fZPr5+6!tgO%s zhqA+6O*I^&U5%@1>On&_Tmw^~jgu2%9ZDOFYZ$B@y5XL8+P5sa0M<UPnC}S9n2WV%}T9djSg<`a}f^iO0)fnfnRf9GH;*m4jR%lyc zj75{giKmRRHMSmNT!VHE#x@u?Bt_5Z;}89tkNnl2{>ZVjXJ1pU@InP#ui@{ERtA6e znyU}hS6z9K0|(YPu)d0|8;q+NjYnL0a6fOq?Z$0Co31_d`7iRjpT3WyCr-09nXxl% znRS7fU;2+NPJk(K{9a}Ym9>(5X{eoD#{HEwD6JR`Dn^aNX;>LlRD+tjb_|?hWjsJ@ zMeQtu(ST-km6$Tl7>vpiSy>Ujs~S>@n5w~6BgjP%Iii%=yG~=#0LEcljW!j^SZvi` z+z6#BQtWx=@q2&iFa1}4`)_P)Ts)w6z6rV(_=U=u?_J$Dws+ieCHwb{7_SXk-#=z` zbwt%T*7uLO`}UjADK%gH(wF(deGl>2v6E~T;m`Y*7XCs3T2XAf7JyCdg_M#5u*?Un z5s1NPiGr-rj0ZJ?#-W|1t{j6}lxD3FGu70XW{9Z=xOzb49IkQ_VHqnYz*Z=2WFy!b ztrR&0hyhYW<%ls3Z496=#-XegAE7l$S+r8}9=2w@?~1qGakxJ9@!xykOI&2KrpxyM z@ZYRdeAmj*v9>zEqe!&_4VB5P4lVN#x$WA+462$_$B*;iLto|SaoPFPc}M3XFj9PkoVOk6K-mY*5FD8ZIsyXoD!r& z>RWV-=oE<|5MvZ*n@o;@lsp;8IiXS@`xd1&+BIc|gEAUrtoR5wz#50j8I)P53UXqx z;j3o#(4YT{Km0%5a?Sd+7ps68_)o27ZEffn4=eT$GzY50e$#Py5V&@qqDnnCTys6$ zyyfYqp5&oNk8tYTHaqi9qQajD=?u;&4#92>iHW}T;hiHPT=6hKL?7UyIEKa&yDQT`_t0U51O z)}XA$IwPkcL-2td07vH6t0n-V#6 zKt|aHU3>&FK=fj2%Jpkw#Xl%eYVn~HkkF>$##`R=qd)v--usS=QNTf?xLRUtLsMDW zgEYDN=jqLLmT~ znA>6oN+~jBdA%-vft-mx(6>Fri0^tr?-}XD$SJZ?XlqC*lX4P4WfTSD;4y|+jTi;7ej&oe1Qm9 zEo^_W|5gjC8FMD5Ob!W9#3YKyA=0;=$=oxYc}R)a_oTij$3XNwF?eDK1n)`3EJfcE z+bJn@q}Y=}Px7sNPXUY}r+`Y4oPu0)PUP4xP1@oyQV%Jhv|<0@8^8Of{_=;ugFUPJ zvI=OO#;25+v;k5g_{ejc9a9{!8nU{6BimbB9DnLbo_yvsyYr4d1iC(4FzR`};1||o zalxQU?5)pxlK2LQNkF@pGCE~)jHH+#CK2|$C-#1Mtue{_cJrRld6ExQMlEf zdwh5m(qF6>9up-Y<3iZEn3=S2&c!zSl!#gUK~9Mf6H$p-a?T0^!da?8gK`dCS+X@~ zXK985Ox;M_uZ$=nr?QI^T062b@;9{wZBW{vlm_F-ISK}(i<4f2p2bv27+T~{A}3Fd zJxXcD`>%fgU;oh$fAG~PU?;)v15`Q_Ld3V8%77b=*mv+ccDA=Ue)K3OpW9$MYnjeE z+Rk4v;d&|A=ktFlKP;SZ&bd%e7LgI8m?RP^7?CnkYIIJLE?YaIQp6BYBw`F;MaVfr z8z3qpr=)Gg8OKEIgG5|PqnyJwLsT_D8Ar;goX}YOkRrs$!pX+yNyQwg9OZYm=P&KF0y4~G|ouet&PTKuvSyof?9$+Ul}X# zbxL$?PYj9BcI4p63RG2?b1IQi0&SqYZ-|jfSaleQ?gex+29znjs_gn4$-X6pjvR&U zsEiRQ8VkyT)&a~zSLTrfMqnXwD);ga9P04xhN%<$5Ixd#a?jx5ECKoMJBd(qP&#x z-jiY^#t2Gbt-&aWL3}|%iSkIK5F}wsJ>7gtJD*_d0lKQNRfX1O2^>Nu#gb1%FBVc6 zveKj|CxH|wwy1mtFm5pZ6W{wie-6pDURD9Kkof6omwtVB-m|eg=bEebQ8lYfc6WL9 z#0e&|IrFZ^`%nt$uYN6^a9-5I#QrZ#P%I_NMM#v@UTB(PF^hd5`yl8fK+3q%$Kne$yS#&fAvljdN`8Oqt9& z+LCx(ocPaIL|&Srg)dkZXcR?g6effC0aq}ep)G)%h7=9i$;D1m`i zC@VfA_8t`_=}NvQwXOWo7|_;Wha=ENkk91Fp_2kpNx*VSnidUHTA-Fj7*L3VsXBAyInC9H&uB9fuh1sbc1 zuoF5(X00cOfX<1gmKv_n2<)sy!BJ^KlBkCiz-Z7KODvhLmxqic6DDU8tl96!|%Q6hF7hCx4rA`Z}5FT-rYLK&hCt^4|pHx zecTHlU!w+cUi#YSUr2Ghri9a`9Dg4K$xKmpeo)}EoF4BZeTXO$-K@j69qqIw_8z0a zI>TUCW1C8%q&|o#iIMCjYfU+$v?gmuNRi-MQjm-}B`?`-iX~wbv!t^4g~eCS)GL zgd(VD*=Yr;HVT?b(=>)`EZSLARsn$A&$&D9at`L5uUtt+&FF#*GDZ_Z*6}KIN>dXtMjW1Hb9oLUmw5hHQA<*|d zAqeUj8zC_xWI}p!-`qx;*D9LpdxiEF~-s~WhDC*eTne3kxX~s zG?Ok+SC&|m*7lLrO5kR#EFq=h3;_~WDRKw`*-&AvB_Pco*?XKDJa2_3DSM305)I`fEDE*wOlq(GK}IQUuDW91>I>!ZA_c6jt?iF7>iK*opjIi6 zq;wJJ+smws1PdXRgbTGq9~P%1ri4U|Il$XGqFY&!kseG`7 zGtPwK_ysr8I4w-NtY8unvrdZc#7vHv5M(#@As383qF6*(3S%uPMPl&uy|5~R7wlha zD;&{MkJdo9h`QxF$ zym3KqzC^j7PfuUQaK!JNkA?*R}Gwk-))OD<>o;j5f85zF)9_LpS&Mxu>0W#I`G@ zG~;7J8BNZS>Go~`>=qHD5$3d$s#wSg-_Pl1yQI)VilzGoat>l43Q7>X$M>GJFjp}y zH&_O`&cDc!zQ_r8^ZAsVlLB3pHqk}Wd8up3!zz9tCYIRB!tAA#Nh;IFgbE2~AS>v7 zpm7%OBN$CAl=gYd9BAaEgsgBGdM{k1%1R;KI4C!JTeN4n6TctEw=@P!3=Of5;?QH&v3YbnOyV_dSGy~aX zIqz|HE>R78K42kmk&Asn9*}aD1Di71h#w+@wbJ8dROx=y83Rn(fO8h5163otHw4*z zeMpk^roEoBkTS%GQ-->!@ZEy;l1ZV(5i!~4iy+eInS5E59GqL?P!J1AIi*BWLX#wg{@G{GJ@<+VICAvN<_B_~qg1`JGL&6+nNGlhIKM3DXY*DRiILGI}}Ig6sLb z1Uo|rc@GatS*Vi0z-pY5gvWAw{2qez z6ZD-Y_8qf{;6%xLoEtOW?f6Ik^0(QTw4@YiOyKrj&>1f)<%hTAlj-iwb|VD%J*`lw4l zkQuCB!*724H+b^Q1Sc)|R4Oy5V5LeBW`t>E;0)bP#Ez~()kAXb$SF!K+f*bie_NNF zqic7L?>u#8_KFHPdzOB-d*3x=}W28;F?5kCXj~Eoxu!lBNRAV*b(5WhKvX=be~@K-oSbp&bW1nwsPL$67yO*mZ55bTc%@p~C4Wd6+21(@jy&?v=Xi-Z6E7*% zFMRId2aVB_mGKILx-=-4KCR0w{JlDXtWbczMMk;klu21ils@jU+?0aOCya(JCSuNX zA(hA~GYy%petYpB4cJk>zuR~mN000knNklp#D?--bus2F4mwjPh*Ad4O3{V|B~cM`Vao+kR@Zt6aS7l} z`$!iOF)N(b=p3ny7V=f!qk0c9N$ImVAfY=>su$ND>5G<^}F14^DWC088h@DG3gTtnMVpD6T7>+uUY{>_wX0K@b5<}Lx0ubLkyZ)CXFa{!56&NRqE{Ll_=%=01n0A5ryeIY2f@ErkF$%3R z-S*Rb%QwA~EB37{ucP&mxlioOdb%i?cuhpPF?QI179MF<8f|MK?jjgU3T^nqPk-ij zxxk#E3(E7Ozj^EcJ&>mOf)8b?5nHFzC93x+lawN4n1@7%A}yNlw8qCw z8#7(lD{=OHr1JuL#$5XEVlEuiObU_CXS%4!+S1R?a`#$tqH-C9uFm_el|(IzzF=2QT%SZmSF(RPt(>+vB;i84Y`ih494Ye&w3eXEXddB<(s^Oozm>$-!y@7=fZ z-h1B4o$q`b72wLiOnp;TqtbROG&ucV4ZL%Ea=vl2*R5wb3LS!r2EKzf!-<6s|=Fw{CwnrQ@| zGV?Mztr=9<$}#U{nis}O(PSpw^|9^A#t^cWDq7Cu&=I@2%%O;$oD-&0+=QyA$;wF> z-B0`9{=_H#$tG;S(r16!^^ZRGhrg4<^!Km3?rN?%e2`&N%P5)4sDty%M2jARRKlW^ zB|iWuQKFOt1J;x0kc0_ka48KKm<Wy_RZLp7{GDcWAl>4M}-RyeD1g9h8wR94XpDoLsqq*f)PZgNa0H(*io zMK>thko=_oS0DZ8-}=l0M=lusEY_=<8Ta5*JE#7m55D9gDHPG@wT$6rL3 z{41@cBVLdtSWHGNO3+gDHbxw6V`SHBV+y-&udz>C>29nR)iZ5~N$L?1H%C1d_Vn&t0ID_vajk9Q@v6ZE+Wx$_NkhP_D3gapU;}OYA z+bLS3jPx2PSCMQjgF9@EvO|=qXlLg(fBql;>R*5O@w1P;n$P^IrzU>siRaF||L&`s ztFONLTX%Nn>g?98jGFghnZ;h}TBaBUcao8o5($~IyMbk0SZdZVu+qq_lteu$XBt}u zd^_nWR!*j>8zX>ORav5s7!8Bk2@Av+@g<`nL0N2F5o4wvjnK{&*j%A2$#%6dXzfsL z1#KImpXUeu@VEZ=U-;;!{slWXjI9h$96j~bZ~xZ2-eZls?%ej2*}SFqo)9ii zUa%L6$`4wxOr}s$6iS)B3Z0S@lCsPJl_9O=wOU5qCndGux-v9I!c<#15qha}v|TFg zQ5xISl4BT4HEhsjG8f1*iaYj>X#duWFXT2nM4eE-OfyH}iRic1)^`OSqjj*3HC@mur6pD7%qEMK6 zEJ>F(w7aLz{lYK(vmg7?%r&o1*Oe!eNamm*Pu>8y-N}3g7PZpZNH{`)_~k6JPik7df==wM@>94?XqdSMRy& z`h!_tS2nR4=-5*0ZuG(>9*wG(1{E{r*aTHfHHS`7Bk zipFXp3ac_9N{A|_O)76~A2C%WQ*vtuWa$eoC}(W_lG8|Wue4s%=;HaD?kkTy{e}0v`_@~>qv4x3cUtCcN8kHp=lUhD5{gRC?Lq;f z6oDoL<@8Z%1q%nVciR)QWT*)%x==7mWiKTe%sLH;5HfXBQ8yJ@Db_{}DI?^rm`PD6 z^V*gh1vO)IJtjrZ6Aym=U;XUQ|J$FOdHrl4FHAA`E#$b({BgcvyJdBOc%T%hFLVYww-_%SVbYU@=XxWV}Fe#A1d*g!RTS z^JOAqxycU*G|@+CvT)XvY&zqk&|;J^Xl+Odw5zf80Mo3X+>o3C&m4K=_y55^{da%m z#Hr24U+St~?YiXY>8H1L&z?BFdG9yheZyN<$1B%w?Y4rCgo~f5^1`)5M-_WJxWLZh zq;pY*BwMj$#JbSzv=&H0?zkt#nUtXOk+zq6*O^&TFqZuz&TpQ*xZ?IeD(OrPu+Fn72|6T zA9!o)lkNK;lL{}q31711%dwXAV-|j4kN&5$!YMI3F$$+h#wknVMu_sY0OVR9 zX?-N2WejJ`44MIh;gGr+(Tv7awPWMl=~MsV_dfGq|Hh{u_NoWvD<1;B+_3GnF2xe3kgQnkb;MA>w?#bxwKs)pL8(lXNxW)r zMv>K0$Zu+4evDVgj8?{s#w+C5bM)wwfAH&{y6+zptL#(5-Mh>Bv^Z>UQrS#Q%0c`;X5n- zLhg)FF&>Yp2SZlZ*05GH+1c8-@1d{!{oniCBY*SExy=W89qu6pub%<{n9sw`k!Q|) zrjPOWuRFZHzP>iPIc04WToQD#L?{+fQl|7A@0B%UsibMGaYhDtEQnsNYEW8Zs)mHd zRW-xW3f5VC-}Xn29shqnd;cRp{^%3W{0r~>Ww~3@h1Tm#GI`$Gf9EY%e)!I zyL+D7*m2uCQ)X><(TY%%a8&KV6|R&h_2Q-wT9^Av8muu?btU(gtOrz;3@NwPVy)Z= z!fL|C=JuzbI)3u!PMkXPTf9Oo_j0YTr2+sL!-2!s9s1DfXyrfaL-^q4&UCo7Gm$~C z7dwk|p#Uwhzfu(1O1aZgT~S$!HioLMF~%?`x3YECVvItOXPY}azj5}=xqo)@^v0)v zb6jdG&_%4TxdP5xt5+S`clX+O@F#Ot-!+}Jx9&`4cGmV66}IZ763U&J$~`HSR#a6* zUCHgKtg*PtQ8|a!Dy9^UPIjjM;q2DVzn)Ac_X97<-F&^**HZzDRS#i(d~n}4R@Qwu zli$~N-A&V3JL-KH~}W(k$-E>YOWgXEi9Lc5_Nkh7>+CoAtjtnM^(doaSXX zJ70_SM?nGSuNqh#4&C*QYu;|Geuod?w&ddtT?hwLOifJ5#J&?0{(8u0j6T$e+Lds43uut14eB6|8G(4`gHZ=Nwja)+>=% z0fD4qB2K|fV~m@?8RU-Gy9g`!vfcspjrGQQW4*E7SZ}P$vHpK4eu#o{X7#%O0000< KMNUMnLSTZw9x{Uf literal 0 HcmV?d00001 diff --git a/mods/ra/icon-2x.png b/mods/ra/icon-2x.png new file mode 100644 index 0000000000000000000000000000000000000000..61efe68419ac1b61d118e542a98d4bdaf5a14abe GIT binary patch literal 3132 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 KWvivlg8vUUlS|kD literal 0 HcmV?d00001 diff --git a/mods/ts/icon-3x.png b/mods/ts/icon-3x.png new file mode 100644 index 0000000000000000000000000000000000000000..fa2555c9e664bd5a6544fb1777a4080665249154 GIT binary patch literal 12320 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