From 49e0157325bc7bfbed0871428c7b88c682e3a133 Mon Sep 17 00:00:00 2001 From: Alkheemist Date: Fri, 22 Aug 2025 20:11:07 +1000 Subject: [PATCH] Adds stencil lettering to the spraypainter (#39701) * adds stencil lettering to the spraypainter * update decal IDs to match convention --- Resources/Prototypes/Decals/lettering.yml | 321 ++++++++++++++++++ .../Textures/Decals/stencil.rsi/meta.json | 149 ++++++++ .../Textures/Decals/stencil.rsi/stencil0.png | Bin 0 -> 234 bytes .../Textures/Decals/stencil.rsi/stencil1.png | Bin 0 -> 147 bytes .../Textures/Decals/stencil.rsi/stencil2.png | Bin 0 -> 202 bytes .../Textures/Decals/stencil.rsi/stencil3.png | Bin 0 -> 218 bytes .../Textures/Decals/stencil.rsi/stencil4.png | Bin 0 -> 142 bytes .../Textures/Decals/stencil.rsi/stencil5.png | Bin 0 -> 192 bytes .../Textures/Decals/stencil.rsi/stencil6.png | Bin 0 -> 203 bytes .../Textures/Decals/stencil.rsi/stencil7.png | Bin 0 -> 206 bytes .../Textures/Decals/stencil.rsi/stencil8.png | Bin 0 -> 187 bytes .../Textures/Decals/stencil.rsi/stencil9.png | Bin 0 -> 209 bytes .../Textures/Decals/stencil.rsi/stencilA.png | Bin 0 -> 210 bytes .../Textures/Decals/stencil.rsi/stencilB.png | Bin 0 -> 182 bytes .../Textures/Decals/stencil.rsi/stencilC.png | Bin 0 -> 197 bytes .../Textures/Decals/stencil.rsi/stencilD.png | Bin 0 -> 166 bytes .../Textures/Decals/stencil.rsi/stencilE.png | Bin 0 -> 153 bytes .../Textures/Decals/stencil.rsi/stencilF.png | Bin 0 -> 154 bytes .../Textures/Decals/stencil.rsi/stencilG.png | Bin 0 -> 209 bytes .../Textures/Decals/stencil.rsi/stencilH.png | Bin 0 -> 149 bytes .../Textures/Decals/stencil.rsi/stencilI.png | Bin 0 -> 135 bytes .../Textures/Decals/stencil.rsi/stencilJ.png | Bin 0 -> 166 bytes .../Textures/Decals/stencil.rsi/stencilK.png | Bin 0 -> 227 bytes .../Textures/Decals/stencil.rsi/stencilL.png | Bin 0 -> 132 bytes .../Textures/Decals/stencil.rsi/stencilM.png | Bin 0 -> 195 bytes .../Textures/Decals/stencil.rsi/stencilN.png | Bin 0 -> 194 bytes .../Textures/Decals/stencil.rsi/stencilO.png | Bin 0 -> 182 bytes .../Textures/Decals/stencil.rsi/stencilP.png | Bin 0 -> 172 bytes .../Textures/Decals/stencil.rsi/stencilQ.png | Bin 0 -> 189 bytes .../Textures/Decals/stencil.rsi/stencilR.png | Bin 0 -> 214 bytes .../Textures/Decals/stencil.rsi/stencilS.png | Bin 0 -> 208 bytes .../Textures/Decals/stencil.rsi/stencilT.png | Bin 0 -> 131 bytes .../Textures/Decals/stencil.rsi/stencilU.png | Bin 0 -> 160 bytes .../Textures/Decals/stencil.rsi/stencilV.png | Bin 0 -> 208 bytes .../Textures/Decals/stencil.rsi/stencilW.png | Bin 0 -> 190 bytes .../Textures/Decals/stencil.rsi/stencilX.png | Bin 0 -> 224 bytes .../Textures/Decals/stencil.rsi/stencilY.png | Bin 0 -> 175 bytes .../Textures/Decals/stencil.rsi/stencilZ.png | Bin 0 -> 216 bytes .../Decals/stencil.rsi/stencil_Ampersand.png | Bin 0 -> 251 bytes .../Decals/stencil.rsi/stencil_Asterix.png | Bin 0 -> 193 bytes .../Decals/stencil.rsi/stencil_Dash.png | Bin 0 -> 106 bytes .../Decals/stencil.rsi/stencil_Equals.png | Bin 0 -> 111 bytes .../Decals/stencil.rsi/stencil_Exclaim.png | Bin 0 -> 141 bytes .../Decals/stencil.rsi/stencil_Hash.png | Bin 0 -> 143 bytes .../stencil.rsi/stencil_Multiocular.png | Bin 0 -> 227 bytes .../Decals/stencil.rsi/stencil_Plus.png | Bin 0 -> 127 bytes .../Decals/stencil.rsi/stencil_Question.png | Bin 0 -> 204 bytes .../Decals/stencil.rsi/stencil_Speso.png | Bin 0 -> 223 bytes 48 files changed, 470 insertions(+) create mode 100644 Resources/Prototypes/Decals/lettering.yml create mode 100644 Resources/Textures/Decals/stencil.rsi/meta.json create mode 100644 Resources/Textures/Decals/stencil.rsi/stencil0.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencil1.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencil2.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencil3.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencil4.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencil5.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencil6.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencil7.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencil8.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencil9.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencilA.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencilB.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencilC.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencilD.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencilE.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencilF.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencilG.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencilH.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencilI.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencilJ.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencilK.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencilL.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencilM.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencilN.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencilO.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencilP.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencilQ.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencilR.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencilS.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencilT.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencilU.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencilV.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencilW.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencilX.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencilY.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencilZ.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencil_Ampersand.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencil_Asterix.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencil_Dash.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencil_Equals.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencil_Exclaim.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencil_Hash.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencil_Multiocular.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencil_Plus.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencil_Question.png create mode 100644 Resources/Textures/Decals/stencil.rsi/stencil_Speso.png diff --git a/Resources/Prototypes/Decals/lettering.yml b/Resources/Prototypes/Decals/lettering.yml new file mode 100644 index 0000000000..81b893db5f --- /dev/null +++ b/Resources/Prototypes/Decals/lettering.yml @@ -0,0 +1,321 @@ +- type: decal + id: StencilNumber0 + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencil0 + +- type: decal + id: StencilNumber1 + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencil1 + +- type: decal + id: StencilNumber2 + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencil2 + +- type: decal + id: StencilNumber3 + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencil3 + +- type: decal + id: StencilNumber4 + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencil4 + +- type: decal + id: StencilNumber5 + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencil5 + +- type: decal + id: StencilNumber6 + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencil6 + +- type: decal + id: StencilNumber7 + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencil7 + +- type: decal + id: StencilNumber8 + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencil8 + +- type: decal + id: StencilNumber9 + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencil9 + +- type: decal + id: StencilLetterA + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencilA + +- type: decal + id: StencilLetterB + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencilB + +- type: decal + id: StencilLetterC + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencilC + +- type: decal + id: StencilLetterD + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencilD + +- type: decal + id: StencilLetterE + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencilE + +- type: decal + id: StencilLetterF + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencilF + +- type: decal + id: StencilLetterG + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencilG + +- type: decal + id: StencilLetterH + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencilH + +- type: decal + id: StencilLetterI + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencilI + +- type: decal + id: StencilLetterJ + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencilJ + +- type: decal + id: StencilLetterK + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencilK + +- type: decal + id: StencilLetterL + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencilL + +- type: decal + id: StencilLetterM + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencilM + +- type: decal + id: StencilLetterN + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencilN + +- type: decal + id: StencilLetterO + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencilO + +- type: decal + id: StencilLetterP + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencilP + +- type: decal + id: StencilLetterQ + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencilQ + +- type: decal + id: StencilLetterR + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencilR + +- type: decal + id: StencilLetterS + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencilS + +- type: decal + id: StencilLetterT + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencilT + +- type: decal + id: StencilLetterU + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencilU + +- type: decal + id: StencilLetterV + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencilV + +- type: decal + id: StencilLetterW + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencilW + +- type: decal + id: StencilLetterX + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencilX + +- type: decal + id: StencilLetterY + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencilY + +- type: decal + id: StencilLetterZ + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencilZ + +- type: decal + id: StencilSymbolAmpersand + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencil_Ampersand + +- type: decal + id: StencilSymbolAsterix + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencil_Asterix + +- type: decal + id: StencilSymbolDash + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencil_Dash + +- type: decal + id: StencilSymbolEquals + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencil_Equals + +- type: decal + id: StencilSymbolExclaim + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencil_Exclaim + +- type: decal + id: StencilSymbolHash + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencil_Hash + +- type: decal + id: StencilSymbolSpeso + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencil_Speso + +- type: decal + id: StencilSymbolMultiocular + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencil_Multiocular + +- type: decal + id: StencilSymbolPlus + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencil_Plus + +- type: decal + id: StencilSymbolQuestion + tags: ["station", "markings"] + sprite: + sprite: Decals/stencil.rsi + state: stencil_Question diff --git a/Resources/Textures/Decals/stencil.rsi/meta.json b/Resources/Textures/Decals/stencil.rsi/meta.json new file mode 100644 index 0000000000..69cebf29d0 --- /dev/null +++ b/Resources/Textures/Decals/stencil.rsi/meta.json @@ -0,0 +1,149 @@ +{ + "version": 1, + "license": "CC-BY-SA-4.0", + "copyright": "made by Alkheemist (GitHub/Discord)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "stencil0" + }, + { + "name": "stencil1" + }, + { + "name": "stencil2" + }, + { + "name": "stencil3" + }, + { + "name": "stencil4" + }, + { + "name": "stencil5" + }, + { + "name": "stencil6" + }, + { + "name": "stencil7" + }, + { + "name": "stencil8" + }, + { + "name": "stencil9" + }, + { + "name": "stencilA" + }, + { + "name": "stencilB" + }, + { + "name": "stencilC" + }, + { + "name": "stencilD" + }, + { + "name": "stencilE" + }, + { + "name": "stencilF" + }, + { + "name": "stencilG" + }, + { + "name": "stencilH" + }, + { + "name": "stencilI" + }, + { + "name": "stencilJ" + }, + { + "name": "stencilK" + }, + { + "name": "stencilL" + }, + { + "name": "stencilM" + }, + { + "name": "stencilN" + }, + { + "name": "stencilO" + }, + { + "name": "stencilP" + }, + { + "name": "stencilQ" + }, + { + "name": "stencilR" + }, + { + "name": "stencilS" + }, + { + "name": "stencilT" + }, + { + "name": "stencilU" + }, + { + "name": "stencilV" + }, + { + "name": "stencilW" + }, + { + "name": "stencilX" + }, + { + "name": "stencilY" + }, + { + "name": "stencilZ" + }, + { + "name": "stencil_Ampersand" + }, + { + "name": "stencil_Asterix" + }, + { + "name": "stencil_Dash" + }, + { + "name": "stencil_Equals" + }, + { + "name": "stencil_Exclaim" + }, + { + "name": "stencil_Hash" + }, + { + "name": "stencil_Speso" + }, + { + "name": "stencil_Multiocular" + }, + { + "name": "stencil_Plus" + }, + { + "name": "stencil_Question" + } + ] +} diff --git a/Resources/Textures/Decals/stencil.rsi/stencil0.png b/Resources/Textures/Decals/stencil.rsi/stencil0.png new file mode 100644 index 0000000000000000000000000000000000000000..5c3139274696645f35fdee77266fe81b566ea865 GIT binary patch literal 234 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJjh-%!ArY-_rv-8~81Oh-fBYA| z&YnxD*!R{6fobuxznaQgY+iaY%VXm1>g#u+ocHx_Nu90iw8y!@tN2UL^^Phxm7r_V z>l$*;U2|eM)3}D+Phryhq*|edQ>jx`4R{~e)jnJI$GY*=msEz literal 0 HcmV?d00001 diff --git a/Resources/Textures/Decals/stencil.rsi/stencil1.png b/Resources/Textures/Decals/stencil.rsi/stencil1.png new file mode 100644 index 0000000000000000000000000000000000000000..aaf94006b44ea45f8addf4e9bca09974684551c4 GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJC{Gv1kcif|(=7Rb5-dl5{MS!T zT`c&R^{mfJx0wl>H60C-T34+)%qsYDb6J_wJ;{H~D;va9#qO*rZU4Zl(7?dN0U$u^^7gSjOH(8bZ>losSdP-!PC{xWt~$(69DSgGL`@U literal 0 HcmV?d00001 diff --git a/Resources/Textures/Decals/stencil.rsi/stencil2.png b/Resources/Textures/Decals/stencil.rsi/stencil2.png new file mode 100644 index 0000000000000000000000000000000000000000..4c2b20879b41bb2cb9e8e43aae1c008132f21752 GIT binary patch literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJiJmTwArY-_rv~yJP~dP*y!m(i znSZ=ludhvzyuUs~OYP{JfF5O6LBW+b?oRwHcs;9_#l_m>!!pY%_i~q+0+O1m=hiXa zp0l=<$3T3OR0WgPyL$&utq#|ie_$Wm1)hl#2~0k_xNq&^d8s$UbiP!8xw-ILCbpA$ zKkhUbiGJr@l>ES)ZH0`%;m6yTXKT)P*xBf8$zS`!#q9sQ^8!G}F?hQAxvX`Ga1#EWTtB$y8J=|U@0)h8xhrmKzxjaU$m4@r7N3^BxyxL5 zf+amyk>QwP_45>2ZG|XR)jjITR-B=e7#G;OFdZ=25Wu%VwkVwUlgtONK)wfmr!C=8 z-P{oPQzyWA3)e07DeEWt9o`fv5P9}gv>|igwXW#tm$W*rM9pih@YVmZP4Dx90KL$C SuU-Qk%i!ti=d#Wzp$Py@v{jq{ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Decals/stencil.rsi/stencil4.png b/Resources/Textures/Decals/stencil.rsi/stencil4.png new file mode 100644 index 0000000000000000000000000000000000000000..041dbb45c208e90ee51e5efeb63ec278b9fba0a6 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJP)`@fkcif|Qysa05-i5Q{!f1^ z7Rxg=LEkuBTvDWjM<6-y;N8D1XAa%z_UXTw`A3*Vz=460B}}d4{uiF9_Z8#}0xbh=f`#$SOhh>!qodjAl{GFK&Ff3};W>GLUwV(Rv p|Ah8QJpY;FtehApTs8?^#@QofU{IEyp$BvlgQu&X%Q~loCICp*Ln;6O literal 0 HcmV?d00001 diff --git a/Resources/Textures/Decals/stencil.rsi/stencil6.png b/Resources/Textures/Decals/stencil.rsi/stencil6.png new file mode 100644 index 0000000000000000000000000000000000000000..46ceaf0d565cd8ef7840f421d54cb75a7d216788 GIT binary patch literal 203 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJNuDl_ArY-_rx}Vh7;rdupZ^^% zS?=oLl_~yDtI_v}aRL{*olQ(1?V6S_BV zoWQ82xVq6g;Arg3nv*uQ;xEV!}OEYo9NAFJdpSDKH!FPg}wEjv=|J zvvmKJf)19&KV;J%mL)v}GCV@&M>M22WQ%mvv4FO#q8o BO(y^V literal 0 HcmV?d00001 diff --git a/Resources/Textures/Decals/stencil.rsi/stencil7.png b/Resources/Textures/Decals/stencil.rsi/stencil7.png new file mode 100644 index 0000000000000000000000000000000000000000..54826779ced4c42ebc9baf98f1dd49630ca88afb GIT binary patch literal 206 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJsh%#5ArY-_r+M=oP~dP``10?1 zpYXdgvVNY)xMkt(Tj8JBc;einjQ5Am=){JE-j@0vIa`_AkyY%%4o(KsQ81DBaJD!dpt`MDQ7RAgkkqkEuf zH_MC<;f!WA8V1aILO0kWq$hbd?40*EU;E#j1Lr=)%*^xAzwr9A4$y%Np00i_>zopr E0NJuk#{d8T literal 0 HcmV?d00001 diff --git a/Resources/Textures/Decals/stencil.rsi/stencil8.png b/Resources/Textures/Decals/stencil.rsi/stencil8.png new file mode 100644 index 0000000000000000000000000000000000000000..7c97b60c89b1eed543c533fc72ec70905cc76828 GIT binary patch literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJCQlc~kcif|p^kh96gVdT{eS+= zK7}n7n|Evp*SsQiTH?@ggC!^K+N#W!ESmT56`y-UK`^8C;fr#?-AYPHnx}Q=H^`p5 z=EO9kO^3ZKL0shl593@L2g?o2Jsiu-{%WOmiSB+7DXv($;Pd~Ra<^D-v8J<3WYOqa l{^Y*<$5kEXdI~wmc_*z+Fi3y3$_eNi22WQ%mvv4FO#rsqMpgg- literal 0 HcmV?d00001 diff --git a/Resources/Textures/Decals/stencil.rsi/stencil9.png b/Resources/Textures/Decals/stencil.rsi/stencil9.png new file mode 100644 index 0000000000000000000000000000000000000000..d0c4a680d2a5c91d257c276f86e5483d72547e69 GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJ8J;eVArY-_Lml}JC~!+`U35c`%vr;&CzO|uXe6QPx~>+E`<8yP%Z{an^L HB{Ts5d`3~x literal 0 HcmV?d00001 diff --git a/Resources/Textures/Decals/stencil.rsi/stencilA.png b/Resources/Textures/Decals/stencil.rsi/stencilA.png new file mode 100644 index 0000000000000000000000000000000000000000..c3a92548260854211790486d82cd8500d9c3fa26 GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJnVv3=ArY-_r+M-nP~c(qy!yZ1 za_>UDfF$!(tu5<0lGPG5Q$2N()pzZV?>VEfzL$4`s@B)q?^k;kD5xv&Gbq1)xV|kx z@|p65OEbB=6jTpP7x*pTy(e>?T*sSviYh=Q0*6`_xSj?nHgGvoVrJy-*RYQ>+Ux&> z9*BJ6^IhE9^o>*d^d9sIcxW*&G4?WKriPbnVPDE@ zd|-><0)a2a3Jw366x3Xp9lB@FoV%v?{i<~;e|bvk7HoIOKe*3LrQv*p;n(PYXHIU} gE_&W-#TFNFxpNN2*XFUa0v*EO>FVdQ&MBb@0GHlFjQ{`u literal 0 HcmV?d00001 diff --git a/Resources/Textures/Decals/stencil.rsi/stencilC.png b/Resources/Textures/Decals/stencil.rsi/stencilC.png new file mode 100644 index 0000000000000000000000000000000000000000..e79cf206cc8937406515bb160775b8202fb31bf1 GIT binary patch literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJ9#0p?kcif|(+v3z7;rE&rxtm=Io5Vj1(8Q zQ&rQo6J~GTD!?FoqAJhKLYgVgaVm=f10#n61Cz#I>At*^aTi$1{EV+KuWx8f$U5At v$aTu<{9(>FbCPn76|t%dNb*lO^_AhEmW|cV^5%G;yBIuO{an^LB{Ts5Mh-@y literal 0 HcmV?d00001 diff --git a/Resources/Textures/Decals/stencil.rsi/stencilD.png b/Resources/Textures/Decals/stencil.rsi/stencilD.png new file mode 100644 index 0000000000000000000000000000000000000000..649f4043a55b26d8c32e83dc2bb8846c6b2144b3 GIT binary patch literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJTu&Frkcif|)2#V`63z#I-|SHFuIlgdOFZz N22WQ%mvv4FO#t05H*Ej_ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Decals/stencil.rsi/stencilE.png b/Resources/Textures/Decals/stencil.rsi/stencilE.png new file mode 100644 index 0000000000000000000000000000000000000000..a387756bbc9015d6dcca37e7891950ed4546f59e GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJ1Wy;okcif|(;T@R6ggOpcm1E5 zd->I8-quHsXL5X{MK)b?=y7E%|9+pv`1aAm-C_5p$7vQZ?{vsw3HXo;K(&o(*lOKLDac|79?M8 z+<2xVZgfB-#k7Daa)(iOyUpR8EsbUYc?w@7tLlz@VmZaz(wERvSuOvAIhVocLFCy0 z-Z>1(O%G@N|5~(=CG4~Md+s!*d7(XPH_9CB>+Ik*xm3u!A=JSpnYAqu=tc%lS3j3^ HP6ex6Gb)aq=;#>DY#hisbLM7^MQd&^{PH7DYCj7ji+}?|<2sSG=Cx1vzYkrP vFux(zA?n~u+3=m4q<(`W8Cl*iC8RUt){0pC<$YcWw1>gd)z4*}Q$iB};$buq literal 0 HcmV?d00001 diff --git a/Resources/Textures/Decals/stencil.rsi/stencilI.png b/Resources/Textures/Decals/stencil.rsi/stencilI.png new file mode 100644 index 0000000000000000000000000000000000000000..3c8bc08bc737ae13b7411284e8bf650056782aa7 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzKTj9Okcif|(+s&73^-U<48hu?zn3YRvDHUQ*7$ z=(%7ozt$_Moy^)o+QseLtDir)tJEyw`?yrguzSOl_pzNPzB8};$P^T>qC9`@~!=5v9QG&nZw4+0f+8q++AvaQLiP_r=%E40n8L*fn;jd}#SS^*l?} zkJ~$Z7To{#FKTLpki=X|#fj@!BRQ8yrKxPFbC~L2t>nt|o^!E~YHXp)qBr{+{=~eW b@{Hx|#vJqSv!wO|UCrR>>gTe~DWM4fQCL{c literal 0 HcmV?d00001 diff --git a/Resources/Textures/Decals/stencil.rsi/stencilL.png b/Resources/Textures/Decals/stencil.rsi/stencilL.png new file mode 100644 index 0000000000000000000000000000000000000000..cc578c18b5cf7019ce02159365927d36c421d276 GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzZ%-G;kcif|*9^HB6nIz;y8QV+ z{k&gJ5X(g88@arR8@yO%o_^&x>03aWW%=!jtr9>jP|%Riu-Uj~-mAN-F5mmdT*h!S XTImyqnN-N40FVMtS3j3^P69Q7kcif|Qw;eIDDW`*Uj1Kh zIrkRh)kX;wv1-*D?i>u)5>2-W2!0gZ>h{{`Y(-3{vZ_sR)uwwX+k~gqIv>_@*;@Cy zb4uSu$rEfZ-q&sZkRx|VaZYQ%VaA7&e7v4-FBzvWPBmR-#K0Y7ug$rDKjbjugD~@T tZ2Ko!Z}4U_Xkg??U|^PE-_ZA(@jzLK*+HJ$Z-K62@O1TaS?83{1OR{ZMCAYg literal 0 HcmV?d00001 diff --git a/Resources/Textures/Decals/stencil.rsi/stencilN.png b/Resources/Textures/Decals/stencil.rsi/stencilN.png new file mode 100644 index 0000000000000000000000000000000000000000..0052eeba7cd917f37316ccc2c3ff9b2d2ea21b4c GIT binary patch literal 194 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJPEQxdkcif|(;WE@C~&Y$|M&m= zmn%m?Jh}6lP0j@dUhnK=n4NNDRzT?6F4r@^mfNn`>R#e3wvHkG0pEdb6Y?7Vt=RMR zCEFQ>TLryaw zHHwKrtrK@XO%p4X3i|-rkeF7Yvt6H?g=G4x48RJ>f#v>rO>@^g;yNE z8p*OiC&bpGG1#bqktczHS>gZ#N5axsf&6|BjR9$=uU!&5wQQRG^E55th?PmN`o3|N gDeU{f_Ia=yFVdQ&MBb@07hOqn*aa+ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Decals/stencil.rsi/stencilQ.png b/Resources/Textures/Decals/stencil.rsi/stencilQ.png new file mode 100644 index 0000000000000000000000000000000000000000..b4af8484176063512d994ee23e76ee4d9f0a648b GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJ7Ec$)kcif|)2zh~C~&Z-e&27L z85AKP^T%fP-7v9ZOBb5H+|(nob9Z~1vGV(w^KL$LIWn7R4bO7hI_0h&l}oG2cQn2F zkfqDC!emWV0n>6721X7C1}1?6VGRFEco(qW@3_z-~JQ*{j^U*gTe~DWM4feYiuI literal 0 HcmV?d00001 diff --git a/Resources/Textures/Decals/stencil.rsi/stencilR.png b/Resources/Textures/Decals/stencil.rsi/stencilR.png new file mode 100644 index 0000000000000000000000000000000000000000..bb4f0a2d040e10f4cd8762cb9afa23a68f755248 GIT binary patch literal 214 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJxt=bLArY-_r+M-nP~c&nyz2k| zqN-P{fdyj0E02ax>uECV$l0q?D`jB(S})-0#ftoQ9>;T>+&EN385$e<7&4!(d2v~8 z3SUJ-rh9|a1=|gb|F|1k1b7*A^_=RsZ<*R&v^6-*ti>SYmVVXk-uFjgJD77F`_;V| zRw-PPJK;2Ch5>V68TTTArPmFZ0_QQub*RQ~57Fi*ArY-_ryb;LP~dSk|Nnpf z^P?3CR#p#>PPnj`@i)_!gl%6p$4H6@7Wx-_|28|Nfpy}s>?3^-UE&;I{k zlNs#7Ids5Z@CgW4?UFXC@pVywOV+87kfj11Bwlf-D V;V{pq`gIRcytzu{E(E^-LZT7gqsH93rns{eKc30fq{twLKL(eDBckg`2B?W zgo!6o4i{F3mGs}rTIXKDy!wBm&+#vu_dMQMFw~r5-LOT$xZ1c(6KExar>mdKI;Vst E02Q7&)Bpeg literal 0 HcmV?d00001 diff --git a/Resources/Textures/Decals/stencil.rsi/stencilV.png b/Resources/Textures/Decals/stencil.rsi/stencilV.png new file mode 100644 index 0000000000000000000000000000000000000000..572e40bf95b674edef030eef9f9680cf2a1efe31 GIT binary patch literal 208 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJ>7Fi*ArY-_r=8_%P~d4k_~YMt zn|!w332S-wbMHMg>(bv1L1qb8?lsQ5S-bMuyS;)oGVM-tIAac6xHZ$HBDs)#8b?OF zz3PIkdQP_b^_ymgNp0^LxR^h}ArLcNk+FZqu%~ z@rSL6sX{A7F`;2iN8=2pp4C_O9@wSSaY}1C)0tC?l~@*S$w_o8Rl|; zEORM9ra2v8X6`jeqHR- z686>)Pl>D5%h+9hBE*8{fn(^Q+YEOFVdQ&MBb@0MuGP-2eap literal 0 HcmV?d00001 diff --git a/Resources/Textures/Decals/stencil.rsi/stencilZ.png b/Resources/Textures/Decals/stencil.rsi/stencilZ.png new file mode 100644 index 0000000000000000000000000000000000000000..7c40d838a3041bca3448c085d851cd3a59874d1f GIT binary patch literal 216 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJ`JOJ0ArY-_r*9N$P~dT1`TYO? zqPZ~^t8-_aaB|!Ex|+jTB00TKC#s;ly?xeAo5%mmo;xV6xxl(;uA60K^Mw#u>J88u8@Zzj4Xb_4i7~d`S$2uXx+{tQ4rC<+RifL!zKplIH7<8mzlIG zyc{_Hiv%2wXZ_dEANYcKRofJyfNPsK2)jAHwpu!^{2o`}wEf&=)1EWgRfp)Bd$Feg Poyy?p>gTe~DWM4f66I20 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Decals/stencil.rsi/stencil_Ampersand.png b/Resources/Textures/Decals/stencil.rsi/stencil_Ampersand.png new file mode 100644 index 0000000000000000000000000000000000000000..ac7583bf5f893a0e4c5d1f645f7b52187982b371 GIT binary patch literal 251 zcmVtr|10Cl#KZ<>2AaAkJGH=*Z;xZkVlnifyZcAk%(8EpoT~FKofJTE&gfpO z(NSpM?^s|c1(9>*j0`YCC;%k9Q&W&RPzn~x7t-hIENB@-qcdnRQWc9rFr7dFpb(5m zik%QLc^8BXfIuKcSsFwmqiiR@0FU8ri2n~F#;^iG?}Er+mX0z2^5-l>`93fzPG%mI z+Aw-XA?Q0{6i#IlrV)VGs<;cF6r{tXuno5?mmBWLpdS(CtJnYl002ovPDHLkV1oZH BVwV5_ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Decals/stencil.rsi/stencil_Asterix.png b/Resources/Textures/Decals/stencil.rsi/stencil_Asterix.png new file mode 100644 index 0000000000000000000000000000000000000000..37ca93425faba5c1763bce5758dddf77afa10ae6 GIT binary patch literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJ4o?@ykcif|VbNR-20YnEf5-3q zx8lT$UmS;6Cf}bZaLdG}Md2TxYiC;8_71Hzn-?D0?!df|(Ylc%eCOp46;IM{q$!@M zQ2usiVfray7xk(0__cI`tj~Y?Th>!jwJ=s;qTrGV)8;??9=<`R<>tEMat@m>zH0P% sQT5tSM<#G<#iH*yynpyFFgOaZZ&Qj9?qI+F0O%$LPgg&ebxsLQ09|lTAOHXW literal 0 HcmV?d00001 diff --git a/Resources/Textures/Decals/stencil.rsi/stencil_Dash.png b/Resources/Textures/Decals/stencil.rsi/stencil_Dash.png new file mode 100644 index 0000000000000000000000000000000000000000..c77f630a77ca261a7fe17c79bb8b27d1ea174ecd GIT binary patch literal 106 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzLr)jSkcif|=Qi>(DDW^l9{OiJ zn{|QX#7lR!>fOs`WH|iFRK+uU#j9Jl=1!D<%+AojEVPz|ZLyulcc5klPgg&ebxsLQ E0O%hf9RL6T literal 0 HcmV?d00001 diff --git a/Resources/Textures/Decals/stencil.rsi/stencil_Equals.png b/Resources/Textures/Decals/stencil.rsi/stencil_Equals.png new file mode 100644 index 0000000000000000000000000000000000000000..caefdf0994716717932dfb6672d72010906c39dd GIT binary patch literal 111 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzGfx-Ckcif|S2pqjC0rc~{?9FB z%;n*1E!REzTU3x?|LNNcSFJLgQkk>%+==dwj1BH4b_@-?(swzy7oC#W2{eJh)78&q Iol`;+0DWL0zyJUM literal 0 HcmV?d00001 diff --git a/Resources/Textures/Decals/stencil.rsi/stencil_Exclaim.png b/Resources/Textures/Decals/stencil.rsi/stencil_Exclaim.png new file mode 100644 index 0000000000000000000000000000000000000000..9b7024bc539db2ea0988a528a0e924377784c9f5 GIT binary patch literal 141 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJ5KkA!kcif|Qw_No3^@)Y{r{hC zEnd}Jl+d0M-ee+@GGhf_N?M&>x5oSEtBv~u9U2Q8i_8lAH%?ZtDPUw3$=DlX;r&94 mfj`E9k@d*^fW|^b$#mvm76DxgC9ZIw`3#<}elF{r5}E+&cPX#{ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Decals/stencil.rsi/stencil_Hash.png b/Resources/Textures/Decals/stencil.rsi/stencil_Hash.png new file mode 100644 index 0000000000000000000000000000000000000000..1e22e4b779e1e35afc8e3de5a009a7457baba525 GIT binary patch literal 143 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJFi#i9kcif|Qw+Hn6nL1|{{LSb z>#`*3rBdX(XDoeAx1>5YW?i^jJN3-EyR@Mj5 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Decals/stencil.rsi/stencil_Multiocular.png b/Resources/Textures/Decals/stencil.rsi/stencil_Multiocular.png new file mode 100644 index 0000000000000000000000000000000000000000..284401a1880b3c6f0b4d1469f3a944e1153dcb0f GIT binary patch literal 227 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJRh}-6ArY-_!!7v^7;rTI`+vUV zWrNZ>ks_Xop5OujH<1N}5)wOITvY0MIt1-h9k}IM)eosuelonEapsY(V87}Ct^?<7 z_VIjqsIRXW(wKZ=pGDBb0M;c6f6hGC?dYAfb>1wWtZT6+O$8I*pZjs|v8DPqhil(c ziyumf=Nx_|?!70Xan1YmXNO|VVsw>EI!qMz@-uv~3pmewXBYn;&LwIm);yip(Ir3m bSmBny z%)H$nggN-;^5w6d*dZ}-nS`s^%$dALS9Psfzhlu+L4miI7=mSNlW#4WD3G}_e0MEV ze&PGL6AjND*0a4kp!x2m)01n0r>qOkF#Kxmm-z6+{gie7;WR`4EsV=7avOC0Boh|> z^1UVCR;+xKK{)C^?;1 zWV$^ihB3#!jM3x>gFy4_- z%%FNPSs=7QYPyrc