From ff8257f94d2f24b291f6db31fc0018a2470dea38 Mon Sep 17 00:00:00 2001 From: Igor Timofeev Date: Sat, 22 Apr 2017 01:34:18 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9D=D1=83=20=D1=82=D1=8B=20=D0=B8=20=D0=B6?= =?UTF-8?q?=D0=B8=D1=80=D0=BD=D1=8B=D0=B9,=20=D0=B5=D0=B1=D0=B0=D1=82?= =?UTF-8?q?=D1=8C!=20=D0=92=D0=BE=D1=82=20=D1=8D=D1=82=D0=BE=20=D0=BE?= =?UTF-8?q?=D0=B1=D0=BD=D0=BE=D0=B2=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Крч, формат пикч новый, парочка багфиксов, формат .app чутка изменен, и ваще прям мяу. Но багов может быть дохуя --- Applications/3DPrint/Icon.pic | Bin 252 -> 142 bytes Applications/3DTest/Icon.pic | Bin 177 -> 134 bytes Applications/AppMarket/AppMarket.lua | 4 +- Applications/AppMarket/Icon.pic | Bin 167 -> 117 bytes Applications/Battleship/Icon.pic | Bin 143 -> 106 bytes Applications/BufferDemo/Icon.pic | Bin 134 -> 108 bytes Applications/BufferDemo/Wallpaper.pic | Bin 8957 -> 8639 bytes Applications/Calendar/Icon.pic | Bin 261 -> 165 bytes Applications/Camera/Icon.pic | Bin 272 -> 187 bytes Applications/Chat/Icon.pic | Bin 156 -> 91 bytes Applications/Chat/MyAvatar.pic | Bin 130 -> 87 bytes Applications/ChristmasTree/Icon.pic | Bin 259 -> 152 bytes Applications/CodeDoor/Icon.pic | Bin 168 -> 115 bytes Applications/Control2/Icon.pic | Bin 179 -> 127 bytes Applications/Control2/LuaLogo.pic | Bin 366 -> 308 bytes Applications/DanceFloor/Icon.pic | Bin 98 -> 79 bytes Applications/FlappyBird/Flappy.pic | Bin 340 -> 274 bytes Applications/FlappyBird/Icon.pic | Bin 182 -> 146 bytes Applications/ForceAdmin/Icon.pic | Bin 353 -> 222 bytes Applications/FuckTheRain/Icon.pic | Bin 104 -> 83 bytes Applications/GeoScan2/Earth.pic | Bin 3267 -> 1448 bytes Applications/GeoScan2/GeoScan2.lua | 2 +- Applications/GeoScan2/Icon.pic | Bin 309 -> 206 bytes Applications/Graph/Icon.pic | Bin 135 -> 105 bytes Applications/GuessWord/Icon.pic | Bin 165 -> 121 bytes Applications/HEX/Icon.pic | Bin 316 -> 198 bytes Applications/HoloClock/Icon.pic | Bin 185 -> 134 bytes Applications/HoloEdit/Icon.pic | Bin 105 -> 86 bytes Applications/InfoPanel/Icon.pic | Bin 255 -> 171 bytes Applications/Keyboard/Icon.pic | Bin 110 -> 80 bytes Applications/MineCodeIDE/Icon.pic | Bin 269 -> 179 bytes Applications/MineSweeper/Icon.pic | Bin 175 -> 125 bytes Applications/Palette/Icon.pic | Bin 319 -> 201 bytes Applications/Photoshop/Icon.pic | Bin 163 -> 113 bytes .../Photoshop/Localization/English.lang | 2 +- .../Photoshop/Localization/Russian.lang | 2 +- Applications/Photoshop/Photoshop.lua | 234 ++- Applications/PrintImage/Icon.pic | Bin 129 -> 104 bytes Applications/PrintImage/PrintImage.lua | 24 +- Applications/QuantumCube/Icon.pic | Bin 154 -> 97 bytes Applications/Radio/Icon.pic | Bin 274 -> 167 bytes Applications/RayWalk/Icon.pic | Bin 133 -> 101 bytes .../Weapons/CrosshairTextures/Angled.pic | Bin 93 -> 71 bytes .../Weapons/CrosshairTextures/Default.pic | Bin 78 -> 60 bytes .../Weapons/CrosshairTextures/Dotted.pic | Bin 45 -> 35 bytes .../Weapons/CrosshairTextures/Half.pic | Bin 67 -> 51 bytes .../RayWalk/Weapons/FireTextures/Plasma.pic | Bin 2200 -> 1582 bytes .../Weapons/FireTextures/PowderFire.pic | Bin 4287 -> 1187 bytes .../RayWalk/Weapons/WeaponTextures/Pistol.pic | Bin 3870 -> 2882 bytes .../Weapons/WeaponTextures/Plasmer.pic | Bin 7098 -> 5162 bytes .../RayWalk/Weapons/WeaponTextures/Rifle.pic | Bin 5065 -> 3798 bytes .../RayWalk/Weapons/WeaponTextures/Sniper.pic | Bin 7190 -> 5202 bytes Applications/RunningString/Icon.pic | Bin 260 -> 183 bytes Applications/Shooting/Icon.pic | Bin 208 -> 138 bytes Applications/SmartHouse/Icon.pic | Bin 154 -> 115 bytes .../SmartHouse/Modules/command_block/Icon.pic | Bin 1287 -> 365 bytes .../SmartHouse/Modules/homePC/Icon.pic | Bin 1287 -> 299 bytes .../SmartHouse/Modules/homePC/Server.pic | Bin 299 -> 237 bytes Applications/SmartHouse/Modules/mfsu/Icon.pic | Bin 1287 -> 295 bytes .../SmartHouse/Modules/motion_sensor/Icon.pic | Bin 1287 -> 277 bytes .../SmartHouse/Modules/reactor/Icon.pic | Bin 1287 -> 275 bytes .../SmartHouse/Modules/redstone/Icon.pic | Bin 484 -> 359 bytes .../SmartHouse/Modules/screen/Icon.pic | Bin 1287 -> 231 bytes Applications/Stargate/Gate.pic | Bin 5052 -> 4099 bytes Applications/Stargate/GateCore.pic | Bin 5579 -> 4447 bytes Applications/Stargate/Icon.pic | Bin 189 -> 138 bytes Applications/Stargate/Stargate.lua | 10 +- Applications/TurretControl/Icon.pic | Bin 202 -> 152 bytes Applications/TurretControl/Turret.pic | Bin 405 -> 324 bytes Applications/TurretControl/TurretControl.lua | 6 +- Applications/VK/Icon.pic | Bin 203 -> 144 bytes Applications/VK/VK.lua | 10 +- Applications/VK/VKLogo.pic | Bin 1158 -> 769 bytes Applications/Weather/Cloudy.pic | Bin 118 -> 92 bytes Applications/Weather/Icon.pic | Bin 190 -> 138 bytes Applications/Weather/Rainy.pic | Bin 104 -> 83 bytes Applications/Weather/Snowy.pic | Bin 102 -> 81 bytes Applications/Weather/Stormy.pic | Bin 145 -> 110 bytes Applications/Weather/Sunny.pic | Bin 127 -> 102 bytes Applications/Weather/SunnyWithClouds.pic | Bin 190 -> 138 bytes Documentation/GUI.md | 2 +- MineOS/Icons/3DModel.pic | Bin 244 -> 156 bytes MineOS/Icons/Application.pic | Bin 156 -> 114 bytes MineOS/Icons/Archive.pic | Bin 286 -> 160 bytes MineOS/Icons/Computer.pic | Bin 168 -> 120 bytes MineOS/Icons/Config.pic | Bin 176 -> 112 bytes MineOS/Icons/Downloading.pic | Bin 1280 -> 1204 bytes MineOS/Icons/FileNotExists.pic | Bin 198 -> 135 bytes MineOS/Icons/Finger.pic | Bin 455 -> 418 bytes MineOS/Icons/Floppy.pic | Bin 153 -> 102 bytes MineOS/Icons/Folder.pic | Bin 112 -> 90 bytes MineOS/Icons/HDD.pic | Bin 240 -> 170 bytes MineOS/Icons/Image.pic | Bin 260 -> 208 bytes MineOS/Icons/Languages.pic | Bin 3632 -> 2492 bytes MineOS/Icons/Love.pic | Bin 1095 -> 984 bytes MineOS/Icons/Lua.pic | Bin 300 -> 200 bytes MineOS/Icons/OK.pic | Bin 637 -> 598 bytes MineOS/Icons/OS_Logo.pic | Bin 1940 -> 1372 bytes MineOS/Icons/Pastebin.pic | Bin 289 -> 185 bytes MineOS/Icons/RawImage.pic | Bin 260 -> 0 bytes MineOS/Icons/Robot.pic | Bin 228 -> 150 bytes MineOS/Icons/SampleIcon.pic | Bin 242 -> 161 bytes MineOS/Icons/Script.pic | Bin 101 -> 73 bytes MineOS/Icons/Security.pic | Bin 950 -> 820 bytes MineOS/Icons/Steve.pic | Bin 214 -> 195 bytes MineOS/Icons/Tablet.pic | Bin 296 -> 158 bytes MineOS/Icons/Text.pic | Bin 176 -> 112 bytes MineOS/Icons/Trash.pic | Bin 193 -> 132 bytes MineOS/Icons/Update.pic | Bin 663 -> 622 bytes MineOS/OS.lua | 2 +- MineOS/Wallpapers/Afterlife.pic | Bin 21039 -> 0 bytes MineOS/Wallpapers/AhsokaTanoHiRes.pic | Bin 19790 -> 15527 bytes MineOS/Wallpapers/Blueberry.pic | Bin 18265 -> 0 bytes MineOS/Wallpapers/Catniss.pic | Bin 21488 -> 13815 bytes MineOS/Wallpapers/ChristmasTree.pic | Bin 10652 -> 9843 bytes MineOS/Wallpapers/Ciri.pic | Bin 17364 -> 12309 bytes MineOS/Wallpapers/Dayeneris.pic | Bin 19807 -> 0 bytes MineOS/Wallpapers/Girl.pic | Bin 21624 -> 14137 bytes MineOS/Wallpapers/Harp.pic | Bin 20965 -> 0 bytes MineOS/Wallpapers/Invoker.pic | Bin 11221 -> 0 bytes MineOS/Wallpapers/Jodie.pic | Bin 23448 -> 0 bytes MineOS/Wallpapers/Liara.pic | Bin 11037 -> 0 bytes MineOS/Wallpapers/Luna.pic | Bin 19855 -> 0 bytes MineOS/Wallpapers/Nettle.pic | Bin 17427 -> 14153 bytes MineOS/Wallpapers/Nocturnal.pic | Bin 12823 -> 10077 bytes MineOS/Wallpapers/Raspberry.pic | Bin 18468 -> 14703 bytes MineOS/Wallpapers/StarWars.pic | Bin 11158 -> 0 bytes MineOS/Wallpapers/Sunbeams.pic | Bin 21487 -> 0 bytes MineOS/Wallpapers/TemplarAssassin.pic | Bin 17022 -> 12485 bytes lib/ECSAPI.lua | 2 +- lib/GUI.lua | 24 +- lib/ImageFormatModules/OCIF.lua | 196 ++ lib/MineOSCore.lua | 14 +- lib/advancedLua.lua | 91 +- lib/colorlib.lua | 36 +- lib/doubleBuffering.lua | 45 +- lib/event.lua | 2 +- lib/image.lua | 1624 ++++------------- lib/internetLib.lua | 83 + lib/palette.lua | 1 - lib/rayEngine.lua | 10 +- lib/windows.lua | 4 + 142 files changed, 921 insertions(+), 1509 deletions(-) mode change 100755 => 100644 Applications/Control2/Icon.pic mode change 100755 => 100644 Applications/Control2/LuaLogo.pic mode change 100755 => 100644 Applications/HoloClock/Icon.pic mode change 100755 => 100644 Applications/MineCodeIDE/Icon.pic mode change 100755 => 100644 Applications/Palette/Icon.pic mode change 100755 => 100644 Applications/RayWalk/Weapons/CrosshairTextures/Angled.pic mode change 100755 => 100644 Applications/RayWalk/Weapons/CrosshairTextures/Default.pic mode change 100755 => 100644 Applications/RayWalk/Weapons/CrosshairTextures/Dotted.pic mode change 100755 => 100644 Applications/RayWalk/Weapons/CrosshairTextures/Half.pic mode change 100755 => 100644 Applications/RayWalk/Weapons/FireTextures/Plasma.pic mode change 100755 => 100644 Applications/RayWalk/Weapons/FireTextures/PowderFire.pic mode change 100755 => 100644 Applications/RayWalk/Weapons/WeaponTextures/Pistol.pic mode change 100755 => 100644 Applications/RayWalk/Weapons/WeaponTextures/Plasmer.pic mode change 100755 => 100644 Applications/RayWalk/Weapons/WeaponTextures/Rifle.pic mode change 100755 => 100644 Applications/RayWalk/Weapons/WeaponTextures/Sniper.pic mode change 100755 => 100644 MineOS/Icons/Application.pic delete mode 100644 MineOS/Icons/RawImage.pic delete mode 100644 MineOS/Wallpapers/Afterlife.pic delete mode 100644 MineOS/Wallpapers/Blueberry.pic delete mode 100644 MineOS/Wallpapers/Dayeneris.pic delete mode 100644 MineOS/Wallpapers/Harp.pic delete mode 100644 MineOS/Wallpapers/Invoker.pic delete mode 100644 MineOS/Wallpapers/Jodie.pic delete mode 100644 MineOS/Wallpapers/Liara.pic delete mode 100644 MineOS/Wallpapers/Luna.pic delete mode 100644 MineOS/Wallpapers/StarWars.pic delete mode 100644 MineOS/Wallpapers/Sunbeams.pic create mode 100755 lib/ImageFormatModules/OCIF.lua create mode 100755 lib/internetLib.lua create mode 100755 lib/windows.lua diff --git a/Applications/3DPrint/Icon.pic b/Applications/3DPrint/Icon.pic index 22799bf3e6538a30da505e58e586677b220f71e2..a95c78138253c115711dc23001c3b97f15fe2e6c 100644 GIT binary patch literal 142 zcmXZVu?@md31sLSQrzf3szMrq7cdCf( z+Y1v07}Y%X?TJZmpsJlRJr3Clq3D`t1Y74nKN1fJ-q~>}v|~Xp1zQU-7yS1`au%+} G=J5q+NE18& literal 252 zcmYL@F%H5o5Cpw8gB!0`UL}-jE088!2Gp2)WzQ-tO(~bSc(Z z4-KAn1E6g3&qmSlXq0}|2r4E3 diff --git a/Applications/3DTest/Icon.pic b/Applications/3DTest/Icon.pic index f50a0059e312c716912a132d9b70d8fd0b49f76f..358e8b8d3dc4d968b1aa342a80d33bece6c61e9c 100644 GIT binary patch literal 134 zcmXYq(FuS+3`3i?-gOLj5d^=SNfbxuk0abX;(r&>3fFw(K~l0#%Un$PrC|i66c)ZE y+{g>xJ97BhQNpjp#sX7RA|B-d2^X;FP^7zdZ7-2@(v&GrA|3Xl&#DIiJ! diff --git a/Applications/AppMarket/AppMarket.lua b/Applications/AppMarket/AppMarket.lua index d43e85de..cf035d36 100755 --- a/Applications/AppMarket/AppMarket.lua +++ b/Applications/AppMarket/AppMarket.lua @@ -299,9 +299,9 @@ end local function updateImageWindow() clearMainZone() - local x, y = math.floor(sizes.x + sizes.width / 2 - updateImage.width / 2), math.floor(obj.main.y + obj.main.height / 2 - updateImage.height / 2 - 2) + local x, y = math.floor(sizes.x + sizes.width / 2 - updateImage[1] / 2), math.floor(obj.main.y + obj.main.height / 2 - updateImage[2] / 2 - 2) buffer.image(x, y, updateImage) - return y + updateImage.height + return y + updateImage[2] end local function updateImageWindowWithText(text) diff --git a/Applications/AppMarket/Icon.pic b/Applications/AppMarket/Icon.pic index 4573a17db02040d999cd8518fc09c14760ac305d..1e0deecfa632d0f9ab14ada7d678dd78b68790d6 100644 GIT binary patch literal 117 zcmXYp%L#xm5JWS(o6VMCFM{C7(mY5I1UpDO>OGC6&T5by?G$4T!+5?>DEPUz=-!|fjGdWC&6 zw&@XAdIA+zvCP}}3cUXhFam2kg)=Sz>Pe_1fJHk?g#}(r!P+I?wecDFv<19k^NIP1 PrJ9x_88_|dDi!|$(0(56 diff --git a/Applications/Battleship/Icon.pic b/Applications/Battleship/Icon.pic index 0ab32b2dccbbdb4d8d31888bb5d709d61310da3a..c7304d2780f42f3c1b44f8d7a6d259f1bf73d64b 100644 GIT binary patch literal 106 zcmXZUu?>JQ3`9|%V>=#$U67Eds2B(-Go(SR75Xd!Mxndn-QVVQF&BPFdMzN{!6|9J mkrXWEyDv|ze>Xav0+~O6A-Zg literal 143 zcmYMtu?>Sj425Ao+jn>jR)I*Cs3=Yp9tVjTXrin|dKL+Ai9-2H@6#I}gR5x={S>qg z>WL`~V9}Hti^O2fRwKxmK^zV?dMS=8G)_62!YvXWTrdWhfJ2T dRUff7D58YA{{jNOJ-b~k532wG diff --git a/Applications/BufferDemo/Wallpaper.pic b/Applications/BufferDemo/Wallpaper.pic index 8ee5a9e323a1fb5c80d29ab2d99527ae5351a31c..75a0427e3528a8c155c5592d998770bc6555bd5e 100644 GIT binary patch delta 2129 zcmY*aT~J%c71o~nqaXDDFJ0;CUg=(ez+eYRuniI>U}FO{2rG_Vo7DIxA$E)bQ^&DQ z(Rd`}}G{2xCU7f@f zmWoj(moF-W6yglgH}HgzTWMqnlVPbCV{?mzrTUsW!9AKM)+UxZ{S)boh*{q(LodHh z4z*cfxTh(}Z0&HU%)|DM9<3P2xs9;?>{F5&hp--DBidrnx`EMF)=g;ZF4FnY zQ~VQ4C!Sz408gs$U+fuR-X~DNH@J(yPT=2g6Tpq(SNSpEFX2`G66hz0-GeRqGhmn{ z(1-8o$G})5Fo?g^&wy!zz!5y?y-8RHUa?8wKU;-Ziew)k9V^3PJ_ZZ@2Xnqw>|k2KzsCY?IBjf$;2sm&iPR1u zYHQY$V$D7bQ+&X1zbc3a@v?XjB60jHF%FV|e-;ryZlpOd*=Pc5TmoVV{EevKLmUT+ zioY_bpi1~7R)V+>KlJ;u3B-SfbPmLIb(3BOmasm?7z&G#D1rT~-)8rC15{Mh_|eX; zWNPRKr_^ylI53`WVJBeY*i}HRtl731? zlEl(B3{d(w$Sy4A9}AQgLzFIsnT32oBsC$!d?AL4QNkKXdx`8Ax$lUv`ii&7tP9Z^ zaa_LAx&NY*x2C3Nyw*3)zIpEa4=>!Tinqh?!99&^5VSj-USD;Xkh`E$$LGd}ko#T1 zM5m$0>kEsjpK~|^AvNG~P{sc{E2@`lQ1jaxTI%me`G(P=h;kuRh|u%>foSv$iOey_ z2ZwmJyMJ)VfNqW;T`-)+MSB{=3;1jM1&Ex(DaSdG&fyKhpIlW;ZgS-G|b@Nx@RCUjr%>*eB(R^8fk#OqrQzShy1Jf@Y_B@0<3sr9WLhr7C0O0wH*v5_Z`6}6$Yts|N09>S&7sMTt- zM`QJE?T3@8-oc@m$rg>N?a97@t!>3_liwiUOM6$6h8!4Pt*CW2Ioj2Ka$tC*RE`JC z7Q3vFkcVEO_K|dk6wfjpruAVnIhGhtG#zMeAw5I>P3ke4Ilrux*4FU~>C!Lcrfj2+ z)yEX|@R82mz7v_VWVlS;nwceq++^T*<;c;#d?5&&L2z=szIq4t&OQ=-ZL?en*@=b( zX+KK7)&XsG?fLG{YyY~i`(+J9c7IVrp50&WA@GX3pVy$zEx%Z*Irw+K_^&qj9}W#k ADgXcg delta 2370 zcmY*bT~Hg>71r+EUHzjU^s~}xrPa?$2n^Iff^854frX9J0EXH=HKgE#)Ujg>HccD{ zqByaT__49LU~KcJPLi2Cv@`8PCl8%AlRkGk@ia4i@mt^ely*APzPRq$1w#9v`<-*{ z)!nn-cka3SRrm9g`Tp+HIj+*w#n=o(%+sYD^CD|t%D{-?5cAFN4_sFCg>icMz-Pqx z5EDK05<{$#vm3Go%eTNXnGWFCOh>jG%tVQ5M$gF{h@8t^?FmXDCEEE)mmcdqWjft= zrhfpEe7TS$P%o5!Sx-PUmY=D4@R&k!swRz#Pv&}0oqpq;$?MZMZh~MA$-2S#idh3G zgU7FJ?DhG@fE1F$5hWUnCsbfXmm8eE{kiYs_<9Bqd?TZ;&;0CNbZVf=_oH*?FTjs4 zUYoo=g-^&DxW53&8_@;ApFHy_a6)G<0%N+CHF%!`&pg@Q*{$G9ZfRg6h52G>VR8B1 z{cUs^?lG|Z+9ohYE*YtTz%&nNKP%65t?-P2q-T4jYC07+?3(`v=XW!kgldbCust89@=HDBhcWbT~b2~ zLcZ7f2L{g$4gdd+@7;R;_6M_b(B!9I3r(@C!TA}!L3<}kfNy}PV6_7F@-g$J0`)+Xw7~ewHAp8s1 zqs*hnz>^2%M~|NX$35BH+69i+S!VK0J9VT#})$J-W zMBqJwwnRT9BLpsU^clHKV3emhZj`{7KtJckFm9yNyqAV}Tt8z%dxpTW8UGigjBta% zV+-2%91qH?bPdzNR4TAz#n_tt;f5a2s$kcKkzE42_C2gr(ZOJaz={L?5&E6EnLxpb z_IWyMX&^A`LVI}CT0`KL8_lzH)`~}9rW)-5`cG?uzzq-D{q${HoWON2+ON@PwkQGc z(HAx#aNdvDO3QX74^EL`3C9aYli6am*{dARtbrW^-lu620>&TA8qEI&!fb4Afxzl{ zV^NZo)y=IPAl&v2RxZDVjA|upTm{yI3b5vlM<~drIEADe@n_xvhHL;al~*@VhMk-P z8wR=f4`8FWKLB3Qs|`p55zkQ>oI#gcJDHfo{t*Ns20|)S2V8q+_HYIdtws9&ysBA4 zZ~z8n>h=s0xEQ7ro{I!7MCczp7Z4R1@*)mL>APMOeI!Qz=tYsotjUg*Fd7$$kg)K zJD!7@phsm)v`N(Z34!JSA{KXZa1UD~#1@FYJZMT-z{isxH@euW^fB~ zB7JH}(ZAUvn5o+f9$7z|;dE`?k(Z7g*Y33P`XjJ~UExUm%dH)~r^;*V;EXt&N+OwR zXneV~E%QowZ3FBIo@qr*HMJgV?_6C2Pt<02;FT9ms5MQ^t(lI_S1JCpDu$;%7Ed*| z9Lscc<9%g`J7RIQCDW7Y+t~$Y!l7M^E$tcY$$kBJ4OvwTwfCOt>mOL#fo;af3rk?C58{|#k zmJXVbv#kfWez>`{4bBkuB`oun6L^*PmDe9WLGAtwj9daHTm&YBTt{@hEMEYp=xlQV zgnPgR=S%qoL}|W+!f+vkC9KkU?SWxU`)FYinD{cVvBDyLw9v!Pl4^9nJaoPI3G?xR oOGH_T;rv$z0Y;3V`&Gu5R`drk@T-G)R`f*w3wWuIF8}}l diff --git a/Applications/Calendar/Icon.pic b/Applications/Calendar/Icon.pic index 3dda989b8cac7e5f7567d17248427bdd6558d53b..cf2b3f92bd1424a3a9121757fb23836dc001775c 100644 GIT binary patch literal 165 zcmXZUI}QRd3`Nmg+xb+iftqe$_|+qg1P!a0mX2j*jUf}+g>_^in~E{&iP5lcmF-* GM#+CxCK;>% literal 261 zcmYL@I}XAy5JWw*>%;A}^^oCV1 z95XgUz*Hb&cxFsaV*y~;){J7ZUPz`wYF9+&+bK16eaigT6f-S863iHfKzB2_KN;T5 ruZB+}-~KkD;ZV25KiMy)`AhbOUCkH`*GlS^OC#@{Yfrp)s+q(e)?P9U diff --git a/Applications/Camera/Icon.pic b/Applications/Camera/Icon.pic index 1b681dc40185e10f79421c7642b7aa7e7e9f47b6..09876074273877dd72b601c6343f72e3ed78ee77 100644 GIT binary patch literal 187 zcmXYryA1+C3`BSA{RI?371sa~646EUvjH_25WoDc9j*aa!m!%N&rkMf=ELcjYeWb; zwS-3fV}Z5;-egtdEjkCqqK?x$VDC%W+8`OizJ>^^_{^YL|HYjN+mX^ zm)jcI+KO|8<*Y*BEL@8)3tVT0sqmsVWPaBho%K`cCm}8Y&l*5xc>D)k9=KP|PhRQ* F`T;ooI;sEw diff --git a/Applications/Chat/Icon.pic b/Applications/Chat/Icon.pic index 3ddcac13b7094b41ed1260e2a746be47c97f83ca..281a630864fc0f8061075388d40b8da2f46a933b 100644 GIT binary patch literal 91 zcmW-Zu?>JQ5Ch-#ll%yjOu!P6kf>5H3M()JqcH%BgoMJUYtFUoTMCDn7CtZ_K>3t% hG?*ymkmTXRRvauK!A5m@-+NzZocUKi(i2iY_yDLA3043A literal 156 zcmXwyu?@pO3o*+BK1|CS2;w#OO6+DAS^8i`oqu}92Aao?|y}hcrJ)zR3 zrJ}EeJt$egRI#lEJ;03jfjE26X0Is8&Tu5P>GuD8MqA$aJ@#uNCJtHNt0Lu~@i7D~ MNN~tA3rqv}14NS=3jhEB diff --git a/Applications/Chat/MyAvatar.pic b/Applications/Chat/MyAvatar.pic index b21870723b889fb0591cfefe5a9c0ecc276c2406..4550254d742d128bd650d215d78de19020d423de 100644 GIT binary patch literal 87 zcmeZw_H<)oV`gMvU{_###K^$J$i~RT%)-jX45br+qW>A07@2~h48|NNgEbe*U`~ZH J*b1Nw764G@5Ly5L literal 130 zcmYMrF$#b%5Jb`ZO|o9YtEdpLvY5)!!cM_6dl3~yQob4fG>j#A>}Z163s)aFXDo`X eDhpL1mMW9Ah46OHQ>N_y>+!Q#{|R$(RHYj(3>(P+ diff --git a/Applications/ChristmasTree/Icon.pic b/Applications/ChristmasTree/Icon.pic index 62f1741916382152505a82d91c44b60928265bb0..ac91b1777a6ecb3089b553e9b68394087e4b1ff4 100644 GIT binary patch literal 152 zcmXZUu?+%23(5sulFa}MteLplAwlH;KhzT9B( RW??z*ln zd+0aY))A(FP!te#3{#L$pnXY3A$7fD(=-K15rH_yrif60BI|s8HjzF5mI{?thAV_s z*JE|1_N%$N)fKraWSOsb$A`(0edc%(4(!t`96T>9x^OPe1!lZE-dMlf9B=ZPjjNkA HmnE2ftJNj{ diff --git a/Applications/CodeDoor/Icon.pic b/Applications/CodeDoor/Icon.pic index 9cb313395a061a90e2ee5dde4a39507a8949e835..e17de0ae2579dbe8cbea4731b415996359d0507e 100644 GIT binary patch literal 115 zcmeZw_H<+8U}0on;80-HWMp7r$Q>I_4`H9OQ1 zR2uqBg`vwNhBgx$noML=1-RK!9Tgy!qV$@AcsKmCHF{3w6)NAxaPG$+;&d|pME(Z+ CEE=K! diff --git a/Applications/Control2/Icon.pic b/Applications/Control2/Icon.pic old mode 100755 new mode 100644 index f9ddfaf004a70951ce5e7323835475106898566b..7072fb24b14d00c0fe75420ab780c5e518e4b4e8 GIT binary patch literal 127 zcmX}hF$#b%5Jb_;>?T<}g|&s3hzM3TUckcEN^HclYrw_seg0ggF_|KS=0b-8g1000 m6%R;_ZB-B$C>m2XDkPcwz1F`#kq1XQJ}}zmf}B3NJM;zBZ3_GV literal 179 zcmYMtu@1s8420qQj+ztS>ItI@!(ZPa)^ZgyAIruoszbmb~cha2lR1GBSP)4gNA77umGG30(;};xo z08AMva3@ct4Uaej!a9#1qd6L7Gyw7Y3}I)i!0zaU;-}WNSOJp2Zj?<*hWbFn8a5dx98lQNsOJ eOu3B7j1;xTw;d@jxk=LFR4#BB$jip$YySiFj1|!U literal 366 zcmZ9H%W=an3`B_!!H+14QUz|s%8X`m%E2delS67qfo?EQ6?(2DKf5#9=7iL9zHQ&HXjOXioxCiXT?ZOIeD4u18xVn z-9@Jj0ExYXIF-3BZQV3rmwM&NKH7~ug6!Z3XhKZgGTbe{2N<+_L7%%rF}m4s#Y@UB z$V&%bl_XAs2Ro10@DNj;O4W2>S+i*6|7K8X_DBYua%roIAcbDk@MbGsY@2>Jj3 literal 98 zcmXBLu?>JQ3`9|%eL&VCNRg;0Qh6H+X2^h9Bw$iK>7VX8&cehUDiyum1tSZ@3FVrq a_V)aVkzmW_)QL?P6i5~u-xe>YO&GjnGY&rh diff --git a/Applications/FlappyBird/Flappy.pic b/Applications/FlappyBird/Flappy.pic index c705f6bf305677f13921831691802d0b4dea4943..b2af2738b8a500b339d202d21f45e8ef729fee03 100644 GIT binary patch literal 274 zcmXAkJ8r}<3`8|Eq-4uK=>}W-8UYsADpyL8GwcDkUZiyE&`C!O`N+r5kHG2WcBB9+X`_hE zqwx;dmCJA-i7bOKn9F<^Pb5-xnpI+R+*(7)-q?{nfU*8W>8MBe2*t!)&!~w-sA1|m kP7ofU;6Y3?vBuaEBrX5hH~;_Q;5D1CRimL?XD*HL7a7tWng9R* literal 340 zcmXYtJ95J?3`B`9DcSn)2CjVzD>Ir&l|mJ6lOkux0bOTYx>c648EK&FAOf9LDIpNmn3@_<KmL23N4C4`%JqfTm!R`JECdgm^;C1)dV7 SqE=e;9pm-Ll?8u>?BhS0^)b!> diff --git a/Applications/FlappyBird/Icon.pic b/Applications/FlappyBird/Icon.pic index 21470640fd584292b97c0d7606d452525a9eca9b..3eb71bed1b00bf4b7884aced3891ff6aab23fa3f 100644 GIT binary patch literal 146 zcmXAiJr09l3`1i(-_J3aziU)NV&Y02dWIgbGh$?=28PH|-b=i`mbvz1gnr+Tb_^tR zI0T&-1S(XZZFOA>uU_#+O4;0>T#HI}l_)6Rgq?F}3K E51GysTmS$7 literal 182 zcmXAjI}U?D3`BQq@8=lQ+yWx4M3sWdw@JYna=_FPWm+<3tC61P$xG3a~Db%v7Sguk3>K648i2Lc8 Z=Te(zyLC*;$O4sRWdW}78X}uG(*BTFAQ=Dv diff --git a/Applications/ForceAdmin/Icon.pic b/Applications/ForceAdmin/Icon.pic index 0a1efaad2d0f2805a0b0566d8672530450636b58..4ff99176eb3491330a836e59fed666ff332254b8 100644 GIT binary patch literal 222 zcmXZU!3hE}5CzcrlS#7RaU0lP0t=q3LDYi>72F0qSVKS*yliD@Bz|O0dHFN*cV#=L z!L&=BAP|LuUkt5&_%8@Rt6y^AgnT)<@E}K+YHs!I%Z#7o3NRMgoLSLXk}i&Tb>tf> nJ4?f4D^Fm-Vp=Fg9{JcmC{%#%{VLr3$_|cr^pTxBNwY(Li612W literal 353 zcmYL^F%H5o3`O%DmsDcx1-MG76p4u;Q$_>~41h#0z|b=wA&^*lGA>e_hSuZv`~TbC zHXF|+*Kk9?_wn>-*9Inn%A`N4k@Vf88aXk!Gps=;M*`&Y)epZ!I+9i k17mL@Ofh%pLvO=#-s5Y*3B>G1rk}6D3=YU?rtB1zJ^~*OPyhe` diff --git a/Applications/GeoScan2/Earth.pic b/Applications/GeoScan2/Earth.pic index 495b01b5d7e50849cd679a374dfd2b6c075cc0ab..6d024358be05d0e18b2d34aac4fdb087954929d2 100644 GIT binary patch literal 1448 zcmZ8hyKZDf5S>$fZ@+H$ea<`DaK_QDCC^xR94tskL8k4b`irl=)YB;c^yHaap(h>^#X5~10){>G zJW7bla&7v9;b=UWicROVQyFA3%>>h&!*O_y;z=6*(~AGI-y?KHvwT|oA(sNGdGePp z$e_SDqMbc)nM8Dd{P+WUc1M6N!(;`*pNk+@P{&Xhp8&91PHxS~&jr%7Lhe1G>2u^- z6h;ms1Bby329vosObUz^&=~FEhztgY=9v(0oFUIAcKiImSkY<2jTJhDWd%Us1ccAh+rTRog&WwL{~HAp>oa zzWK6RYvIrYG(i-J8t^GZ5!XfY6Enk#tROi&m z3syv#ICmFvODe36fci!os@HcE)W6fSS@9j=kp$h6$9O9nVyf4K3$N6c=G6hG;+`Cs zj0G_UbGjK>Of+*d$T8BGT*?Kt$`!B6eJtrhzs?p!iti~mpE&swI%$7?il6@l9|`E@ za?GgIGiGG!F@Av^X0toWcIbY%$NgZ#`#2+P|NHb-_+xU2s8d~r8MzOGNy)7Z0~Q>- zMHy+W-%;5ek|9&6J;IXJkvo_*QNz9L6D?0Xn}=-6#Xa)%?k!2#eID(JEU6gN*JyTe zMi1p3Zg?^u@s76cgPhVLu#`}ql2d{D4Yk?}a%~UvZ&WS*CQ@<3t7=O&?UJ%^#a-91 z0t^@m3%{cl>=1*1Zcf1IDb>3*`$hp9h*d24F?Ejagna4`gwVT$u$MggTTVsFaebvy zj;l2-sx#vFt$xXPt0agChZT||OI9|KZ64)@0{cK7cEjJVQ?YmQY|tg=hGH94yE zTlj_S$u z+;gxcYK4Br&z(zuptFt*(PVYo^{wg;r;#RXdTTC{3bdyLRUxKeiti{?OfeS?x=uaM f|H>tYX3ryCR!~|-4_q`X+aLQXo5@gP>@fZp!+?6y literal 3267 zcmbW3J#HI84235L2-2r8QmA#ct&0T$1X#F8?*lC0Vtbcc1aQBF0UaPWFx0AWtIDmq zTtxXuKF%nX906Vk7>e_=e2<4Dy1KezsryRdkIrk>_4T!UyzoQuUfMSXiw(E*nnIp32=Vu{Z zZ#>%FW?pYRp54;#!s3Ya-hDvd1xr}UD@b2nUL5IyFV+ox7wF3huKi?FM^pvAhQ47Y z?{OG`m}7e)dknJ_!FF{O)7e?Zev7&|>S> z#))Qop(Y$@1LerqstBwdaM|l<+(J#N1lLBJ?dv+Xybw+~5l@__ia`-Phi?FE*%sHx zTUuw3))9hy2LP`8{f747`Ujvenk5Dnvgk1(jxkh$bjGLz_KH!4+V9{|HP$PZruwD; zXXOp!n`q(10XRp+XA0?DWlVDtbI)eRnBVF(}C#2>IL2mN|;2#w6DAd5bB z*bw}Y(^|*b55ZA=sbt6IjGskW70+zm4Xge%iF!N>(aURB_`hPyj|g(|@8!mMMBw3=9}_ z>i|Rc7W3upfYqz+b+Z(@=TzKhUElX2hEzel32-!DGGMTez7+_JA9sPndtU*qJJ<^Y zt92*-WaPme#Sp$D78`e_c;CTG$3P8GbpmMMMz!;}B(pnAy|e{*aYBN1?^D;xw)=Y9 z%amrD;)4l8S^PQuRwB9loQGB&|JH=p3E>NYp^vPZPs{{``2 zPz4V(OJT9QsNR#Ra*(Q+{xyE@^!Ko$lZF?R>p> ziTnjyrWXQ70POYTWqNKL!2=?4had)_I7$fA!fv!`fD9$B@P(mNyKtQs!Hf9tx)}RoynQNr>2QROXG$^()e|A^!mxfD!Hh literal 309 zcmX|+y-@=(5QX(tdy;}H!l9u66X3+h%+5G+aFH4?0ZkB414Td~PzQ~`r#Z&azI{LY zb9p+4H$N%=uG)ptk}P$TS~pi)?dSb9bX<~Bms{xmAJ!qg-6SFHH%av*OJmx^G|gSv zsMjuY>Ylz)zvwgDN;fMNvaa)(Xk*zU;s}kfBF{_8$1XXvxPzPu{Y3r7l0yY}2USAP tK-})zNwC&JAF!;kDfGD+L~Oisz)S1^WYOKpRRqs1l($em=Akl~cEm_H0b9LUfM?+gk> literal 135 zcmXwyu?>V!3`65M9~k4>KgNBeNK_Q5vJJ(}zzXceBo_(_E0$km@9XBa*cX)0`#fB) zA=(q#60{+RgsCIS_MEN4HqA@mVcWdw4!Ah;~Sj0$dy3}8Dr7?Dia08_)v#LUV8)U+8U Iz{tb|0GS{l{Qv*} diff --git a/Applications/HEX/Icon.pic b/Applications/HEX/Icon.pic index 365307f8e37f1209c94553a4acc921bb2df563cb..a504ec1ed7bcb326f97582349be5f621a7b05718 100644 GIT binary patch literal 198 zcmXYpu?+$-5Cm`U&i2#AOGK^%@q&ny0!YXyfPfk-A&@AG-1 hAu5tF=l!{jMBI*!U54>JvbL4b7Hpx;{PZw_{s%2$9FYJ3 literal 316 zcmYL@F%H5o3`O&8w+XjEV(KvpB7%v*3)xxNIRFD^Kte_0SnP;I zd(52T81Wn%aHH5qynlUK#lnacCv&#Sx!XVI>s9WOfTd{@n36~tEuZUcj6@Nw8Y!(! LYwU1-dN7hNDx^1c diff --git a/Applications/HoloClock/Icon.pic b/Applications/HoloClock/Icon.pic old mode 100755 new mode 100644 index 3d1903e144f8c936bec7156f988afae9ee0bc514..427da9b14afa26391c6f1131837fc6e678a14e25 GIT binary patch literal 134 zcmXYmy$ypv42AukeYVG-rioG@q_mL`R4l+a%#aB(Sr)n6N!NWp=lj?^ja6cTKokk8 y6^|qt>gbZs_I42EHNdV0UlLGo8POjjrXto6RfH4fW=7=ib8~NIM)jzjXyp&ISPK6D literal 185 zcmYMuF$w}f3$L)OqciJfAYB9o4PKr zEpTpFD}fSR0>_3=CEn!;vA}aA=m`f-qcH`pLmIdYN#M{xm4wm(7M+TDGP7k7?DPdp bf$#g(cuByc*8vd;cuQp#h? R;f$wAE|sX+^km)f?*}I|1%3bk literal 105 zcmXAgu?>Jg3SR^Vn}^sG}B=nTV{F#HcMyekW^ diff --git a/Applications/InfoPanel/Icon.pic b/Applications/InfoPanel/Icon.pic index 258d8684ba4bcd4bfa26f76386d1059349bd4af6..8f074d1222f4742b9f1a67b7d5eba556df50cffb 100644 GIT binary patch literal 171 zcmXYqO$q`r42An8X{Q_S;JVik#94?iH<*QjAi5H~{g`R92`}&WcAC$n8YvwvY%~O( z{2YS5q;)V2L9Ze3?p8%Uo@gj`bZas&$(GAhwOV`{)0`#B0lPu5 zWNgO)-vU7C*(e!J8OesNfLL*Ljg+f>f*pmfCo?qQzMhuij@; he7ra+-JD|A$h3Mn3-4@nOWJHS(sRWD#7eW T(;9#>|A8_fF=ntB3z!W6PNN6u literal 110 zcmXxb%ME}q3&lfa6pYI l4_=_saPC`0pTv%!DzgU-mWCkjYWkf=K=Dh{N7(Cm`wPHN5F-Ep diff --git a/Applications/MineCodeIDE/Icon.pic b/Applications/MineCodeIDE/Icon.pic old mode 100755 new mode 100644 index 350a3a54b0c39d93febcb29d4ea99a5a9e94a6c6..f913804b49c344b8a8f676b1cd7a05823cd15c6f GIT binary patch literal 179 zcmXYqyA8rX5JdfE_s*Bm0;vP4KtggvL;?IHkobh8R6%JJKoyRF#a#CEW@mOe?-#i^ zO*1*rF(7oTVCR4prre&Y@>x}~%cvY(|BCc_-0Ad$j4Ze11M;+v_#LzDrb5})g6{$b b9NR~4kVww&A!Qm#Vg@mTN$G%*-A literal 269 zcmYL^Jr2S!42AP-C+)@+SQ$73MY6=iU@>ImPXYJQ3;H mSTakJTvDtIcRSJ1kVe(&_J$2{y8?NJX9jh<1M&aZMEw9jQWlf| literal 175 zcmYL>u?@mN5Cnhs_WfUmQ})7gtCjKJhr5)M`=T15~Ra5h?|0{xq4oy~W;J(m z@0qzX><)S%DoG-*!@jbj1Ne*PV?+aWh$~aV5dw8od|0zI zs?7qUHD(6ml&87a`Szf=a81vl+KLmJRTpc(b`_3`oXAXZjcy?+Fl6`EUb9|UIEr_}3vgIQWJ_42M@ zmS}K2za5wbGmYW)|FqoyAT#Xk?d9d=K`c{idns8kOUuk&R2s~ZH?rrK1hYi-?776j WEG|uZRuM1@W?Guc|NkluATt2AR+32o diff --git a/Applications/Photoshop/Icon.pic b/Applications/Photoshop/Icon.pic index bf3d6d7beaef9e5ead9fd93e539558a95b09a8fe..e7d2f0beb1f4d8e9a159f2b44c89aa1568c9e053 100644 GIT binary patch literal 113 zcmXYo%Mn085JdOQtg&IZ5(Y(aqRIv&3ZZQP5@Aa1sXwoKpSHzPBn0a;69m)PSnCx% kL4~AvNUt+7`Jq-F87K&xWL7|CHwA^~zWo0Z>-4A#J|3wHZ2$lO literal 163 zcmXwy!41Md35xTWe<5+ii6*xk5|e?s(UN zX9FV;j-_9qK<#X9AOxQWQ?Q(LGUtC&PzznsvRtvuM^mDo)RcR0966klSl}_HfPDIS J?Srax`wJBU87cq( diff --git a/Applications/Photoshop/Localization/English.lang b/Applications/Photoshop/Localization/English.lang index e7edc1ca..c576084a 100755 --- a/Applications/Photoshop/Localization/English.lang +++ b/Applications/Photoshop/Localization/English.lang @@ -25,7 +25,7 @@ new = "New", open = "Open", - createFromString = "Create from OCIFString", + createFromString = "Create from StringImage", save = "Save", saveAs = "Save as", exit = "Exit", diff --git a/Applications/Photoshop/Localization/Russian.lang b/Applications/Photoshop/Localization/Russian.lang index 64937958..a811b943 100755 --- a/Applications/Photoshop/Localization/Russian.lang +++ b/Applications/Photoshop/Localization/Russian.lang @@ -25,7 +25,7 @@ new = "Новый", open = "Открыть", - createFromString = "Создать из OCIFString", + createFromString = "Создать из StringImage", save = "Сохранить", saveAs = "Сохранить как", exit = "Выход", diff --git a/Applications/Photoshop/Photoshop.lua b/Applications/Photoshop/Photoshop.lua index 62048dfc..dd4de4b6 100755 --- a/Applications/Photoshop/Photoshop.lua +++ b/Applications/Photoshop/Photoshop.lua @@ -1,20 +1,24 @@ ------------------------------------------------ Информешйн, епта -------------------------------------------------------------- -local photoshopVersion = "Photoshop v6.5" +local photoshopVersion = "Photoshop v6.6" local copyright = [[ - Photoshop v6.5 для OpenComputers + Photoshop v6.6 для OpenComputers Автор: ECS Контактый адрес: https://vk.com/id7799889 Соавтор: Pornogion Контактый адрес: https://vk.com/id88323331 + Что нового в версии 6.6: + - Программа адаптирована под работу с нумерически индексированным форматом изображения + - Добавлена поддержка кодирования формата OCIF6 + Что нового в версии 6.5: - Палитра заменена на более быструю и стильную, работающую на тройном буфере - - Добавлена возможность загрузки изображения из строки, созданной методом сохранения OCIFString + - Добавлена возможность загрузки изображения из строки, созданной методом сохранения StringImage Что нового в версии 6.4: - Добавлена возможность выбора цвета сетки прозрачности во вкладке "Вид" @@ -84,8 +88,8 @@ local args = {...} --Массив главного изображения local masterPixels = { - width = 0, - height = 0, + 0, + 0, } --Базовая цветовая схема программы @@ -123,8 +127,8 @@ sizes.sizeOfPixelData = 4 local function reCalculateImageSizes(x, y) sizes.xStartOfImage = x or 9 sizes.yStartOfImage = y or 6 - sizes.xEndOfImage = sizes.xStartOfImage + masterPixels.width - 1 - sizes.yEndOfImage = sizes.yStartOfImage + masterPixels.height - 1 + sizes.xEndOfImage = sizes.xStartOfImage + image.getWidth(masterPixels) - 1 + sizes.yEndOfImage = sizes.yStartOfImage + image.getHeight(masterPixels) - 1 end reCalculateImageSizes() @@ -182,25 +186,25 @@ local function drawTransparentZone(x, y) local stro4ka1 = "" local stro4ka2 = "" - if masterPixels.width % 2 == 0 then - stro4ka1 = string.rep("▒ ", math.floor(masterPixels.width / 2)) + if image.getWidth(masterPixels) % 2 == 0 then + stro4ka1 = string.rep("▒ ", math.floor(image.getWidth(masterPixels) / 2)) stro4ka2 = stro4ka1 else - stro4ka1 = string.rep("▒ ", math.floor(masterPixels.width / 2)) + stro4ka1 = string.rep("▒ ", math.floor(image.getWidth(masterPixels) / 2)) stro4ka2 = stro4ka1 .. "▒" end - for i = 1, masterPixels.height do + for i = 1, image.getHeight(masterPixels) do if i % 2 == 0 then - buffer.square(x, y + i, masterPixels.width, 1, colors.transparencyWhite, colors.transparencyGray, " ") + buffer.square(x, y + i, image.getWidth(masterPixels), 1, colors.transparencyWhite, colors.transparencyGray, " ") buffer.text(x + 1, y + i, colors.transparencyGray, stro4ka1) else - buffer.square(x, y + i, masterPixels.width, 1, colors.transparencyWhite, colors.transparencyGray) + buffer.square(x, y + i, image.getWidth(masterPixels), 1, colors.transparencyWhite, colors.transparencyGray) buffer.text(x, y + i, colors.transparencyGray, stro4ka2) end end else - buffer.square(x, y, masterPixels.width, masterPixels.height, colors.transparencyWhite, 0x000000, " ") + buffer.square(x, y, image.getWidth(masterPixels), image.getHeight(masterPixels), colors.transparencyWhite, 0x000000, " ") end end @@ -251,7 +255,6 @@ local function drawTopMenu() obj.menu:addItem("PS", ecs.colors.blue) obj.menu:addItem(localization.file) obj.menu:addItem(localization.image) - obj.menu:addItem(localization.edit) obj.menu:addItem(localization.view) obj.menu:addItem(localization.hotkeys) obj.menu:addItem(localization.about) @@ -261,7 +264,7 @@ end --Функция, создающая пустой массив изображения на основе указанных ранее длины и ширины local function createEmptyMasterPixels() --Создаем пустой мастерпиксельс - for j = 1, masterPixels.height * masterPixels.width do + for j = 1, image.getHeight(masterPixels) * image.getWidth(masterPixels) do table.insert(masterPixels, 0x010101) table.insert(masterPixels, 0x010101) table.insert(masterPixels, 0xFF) @@ -269,28 +272,6 @@ local function createEmptyMasterPixels() end end ---Формула конвертации итератора массива в абсолютные координаты пикселя изображения -local function convertIteratorToCoords(iterator) - --Приводим итератор к корректному виду (1 = 1, 5 = 2, 9 = 3, 13 = 4, 17 = 5, ...) - iterator = (iterator + sizes.sizeOfPixelData - 1) / sizes.sizeOfPixelData - --Получаем остаток от деления итератора на ширину изображения - local ostatok = iterator % masterPixels.width - --Если остаток равен 0, то х равен ширине изображения, а если нет, то х равен остатку - local x = (ostatok == 0) and masterPixels.width or ostatok - --А теперь как два пальца получаем координату по Y - local y = math.ceil(iterator / masterPixels.width) - --Очищаем остаток из оперативки - ostatok = nil - --Возвращаем координаты - return x, y -end - ---Формула конвертации абсолютных координат пикселя изображения в итератор для массива -local function convertCoordsToIterator(x, y) - --Конвертируем координаты в итератор - return (masterPixels.width * (y - 1) + x) * sizes.sizeOfPixelData - sizes.sizeOfPixelData + 1 -end - --Мини-консолька для отладки, сообщающая снизу, че происходит ваще local function console(text) buffer.square(sizes.xStartOfDrawingArea, buffer.screen.height, sizes.widthOfDrawingArea, 1, colors.console, colors.consoleText, " ") @@ -456,18 +437,18 @@ local function stroke(x, y, width, height, color, applyToMasterPixels) if applyToMasterPixels then local iterator for i = x, x + width - 1 do - iterator = convertCoordsToIterator(i, y) + iterator = image.getImageIndexByCoordinates(i, y, image.getWidth(masterPixels)) masterPixels[iterator] = color; masterPixels[iterator + 1] = 0x0; masterPixels[iterator + 2] = 0x0; masterPixels[iterator + 3] = " " - iterator = convertCoordsToIterator(i, y + height - 1) + iterator = image.getImageIndexByCoordinates(i, y + height - 1, image.getWidth(masterPixels)) masterPixels[iterator] = color; masterPixels[iterator + 1] = 0x0; masterPixels[iterator + 2] = 0x0; masterPixels[iterator + 3] = " " end for i = y, y + height - 1 do - iterator = convertCoordsToIterator(x, i) + iterator = image.getImageIndexByCoordinates(x, i, image.getWidth(masterPixels)) masterPixels[iterator] = color; masterPixels[iterator + 1] = 0x0; masterPixels[iterator + 2] = 0x0; masterPixels[iterator + 3] = " " - iterator = convertCoordsToIterator(x + width - 1, i) + iterator = image.getImageIndexByCoordinates(x + width - 1, i, image.getWidth(masterPixels)) masterPixels[iterator] = color; masterPixels[iterator + 1] = 0x0; masterPixels[iterator + 2] = 0x0; masterPixels[iterator + 3] = " " end else @@ -602,7 +583,7 @@ local function drawImage() drawTransparentZone(xPos, yPos) --Перебираем массив мастерпиксельса - for i = 1, #masterPixels, 4 do + for i = 3, #masterPixels, 4 do --Рисуем пиксель, если у него прозрачность не абсолютная, ЛИБО имеется какой-то символ --Т.е. даже если прозрачность и охуела, но символ есть, то рисуем его if masterPixels[i + 2] ~= 0xFF or masterPixels[i + 3] ~= " " then @@ -611,12 +592,12 @@ local function drawImage() --Всякие расчеты координат xPixel = xPixel + 1 xPos = xPos + 1 - if xPixel > masterPixels.width then xPixel = 1; xPos = sizes.xStartOfImage; yPixel = yPixel + 1; yPos = yPos + 1 end + if xPixel > image.getWidth(masterPixels) then xPixel = 1; xPos = sizes.xStartOfImage; yPixel = yPixel + 1; yPos = yPos + 1 end end - if masterPixels.width > 0 and masterPixels.height > 0 then - local text = localization.size .. ": " .. masterPixels.width .. "x" .. masterPixels.height .. " px" - xPos = math.floor(sizes.xStartOfImage + masterPixels.width / 2 - unicode.len(text) / 2) + if image.getWidth(masterPixels) > 0 and image.getHeight(masterPixels) > 0 then + local text = localization.size .. ": " .. image.getWidth(masterPixels) .. "x" .. image.getHeight(masterPixels) .. " px" + xPos = math.floor(sizes.xStartOfImage + image.getWidth(masterPixels) / 2 - unicode.len(text) / 2) buffer.text(xPos, sizes.yEndOfImage + 1, 0xFFFFFF, text) end @@ -659,13 +640,13 @@ local function move(direction) if selection.y < 1 then selection.y = 1 end elseif direction == "down" then selection.y = selection.y + 1 - if selection.y + selection.height - 1 > masterPixels.height then selection.y = selection.y - 1 end + if selection.y + selection.height - 1 > image.getHeight(masterPixels) then selection.y = selection.y - 1 end elseif direction == "left" then selection.x = selection.x - 1 if selection.x < 1 then selection.x = 1 end elseif direction == "right" then selection.x = selection.x + 1 - if selection.x + selection.width - 1 > masterPixels.width then selection.x = selection.x - 1 end + if selection.x + selection.width - 1 > image.getWidth(masterPixels) then selection.x = selection.x - 1 end end else local howMuchUpDown = 2 @@ -777,8 +758,8 @@ local function saveTextToPixels(x, y, text) local iterator x = x - 1 for i = 1, sText do - if x + i > masterPixels.width then break end - iterator = convertCoordsToIterator(x + i, y) + if x + i > image.getWidth(masterPixels) then break end + iterator = image.getImageIndexByCoordinates(x + i, y, image.getWidth(masterPixels)) setPixel(iterator, masterPixels[iterator], currentBackground, masterPixels[iterator + 2], unicode.sub(text, i, i)) end end @@ -788,12 +769,12 @@ local function tryToFitImageOnCenterOfScreen() reCalculateImageSizes() local x, y = sizes.xStartOfImage, sizes.yStartOfImage - if masterPixels.width < sizes.widthOfDrawingArea then - x = math.floor(sizes.xStartOfDrawingArea + sizes.widthOfDrawingArea / 2 - masterPixels.width / 2) - 1 + if image.getWidth(masterPixels) < sizes.widthOfDrawingArea then + x = math.floor(sizes.xStartOfDrawingArea + sizes.widthOfDrawingArea / 2 - image.getWidth(masterPixels) / 2) - 1 end - if masterPixels.height < sizes.heightOfDrawingArea then - y = math.floor(sizes.yStartOfDrawingArea + sizes.heightOfDrawingArea / 2 - masterPixels.height / 2) + if image.getHeight(masterPixels) < sizes.heightOfDrawingArea then + y = math.floor(sizes.yStartOfDrawingArea + sizes.heightOfDrawingArea / 2 - image.getHeight(masterPixels) / 2) end reCalculateImageSizes(x, y) @@ -808,7 +789,7 @@ local function new() data[2] = tonumber(data[2]) or 19 masterPixels = {} - masterPixels.width, masterPixels.height = data[1], data[2] + masterPixels[1], masterPixels[2] = data[1], data[2] createEmptyMasterPixels() tryToFitImageOnCenterOfScreen() drawAll() @@ -818,7 +799,7 @@ end --Есть инфа, что выжирает стек, но Луа, вроде, не особо ругается, так что заебок все local function fill(x, y, startColor, fillColor) local function doFill(xStart, yStart) - local iterator = convertCoordsToIterator(xStart, yStart) + local iterator = image.getImageIndexByCoordinates(xStart, yStart, image.getWidth(masterPixels)) --Завершаем функцию, если цвет в массиве не такой, какой мы заливаем if masterPixels[iterator] ~= startColor or masterPixels[iterator] == fillColor then return end @@ -850,10 +831,10 @@ local function brush(x, y, background, foreground, alpha, symbol) for cyka = 1, currentBrushSize do for pidor = 1, currentBrushSize do --Если этот кусочек входит в границы рисовабельной зоны, то - if x >= 1 and x <= masterPixels.width and y >= 1 and y <= masterPixels.height then + if x >= 1 and x <= image.getWidth(masterPixels) and y >= 1 and y <= image.getHeight(masterPixels) then --Считаем итератор для кусочка кисти - newIterator = convertCoordsToIterator(x, y) + newIterator = image.getImageIndexByCoordinates(x, y, image.getWidth(masterPixels)) --Если прозрачности кисти ВАЩЕ НЕТ, то просто рисуем как обычненько все if alpha == 0x00 then @@ -893,11 +874,21 @@ local function brush(x, y, background, foreground, alpha, symbol) end end ---Диалоговое окно обрезки и расширения картинки -local function cropOrExpand(text) +--Функция-обрезчик картинки +local function crop() + if selection then + masterPixels = image.crop(masterPixels, selection.x, selection.y, selection.width, selection.height) + selection = nil + tryToFitImageOnCenterOfScreen() + drawAll() + end +end + +--Функция-расширитель картинки +local function expand() local data = ecs.universalWindow("auto", "auto", 30, ecs.windowColors.background, true, {"EmptyLine"}, - {"CenterText", 0x262626, text}, + {"CenterText", 0x262626, localization.expand}, {"EmptyLine"}, {"Input", 0x262626, 0x880000, localization.countOfPixels}, {"Selector", 0x262626, 0x880000, localization.fromBottom, localization.fromTop, localization.fromLeft, localization.fromRight}, @@ -908,41 +899,16 @@ local function cropOrExpand(text) if data[3] == "OK" then local countOfPixels = tonumber(data[1]) if countOfPixels then - local direction = "" - if data[2] == localization.fromBottom then - direction = "fromBottom" - elseif data[2] == localization.fromTop then - direction = "fromTop" - elseif data[2] == localization.fromLeft then - direction = "fromLeft" - else - direction = "fromRight" - end - - return direction, countOfPixels - else - ecs.error("Введено некорректное количество пикселей") - end - end -end - ---Функция-обрезчик картинки -local function crop() - local direction, countOfPixels = cropOrExpand(localization.crop) - if direction then - masterPixels = image.crop(masterPixels, direction, countOfPixels) - reCalculateImageSizes(sizes.xStartOfImage, sizes.yStartOfImage) - drawAll() - end -end - ---Функция-расширитель картинки -local function expand() - local direction, countOfPixels = cropOrExpand(localization.crop) - if direction then - masterPixels = image.expand(masterPixels, direction, countOfPixels, 0x010101, 0x010101, 0xFF, " ") - reCalculateImageSizes(sizes.xStartOfImage, sizes.yStartOfImage) - drawAll() + masterPixels = image.expand(masterPixels, + data[2] == localization.fromTop and countOfPixels or 0, + data[2] == localization.fromBottom and countOfPixels or 0, + data[2] == localization.fromLeft and countOfPixels or 0, + data[2] == localization.fromRight and countOfPixels or 0, + 0x010101, 0x010101, 0xFF, " " + ) + reCalculateImageSizes(sizes.xStartOfImage, sizes.yStartOfImage) + drawAll() + end end end @@ -962,7 +928,7 @@ end local function fillSelection(background, foreground, alpha, symbol) for j = selection.y, selection.y + selection.height - 1 do for i = selection.x, selection.x + selection.width - 1 do - local iterator = convertCoordsToIterator(i, j) + local iterator = image.getImageIndexByCoordinates(i, j, image.getWidth(masterPixels)) masterPixels[iterator] = background masterPixels[iterator + 1] = foreground masterPixels[iterator + 2] = alpha @@ -1015,7 +981,7 @@ while true do --Получаем координаты в изображении и итератор local x, y = e[3] - sizes.xStartOfImage + 1, e[4] - sizes.yStartOfImage + 1 - local iterator = convertCoordsToIterator(x, y) + local iterator = image.getImageIndexByCoordinates(x, y, image.getWidth(masterPixels)) --Все для инструментов мультиточечного рисования if instruments[currentInstrument] == "M" or instruments[currentInstrument] == "S" then @@ -1072,7 +1038,7 @@ while true do buffer.draw() --Текст elseif instruments[currentInstrument] == "T" then - local limit = masterPixels.width - x + 1 + local limit = image.getWidth(masterPixels) - x + 1 local text = inputText(e[3], e[4], limit) saveTextToPixels(x, y, text) drawImage() @@ -1146,9 +1112,16 @@ while true do if object.text == localization.file then action = GUI.contextMenu(object.x, object.y + 1, {localization.new, false, "^N"}, {localization.open, false, "^O"}, {localization.createFromString}, "-", {localization.save, (savePath == nil), "^S"}, {localization.saveAs}, "-", {localization.exit}):show() elseif object.text == localization.image then - action = GUI.contextMenu(object.x, object.y + 1, {localization.crop}, {localization.expand}, "-", {localization.rotateBy90}, {localization.rotateBy180}, "-", {localization.flipHorizontal}, {localization.flipVertical}):show() - elseif object.text == localization.edit then - action = GUI.contextMenu(object.x, object.y + 1, {localization.hueSaturation}, {localization.colorBalance}, {localization.photoFilter}, "-", {localization.invertColors}, {localization.blackWhite}, "-", {localization.gaussianBlur}):show() + action = GUI.contextMenu(object.x, object.y + 1, + -- {localization.crop}, + {localization.expand}, + -- "-", + -- {localization.rotateBy90}, + -- {localization.rotateBy180}, + "-", + {localization.flipHorizontal}, + {localization.flipVertical} + ):show() elseif object.text == localization.view then action = GUI.contextMenu(object.x, object.y + 1, {localization.transparencyPad}):show() elseif object.text == localization.about then @@ -1225,10 +1198,10 @@ while true do elseif action == localization.expand then expand() elseif action == localization.flipVertical then - masterPixels = image.flipVertical(masterPixels) + masterPixels = image.flipVertically(masterPixels) drawAll() elseif action == localization.flipHorizontal then - masterPixels = image.flipHorizontal(masterPixels) + masterPixels = image.flipHorizontally(masterPixels) drawAll() elseif action == localization.invertColors then masterPixels = image.invert(masterPixels) @@ -1246,28 +1219,28 @@ while true do new() drawAll() elseif action == localization.saveAs then - local data = ecs.universalWindow("auto", "auto", 30, ecs.windowColors.background, true, {"EmptyLine"}, {"CenterText", 0x262626, localization.saveAs}, {"EmptyLine"}, {"Input", 0x262626, 0x880000, localization.path}, {"Selector", 0x262626, 0x880000, "OCIF4", "OCIF1", "OCIFString", "RAW"}, {"CenterText", 0x262626, "Рекомендуется использовать"}, {"CenterText", 0x262626, "метод кодирования OCIF4"}, {"EmptyLine"}, {"Button", {0xaaaaaa, 0xffffff, "OK"}, {0x888888, 0xffffff, localization.cancel}}) + local data = ecs.universalWindow("auto", "auto", 30, ecs.windowColors.background, true, + {"EmptyLine"}, + {"CenterText", 0x262626, localization.saveAs}, + {"EmptyLine"}, + {"Input", 0x262626, 0x880000, localization.path}, + {"Selector", 0x262626, 0x880000, "OCIF6", "OCIF1", "StringImage"}, + {"EmptyLine"}, + {"Button", {0xaaaaaa, 0xffffff, "OK"}, {0x888888, 0xffffff, localization.cancel}} + ) + if data[3] == "OK" then - data[1] = data[1] or "Untitled" - data[2] = data[2] or "OCIF4" + data[1] = data[1] or "Untitled.pic" - if data[2] == "RAW" then - data[2] = 0 - elseif data[2] == "OCIF1" then - data[2] = 1 - elseif data[2] == "OCIF4" then - data[2] = 4 - elseif data[2] == "OCIFString" then - data[2] = 6 + local path = string.gsub(data[1], "%.pic$", "") .. ".pic" + if data[2] == "StringImage" then + local file = io.open(path, "w") + file:write(image.toString(masterPixels)) + file:close() else - data[2] = 4 + savePath = path + image.save(path, masterPixels, data[2] == "OCIF6" and 6 or 1) end - - local filename = string.gsub(data[1], ".pic$", "") .. ".pic" - local encodingMethod = data[2] - - image.save(filename, masterPixels, encodingMethod) - savePath = filename end elseif action == localization.save then image.save(savePath, masterPixels) @@ -1304,7 +1277,7 @@ while true do tryToFitImageOnCenterOfScreen() drawAll() else - error("Невозможно создать изображение из этой строки!") + error("Failed to create image from string") end end elseif action == localization.transparencyPad then @@ -1334,10 +1307,21 @@ while true do if ecs.clickedAtArea(e[3], e[4], sizes.xStartOfImage, sizes.yStartOfImage, sizes.xEndOfImage, sizes.yEndOfImage) then if instruments[currentInstrument] == "M" and selection then - local action = GUI.contextMenu(e[3], e[4], {localization.deselect}, {localization.crop, true}, "-", {localization.fill}, {localization.border}, "-", {localization.clear}):show() + local action = GUI.contextMenu(e[3], e[4], + {localization.deselect}, + {localization.crop}, + "-", + {localization.fill}, + {localization.border}, + "-", + {localization.clear} + ):show() + if action == localization.deselect then selection = nil drawAll() + elseif action == localization.crop then + crop() elseif action == localization.clear then fillSelection(0x0, 0x0, 0xFF, " ") elseif action == localization.fill then diff --git a/Applications/PrintImage/Icon.pic b/Applications/PrintImage/Icon.pic index b321cd4f27412961c48b850204785eb6c4c3c61c..f28c8154b8dac54bbbbb1303b6e40b7be9695875 100644 GIT binary patch literal 104 zcmXZTu?>JQ3`9|%Z9>Li7bGMqMoN&FfFesUPZsbZ;fhpGzxdaF9x1zuShR|P4kR^S g(i-hy7x?VWZwO403w8QYrJaHfL9~}KROe*VAI}L80ssI2 literal 129 zcmXBKyA6Oa41{5yV?xGY6+p5?MUl$W01^{Wumtn40E>h?x=;VzIxi|gMmUNXRA?d` y#ttE4GnR_Sm@8gmAVhrkso3%*nHP4_`M$(m@wSK-Mns^Kn+j|4N(FOfCEo5Mo0u{B`PFbZ4WgPN8k)_lw2rB-~!-mq`2Gh8_#$z zr*o1hN34Qke7_QYeV{f2l0l;A60{GniI8IBidEJLp)dxB9mSF&Z5C8@6DJA6h%?)|6gDXcQG-svSAyA6Oa5JTg;gJcX=AxM#^C_;1Fq+kXnNSS@;nS^`_8cWuD_Ob0joUC9Iu>>*R zAgcwjOtW>~P*D&Rj7lE0@{^=YWSuhCjP%|q;Ov%gn+KHMAZYX&Ju84AW*u)ID0~&^ diff --git a/Applications/RayWalk/Weapons/CrosshairTextures/Angled.pic b/Applications/RayWalk/Weapons/CrosshairTextures/Angled.pic old mode 100755 new mode 100644 index 301892fdd6947caf10eee6486f090a3628bb9041..b89fb64c55b439371d74e9fccdec28f2a265e861 GIT binary patch literal 71 zcmeZw_H<)oV`lu%z@os&z{tSN$i~RT%)-jX!~&w2Ss0mF*d9%30LuMmWMX1udo*<; Pn9a<{`e^DVD3b{QUTzEq literal 93 zcmXwvyA6Oa3;egVT dhv~;Kg60+XaTfF}kO0%`dmFBbf4D{f^#S4h5yt=k diff --git a/Applications/RayWalk/Weapons/CrosshairTextures/Default.pic b/Applications/RayWalk/Weapons/CrosshairTextures/Default.pic old mode 100755 new mode 100644 index e997c9a31f90854ce5a98bc97902e7ef90922c8f..19b50b5dca30dd50910bf942c495d13cd93b0084 GIT binary patch literal 60 zcmeZw_H<)oWoG=(z^uT?z{tSN$im3P!pg+R%nW8cn$ipu{?Eh+6kue2G^G*51F8Ti F0s!@<2$cW; literal 78 zcmW-Y!3}^g48-DGx(BOJq)NPa^p$ZCD=;C86w1%C>|@(o6s>4djJ3c diff --git a/Applications/RayWalk/Weapons/CrosshairTextures/Dotted.pic b/Applications/RayWalk/Weapons/CrosshairTextures/Dotted.pic old mode 100755 new mode 100644 index 6d02180d91f665118bf88243ba2ef68e7e966878..5e93a43648b4dc1df41635be7ca82b01b7c2e71e GIT binary patch literal 35 pcmeZw_H<)oV`Ti#!1QQJBO?Rje?~?YMkZD^1t6P&k&%g+1ptK61!@2Q literal 45 xcmeZw_H<)mV{~L>`X9`w;Ks<{#K6c9$;8Oa63qB$N~0U&f3N@xBO?{vXV!;Ks<{#K6Q5$;ikY$->0Q#KIcP_-IPA8{>Z`21cMT6Ele4 L2;;Lbf|LLNr#K9( diff --git a/Applications/RayWalk/Weapons/FireTextures/Plasma.pic b/Applications/RayWalk/Weapons/FireTextures/Plasma.pic old mode 100755 new mode 100644 index 6a16564ae6cfd1c2f995a2c4b77b06bb20b16540..f97fdb8f455f2e4e2887887d43939465f5122bef GIT binary patch literal 1582 zcmXX`Ns`+}5M)*_=mm|&N&?*9F+7kF9x6ig!A}u=;9PX|8~lLLVe}d4;EC`9{0pD# zghB_R0d{p&byjBn_RGf)_E^h*3pu6-7NXEc_yraT8KShYMcr+-yZzxPmVa?u>;NcqL||p$o_z3-*=XxD*&`Zfi)!j+I&Kf`wODYwQg>wK#elOA%JtW|$hw zCoGH+9BOf!3WqG3c@I}CNt zLFwVH0aCRhVNi$~g%PuM*me7?1kp8n!ao3*p84o6gxa(FDa^RTTV77Z+$|QuMyDsaNCE-a zolrrY)LDQS8GA9nAg~&{5=g}B84C8Zyl|}fm2I>&0TsA2AKO>+rV2^DMGok`68-Ll z11Y1ba%<5ADTjCd+deqqWt7xi{eyMLiB2O~cn9xg+5{=4h@zC$lw=qyiQPwNv8xm3 zIMpa`UR11ltzFr!4L2+&FS>9%n7ETGX_guFS!FUnRc&8lf9EXPD9bUikSLqcTzKKl zvkfyxm7t4I8e5Ou3-305lq|q?Vme5~yfGN=@kh9AHPekzere-**SMK!&wM8A#e1S**V&72cI4oD68Q5P% zqe@7x$|E`~Et-c3h!#Uc>1Mg4<_?GPySyQw{=!H57v`mT6nDmk5^Vve(HIOjR&*6g zJM)Rfj5M7k+J#u}5h8|w@ppmT?#Y~)nA0J{+DO-&E1`mL{ydqHeSYkgh^)HJgUD58b=wBznC|^r?2d^pU0iQ@h!b_D}9n1D{QW8FrU>7TO$}Rw7R7u zgi@?eRR47JbX}EZBPk3}u5!>FkjBQ98aP%%4-3fM=b=c|{AQ`Vsx#;jx6 z_4HO_Q56WD`a>_MUzyocmyW-Pnnp{i(IhNgR!0(R7Nt>0^i7^6_J}lWY#r%KhYhIS NdB#cIdY$XG`yZDWa_j&A literal 2200 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 literal 7098 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 Kb}tnjI{yp9TPtG# diff --git a/Applications/RayWalk/Weapons/WeaponTextures/Rifle.pic b/Applications/RayWalk/Weapons/WeaponTextures/Rifle.pic old mode 100755 new mode 100644 index 508586282cea28aa30bb2c000361a35e1a06acab..fd034377d6e24d14501729617e45e5a9187a7a92 GIT binary patch literal 3798 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 HTy*{o`%T{7 diff --git a/Applications/RayWalk/Weapons/WeaponTextures/Sniper.pic b/Applications/RayWalk/Weapons/WeaponTextures/Sniper.pic old mode 100755 new mode 100644 index 926953e20287dbea395a1ee716e20161b311e7a5..53d74425e4c33c3f756e601bca3d1e91316d8c8d GIT binary patch literal 5202 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 F`X3OSEK2|Y literal 7190 zcmai(xpE!H6^3umc4y!B1s6L&fFy{81h|veRa5220mxu7G0|hlR+UpFWRde6ADhrQ{~8voe&WR7UXNa)_*3XA?|S?K;{O0O@vldme*ql@*L~N}N8wL< z!sxo^Dmqbo-QisIgvoW!^_29w<63T*UG-dd`1xhW)e5V)e4WhlqA{7()w8~OHdoK~ z@~L+`C)KOvOxvB5a{}oG$aiDXoU)?vVp5TF?*H|7za7znjvr2{c($Bb?-^LdwKZmDxZE5}YS@@md$63@uX%1` zTrjDSv7CuL3j^LGq@@{V{+c;=CuQB5RCkYYw53OA`H(qijc?NaJ^r$$*SZ zVPQ{NW!aOe!KE#iv-Ad{F;`ok45L`v*uw84#Af-uNt+iHB8zpMCcK0SD ztkz|6gfTe-h5K;QO54RD92o8{XW==L(QWiNdKY1L_+$4c=qB_5FMZxl`Y?B(MT!X- zrsNM0b>kG!eQ^GimDIkPko7<{JVGDsYDwI91{*}{)np{its}%bC?61A-CE9^FDJc< zI!ICvlh#B?X#v0Un6f@;k(Ypl&|?izL?C|1^BogVt3F~fWj14xj$IaR&V}{u3SnJC zFZ2x`Oh&Y^`v9+Fa8?O?O9@Wy1H2NRhCjSpk|7<_`iHZdm9N=t>~f zVOBt7d@6TM+H0SqhW9iaO(7nJ8x&1JArbh%C?%yeQ1I|RxJ@7Ud26HkJ58hwXQT5y zO`OZ52*8^ff7Dw5r+}z`pjae9k6NH1AcbscXeuQz7?_J|1TbA0L$)ykZ-WJ|CrE#W zV^0_+!;=-BZ-53i2_^Cb!!Sla1^}wQdWm0R;Oog~@0^@UDZ*|Oe>AjPP@|JRSk}P< zv9Qb;0~!Z0)i!Ocu?W#n0~HuV;MzQ8{{2z=153VPi5QQ#^7*KLP7}K`N{`UIv5^1{ zu?vT8j4_+9F1*`D0ZJP2<0FPBG#o*-^i&!+W=Kd`*Rzj^gE{FW`Qegc4*Nn(dH0KZ zl8xAx!`DKp&(?nb`{JBxov9K-ZLH$Eq-!jQ;e|6Ohaa;qYYAyQ5R;vW`tv z24?(9-X)r*m;x~7!5DDbU?bJC)BCK1Z5|uCF5A8VH_hWovlc{XzDfcIfZ#AIrMmmu z?B)*ITm&d8RtRD`e*4sK?~t{+1PjY5IsKTROwc^!)`*iMO-RL`ORb1tfxQL@usP#B zXS4HG$UuEhs6`YEpqD@uSP|YMP;gul++;=9z!_HS>|D|IEj+QIg6xhOIOr5+b8CBtO)Fy4(&BB73&o=+Y)xC3Q#p9*qNSm3w|MCg z9v@~3vXS6ICOQdI>LMluHv&Ogy*Ph4M4z zU`+%uU69e~GdT!ZV)`7VHnDbq&%eR>YULQGBYv6C239y5qxLaPGRPy-CDHO|%wN&O zu!gP01TG6V3ls$oP8i6N>LpXjY~wY%IF(RKodS;qJW7bvf)L{+!pE8vam9qcqz)_*dfvbavKx|C)o9|7U>*7Pj zVvTUrSQ-#~1Az%U=|xR&@!1~TcVq+_D>9+O*aA*AKv7DWBk^PxN|;&#jgF%&fl1+B z!|ouvYU>jg8JD?aT0^^~>{zn**w~O`T*5xl)4n(;N;UtSw$KH{s*sox=@^Hk+BaMS z)VD+`9s?kfYM;QSHiD~nj$s9LSR!j;pwB=r#-Jl30_so5WtWKoMR9`GYbKeXViD!J z9A4#c?r?T@S2nkII9=CkobHvJmU9@A>;V8Xni@GQtzi*;n%)7V0Y7bwb@&BbenP(m ztBAK))ccd3yZ25h0M64%FTGUQf!ewy01frLZ3iIb{3nT2kQ630&4S+{zXJD$h6yn~ zOT{wCk_^K20t=KZ1U5YJA(a9B1FY#W)2dLz93fZ(F?|SV5zCZHE%!Mc*D`nXzoh&S z=7!V{Fu7yeK)4f_pGJsBREhU3=yA2u+LV_##kgeB>vVU67{^C^gh}odkTIjaUKAzlX8NS6nXrCc8|+)k77qL((HeP{l$C zQ-}v9rp0HpAwvKoR7tFSHZxObi3B;7_yi&ZAQRNM^{9;0oMUdn{05i;$YJoz$!DRU zy1^nH-;9byQXN}1)947B4!DSK?QmBNZXO;3M~J}@x375d0C{kxjG^Jp``nD?>~(_= zRK`neYcaBZim_C|+eVL-hgJ+KgF@0beA?gS%WZ ztxmS2cYr5Z{27++U-CT1MGX)OTq|y%iUAtI3l}G& z9K9*VDg$b{9(K5?!G=1(08q50xJiW~9MvNXhvK~$O76uNCm&4=658fi;s!!kN@vTV z#UUgXTX$RZlO9zyNXKg|GD-}fg18|s4%wS5s5`>dLNFnN6Tq#(M3-d5vq`yz zS=8~a(?6WBc#FGVCi&%3ILv+_$?Fh!azO5{mCvNP94<5=JgZ9zj&l_Wu`x^0E}sha zZ(p2IG$o%XG@vqb+@j7n+!8f+o$BSGH4xzXfy;B$_3WSVrkqGJk8ITCK9vJn{RD4# zHe^Z%fGrdaC?gu&)}f-o3X{{C6B9I-toIP^<3t3f650h{Kl*-UG6v=KfNGIBCcsq* zB!m_{w26pRR*mXU*#8y5p!o#=lH@IF`kgU<&&WRzhGVk#dW0^aI%+@Q1->&spOWK@ zY*ZPCU{$f8hEqMkX?Snhi!W|eoV>*JMifDSTIw7K6wi5nixSF!6t9YnRZb&CFnTZ1 zMbig}Lh?rFC%2sUyvtz)nid>;bhuKH%PA@|sUX;t$`c?f5?|B=@&v9SLgqOPkW+yJ zSfbND9JQ}#;&&;T_YKeGXuqY2h*XvWMRsLbEgk^DoC}2P4LL-s*vI9tVvwj(y$kUc z^U}qr|3H(-4B`Qf4sts}TzNWbe?$Va4e+v%rhbE#%`yIv%EF8QymJa%0}19W!w4)z z0SW`8@tIGh6rJYYGdlkUh6T?zEFf1+{ECs=!Md7U?y1}9hV1U2BZZ^I1&TyYf|CNi z32GVH7Lz;m85%%+AUN{rqax`$i~eKg#`FtoKA?Sg>3~T=^yTJjog;*Fsvvy_*OR+g z1q%ukTSQ%IW%Y!2iff9pVTrY8qwyJX@Ytg;mGUhD1{-qzLtH5p^(F7ksC_~cLPX*x z{&mr)tjlKccr?GI2}HR>7220VPeM6J{1BK+XklP+Fd84wL_jXtAVb`lFK&G>y@2_` zp!)7;eoYhiOMy)yPSKL@3kjIUHI~cWpO6Lu<9E!vJL({EAz7jf-)adfUL+4k=LM^= zK4@SbMamRAv9}j0zX3Nn?_rdpl$pgE?v)(YcHxIkl^8;12@JByL->+a6h19GJRxgg z%0LD6QYJ3|2$*}Rdo1=Ky3}eNE947<&scOi+B1e_qhd-a>?Jyd;EII_ku;g^Vomi7 zcrrw|h{ieLRR%@kQ@kL`wnQ6e<*-=IahPAjp(CJdssX0PZJDH!3mO_~}QQ7|im zU@n(Fld7qC3z(8)=EdCxmo$9VWd;3%>`AOLjg#;TH%HvV{ z4NU^*dOV3%T8-tW2q0U0gvD$U=_=%s@0b}{Dx&AS=JM|!B0t~=*=6h-J)2F;$03yx ztCrGILh^b|>gadqBM;@{XA3+&5OmKd;%ATXK?)Qsn^SxZ2+$%SA}le!WE|AwzZ2qP z&k<27MaomC=Q;=y$`j*K$nzG)jKl+VX10aiJOh4klaHGG{?oS^m2k+WMX?jGdo`68|wW)H~8<$n1E!xR{fTv{wQ#DZVSX`(zK kSDPg>h+is+`7xUDP>wS`7PJ(Ii;pN+=;LV#`SSgL0%AxnYybcN diff --git a/Applications/RunningString/Icon.pic b/Applications/RunningString/Icon.pic index 5e6c8c712619322799136f72429c6d58e73f268e..6eacebcc4e2eb9a017a4e7109d1e561ef89a0a26 100644 GIT binary patch literal 183 zcmYMsy$!-Z3&?$NK~xEUy}-@$s9JQ3(+ENETye3H9+;1zApK6NwYftM{OJZBK54g?-dl!X+wW Ze>dS#k>j`$ruq^z`quFe2EPYO`2u_1EB*ig diff --git a/Applications/SmartHouse/Icon.pic b/Applications/SmartHouse/Icon.pic index 68a8d810865527e461d2a56466c36e261c30e2e9..6ff36b49bfc31efa9addc492e4725f267050ceec 100644 GIT binary patch literal 115 zcmW-XyA6Oa5JO|%;NPrs4>}-gD!F1{h;r ue=tw)d00aacgB==ZkidZH07HYsI-8tYwo;9&=clm5s@fWZhzB6Q1b!njtx=( literal 154 zcmXZV!41Md3DsBIU+41@{By+{dZBU$b SLRX8p28oUu)<1Q&AW*(992dv{ diff --git a/Applications/SmartHouse/Modules/command_block/Icon.pic b/Applications/SmartHouse/Modules/command_block/Icon.pic index ea3be0e8fd7952ea0eb544896be2a2b52c1fd66f..c8c426879e430ada131cff7ca64dd52b197f44fb 100644 GIT binary patch literal 365 zcmXX?J5I$w49xhm-cORv5x5Hy5*24i%^luTBnlc@4naC9YSM6lcLA=DDjnX4#$J2I zp7B22KR$#hqU-3+F6a<2+|Y?Y70S>6JsC zVbG*N44|0uv^XpnR&*>9V(#^f;f%lUFZDt*4CR1P?^`y4P|TAOO;_3-N}GrLMJowR zk$zmRJY)5><%8Rth6UU-SW+(ir(*&3))J-i?O9ASo{N3`Y1>M literal 1287 zcmcIiF$%&!5R9FrkH|v;f{@Bz1pI-eg)c~P-~;l5V4Dx5vQ6hl;$$;0Ic|*zdI&ep z?e0wG?zk@xo85N2U+~MG;fk%V4PmRwV&brkLuaQ$MizXRX-F4F5?AY-djBww z`9TB2nHB!TsXc5>96;N)?@-e;JpG752(bn-pzgxU@_y+QHWSbC2YEW^%Yw)#^L)!w zuBuZG=IBpeq#L~wdcns0u<1K^)2=^9*YganpWnE?<7{in4^q^S?z$K6t-1d4EX~i$ z)ZtFHlKZ98$TRa(&M0Dja*Ef)ULjl%>wuU&V&Oa>aeTBY)qOwj1#IH@wEzGB diff --git a/Applications/SmartHouse/Modules/homePC/Icon.pic b/Applications/SmartHouse/Modules/homePC/Icon.pic index 3d64612ac7ab9b20e027839493bd6f21226b9b43..66ce736059671645c2b8559bce748c1d76fc4218 100644 GIT binary patch literal 299 zcmXYs%Mrpb3`D*9*-n6@1g=RN%rL`=L!2t;A-PZk1yTvJ!(ms}&eKSK-X3=w6GEVC z+z^OCLev!mM6U}13t3hdyLQhVkZxH0rA|x;351bc>=Hptqc*qZv3Y7fBN%}hEMNs2 zI5J!Qe%?B3A=CbJz6|jwi{Bu+LXUPr>RHrs*PspZ$F#sIST9p`&E8v{z!cL4PNK)i jic0#?G6UcpXn%PDYB8P8#RJX#rO*z_HOqCCF9!VpKa&zX literal 1287 zcmb7C!3_d241*s}CSZeZ&<7F{66%A02SBOzIfLz-LHHoY-9QLQ^?F0xM7~-pvj{PP=K_i9SaM^5_sr z`}R{oW9pgIa`EnVf7E`+mv>Vkow>xgAM8vE%%bSs3LarjxO9nXs4D~tn<-S(g4*Dh l#eMrixI#6lcMHmKabklwh>;-$4Hj}J!GlCq&wrIO{Q+Fg4Uhl; literal 299 zcmZ9HF%H5o3`JwdZd@RtM_^5_z(kQEF)?)VRXQuR@(X zz`K!``CFhLoX?s7J#iDHJ)JKxT@^4Ya4c{i9Ass-v9!gz!C|jJHVx70tb*7CvrH1+ zOOqyh#RaC#uiu-G*&L_I|E){Sv0+lLNsi4CZUrrXWJQ2Z5i5KJRd7X95h?__b(zqf ZN+s;&h|B!h(m5saWZ~9ZopM;S{s8Uz9X@G}js*U%x%S zzSzx?5oF#jy8!Rq zF=BE<8{CyDh11$JFDtjl?BxvN#FpE%tO|GXatLwu%4l->$__^TM2CX9Zt%;L&&xxA tlK-idY_TiXb76-P>o*+jfU->U4@L;{FCwFC=!C0IbU5q8w>}<^t$)C!9##MV literal 1287 zcmbW0u?@o@6hxgaWrpw|ks?KMm6cLtf)tiK0CTvYrE=@anIuPi@_}$HfQF~@|Mw4& zAGhv)x}5vpYCio7;M!{)p^?4VmSyoS(yE-%#4IG(az+77)8t*yLBhs-(hB^T0FjtV zRPJJ}RhHee&10NCcZO1dcAeLkh94GZh>{LBkNT>cOzKc1O&!umN(F)1&^08lttSU@ zTBOn0Yuhn@V+m@+oN{As@_neE`l%-gC{;i&hTfb-GfcE$#5b_9!Ze`aVjPVCis5d;h{>sCu%aEbq Nj6#IONGleI34g;f5Ay&3 literal 1287 zcmd7Qu?>ST5Cu@^=*R@#z#F(jiWE_#_W(@742(j{Aat1|AM1xN%T9L^xZ&##`<@K% z;q`1EU7uF-S!RS7<82Z+v@iiDpSsh!@x5t3lV#00=e<8>{1MPHrj?sPq7M)HtZVYs z1i;A`Lb${S;xQM#LLeVnMc4YSYUcq*Urmtt_#dFg9kuhUYl)Zc4?YR_RpmpAUG0G7 UCtc5ET+=iOq*6kc=IfJGU#;~2g#Z8m diff --git a/Applications/SmartHouse/Modules/reactor/Icon.pic b/Applications/SmartHouse/Modules/reactor/Icon.pic index c463dc0fb6a7dc8dc1bbde7bdfe037238c7edc21..fa84a3ea29755f4fffc6b4b760be454aafa5c2c7 100644 GIT binary patch literal 275 zcmYk0%W1?w5Jab{KQsC(ggq*cg$17+lfW@J3Z*j%I1TyW)|dqy9yE0I>-v0tynHQ4 zi4Q%IjG9Z=3rnZWy>()q`(d1BSG954TEu)9r5Angv|RIl>N?L&QjwJ8k^>1`Df6-; z6%Z=}2{f?4gB+CL=ljb~P0*-Ok!j;E47$PTLzRQ!4Xw-@NS$_+TbYA3zR7GY)3%pq VNjPCKY`By@>^#suEETxj{{e!67NP(E literal 1287 zcmbu8!41MN6hp&}TNnum35gR+F+&&11{r}xf)k9aP&aMW2&q;Q`@jBQp0~&SbU9CL zh4=J=NGVa}oOddDrH-TkhXhmzV;%}n;Spo3_wbmhQUZSUbgZ0L$z3(pZB1L`b9v)E z$2WGkQ^1Y+I2q@4dmUB4`gT%^-F05K2RMBjv-zseUENZy>k|YLS)~3_e)PQOPDL=D zZ)77>) zZHsUG!2zT7+sV~O?=TE2^-MF!{#dBp2M;Lf4nw)=9S%E*{v_IOjP-KXFe#B2MO3{` k3mH8muyTvVDT=6A=?=ZcIbIy)Gx)s6l&jM6odR?8|5MQ&ng9R* literal 484 zcmXX?Ic~#13>1&ObXiYGDd`t+fCW;ekR5>E2?F>B`Gp(3CXG|%B^lajxWgfrX;sPqHun@ZLF0o9jZj6>-F-i@^2 z{RR>GDwju7Xz$muq+-~X9-SdqzWx_t#?%b{22E|H1^jH}R|lFZZ^%z3%5s2yLE~zg zaPwI8glq%rhb|UKGHBr0gxFW#MU5Lh)zloDu)+x)aEOQCAtIC{cOTjTb96^Jb{HDb x-1Vk0rWOhXixT4-kKkC`Uze{LdjvKmKRJ5H?l!z9BGf$*C}3Bh;y>Zl_y^w>Jpcdz diff --git a/Applications/SmartHouse/Modules/screen/Icon.pic b/Applications/SmartHouse/Modules/screen/Icon.pic index fc9b172cc9ad4a6b8ed1afd0888ae335ddec3d80..e1b5f8ac45ae1e5e439f7b013c0738e85b0dd89c 100644 GIT binary patch literal 231 zcmZ9GI}XAy5JY#z_S!&5as*1^Yak&}QAD{;(r^Y2$Vr%Vm}0bk`_c3B_PG04V8)AA zSct@!luQn@7V3LNew~( literal 1287 zcmd7PF%5t)5Jq9x*g!!Y)Bzg_2@^XG>YxJ9fIyV+_j2SpIOxI)q~XimzHDnh4YQr@ zzD`B0^*1GsTfBrTrL=dWo%ljvLwkKW=VlS^V;=(fT&0KCVJCiSYzqM@N?(1`+=wj% fs8lJXHZ^u0tKx46PzmQg%-o1A1gI#?-xsO}j|FNf diff --git a/Applications/Stargate/Gate.pic b/Applications/Stargate/Gate.pic index cf17b105eb45b2cb16740eef9691353d0736aaaf..1522b1740002ee87e7728250e1b34b0bf2bc4f0d 100644 GIT binary patch literal 4099 zcmbVPxpEuX6~(#l_1@@i?0YW&7XaJTR{0(F0 zN;H8c7`w{laQp#|?ZC+-4(!{~j3i2w#%9v!e*MmUcRBam#?Mwi{fWA6(0>vLkwBt> zE0B24QjCsFOp8{PE z8D*b?KB(`fQ8()(AN3(CK8+f!oeMm`r5{0!-OGm<_+zMv_c&PUaj^8`V426kvX6u1 z26$8|*ZIrG6mDI39IW^lMwS@#|B;`$UyecYJ#G6Gv*I?Zyl&=udiZfnjHsT)$0+Lm zAQ-RpqV_#N)88oW!zcWpx&F!P6JoV~CD0FTe=E_!J=J|HitoyJSbb|UZuR>jA2sg3 zjg{(yNl^bmDLbN4slYA5+ENv%0PQ;jINI^0vf-EKJ_;q+--#FG5#3avJprNd z94aNRe~%|9Lw`Y^^IH8IxVZTWU-13@o!p5C^$_&{>8;E{4Tax4axmB7JY(a%4G-B) z)BFa&-i8DM4OeYRC|Otv_$C%x5_EW`!MP&^=Q@T74q>r_#950p43fCHl^P5KV?p(% z1^JSV)jRkO3Oo0VW6fdlM18?o7~CR-)rK#k%~-oi`n1EoD_^kF%dh1ID%_X6pv6(p zb9h*_j4lkg2_*}JG|9svi*;KwIhW`=M2ie9*8(jaeH*i_AOs5a`WpIo z5IERyV24S}1%;k6(dOofuo*Y-P-yn;#wc>@zpS8S<_WI)y0Es7Ya9RHz; zlUqj>8nOxnp^DRuOE?ge+mj+wX)CCx$ZPO)VVJfF&4r%9O@v&IgIR@phlsN- zO-zee=@^wD+iAj)l&N%MPeECOrNcEyb4(0vEFFj<<|U|Aj8imSrp0u&&SIG(;_sH@ zNMyUct!2}6QG%Ytszw)=F0?e}WsI`WiC!)xa!wWxP+4)7sUTF=UMjouGZ2N zTzKG8UJ#Bg*g~{Vx)F+9Bw_9p6XPOe4$~T?h6b!2Hf*Z(4LV#0wx_nOF59VYxDI|x zpdfLgVWeYfU}|D!kv_MfdzcllsH2_1tb}Qk?eg-x2w`Cs;bcb=rwTG#)x<=FM+oaU zav$wQQ&s2qJy5eLn-DhkCj9jQOzCAkn~Qs;fKgOB`{qxR#_ zkN<)W$35Q~n{*8$AC8N8NavRkj#5xEP_sfV*e5GT+DxIdZh@w&BAHVgvK+f2wK~al?lt=;(Oo7HGb-p(LSJkgVb=6y@5U3pGGK1vL%Thik&fK`COXAa}<+wtS=m z*6Sk5!w!Bfhd(PeI?gD zzqrzIEvei}Lu80ngjyCXBBK;jjJqJ~vl#P7Wq?8z*8)+9)-&!CWvBY&Wh)p3IE`Y) zDY~TMQHzshm9R`Q5BZRa6w%?Ofmt18MU+mM4+Rz3+pL0PJ!Y$sgyKMY&{B{YOtYZ8 zkW3AXOQbEzuq$w?l$)et{OxkL#B*7W_S4BIk-n0fsNQ z0wQ5;1kfU!3S^qxGFNSGGA93usKA__Nw`}9;Rgo-=PJfubBXrj-Wq&H3fV(ewDk@U zA^$f~RhSy4gpOcIu^|lZgj)h?gyL5WjDE`nS7AR@HX_1V1!En_XRL2Qo1Ia<lE&(xNz8WRC6p0Au=`L4z7Kq{>EEMvD@9YkT@{FiZeMAn0@qW2{)+M%r? z!5QpskjN8w-ue3~(i$c@#s+i?6Pq+6&Dt%cqVbRsIjr(n7BDHYY|(gLlUBMv_NCn) z3=c-|Ja28SJFolIgDT8?yD+T!iX?juech;gr=A;6%j#`y0 z$AkKm!wXS(!ao%lcSx{8n1xtDG9l#;^U!uk@L&=J%qrjjvLRI(5j75K!uGD}ICy~s z>)xsYy~St`OO4!f!buuS4sUjgL{6Y6Wi@CXtH@|DP10>ks2Wcp)pUenOkGSpOjGP; n8a%ycd77}R!%-Q-Dh(!qaQm!3`3CJb>!|QweR8lau#Eo~+jH0U literal 5052 zcmbW5IddGx8HTsJ=bqX7zGilI0T3r~EN%h|U;#{(BL^gdE;|qd`)7z$l|wnO0+)Y- z?OcfzP=V|!mqYmnIJN^POdQxxFF*+(0Ln&y>fV|DuJ?Vvucz?S^Pgna<>*X^|2!9i zOys7yQBLm*A(dr2uIC3~lrI!Z?C5xM za(XsBzqr&Z@_y6%PY>1I(|25Ut=org2khE6-loIR-2BaS7M$)gL#*YCA9FU4?wy>=|YSagVTm#Oz4#6z|jHkC`3oozf%i z%8#_GJkqZENW0qO?Dp#7QHGa#r|}p9v1>lgZrpl|I>+t*w-sic&@o;2!O;7d$YyP~ z(KS}~tx5T?(adDMH#2emhaqx3L)QCO7OwaGG`>H^_w#ryesAFiv*~@``5W_lnEY@) zjDDDww}yOgaPv^U@WCB0N^ie51MKciu{peZ>gtkt_;xuQJ!CVR?q;MvXnZDQ&fIYk zcbssva5ty9#tSXvvX)jnuZ2_L;jtFpkruwEMR=@b~hmWA^REviC`?!Fe~OF|N^O{k>6gWfLwUTV=VXc2E|m9*A3 zv^%KOdxLagUCXrl1S^uY+ITr7X%e;@S~gt@X>qBak#s=z-GJ=+TJ}O*l^k$+qs5@f z`ihtSG-tooqQjvkDJE5FYT&xzPIKO;xCV>n2?tHVHC}c{1RpJE)sIT#Ib4|LrC5x*NQH6*=%fO4Y3LQ6u2Pe>~VEYr? z@mHE)Nj0KkQy#!Hj!jL6px8O2p1osWDemq;0CkV%7s;keHaRT{mjEFzo{#?i+h1k! z3u^tEZ04_OE>1HW8002^QK_>w%_(wosm@LYJa{_ISy1T$yS=cu42{j!Iy9CsTGG-l z5i%&?3}M+znfM!9pc=F@@s8~Ve)0#IfI)#@yPsKKvHgUtF#>ga4^Qv3EJ-BL1!?h? za#be2W=r}a&HUGF4IwMjoNMCL&;jIh!-$7X1abhJDN&d3Md|jK3=i3xOcF3jAp-$* zLJSdoQs;RK?)nA>%Cp9-u%%$o=1aSHdImNe4&bK+ z*RoAnJ26IPrwoXmZ7^~xbH@dv7%uzn8LR1c`qDUg(S#{>FP{Eh=? z)KuF&&crutDOk*BJ|H@55uk7>O~Rqt-k}Z!-_Ge3#4fz&FE~k&cA5Es{zHmVJ+x`4 z3=Tkt#H>08TA*XJiJAyh3MlC4;Csilh8k+_#r<+h*hLMs1ex1Jv=azl-1ut3N{$IS zLWtkk~cpg$wXO9yoUaPBL|?(@Vng)PwnmXc-JQ(83&V(5UrXS)={P}8Iw6gq5wm-uvPii2 z0LLqEiY7`N^l6+XvKee^IgAscA^D`dxlOH|n8N{O)j_3Uyc%?nZh{)D*F<#4H(tbD z0qi_;ZG6UQC>P+L#86L?GGS<%R&=>)!slF|6N0zVcpmli&HO5odIc99(y#HN#ph1L zj2fTzQaPs`GUshXb_dYy%SxWDh-g6g#N$byD0jO~I92p(*;5AEV0RDfige z%vYc-(`HqGu32Xn(7|m~clpY&*Ebnh^tf!9TP}jbju|4BOS~Zs?U-xH(6Gu%S373J zzQUhk-Qqcyi8AP+k}lonp-9UVgKeG!)PSly?xCXTA*Q3M&oNZ1T_Cc%_-jyLNh|&@ z!)ys)un2Qia!l*wXtAkCYC=CfLKpb7l`;Mm;8}cexfJV>x%rL?C@3_TM7SuydlQ8W z2~=g@o@BPU^nXc(Mq1R+F<0y_IC=@#-?9p7;A2Vrh4nPE-m<0S4&N;DPb5a0bjW(m6@BnZw3)ub_r{Sd`-Yhkr9}}<&bHm%ymuU zCi%?zk}WYy=3;mYJZ4Vu@#N%c_=~wb1D}56bPFrH z4&f*?9ilz{k_usrO_wkTp~ksBA~2$f8&nJu0m5h@tvVmM{W8PSH}{}v$ib7vO#GW4 I;3h`@1;L};Qvd(} diff --git a/Applications/Stargate/GateCore.pic b/Applications/Stargate/GateCore.pic index dac109ea5e6bea059e3614a2cbb66c5a59944c37..44ec4bab4a63b001c13aebdd7ac258f6bd2f65f4 100644 GIT binary patch literal 4447 zcmb_gxt8445$*fXKx5zcwf6Ok0PoeSTXm~$|Kq#A|4sP5!=7tsqJ~-r--B^=UTBDttf-o9n3nCh zo*#r!oTOP^G+XUXx7QyGN9A}joy`}^)q1nt?XRv6$J6-_fBe&*|MJ~mzh~cO8SdLG zQ~x&0@QeQ&oBtCAq5rinz6@8RdHLRDK*i+uZ~QLWQtSILSk7{!7O0j!o+%SH&95d=*bu>n5$Uo zSQ~YRxYFb-duzeAp*z^Ruzk*5Z$jp;Bls~(rU};>j#HNR-;&>>vv5Z{Bq|rTCN5j7 zG=wp-h$A|_RRd%yrV-0q8k?^Yv`wsRcn*A-%ZsUpmBONF%%$DoiB`#UtUP8rF(0>j zJH&h9i7;|Q6?ji(D8(-2dW1q+Kgfz9R%hk1dFriVn~;^D;S()sFONQhXyMux0TZ;H%#4jm`hCtxz5;ONAwl^%sb%N_1 zeIS=i#7>4*)^B(RqKcD_vj(XFXT&62$+#Bk4Xk*+)$0#SfeXU92y01Ml)e;7%8Z$U z(~THGQE_fCYb)WPK-M4zkaUPY(r!u)`wdH=74Sz8v427CC?RA4>lI7h+kLao`b)FeK3IxD&wa)ZkUBOBQr0@fcq@-9XeVz0uX4AH)?dnjy-bz}L?8=5W$6OF)xf*hxVmT z>4z+xJU~YG87j;2x5RL31A&5U&js)!jAIn{>6j$mad zU1&Sx==C*-ej<&~)s|dD;(8bjY6d3)7yJIS5I+pjeW3x)TrJ#c8pwUHI zIs%3bE}Tq7EG5_qySi4{HQ{?On5>yN**JMjItT1<3~?PX;}Bz)V3%Q@v&pPL?**4( zowHybLEXE8P>r$0piz&K{y@Y+X4X#Oh?P~&*zGl@n+DUb&AOuM2Mel=gA3h<7QhJE zp1gOGimfxua=tkjmeT_LlCp81V*8RPZIQw%P_8IG?vHfB@s5g5E-+A_YdB{0s-2JM zn5P?Z%t>fj;zD{cc@&?Rhk=jsxvo|05$PNa+YTmoLV%&grV9^wh@M}Ont}N*RJ6e@ zOw8^D9g&AfLEmN(B~DYr=z*vrF_1VIdKkSXsv7QuCG|4R!%@eng6*h6S71ii$1r4= zFUgU-0%o$OI`DKH-Vl)fUOpKCHY)6hg>#L$+XPeu)JM25A_{dv>ID+lDQ7k_Ou6!9 zqp-zNWZjWq2AsCPQmJ8}6=R+9ZcxtFI@64dO{O^kl66O8k#nYN3kMroglidF52jKD z=kNo0(hA`==srwY7@vt-)+RO*MjqBO7sjKNm}0ELO5jWI73?BxeC$G)JF0a%M_5$f z`iqP@3?c+eIm9-?w!!?dfm4p21J%VLtGcx%!@d<%=J*Y?6@(hRq^e|V$qRIfX@ac| zHAlx_lA6M?aE@^0u+v%QjLj9#Is*?UmmnqrJ-#H)(h8PlJIV=vFR8c^(9tT^Tp2is zMD-H3c?Iq6C;pZyeiowXz)`B^7a**fUq`7LO@PTG;n-;gFHoa0kqS(MYV%XZ?41qq zgc>m?jR-Wa^z@1$sMwkk>keFOJh(BMA?9b)#F(`^D)DdR!jaHQFtFhSm|NJqBOz#D z_>5Y^Q9e_Aru<3$xyq;CrDc5fR;3Fyj-;X?e$5*exrS%+jnRG>sS z`Z&ipyhM%9u?itYRDfJKUjz{Ms6|3OYqt9hDJD7F>~u$^X#c8h+nq|-lCGW2C5r~{ z52BZ3?z|eoW%0cbp3T>a@Lm(IRI29nMw2vyMDm6tn=YBw2X%Ke1j8iD(QIf$ELYb@ zOCmA-e&j#e{QJ8jk-DxvyFR$WdpU6JH8j1_1=oJ#z4G2(1r6PDSL^LA zO=p$t-o;X-%t?c@V1PmPG;Ptou8NT!qbnH5%+&q2s(Tq$UFs!?ArU(?M- z@`i31%q40hC@DRi41vh(O@YE?$1{(vkG+ZWir&+qKcPk)j>h0pNA4gMP>XrAg+|`( zReugN_{z1Vh?PVnD`T%PZLdPr7?CR!1BywYaipefp^{X`v%|@X=F&y=>U25yB3<=L z>IU>pSg-z%h?u6w4c)Yy&HgIk=Y*M-$v+E?aB9O7U7b?$mcqfX-Rp;V=Q2i j;3~yV!BL}f7h$S6-dBZ!xrxvs^7SyaG4*L<4TJvy4;}CT literal 5579 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 WIpH~xZ<=pAoB3v_WDA)VGA%z^ejQi< diff --git a/Applications/Stargate/Stargate.lua b/Applications/Stargate/Stargate.lua index 1f075fcb..cebeb537 100755 --- a/Applications/Stargate/Stargate.lua +++ b/Applications/Stargate/Stargate.lua @@ -79,7 +79,7 @@ local function drawSG() buttons = {} local toolbarHeight = 34 - local x, y = math.floor((buffer.screen.width - toolbarWidth) / 2 - sg.width / 2), math.floor(buffer.screen.height / 2 - sg.height / 2) + local x, y = math.floor((buffer.screen.width - toolbarWidth) / 2 - sg[1] / 2), math.floor(buffer.screen.height / 2 - sg[2] / 2) buffer.image(x, y, sg) local stargateState = stargate.stargateState() @@ -92,7 +92,7 @@ local function drawSG() end drawChevrons(x, y) local currentDockWidth, heightOfDock = 50, 4 - drawDock(math.floor(x + sg.width / 2 - currentDockWidth / 2), y + sg.height + 1, currentDockWidth, heightOfDock ) + drawDock(math.floor(x + sg[1] / 2 - currentDockWidth / 2), y + sg[2] + 1, currentDockWidth, heightOfDock ) local function centerText(y, color, text) local x = math.floor(buffer.screen.width - toolbarWidth / 2 - unicode.len(text) / 2 + 1) @@ -104,7 +104,7 @@ local function drawSG() local buttonDisabledColor = 0xAAAAAA local pizdos = math.floor(buffer.screen.height / 2) - x, y = x + sg.width + 5, pizdos + x, y = x + sg[1] + 5, pizdos local width = buffer.screen.width - x - toolbarWidth buffer.text(x, y, lineColor, string.rep("─", width)) x = x + width @@ -272,9 +272,7 @@ while true do if e[3] == "Closing" then stateOfChevrons(false) end drawAll() elseif e[1] == "sgChevronEngaged" then - if chevrons[e[3]] then - chevrons[e[3]].isActivated = true - end + chevrons[e[3]].isActivated = true drawAll() elseif e[1] == "sgMessageReceived" then GUI.error(tostring(e[3]), {title = {color = 0xFFDB40, text = "Соообщение от Врат"}, backgroundColor = 0x262626}) diff --git a/Applications/TurretControl/Icon.pic b/Applications/TurretControl/Icon.pic index 35aaafb2fa2b112aa140271cf4cad05a3ff60348..9effbea446d1127e7f9d3c8833ba0d72cbfa90f7 100644 GIT binary patch literal 152 zcmW-ZxeWp_6h#00!~SJ#yrK&vB%%#CL^((-IgwkSFE;{XNAu>;Y{&Ddr0Y+7fj|@q zHIGu$os_+OnBSqQ*4s{A;p(-w7x~5sJVe+%ZFD?XSs3bfIu7?3XvjA%6kO*;l*h2V OJxujjn2Rckq5J_otrF${ literal 202 zcmX|*y$u2}42AukolC}`KC#3dQY0#h0K(fK0X-EfuosJfb4XYDli!bh*zKzon_%CD z&+Arkng!xYSZdf*$Sf2u0M*ivi<{&;NZ}qvFEgf n?c!8wz&5~Az#|-}?4|F(67%ScvpscP1?CVW8q4w?qFnP26Luf8 diff --git a/Applications/TurretControl/Turret.pic b/Applications/TurretControl/Turret.pic index fe98e0dbfad69445b1aff082ef43609033a52f1f..46b99f7f80f8ed346eae0496111224667507093d 100644 GIT binary patch literal 324 zcmY*VL2iRU4D{IET_^#T5MYnFg7`(HN;&n?2US(xkO$@?sTWcyJ&dKXXFcQne7}77 z6!<}Mzg%zgm0DZ4`zkMxmnGG4qplOfYsUOaQu51N;-Y@Vz8!+M+kgU&FcwWHF#v5rsM{J$X z@~7fZR&|gP)7JhD6a+X(W&f=P>D=QW9Su_WeL9@O3isPbr0IEYe`Sg`D@F7eVL+z^ zrufLXeJF`X6(_|ewkpO^&{nmOtLjGgCqX*)`s1HM$SxD2n5-G=Kx_xy*@D|)HhdAp kM!TUcSflXiM67M)=-pM_pNf-8JBCrfHVHV%fga2H0UE|ErvLx| diff --git a/Applications/TurretControl/TurretControl.lua b/Applications/TurretControl/TurretControl.lua index 0693d472..e9928aac 100644 --- a/Applications/TurretControl/TurretControl.lua +++ b/Applications/TurretControl/TurretControl.lua @@ -27,8 +27,8 @@ local turretConfig = { local yTurrets = 2 local spaceBetweenTurretsHorizontal = 2 local spaceBetweenTurretsVertical = 1 -local turretHeight = turretImage.height + 12 -local turretWidth = turretImage.width + 8 +local turretHeight = turretImage[2] + 12 +local turretWidth = turretImage[1] + 8 local countOfTurretsCanBeShowByWidth = math.floor(buffer.screen.width / (turretWidth + spaceBetweenTurretsHorizontal)) local xTurrets = math.floor(buffer.screen.width / 2 - (countOfTurretsCanBeShowByWidth * (turretWidth + spaceBetweenTurretsHorizontal)) / 2 ) + math.floor(spaceBetweenTurretsHorizontal / 2) @@ -107,7 +107,7 @@ local function drawTurrets(y) buffer.text(x + 2, yPos, yellowColor, ecs.stringLimit("end", "Турель " .. turrets[turret].proxy.address, turretWidth - 4)) yPos = yPos + 2 buffer.image(x + 4, yPos, turretImage) - yPos = yPos + turretImage.height + 1 + yPos = yPos + turretImage[2] + 1 buffer.text(x + 2, yPos, yellowColor, "Энергия:") yPos = yPos + 1 progressBar(x + 1, yPos, turretWidth - 2, 3, 0x000000, yellowColor, turrets[turret].energyPercent) diff --git a/Applications/VK/Icon.pic b/Applications/VK/Icon.pic index 3e1aafd286cc58991c4cd624d66d1697fa9ff114..c4363302d74a944266db7e2b71940063bdaf4b1a 100644 GIT binary patch literal 144 zcmeZw_H<+8U}5^t!1QQZ3nK#~8zUnVBgdm@4PZ74kj=ornF$oOWn^Y#@dh%^0~N65 zKt-7IpbRzzAcKL0k&TI&g_Vt+iH(tonT?%;8E60tRLmKwl&J*DU{8fISi^t}khv@X D%)kws literal 203 zcmYL?!3hFE3`O%Z+0595jd<8y2#5y{0U-r=5X6%Oc(4ZBvIiSkM;6R2@A1hy&U=$4 zBY1IqUQdHg1PTV)PdxrY&_-;?aWK65Mgu%JE{5GoMI5&zbzGB*V@_hn)<6@9hJuR> bT0^;CT3c{I3zbznPTA{)bAIXdds6)Z%7+|c diff --git a/Applications/VK/VK.lua b/Applications/VK/VK.lua index d08ee8c1..98ab2d1d 100755 --- a/Applications/VK/VK.lua +++ b/Applications/VK/VK.lua @@ -307,7 +307,7 @@ local function loginGUI(startUsername, startPassword) local background = 0x002440 local buttonColor = 0x666DFF local textColor = 0x262626 - local username, password = startUsername or "E-Mail или номер телефона", startPassword or "Пароль" + local username, password = startUsername, startPassword local textFieldWidth = 50 local textFieldHeight = 3 @@ -316,11 +316,11 @@ local function loginGUI(startUsername, startPassword) local obj = {} obj.username = {x, y, x + textFieldWidth - 1, y + 2}; y = y + textFieldHeight + 1 obj.password = {x, y, x + textFieldWidth - 1, y + 2}; y = y + textFieldHeight + 1 - obj.button = GUI.button(x, y, textFieldWidth, textFieldHeight, buttonColor, 0xFFFFFF, 0xFFFFFF, buttonColor, "Войти") + obj.button = GUI.button(x, y, textFieldWidth, textFieldHeight, buttonColor, 0xEEEEEE, 0xEEEEEE, buttonColor, "Войти") local VKLogoImage = image.load(VKLogoImagePath) - local loginTextBox = GUI.inputTextBox(x, obj.username[2], textFieldWidth, 3, 0xFFFFFF, 0x444444, 0xFFFFFF, 0x262626, username, "E-Mail", false) - local passwordTextBox = GUI.inputTextBox(x, obj.password[2], textFieldWidth, 3, 0xFFFFFF, 0x444444, 0xFFFFFF, 0x262626, password, "Password", false, "*") + local loginTextBox = GUI.inputTextBox(x, obj.username[2], textFieldWidth, 3, 0xEEEEEE, 0x777777, 0xEEEEEE, 0x262626, username, "E-Mail", false) + local passwordTextBox = GUI.inputTextBox(x, obj.password[2], textFieldWidth, 3, 0xEEEEEE, 0x777777, 0xEEEEEE, 0x262626, password, "Password", false, "*") local function draw() buffer.clear(colors.loginGUIBackground) @@ -1087,7 +1087,7 @@ buffer.start() --Хуярим настррррроечки loadSettings() --Активируем форму логина -local loginData = loginGUI(settings.username or "E-Mail", settings.password or "password") +local loginData = loginGUI(settings.username, settings.password) access_token = loginData.access_token --Получаем персональные данные _, personalInfo = usersInformationRequest(loginData.user_id) diff --git a/Applications/VK/VKLogo.pic b/Applications/VK/VKLogo.pic index 7ead93843ba221326e725322f6e615e78af819fd..a6a2e9324c9ba13dfc9b65bb373f17354dd60895 100644 GIT binary patch literal 769 zcmZ8fORn264D?VRTbAv7o$rg|*oW}Oy8;Ee>M^qEA!49sDDXBpK$7dk+4mwTW##o1 z-3Zi(8j{2L{^i?OU0ZqvC=npA*n)&qI*d$glYFsUtvB1ZU9m3@RZR|bP%RAjIpw&P z1~i0KtvD3v!lh~#%HdZS50pb34Y1OjVP0Vv)p7P&)KS{}^UlVN`W>LrwBs|Io%tM3S^>-za)auqfs`E4S|JHhL?};OW+SnB=nfI0UP?V0Po}fE za!M8ghZxy~TT5?bu!^xca;5Z45+w_H5iKl=9wBxOta#h)ucC*>;>l@r=a1D7xS zo>yYsz+lObc372P&xx`8i3j(RiB##K0l&JldS?ML$F_C6dCR4=BQYm(K-#c2R-@qk zck0f0RnPKT*Vm*Wfy%1!bXFcNjAlJ6BtVXC?gURBtY%?QUYTmw@l--VmfUKf;?yhg z@{pOheR}9+ETM!9qfwMQ!+pH{HJ(ho8NCU61R`8`Z~mXEGIr-b%zElg>>=;tCwrXK KfOH&6WPbob!%pk~ literal 1158 zcmYk6OHN}!3`L*o_kQ{CO9+8LNEX3_32CXM9`%5cSHPqf0aCA_rJk?=U^^u9-UxlF zDv^5Ra@qI#+RycVeES~Vx_=P)dJM}bpPR~8>P*}9YZWVMT|XGAbZZ^;VyyF_ZU_#B zqbMJnN=UZJjZ$TAApd7Yx!Y8sf@!V6iJ6|S)@nT|>ch?Q7SGoipwh3SJmqXh-t0oX zALa}fQU-|y&^8$m61Zv0xo)D|XY5!e2|T~NT3nZW@l%zS`hAJ0wPfh9J3!kG|3OUk zIQskhSF9nDPg=gfzM<C@;KXxntps1E%P+o znMTER1#ifcck))z(y#0Y57C~en6ydo3n&MaxK?SFP$0+Os01Gy28t@%UoCD3pvSJ% z_eUqE%UdEJ=s3rsuWhmS)SX~|Vu`z?1>%;GG&Q{>&Ch7*A*Wb>8Ql(A+HG)KY9~sU zMu7%9C-w!!NQc&kqvMm)voh#t-bg`>A7N>!8%Fca5dl64f-x*&vxNW+4b8OZ$&Jm_ zgh7Ha?0SJkd`O}hQkWuo$L@@CF?F5=M47#%M8Y6GFuh#5k0z}o{FdGgD%u%o^XR^~ zhSgkRKeR7KKDXqv4x9b4+s*IQS@L&H!c^DD5QLKOEt*sX7Rokaucid=l*o zXUaAWP-4!~z1zn}r_sFb&qwS~(&v_F>>fK_UfQ~?PV2+-Dh(f&Ils)*q#H$(hPc(n z^APi*>mZcuviMm;=*m@;^kKFd{K02Ll&;(T8_~Mkzm+JdwH@!nx^a}Gb*EjM-ueNX q_7$#BegaYG7p~ySZ$T&fUqeYhXkSFbPRW;glLHxJY~27X@AMydJEt4~ diff --git a/Applications/Weather/Cloudy.pic b/Applications/Weather/Cloudy.pic index e2027cbb5dfe3eb53069ed0cf98694668621c50c..08a860a4cff87c8d5ed099997661947c208c0a00 100644 GIT binary patch literal 92 zcmW-W!3}^g48(GmG|3p<1qq24EAe24uExKMK+4Cm<#RiBPva{(#|^Au+6l=3 literal 118 zcmXwxu?>JQ3nDo#KH r9kdPixi?%@Ag)CI#4$wQDWbV5v;gw|d3B$%r=Ex@n_Kv510x5$r7IBD diff --git a/Applications/Weather/Icon.pic b/Applications/Weather/Icon.pic index fa30a947f007c4a884b22242a546ce0f37964779..f29b8737a79cf67841c70a6b10ba0d98bbde617f 100644 GIT binary patch literal 138 zcmXAhy$!-(3`G6T{(i>DE=WjJtVF>KS%Rz+=rcl^6et2i8tbfk@2;oIx%SYQW; zJ4kIAZps=;M*`&Y)epZ!I+9i k17mL@Ofh%pLvO=#-s5Y*3B>G1rk}6D3=YU?rtB1zJ^~*OPyhe` diff --git a/Applications/Weather/Snowy.pic b/Applications/Weather/Snowy.pic index a12a9afb8d526963832a0674add154198e108bd8..6059231bcf48e2035ff8770ebd6fc4bf7807ccb1 100644 GIT binary patch literal 81 zcmW-Xu?>Jg3|)WU*B- XO7Uau&lEh$=^AvVdhdO8cp%^d4UY#V literal 102 zcmW;Du?>JQ35JS<`u551^*UFh04@3kPsUKQ6Iw7DP3OO(Yq<=)M@@wzQYGM}r8sNL3EXc3M>p6UvwX$pPxKjpCXc8qV1MwK LPet%51O=84q*)d0 diff --git a/Applications/Weather/Sunny.pic b/Applications/Weather/Sunny.pic index 508008a0edf261c2bce1ae99bef85cd4442d4209..b1f0a6c24da24aa284f740d9c7e44f69427bded4 100644 GIT binary patch literal 102 zcmX}iu?>JQ3`9|%Z4!@>U67EdSc!reGGInXLxCbVDCpju{x+{m3fEh#)dPY7sODC8 hy2I&0i9*2)A%fx;FAb>qlyVF%`0Gyjr<1b3cmQBP4Hp0a literal 127 zcmXwwu?>JQ33My|y!3+$@2s9K3K_Z~LJN=LSkZ5cX?g>qTbfV%4 wm@8ouwslU}J3+40Si+KUy#X3qK+2Q(iPKG?fmIzX>*Yj|jJuN`9&X_uJ*eLljsO4v diff --git a/Applications/Weather/SunnyWithClouds.pic b/Applications/Weather/SunnyWithClouds.pic index fa30a947f007c4a884b22242a546ce0f37964779..f29b8737a79cf67841c70a6b10ba0d98bbde617f 100644 GIT binary patch literal 138 zcmXAhy$!-(3`G6T{(i>DE=WjJtVF>KS%Rz+=rcl^6et2i8tbfk@2;oIx%SYQW; zJ4kIAZLmUQ zGYlpW69W$vn4MnOaE4GXDL(oaD|R^A?0f7;l@;cYt5k|!n;*VKDzc5}}A3auA+ literal 244 zcmYL>I}QRd3`8@w^WhfT($H{%4N@d33RmfAxd{bD3ND7W--|2`E0Jd8(eu39^|L_D5|yUH=EPz?@!7Ff t0gDe+h&aS5+?##$Jq=ats^?IV;xs5L?xT6dc{J(E_Fu9s*Y+MgegQ*AEP4O{ diff --git a/MineOS/Icons/Application.pic b/MineOS/Icons/Application.pic old mode 100755 new mode 100644 index 9563c32f336331ec7099583e29402ab5ef660fe8..9d7cd339dbb2e7295b622570e07f9ead52d215ce GIT binary patch literal 114 zcmeZw_H<+8U}5^tz^K5;z{tSD$i&FO1jNih%mTy=46F)_*MU+jOib*FK$aFG3nR;; rX)Vl;89y;HvN18Uu(Gk+F?KUDL)m{As~DM}Y(1z3<^l+ViIoii7XA)T literal 156 zcmYMru?@md3Ps3{l$DM7MCMd8XN8>FVDOP|%~VFPNU;0S%uob=AV%js-d zbpTe!&Ojq61p_shw~#FqbwEdst6@J99s$+%pJL_Sarhs_F*UJv#pSu&4e#8(qJSm4 Q-Y}<+QKb2n{zT!Qzij*%)Bpeg diff --git a/MineOS/Icons/Archive.pic b/MineOS/Icons/Archive.pic index 6ef24be04c9ab1db6caca2571901ea3dd45b48a0..1c5e4d85d42adee625102e5c4e0f9aea72e07c23 100644 GIT binary patch literal 160 zcmXYqyA8rX5JY!o_daE~7bGMi0#|?tNod7^k?6tgaF@FgGoTAb?~SzDxt=cPT!V*k zg24igQb|--LfKz$7(0O6Koqn5#Ee6SybbaDka!G9`?`2n0lW!>Z-U-W>7ya7%zxxA Qz!_P__0j@X~2><{9 literal 286 zcmYLFF%H5o5Q{IDq|e|hEm9;VhMPJfMi#!p01|)TJG46=DZUic$>;OMwsPDbs&?8# z7L(88Suqa*VFYr;w2o3N?JAZb2!+^RqcM+4?C%)sv0j@_H_6?6#1Kr{v#SRmpZ cGbSVJ^%v~UC<{(Zg;T9~Wm?l~-t@`v4_fI8QUCw| literal 176 zcmYL?!3l*x3`8?Yj9Z2cXb&nZc=C`_&VrU~IsSD&vX@~Vk7V|B%bIis9_Jy07Geqj z0ZkeALi%C~<~O7S6f=w*WA)-;VA0O{F#d}Ci{q$2ahEf7oQ=A=R|cx%CVI!!$Q)B6 F`2l0z8LI#Q diff --git a/MineOS/Icons/Downloading.pic b/MineOS/Icons/Downloading.pic index 471cdf771968c7edcb2b7df8ccded28aa66165b7..c47992017d2c0823b7c79ced33e231fe9d9b7b04 100644 GIT binary patch literal 1204 zcmai!X;XtR5Qa$zA%wG4E3LJ*g;slb^z`Tfjx)~qN&o+!QL>Z{GSGZ^L-u`=-7J}W ze|&w?*u%dH>LLXxUNT^nXjEqgH!a(7y;}Y3{GxH`H(OWj>&{IVO9@pA&1s3 z`2Q-Pt%94YPUq-YDP!nRvyqGP6RXXWc`ZrRw)EVNlyIelCnc2RXVQ11IG6?D?cHLz z+pEVf(h{-Jcrv|zczl}87t7W9`Q`O(v)%1A9E7x<`uVs{f^e~9C5{0OFL6w8tP;lt z$0>1Ka5l+B#6;9&!iDVhgK#jcsyT|W)9Vk0qw#FMT5q;dtorFZJ7IRdC?-@mQLJ^u zSiK|V!kIj9M0f!d%Bs0->N#UR+LX+*pfl&0^6-Y9=Xm|q_EoBXiSs90&j{#KId E4?C2MU;qFB literal 1280 zcmai!*;2wV6o#9SrfIr@iUkqNsw^(7F1SFQVa6++@#?()gJ@!=QaUZY`ZM`Hl9Q8^ z&-aflS^FD=e!fw-MOvi!8iWYp649x_Om5kZ>-pu%(eX+3G^o|j8t2W65JFt6lnRw5 zNh#@V8hT3DucA&REVL?{uL; zm9a;N(do|SP+?ijRE%daOEEi(If}Vi%#$qA&!t-?{^s_}Iog3hyEWtUQHF%E+;5CpwGbND+$E`FJ=i8JDv=yUR2uQ5o?FhF8Mx z8Su{_HX0H_A%(NVuGiA@)yGT>%__AryxY1r?2S6ZT8OTtWH1?ymZ&H0eCmQY`oY!& OazPB=DuCILZX%qK@FfNS diff --git a/MineOS/Icons/Finger.pic b/MineOS/Icons/Finger.pic index c33107936357382e9f47d2f2a774ab856a45eba8..21d43984126627d0237108f02979b129b5a30b24 100644 GIT binary patch literal 418 zcmX|-M{Wc$5Cf+*K{<}nasRS_0iXQ;*Vt^$!Z(3nlSTc!zrU^-#P3Eg+Gq=uN$kgY zNu_hSYwKf*@<_%yA7WbC9-+ZwVuB5(!;!$1^Eevw%!Ca6xyZGRd0E8bAeY*vj40s_ zPAsiY6(C53gP6+Qx=sYURH%G}X(A$Vu^>3Zf^;QvMh5DbE--{PjLA@*DKEJ&&@yIN z>sD+?z=E{>FMoV7iO=|5V*}UKcDVfjyG3qp{gk{NvoB9DKi`5rsp&K}fn_K|0P!K? mGqe(5;-}HTF);LDCBSSd-5DNk9si3*qtfWOYmhu7mirI8ClxyY literal 455 zcmYk2Ic~);3`9+N(Ppi-{9WcMNq`TeN|B29KS(l^evwWhI5Us){rUA=?)Xmh`$KO} znm(pDaUoLkvToYgQjfD;kDIF+Gw1gZQy#-KV~8!6G8ScRUr0f?2k7uEE5XOUMCELl z`3>IClzO(ClSY&ziEVAy&Cy_@4Kyj&qg|XWL7@$j#{?<|Ux+$P_bHxKw-uiPXe7m5 zV5}41PL~3BH{EfNC4f=R>fSMf4>Oc8{VPM$i=H<%3SledNc7oo@Vwv{kB9aZpMmyZX9!#&7U{@X1x9(Zb-;7j!M^q&^|@Z`_CY9xu?=!1!j6-5 Jl}*g`OV*)`UbGJ_PnA8o%@K1l9gQ`ci(*w$uOSeY#O?#9JvP4Y^{=yek?SJ2N+^Lr Nnc--}k26V;*bf@y7mWY_ diff --git a/MineOS/Icons/Folder.pic b/MineOS/Icons/Folder.pic index a99c78c14b597304382f0c6cb10341e5183ae948..67da2648b4ed0432dcdb1c705cbbaa82b82ab2ee 100644 GIT binary patch literal 90 zcmeZw_H<+8U}0ilU{qlF$H>6Q$jr#Z{1?bz;s7#OSlQS)J_C6yaNZ9fj~UMU&%pF( U+DxF(KSoAI76l*!Xaran0N7FrI{*Lx literal 112 zcmYk!u?>JQ3`9|%ZNOu&N@|N S9K0>)0)*?jqj|gUit+=MH5=6c literal 240 zcmYL^F%H5o3`O%DH_b6RbBh+q5)(tF+=c@n!B7cKz{GV*_nrd@>@-pq>wh`_edl~U z2}d4*U&0`8lVg_&h?&TSx50=bqDyoTye5Zt2D9K>WtXtc7a&XTpjH)GVnO`W;ofmFQL2pWdeBD#$A{{nr1H5r?#V#c;AQ`V4K_!Pj%LxFF| zRY4e#XZq3?YEQmM-Hl24H!_e9-f90NrT5H<Ksht&~SUpS!qm;*0oVIC1XVUU=~>_Dw=htT*re3=6k# zu>Q*rS+byUdjGXl^5MVs1(qJM&fT*ey#hjHQHW(ktDE~Tiy3*aeT0vHf3WoKKYy@{ zEkwB5{ecf|$-&aa_Fb^Fr5v~h>zJbKE&B>1BrhSx{1JO!yqm!m3^un2VRo+y7%n#N z5u`D=wBb8sLai2?o0$B(*x8Jy#hM+c)#dg5mxLF`zI-1nWpQXfrZ^|DoCq1VqO2p!Jei;>Z|xMhlw9GpJ>QEH;0KE{HizkFE)rEzVra-csh zWg%PHE`vRZeEtdX#*I_*btZnUK6%JDh>?i*ShVM#N_{%O?m`3CLG-S>#@Rc?IofVlLOluzr>m}J64`QO(AH#9{y~k zFvI6QGnk*OC0vw!YX4A=ZD#OP_20@pC+C=prF2k`QeB9vWck0ihl*Ew{r_9@{jU$r zv$=WXhOhA+NE;mNxz*|JFqVq23~9CT;Ou`P?d5B>jc~D(X}Bd9Hy*C`G9+?x7GZt& zIXU5RxV{sIY(rPq9#10cQ>UJ+pdiHgrv(KY!TwvR6ykI*TgiftX#X3L$Om7}#s0Sk zEH9%7n-B{R{@qvELPqm)_q$Ybn3kYKx7=}dEIHWT$xf7owsCRsQI_ROQ%sI)^Xz|x z6*Bw&{p}%!BeU#T7Im%w%QooQbTn{q6rd5I9jZoivSO5Pw>wQcE@Zv<2*g_JKwR4ipMiWP(Z#$*hN8B7v%jX1@?hUIHa3??@E z4vnTR4QC!rWxDc+%6^h-yhn$aQK)HNO)xp0wmW_(+TnBScwfaXc)!Q+( zJKy1IE7UdWuQ0oadi@Yx4}K{lNX{?_Rr_cZVE8>IO*m52ooE~xv}{V+ zuF6(x0g@Qy&u}~sz3;;^wkp=@guX)2Ma84a$-nu~P^r4*$R4sjs!zDRKIuh*nuqfU z*%(DaK?Wg2CxgzIC4*y!2IJ4BW$V0&T{|dxiqj5IjBp&I`-7BoTcK&Q|8oH;zIP5y zj`@xD2wjDeLBU4L#YxPqLN&lV#Ekbk4`#_vw=(bI-kM$cikD=Feqdz22J)0Bu1^Nz zh)MXU_^k2K4bTl?IR;Z3!;Gr5h8~UP0cEQZCO)$A=6R~!=`K?4)3>L^JPK(r3^3-$ zja*eKH$5H~eo`nxH-o|(+15ezClXYZTOEVudxaBP0kuaCDnFHEDK|Bk5r%R{ZN;0& z$Mo-9PUvc_*C#4-H3~jrgK~@#zw5^4it1vc+Y8WA7;6mpNq02zhO%uNIft@cmy*1P ze2DChM}}0TT2oZ1YF)0>nnv*@`m0122Mj6SNkF?U1K1_I)NFNn10N@emWi}6k1)NF zITjAJ3^m)Ddczzu4loNbeOXvhqv@a)f^Tf2r_tHK;{SqUqjKG`P2HZOa{ZZW2J&us o82XeH0;bcPgj~By$0mTs^u+i8C*}#Fr zU^WQ}1QHSmB*s3>NJujSVi5v{<-(b6Tf*4$r*L8Ty{yhmuso;8h89$O=y6R; z5Xc96srf=CD<|f_YR~lxiHLaOD0jq3w)#i8Ct7bFrs`IvYDTO!+b7sMA|?k8ywtf_ zp!!6aB#jc)2enoLZ6BrT>^H@Aa7qX#c={kak{JBm)O;qx%gBd!7f+LTv`~s7FzdOe zD%r^4mEHyYmnBp`)oJ0H=>t_JD>AA2bap9L&1R}TRYI<(>JugEMyme)PAR%Y>3pZy zMwHq0!ic9~1nOTa?#(ed{C$~2ay=|FT?wL8J^w{v$2fS8kcU$mO3VCc7{a4mIbvrAH__5P_{c9eFE>-j+?tVVGysgE|AmoBewY;JAu z?C$ON4-SuxPp+KWs!`e>3apb?x|L|$WG}niufGJP)gJ4Ncjp%tmzGyn*It5|IUbML zUG;I=vmdLA_lov6`$x9xzNkKQUc7F3N_>7X7}xjW+SazMR%E#d)7C;ZJO2}NulfS= zi#S1qz`>B8xRgDzOSN*B)A|wyY?z2#wI%#y8TLkO5OS7f#ClPP_Zyqm_?Z#6BI2jk zi-!ra&EWs-NYa>7!`i6os${dBkxy&Mg_Qh<-zp2IN)7%wb19or z`%Edy{y7sOFD(y@AC@)Dpg#LUQKi8?RSH~QrAZ+eGgY2^x7;41_q$S$d3OGTaw|Rh zmlB3CIP6gsU!k)9nr*YT+NKE)u*tm2Z8AbHge%epKP|QqgW_w&&Lh;vcz)5KAzc*9 zxB~p51A{(J5e!>w>EPrF!%;kgjog@<0mx*G>F}t}Sg-i0^OXYE2RC6jUSP&BlD~&L zsq^K+9p5RZ-F7K+lIr_8mg9MWJaV*t{%X?p_X-aT{<#cQUk1sa3X}dGF8`=>8AHS@ zL$>0k=60d(^E4!kaa<1t zzSYkB0v|lIW_}qyU*TkN31h2l9fw^^sTo8jy| z>o}d>ET?Cvk9Vyxo$-ljZpeYT#QD#Wp5%LyGfLg8vA)CE80$Uu=&JW|sBxK(XZ#4X z$GUvo;;M=I9blJNfNjk!tgwHJ{lpZPQ*3U6vxDD3%uVPCUg36y_q@qJO0#913RBhUYHQ4@ z+KP1Sf`B-OSQvAV++vZYYbZP6QYa<>pyRhml0J3t~>dM+W7?&<{4Ly=>ciB4L zD0j+Vwx&{Fzyg#VIF}7kPQM!x&kQ)`ZrFY5*%8`ZOpBrGdFJ?zp=26IF3|1(Y3q1AU+knc5v}5Zrr+F4 zfGo+(xJMo&G5*A0<^g+UooI@xQLzjMiZ!ARw9jdyJHfx#3Q7)BCzeKvnr-HJk8z{O za!mdd+{V&853Li7c1etudN7>Atnd{JOSlr@k|vg*P8URS$v<-}q2A_jQmo$vW2_^U z{)qPz62;qK3VI?)*RSKi(lSai?x>r9wu*$}D&JBkDSN6{>LrqTq2wcoi?b2>4TOYX zN;MEyZV=+kBH4;bxI@p!J!_)L-YQfD%L04Onecc33`1DDHb{VL0OK6mO5ALX(`ZxE z)K$dKn{|UF`E^6(4&RMddv0M6%8U1u|F4cjNLDpEd@{x7 diff --git a/MineOS/Icons/Love.pic b/MineOS/Icons/Love.pic index 6429fea832eba257ca0d1a903ca0a38632ab3151..d3b6a5912a748efbca0c9ccb260d97069367a3d1 100644 GIT binary patch literal 984 zcmaJ=OLE&V3?)d4;$KqyjT76F5+{&^CdcXz)(9Q(_x3=iOb11oKL z=DbWslqt~&1XmCf1cobqzyASDTO7>85V4^tsFs5<;2ah2A8Ouq-%u5<=FXpzEmP-T zzzT2D0BwgOM1h907x(lO$}?BN;RRUax=_Zh*2h*{ExAjvcTd$8yin?9=CjkbC2Fx+ z>yR@M zpca3C;ni=9Kpi#g9Bf7`pk%t0l28*GLQCifJz*e>gcYF!Rzv&Y4dX;S3R!CB7t76d zf9QI#o&C!`T(+U>rAkcK7l-uzpSoSIY~n*)EW5s>YIAPtaNaEJtFtUqy;a1lwzK+D z!ug!?*La|@-wMYoQ#JV))Uv+&K!u;cjFxHP4L=;MI?kKQp9e4SR}BLFC~y-ifeTq< F&Oa+4OB(OK#gR5EUts;zy#S_#@|IS$1Mu_7%E{3Iyn?1qu|H>-0XoPxoE*6zz;?Im{wi zNb`B)(VNGizkdGmBF^jHg1XOdIR+!k1NjGn+4#&Fc2< z{$bs2b`y6TE1|I*j+Om^%w8%$)bGsP0hdz2jS3Z!8XbsCs>Kot9bwp5m@%#Glm_9(jLD}= zgC{bkoWG`4w;)PN4vGB%QU^g&vqPPP#Tn124n8@`R*-C?N~j&LNUEBo5`Tf&28Bn- zfoXhPgYB?^qSHji!RTO2Fg6$$Odd=T%(w+ejG`f_9CYl%9YLPpag8$V^4Yvuty@g2 z(vX;TYT77-lpqM5R+97HDPVzBR8aWYoH}N&)%2OmhSJxqj_OMDrmow9wi67wi$T!& z74b!kG%L{liq+*?jJEo|`aqN+F~2})xxXy4NZ5=(1-1QS9;ek zF_1`(=oPY%hf-Qy8JPt|&*TaIKAhU~wk|tSq)lDX1Wbis-lAuh@ugPRKS(hRmCp-DaD) z;{o^z`V2QZc7=eh5Y^-BVRQo)PUw;G9vzki;Ed1zNi4XV@`C*wgsFg|;A9X9UiKFR zPver{*qmOSeI}jbYgs5DD&B{fv~$u$r1q6XY3adW9dw?9slrj=Aau2=XjTPpO+nSg KLN#XHAfz8$7BgS~ diff --git a/MineOS/Icons/OK.pic b/MineOS/Icons/OK.pic index 669be9522dc6171c6f621ccee34a490f1c517432..da867b019f44cf88454dba01c74b5fa92ddd2388 100644 GIT binary patch literal 598 zcmah{*%E>v6h&kakflYMmr9%6{%|bH>QpyvcfMSE*lqq8&~yWJv*;)KWybBAd0tD_pudS$!=yji z16eszIw^q&R!pm;3bk?f-Kvi?3(G&b5&?Pb0TKHon*hpVOvOGd9M+d`QmSPF=5I#8 z#(7JCg2<+pBI^i3Rw~BhDFly8DH~Kd{)}7ME^a2q_+9v%`z8oBmm;TAJtT28QOLGM GLv21#q9)(~ literal 637 zcmZ{i%@Tqj6oo}W1qA6&E3H`cBGrsDty;9Y@BbhrPzqY>@BW>8&f|9PuvQm@UQeVu z6kQ_~fkr4!FiEqVGF}K-s>O1(-cL#60 z@31=S>3FzDs@(QDMZT5|{R|W`&{(lyQ7FFV17IQ96(ix3m+gheiV19`55@G|$1=cj z=7&~c!Q8Um2DFLIrn$n9wj_z>x!x8o7 zY5{}AsIleJI>Kb6fSgDsOV9N?1Os=4gF2d5Rx{qEL{Y-ky^Nl=wggbNOV&R2#w+Ei5YpxWaBJg7N4Dyrw ziimg?5sajQ_{>oxm@7r-1aaVfCL&)D5N>AAh1Yi?O05*G-F$?FKaygt4C)i3&C;8^ z@^<-I-uSut!i%{pfg)iQl15`FS4U{rU$C@1>=Xy8Iu?VBec%JzM~3GEx7Zq5ZylOI zRc}Q%OlP&1kwkFtJf?uic7rQedrfvVBLbbi|}v-KA`y|ZV>1e-&S`Ls3ofR zY{!K0BK9o76ksc!AUSLUy0i4yIA#`53YrhNuvYy^zd~ZQamA~>ut@TW>*O1gl}lcm;4RoF{uv%|Pf6(5W{fXvDT<_ghIbGJX(5(| z02l%fW5=c$K621lAIzRz+>KFG-C)o=j7e7Yu(8-=3}0E7eAb>y%U8sajsa6aiLlQI zR5R^FVRmp9X2*pq!-P=>tSz8hT zWG8VVR(g;!wyh#nUS;4k{gIDk33V3|lUOWLPFy4I{bB{_FeOsm z($ZwnJd@{tM--`S4%(xS)NBLIn+n-dwJub(S3bs0G6wQJ)2z;v&}X&@x4$vy95w}Y RMrZk7K=sTfLcQFJ^e^tvTDSlJ literal 1940 zcmYk7yK>w%6owafkRU;F@4MO}Wh^&JAs1F7ZDuf&D#cm_MlP&Ija(!z;7O4-tsl@Y zl6*%i&7{~R2%O7*{`2GT_g{Z2_AuTl^Y6+1`2KfMe;j9OR+SoydOpsqEc>c-Ta9sk zTb0#CJsoFS4kiv(Mco`{hF9HGWp-6tbtvlg97Zos>ZhV-$61)wjZ)fJ=R<7T)Xf*m z)q1nt?Jo{>&~GPiJHg0~oT*;bJiMO29sA6NoUX?=Ph$QrB#<7f9wL~st$OVGlm7Aj zuc9B%z`!+}&!i|XMO{|iZgJ~2 zn9i$i@}lab`Rlj)s^Z}|^UpAqtJZ0P!*1MEV@4|wy!!W588a%y>#{{sM4Aae=)nh?_P=-LVF;-4}<>#HE22bx*=2 zPl7voqdya>rT&IBU@TR;T+G*(S8dW95TtOz{($egTAT75KAjh;1?UYgEh*o#hK`Kp zMgEc^l>U+>WVt=e)AV99VSQ89LEGfQS7goc_%F zx~O}W@S*2Le_{!J{cCS>C_1r4x4o!Y1TYo<09=->#ea*492v}s4Ky>5AkDGm26W;h z4I_r3oIat_2BRq5BTuv?oJH z#R$7F?O`)UoTb;IYBGBva)2SPN#Q%f(3gQU9hMdtEuKBNBh;t1IGIG0YzfR&&?a&@ zos-5%bEUX@=#uOHiL_0LG9g$t+y?1sN9Nv~&66k*ZnCHjR7v`+Kr94GBe;zL8_OjQ z20{A+HE9RtBwdgWhFHuOgeg#|p>tr({2K5MTq)tcr-nx2N!!VjV~JN3FKJM4Hz#b` zp_-9vAICkDZe)(A_qd{*7byazBPZc>J0Zmk#lgSC(|sd#qpOC5jK=G zc01wonWxAbbH6M8nQYQ0JPdSrIwT`U_X`GQvtWE!Jng_}Y9^%QWu}UrH2pJtiYz^J z++BkhECf3A3p5JabXdUhuC2*!I0cVWOtp`!^E3=I6>C-MNE#jAJ>FQN^yRMxLw71U~6 zRxP@~EEo)Io=RFV5BdRgfP&ff+kt=6CH}OCh9>6g_VwQxa87*34RlLC2Wo>gmGtT Kr7rPAV3}`_)(~j` literal 228 zcmYL@!41MN6hq_xf0K;CwJ-%BMdHNaOGw!URm{*WScyXy0Vi$6=~<3r|NHe;EZZ6S zbvqP4=?JdtsI6G;?-M&pMR@=Yo^k@f@N-5{_4 diff --git a/MineOS/Icons/SampleIcon.pic b/MineOS/Icons/SampleIcon.pic index e1aee29ba5caf4affebf90bd689d6d5b8af41187..06a0bcaa7b1d2103e69b3ea3f1f696f51d8b8bad 100644 GIT binary patch literal 161 zcmXYqyA6Oa3`BFb0OaM2u3xNOt diff --git a/MineOS/Icons/Security.pic b/MineOS/Icons/Security.pic index d1b4722ce7620575bd46a19de5a2d9c4e185f631..a46db99b1d82f8a67f4fe6c6caa5002b23acd55c 100644 GIT binary patch literal 820 zcmaizNtV+v5Qg<@D3t~e@sM=KcH&z!8&d#tz#ci=vphwDH|4xw4Gu}VWtU;Y02 z>C0!@d;Lpchl1*HgErQY=MYnF+HM%9`FweKy)Nr^yYG5_clr0qL==zmZnqk{v(WdQ z>erKm6jy$%flG=KEXJCw22S}%e5A?kvGb3#&G6WBc$U(hpJy?>E3v!2JI~EO<@f(- zPYDO9L?wg8>UDEi39HA#SOTt5zq}?~8Y5I%DtP+SH>e2oT6#5|VJ&;4E$q z8)5TU8Ee22aZQ3L>+_|--0ETMbbtB?6*PJyjI1vL6Go0~)fvHhI5wiX053}V0mTjz zVfL5(aP!z0TfiEzBwVxf(MTVyp61S$f1#IFegparEf)X) literal 950 zcmZWoNpc%83?#U(qtP<5Ey=ci;aqaaq{>w}<&YCTkw4@=c~8ERG&qtiR}NhQiD3iX zfWCkI_G-`L7oxvE==@4*R-@u4B5kbmA*Nhv8&;d`Zrb17KOByy$EW8rPx>bNp5tst z-pH3{)|Sp}9cetUzW?|DVj=MH62v5>I%&?m>QbSWe(;xqLtT#H+QFt>E@FCbYd^eQ z=5pKbVRe(J?W35d@k8=IwJ=ACIR)mF%4Cj^c6wxTCngVsBU1#@fpxxrU@CWP8a!h^ zhvyyAf7sf7Yg`+)CLiy|aCH!38segF-Ab*nk{n6@Q}=6#EHT zAR#UV&B;J0!kJt#vQOwtY}XcM8Rszk;4l9Qc0o!M)-l4x6!8Wqs8Hjq%rBfL4z*7P v!#=Zvyo2mBh9@QyE|f4Sq^s76nR bGMeIMN7F`8#^gIx3lGgimP5Vm;u~Rq#5fT+ diff --git a/MineOS/Icons/Tablet.pic b/MineOS/Icons/Tablet.pic index ef53dee0a994134001a7f770edc56585092f8d87..55c834b278b9027dce0c8b7c8104ec1a759ceafe 100644 GIT binary patch literal 158 zcmXYrF$w}v3`GAV+3Y`tN7&!l3xbtbkiCYDg%_}ih=Nz~Ea~jLfaomzW_a^pLiU^8 z)~m^{SjG(n7XUTmL7ZSf#W<6vf7&@AChOB`M?bH%^#MX8NmPm literal 296 zcmYL^I}XAy5JWxp`g079kaVx`W zXm^_}Q=%2<+hH7TjAm_MGAOCOGWw$N*N>{9|M%*LWEf>9Mk_l_4rCqq5WBcwECsb0 z&M}^4w4U8j#(joO6N>US;sWDSkn^QdT|!@z(Xo9`hIuD-VH_^C$<`)fXp{8YP?Lqu TapIlhg5Gdu9Au%-0p*4tSphcI diff --git a/MineOS/Icons/Text.pic b/MineOS/Icons/Text.pic index 493c305252cc0ed1b964843b6baaeb4e0de57d48..21fc3490e9aadb75ef233f2a40e35f12e4bc8697 100644 GIT binary patch literal 112 zcmXZRu?>JQ3`9}i*>N&P7GMe_Br2M$zy=g-$|`ih5-z^(Nq4OK=FK<-9Re{Bjgdwc eiFn5omyz}Q1s@4L6Lu%cf)`WaR4ZPYtGOSgRSRYS literal 176 zcmYL?u?@p83dM^S8a`*kd=`{{9o1PMT1ks>m zGc@H|7WW5`cNA(_k>EaRur8)Q!EWJYOKSPF2lvAXn=^e!s^#0Hia6@cj~ROa7snzO Ah5!Hn literal 193 zcmYL@y$u2}42At{lVl85xkIuk@(>5QSMl#0yATW_FQxai*Dm^)S6s?^#f>GSlEM);+T4e9L{lU4=FDMZf|9 zVqgHucqVdLlvTa!_rqa4p3axaQWKQWVbXWJ#<9vupt>=ewwtVo>Rf!g@^==$v((N; zeYLH#t2EH%d$M&jL%Eu9v+<4^9h<*gCdoh?rs#n1d<-xiQ+a0uEmkzSqLnSq#92=u z6lCC|=Hs@|4zts`W1gf)K&bn<_Lxs|)A`pB{EaAS2M KWz`}T?)D7?8Yo`? literal 663 zcmaJ;%W{J-473dxW3X|cbzS=6S4w6w(^C&Q={xdE{m<4aweT=$Zjx5g?nk5f6j zch0}hd_HluFvlQpE{d{}wQ6+R-TQ~|I6XbTyuQugM1rWK3M~Dis-#d?T-e?nhA~cQ znI*Db>mXGMn!mv6$Y<8%F7kqHx!4N0smnHLgLLk&a$DkdJ%*^CL(r zFGrZ_ywRYF&HdEe0@V$0&;-)Dg^4dvJo$~cMQtfX;@EKnUv0n0^?;YxfjD)6P^ACm s3-KNh=(T%jVMPb7-^+kt|6QhBS`vp1c$0MwBb^U?cU>$DEdg}u9}1&3`Tzg` diff --git a/MineOS/OS.lua b/MineOS/OS.lua index d3cf9464..03283e34 100755 --- a/MineOS/OS.lua +++ b/MineOS/OS.lua @@ -431,7 +431,7 @@ end local function createWorkspace() workspace = GUI.fullScreenWindow() workspace.background = workspace:addPanel(1, 1, workspace.width, workspace.height, _G.OSSettings.backgroundColor or colors.background) - workspace.wallpaper = workspace:addImage(1, 1, {width = workspace.width, height = workspace.height}) + workspace.wallpaper = workspace:addImage(1, 1, {workspace.width, workspace.height}) workspace.desktopCounters = workspace:addContainer(1, 1, 1, 1) diff --git a/MineOS/Wallpapers/Afterlife.pic b/MineOS/Wallpapers/Afterlife.pic deleted file mode 100644 index 6cd2541faae76fcebd289bb5d6ca5f7889b20f2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21039 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 diff --git a/MineOS/Wallpapers/AhsokaTanoHiRes.pic b/MineOS/Wallpapers/AhsokaTanoHiRes.pic index a8867e175e9c2721baf7be7f36b289858fce2fe6..bc4ba77f383708530074f44ddb164996d8591e3b 100644 GIT binary patch literal 15527 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 literal 19790 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 TSSPpmw>~18ZeejCGynep>4}AR diff --git a/MineOS/Wallpapers/Blueberry.pic b/MineOS/Wallpapers/Blueberry.pic deleted file mode 100644 index fa2859ae427f69a24bf067b8d63fd26643f39b18..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18265 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 literal 21488 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 PD1uUW)prwU&CmZgHg1lu diff --git a/MineOS/Wallpapers/ChristmasTree.pic b/MineOS/Wallpapers/ChristmasTree.pic index f064950788180e16dcaa77d45b6a2f77d3ba1f3c..62efb20fb1db23c1905e083b9c7464ddf46d2599 100644 GIT binary patch delta 5648 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 delta 6465 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 diff --git a/MineOS/Wallpapers/Ciri.pic b/MineOS/Wallpapers/Ciri.pic index ed6837aa785a299b1706f2d85c7f33c8f3244926..55b845655e10e41252f23e9dacb5df615ab0da03 100644 GIT binary patch literal 12309 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 diff --git a/MineOS/Wallpapers/Dayeneris.pic b/MineOS/Wallpapers/Dayeneris.pic deleted file mode 100644 index cedde46132770bc2c2eb9652a94a971fcb16f881..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19807 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 WaeGrCL{{-Xb?MXO51GK&7XDvX>QChW diff --git a/MineOS/Wallpapers/Girl.pic b/MineOS/Wallpapers/Girl.pic index 91735d2d2bd8933b5fe711946c87797771694817..334b9a2d2c2fce7fedc53e8422dcfbb495324a21 100644 GIT binary patch literal 14137 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æ`rZDnOE2JGxWEoK^G#;^^Sv!-Fm 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 PmB9n;h{cH4{kT`~HGA z_Qu|LXZwfP3wvYxRQC)Cf}q5w#Q@#aRn-;lJ@?#GeZGHWNIWd}ahzg;3k?+&6@~8` zQu+HT{R4wLWC}Q(USF?tH$AhnN5-Jt)!B8bTPj+)OokA<>yd7^u8}Ql?La|KFPcx! ztX|rF0san4TS3ipV2_4JbH z?pxovOkDmUah?ikv#eXZ^}$n8dn^5DvARZ@v?qeTH}}3JrH`%5A{mo@c`)M>Q+v;T zswe`_NHC3_Jx5&KKJn(6J>o5?Jrb{Gs+hEl7f4LuVur-b*vu?d z6sl&lyh2=VkGRBj^t3~KF};k%S*a+5{~#`ECqC|Qf8ts@prxoF%2EwXI`qleF5F*0$4Y>z6in$gFE> zZfUKsJsdlOqK!?m>dTENZ12FP!&u}(yP?ENTRTpjVTBV?=@uD{MU*#pc2)1SrhKWr zqf6>XsLQoq!ltxg0W94;*p%*`apG*f#MviEsPC&_ksbX5csGXYT)#w|YmGSfW<_E9 zH{ykh<75!oR$yoo%p^&tg#Ame$3_`c@P{#JG)v1XWK}a8KP?S;0tKsU*m9?)ot4UK zgHcbi2N>KI1-0#xufU_K_RVI+_HC9}r44fF+GkU`$)9Hn$M7EtMm_^Bhe0T9VV{yA#vsRDhmGs zdHhrR2h5{y-2BTs@4ol`2Ooa)@h7)#-}&?|JX9N~mb2?1$6K$V7OssUju%9wO0CiA z^p-=ihL7AEjHWuXpf2OG_X|cA? z%zZ*TeTw@VY{B>S=6q?qpwmWlRkr=)FyHCiICSzkqA{CCoe zESA8bB#5*rS*Vi1=j=J=dvo(^?!fOKK#)m?r?@~INAHeSuYZA8#oWI`>3MO{1*^7L|g_jB3ADNpu1qy z%#evM-2IHWl%M$QCE$|lze%aX_yMz8{fm*2!Ep9mbuLlyV*h`v)YZ znMaa31GfxEHn&L3h9l7pOz9I6l5j#2QXa35gd&imqKJP&N}iF8Nm2_E^wAutM1X%= zJK#ylAfE&k(42U6u|&M4P$W)U!0P1(uzLLn*Tx>=O+a$KZgd>LJ~$0L8{Y@8?_J&p zoTW3QxEtFbF3^c?FC=arK z`+KaBt)htBB9Vt3A>If*y|cuN9i0e`t!>1snwl|FOqbJ?Fi}iapCjIo1v@ci#?D|S zb(!uF63yuW%ucWjoVkpd4o%Ksrm1Xc3>%goJ9i$mqPPWG(T;t}6gI&sa#%ArMlN{r zZ2aC>u295ll)h-J+}MKoh1dn=7e(YGE{FvWVIF*#O(ufz7D;xP9mDqsQ<(^qjEo{&omni}-#BKw7Y-uG<4S&#-ci@-10H8uYoHGyn$$~ykA(cQ? z%SBMd9MCX_4)36s{%PXGZa8-*NT;d|8Hc(Bz73z!0xxtx7EWJ41YrHZ(d`!}fnEiK z05^zd@nhnxgJTs%0$uAXsMd#Sy;yrWT#?3{8a~ZSP+d3lhPI*8C?LB z*?oZ1`U@AQR@Z>R4i1Rd-XY~fE}$*eU+0d=S=j2@E?GP=Dfwa{ZDW&p;6CZR(N?LD z-PHLSk}0V^7JGgHd6mTDy7Won~9~W^DQ@4hrt-h((?N5mt@H%YY&m)u;Q=Cn#&ippTs?sLR?9`R1BDD?k;AY!j4A%e&NfB)%c;*-vA0Tm!ILJ+hZ zfm3?afahG|2e6&5iOW8$D6%Osa@f9jqH2kN1|D}ww*RCT@Tg{`q!qC%ay3#Z5iXd4 zYg7mnatKkY5g%A|AdLn=!Ovm`>9j0B_@yvHI-L|QF0*(+dc7Pf*v%o?3@k@MgkV7? z$Smu|%|i+qkgwC)+vkc=` zuGUhp-v{$UidlGJn&oPL0Qw>8AH)Sr%0_d4(2LgoB0mD+tV0xNBhCkE<8PZGE`XaL zpfuD9YSD@y(BNXxz)i{+5--mt8RE5c(RXPB`D3DXt2g*BK^aKaQY*Ip%`M>G&eYK& z6XT9+>l;{5ilkq8QfF?KVhEi7dTqV$Q#Ny~l0{;laK6{_Tx<&EvM&dO^rKdpfxrsO zd0)+p?@=~)y!&*sj50EAth~~Ml6k(CEz9PWVbCQ(?#S{{JGw*V!Yd;&TkOrXP}o;F zCLdG>_L$1WSG%`onqT0@%bcg0Da@0hf$3;}ffhK*X0h9SmY2x*;(-oA4eSSkn>`~~SI4~NILofIwJVjb`cTxfN+cSjs-jV9 zDwtS1p-yUTPL7PS%oz+MK6H8#3}j@6kjHYfP}HW8b3wpj8{}A(7zOl1Cw^|=fCt*E z7e8Ms3I0?Em`WfNNv1OGqz(dYlbQBK(uO454JVQrGKM9r4PYplmNv-K5umou9}JD9PAG>ee+9qAn z76`Km=bE4*rtIMcc9YFDbhes1iXe(&ho)v}m+A@}E5h)xIjodSMOmcsOZg@%D9HuBfV8nq zq%S+=`4`Gf2Ni{Gh4>uH)e9+5YDl#4>xixnplKROadw;d1UMF#+DA}*hFF{-A!oe< z-JoDYqB=f-1~%B>SH!0uK0<@fNXQGePv9fpAVJo z-LH7ZQ#1j%mjx1Hpzvt+Jzn-b8bx<1iej2{oMdo0P@8pFr)-Ck+^7+-sO)})l%iy3 zq*Q|V#Nx0{i7#!DQq9u72B^c5kU&bU{9mnO`5$|t*R%L7-$co1kk?ac9@{6gv6|FX zE1++WsT#@UnlBs2;@7CIu8LM}uMb1Pp6bj9Nb$tP!L@g9Q=Nqqm5lqvhNoseynW{o zX3o#vf|<`Bf@ME>O1uNgF6Tn3;BN0gmJQS<-pek1?H$n7{jKe@1l2yAZY52SjVhIH zTOxG`Mi9a!slrZI5Lcv$IK6>Xx^?FY=^JqV;t#aIHreS*)CF@7q*^3yen5s8dzi#M z*fN-U+>5*BmZ@m~rzK$v1aSjJ3mCP&v3cWHSa&c4jbUwLa~m+2iePZ?%d{gJ1H)e> zO(xOAfPL*Dsj^L746;d|^Q4+;Y8ZL*c5gb{^nxD01oO#7(D?$NuGXEUg{z;CzQ_yp z*(OOq`+`&@p+3l<$WV5;Ld@zLn{VE_Ur`wDW8HYH8=zk6k;n~OX`H#RYqr%!pHzzd zaAD6QWcAAw=%rK(`e+FpFSJoz@K}gMrh0|AdMlWTj+7xOK2;Rzc@i6d<&dxf_{ElB z1!zc5W2w{(~@avlde9+qvQuIL5QFG7z2;*W2V+AkqLY)S~A zd$8phxREv_9S6|b{uL5)Ql#YzpMH+<)jPnip%RKoAF^D8A8(ii+3g+V;n3h>P^(GI zGiCanT zVL_8)6UcT)kx1JyJSWtvKmd@%xVl)7q#!N=VJdwUswc{XJX44Gu%nrjWl1a|vBWeZ zAkdYoBo-O>#}xjVIAMweb=$}oM$v){Svvrv7j%t72(kJ>iCS#!k;c&0-ao+ZNNsFw z!%@iDZPJ<=K^af=jiZINE|2*&gNya_P1Bs@gJd=53$5+leb{Z7LNy05TiPnPXILj? ztJ^!EA`mkMke9cBZ4E=D!@m*I)~C|U<3?u|$lypM;aG#CV^cF&Oslh&ATpZ)OIch3 zsc=a-qhtdxGdJ7eNr=dvg(YAODyV!HrFVjC!&>+d&ilC1Eg*FW=W;j?EPg_KYJ38c z@!vt47#M`|*aIS>>>^Ip4ru~`SksKdMPA!DjE!Og*BARhmQ;oULK_xWZS0e2BB@NW zW#AAAL*0cWnQ3h4BCRDY`*uq^X|35pQ(JrI1OQ26E6Tk045{sfawD@Mkb@>>Jn%-S zp3XS_xDa?bH-6=Ja0vOo;4QL?VQ>(mT~hWZS{W^ZiZTFR$JU^taQr{a2j^9S*xLs& zT6qc+>Oh-O)Ea@-0=-37CZ)bKFf_ak9R&tp%nyu_(v)lMt?ZDpE{l;sKR0J{u-+zY zGpQ_@Y*R<)DQsS@v7-wPo^OPZ3`_-G%s~2eH1(VT-*GlEZKVWO=G-KWzX8+l>4lo1 z4EW=?BxNv)e>;GBpqk_jERx`YR1v8Ja%@ASA)7Bjt%^oqWf1(!5Y=pm;|VCQNocXD zMkL1$XuY{u68e@CnUm{OH0_zJb=6qhL19h zi0fEPsj0^=E5*p?t{!>H8PKsR{c%ZNVp(2CH8VTlDmiBI(6`P9XCRkMYLs$??^38BTODke6+|bqo*FzFk54&&-Awc5m z5QQ^KX8-XMRI&&54_-f7rBLvd!{!r|5sHUyzM6NRPzf9VoKoRe((N}ZC$OqSN8OFxz;W7L|zi>oO#vJN4|Ly2XQng<1l;z;&Wl%RR<_5AOCZ(=b6mA7^97hxU zAE8g}FzanBz4l4NIpOzvt)6$Cyk94L-$29S?{)Y#rdj>mf(Dgu?&)vor=og8KihA= zP}HeDp_7`v`Uk4$b869WM^(GGU(K}kZy2LTCkeRF>UTZ@&?$&`QfI~Q^mTNmGZ|NiS=z>u%p#!h|MA>ivz z4`KU^)jUVSA)g*P@JU^!_W4XjVFv;6!{Nd>rH@>MQU;Q*Y{0njpR=9@w|Gv<#KiQ> zHGI34wAarv#a@#_Slonv{D{#bF76+Ek4~ASj~wA!(q|>zge3$>hV(gP&A|{$8Ib5W z^0I~?#m*!n&rGFy^pu>1nzq0spqE_!0ojYSP|0MB8p$U|N!A`@Z9_WJVQlp-)t6c5 zWW4}mq))I|S^&Al$J9hVy10k4LYxB@KLkYr0LDx=p@9FT>GszH)~=cG)$KFqY41wuMwzeh7`p zMqw-W2h`}3iX!zR@jUx9QmBB7GL8=ZsR6OpmIgr&bb~m#HRLKgmq|3T9V4|VJ97R4 zyVBI1V!6izqqgQ#m3~rN%3b|T^(Cb>1KQq9I$OEvw48_SlF80iyjW^lTwcen?vcJe zfuMko4yRYpN1Y?ils6xFW>j;zPW3PwgJwvibGg6tBhq&m>V63t0m1)GKuzK|cO zLPK-&i}=D%8)nKjzSdjb?1nQ0s(XM^JiK;gtakZGpq-GTMs Lf9WExxhqKRnF1pvMwPqM|g#QS0R&7|e+A^PxmTLOgmZ`F(-Jc%Q zzEGOuyyg0W+rKJJJHz!)r44UQj~QPmT|0S7Y0=}#oV;-H(q-OlQ`+Peu0Ja+c#`Xs z(kDN@%FQD>pSD~tbL&*vM0k44{7^Z1iDW9BQN}nIWyBieO{GsHk~C^5V-1RSSEZTvl*e`V zvwNT4|KiIBU#Y13*6mO4JpcUgt4EK&{Z2W2^8Rb3`4=g7=mR3Q<@jGNIp=S z?@Q$PgL3G?;D;>lveMmf!cnq0jck5`vC}N~Pvs56g*-D-z&Xx>$cK6Up-Q~<35DN zr<9REXN2Cza;8sI<&SG)HuiQ@sC0 zxogKyoj!B+-1!T1{~cm@ojIhm+(FC#J1tPK1}$ae5+i38!IR~T_`A}>=gu?yUZoZ3 zQ<$T))Nwkrl%`*r9`i6|;DR#pbEXdRc1mgCvr5k%qG^*Ri4BYcmBI7qJG}La0)C>j z`aOpDfT5TZcDlN-N|aLR={0MW(QJ1n7!8}q&!yod8p<-;O4l!oMShPUm|Xjj8P-_Z z8{EFlqrH}I3K=d`hQ46o%gXQ|VmO*iDLv8{r;$_Xg=0{!kExKhY4et?+qUm`RlWB5 z8#~{8OSxOm)smLb*4vMQL4v=dv}_b|!b%U-(fh$Z*jfiGY78DvFx$NOFQG>RrTb6> z%`?dWbka6(-G-R9bKRq~N_u+C4Trov#`st{Ts=`;_{b!=5KLzhbA+Pz2ax!oGAfyD z4mu9dy#+pP++{f)bB{t#3U*y)82D;@2yHy`tX9V4$y2B4`wQAw7XZ>G4$|-gr4KG# zv=SdqkGaN_vo^C%<*3^?%G-UuaF18HOV2+jGcUKwEZ7(C@c9dmmoa};Mh1~FBFfj# zD!rTGUkN+Z@(++8hKxmuJ)^5%)8S7Q%834ft)c^BB|HUphZjYZD4n^C#k7>G{tWt* zQ33&#Ge3ictP8p4zXCCfC3?W&e1Iz)F4lN?1m&keLneF7uxHP4gAETw=d~Yb{g5j< zl=u0$LBh_JTz^48eXa;552QptL`S~-2H;~ojxbo#A1I@0OQHrWnu{=BU! zr3H+(Qt1Y8X_!;;zXo9A-tZ=Rumw*`@-fivuo~{PDprw;L}LtuNNOc3f(-PF*vmWb zGSBXJ`SddaI03>PV^!dr36n4J~54iq?;f`|sovT0z(^MHy^rO8GLl<>u?&XR$w=p;a zA0I!A>b?(U&|&<@6>6Qwd42@Cz@*A<26@lY?$V8UMprEJ5pU?}ya>XI*)nZWrf01# znf5oV|CHr_!tJlhjEN!4JPj`9iftBWj0|AKQ)F7;Ab^tVV1$@6ya>a5GbTm^y&ow@ zzfwi}@Zc9NDzhpdu*g5);WaSxjB=Jle*qa?T%#*ve;CbDdUEz0+RKwjC*_d&Z!Y+w;t{Rv-!BF2~rJ zveKQ)dEiFFvUT*C2uJJYnF33wmL397Vwa9WofrsnG_SI}Bg!aCD5O=tu{;;yIXoTN z>i8r2eH;lV(MN$+L$0V&`Ax21O&Kp^AoV(ETHUuF_KVt}kfZmwZlS?W#z&Ejqujq^ z`M>8QZq*3`n@9zplXU(aLZ1ajcHpDRu7Cdmw0IT~u}l;q+Z2re=7nQsqikPFHvH&$ z)@lw!1C+BT7g>9=ByFH?8Y0j-C$tg1>iXB;z!2ErfH5uZC%z*%K@YS$5Pu4|0-#~* zxYBcsqZJ=9}5o#hd)f-UASa~*oWdK31?e2 z79h+a;ew791i93(^w0r|49cAcQlMF~mCk<4D`Vb=3%gN2lr;Y{XmX`<%AF5C477LK|X(lU0Cownv7u{0y7s7@h;{Awq2*s zFb-4bTljGBEQ1Lr@XG%E2Q2MBxW_*>&RWiCZV8{-A+jCK4@gF!XG|5$|F7mM=lINf zF5n=3(;KE7@}QUTtL?)DvTAOk#1h2gw1JywHN8WFMHp9M@^0Rb+PX3#=+9zKHn#lg5GZ1)`_>?P6-gQU^?X50yg z9Va+QzO$P^HuV#x40 zjMkfP?NUZ(>6%R{*j=@H&9io5D_D70xkmjtQ>#{QfM1QBZ{fQZPb+hR;Wi=E*|xH3 zUYa(A9WC1VwbHFvECrOQ#eH}5t#4>tI6pFw-oeAa!+|qHzB{eC>;+9D&Vz8`iSefpb zY{QttvKJ!g+1%*x!;s;~O#w#TJ(^|t32$t;i*faXvNm&JP+x4{Ii|dwzne0Vu>C=~ z%FiAucjftO<*Gh^=<7d!NJtM&*n36F8_HR=%Nzk^^f7;CggyEv*B}jVR0IAe5RXZ0 zU-=&GA*j$Zgb_v+pN>z&%}m%nl6U0PdX+>-FG+(uj*m!Q{w3{96kGxEv^KMcnoa4%lx^iSBx>&UX@Qr~5TpLoGEq8V$xs|2+B7`C)yHB^a>cg~_ggWv z0Uwz)Z2bSn(!j2_UpR6d{soa&A83=#FJG~8i*i)0)oZrzfY@-w9UBODEdqV9xqGe8v%^H^0qY0t!q44*?Z` zM|YBMlD(c#j=Wri)tHWh_(w++4w?nl@(j$%Q_t{`$yEgjwH%6R3@L+6?4poo`!L;2 zBIGh>Tq68$Y=m3HK;v&JM`X`l5@iPZS(!d5a#<#tU?A0AjF5-FAy8)c`5fgle?x*7 z2|*?V;+TFIwHzpfq!wN>;~)u>S&+yZ%|)xdl0_#^vVJ0x;Aj?|;8YT(NZGXf5O15s1A5O$`2{>RE^!sH3%mZp^`zzckz0m#TxJSJ5+bAW`gaua zw3N1f0;Try5{c@Pc=BGf2P|_ioFwB}f~(xS41dZp{>H06Sfj+j^z6&bgst6!R`@U6 zGPx-VOrlcSi;kAj6)ALjnbyzHWmz$lmEesI-!z`3VFzV2XYS5jDdEyc9x$)x3=-YD zj~*oOIZ1bT{xhAzfc ziRRrAf#1*Xvprx&WqoX6%$`f+zIf&7Tgr@6#al&wN9ex*A_?ecN|(x=k}zuiVj>YU zJ!{@c3a^-Yw`y)*I z1Y^g&}=EFQ*pW$N$w3|W}CC-Y)c#)|yJqoYudu1N0Hp2@wms#H^eo6ZbQYdNgj zfepr117+A-o~lZPI-k}n(vVPZ^v$>2V2uSqEDXiBjO!1)cq|285N0I8H8ASR!9z?~ z!sV416dmduRNhg!V(*k8T7nQMlxUSB%F%va5Fy5y03W58UL~3_QIf)5N?3O2zz_si zZ5xGIZ|}UN-=QsOal|gh-eImAmS>D-puJ;adMrJrI@$|W{-5F(qLp{32kbqdYWhF! zcm2y&1o4JlH-MytlmsQ6T(pgF?lomZBz4lGUb3F?Yow-#*z zWuVkZP;-aLA^>#R4~R*Hi%6su3R_XBV@VbA-)jahVVXny5uuX_k;ZbO8Zf{K1~@3d zO%~Xbl7gK+$mNwWl!C4v?e_3_V%lKe;MQ%1AslzECzQ_gF_LzbXy7|# zxa=L42$}~-O7Mooe@*xt#66Axn^HIiN`|c3 zxB!k}+S)i`ZUK2Zx==xzhq789^Ray(QFHM)&tQ$@vh^*<(bWskmG-HG9FQUy?s8UU3W|l7*BKq6Pov?QwWzD_`a_r|rDPMBw z`e$2{xJ1LpEGnFmGS>ME&-W~OqR(2W zQ0QOUsz~5po`gxKs`y>!1C$<<^AbM#fX0W=>GHp{V5XYl2+V(J=_l97pxDFmh6Em0 zt|EB33gFM4vt-!{3xDH`NZ2v8iU@Tm=Wy_BvfpYXx{J?)??_QkVc>eY4aYK~%&6on z30iWp(^}?eNAu1V-$!^o>ykKY;U0Td8JiOD{qZH z&$Nql>)2;t`th^p>?FX|J|v@j`B1qg#DR$ldxvuOxg8^;oqtdT#a&7?ZV-=#h&0U_ z4za_jn_1#imVyI>c+C^oMSKCrbP}vxHjN)*PrNab^X9K&2j`>1Y~>T2`9J*{u}TJ# zor7qXpj}cH23|Vnz&W{B&bk2pNy%|gnpP9=Y@t^_P#>`)Iw8}1c1IWw(#n6$$rhQ* zF5Q%Gqr3LmATwxRv<{{l`dAqwGHXEp6zHMV?gQ{AAg3w225l;BExDV zN;&_eRF3~K{bHudlYg=0uM9)b!&#U)0ssP%)JcHZyak33XmtoEIryNpSVl(@Ju#Pu ze7?Z!BvVp03`kK(xqY&+WuI|yWbN|-Rsf)nlL#2_+;G5Z;uADY^9{+&;FB@}_WvN^ z4~wJL9hMUk;$G58NKYzP{#n5Z)0GXU=s14)B65-4)oOPz#CkK;&oL_J|6pAh z?UeFqa;D(LD5)YNfU_NlHrG%$`4C`##tr3uv17<`iA4z8aD^zuQ#Lg0Lk#^SipRno z^_jw{JIR47o0qJO7LW$lQ$kvarEqF2ZlkAOm+jkB6O5iU+j8Tg#LthOmEGV%IS;j* zS{d2r-^wzXnUOij*CaVI3@T!_y!EmSHOgQgldwd>jd&fyoKZcy-be;eE|r;MOu0wT z8Nx?ALAhduVYoQsW{lo`SP{XqQa5SZrRquYd=X8VVxC$0_rZ?6)!@vixa;4&S8?~h zeH`(~*3gT1SK>|;@&5N`0pCBhQV~Dl$Ui-ziW^A5noy94E&lgYNV}9TM3`&W1YaYX z)x#8g9TDMjh*)bErJI=V9q^B$qLv|+%?qI{ShmA@J79yvi?4HtX39?Yc-rDghnTo4 zF0kJl3`ehlbczjmNg(tl|J-dm$ltDBR{^`kCK3PKdF;5sXM&5t=IOD1OSyIX#DGLt zF4ML?*LFon@YKIHjofUJMv<%>nH-UdqoyeBGea< zR*tgWS-C2bBfY%nRVpuV-cy^|#F#aEC!8P6nzzVWxtb07mFp3cr-?(e?U(Sb1q`*9 z2?>?H&TET}K@EnKvCn(D7_=npKF z0U_~q6`Qo9jb|s1td&AIau|tEk?23bj;UWZ)&?XAK}k9KsMQ1;2aZxukcr?FhZL2a zgc`fu-s8Z_BBUiIqPy)VejCLxVqGvxZ_4qW4t6JnfKHq%fvOkSCz>{!NGU@*c9QB; zE45B^daOcGQ9FE@vq-YN=;WW_t~cIOrl;O`moq=!-Tc>l@8U1kZ+MSDF+i@a2T6DI zu>6ZiARmPktOOM1plwoWsZjy}vPL6^F!3?A3$=4Ny?~s|QecJkI(f#Dr5iS~4x>r~ zHgA_w)X`g_o}Cq2l)pcN%p!jpIV)6uq@A-CwBRCz?Z&bdq`8x9YC0w?JMr`kr&q19 z!9i?;z`V{HU3h~Ihqv@P)mv=@SxsnE#vsH7pVntTu?ESO?+1AEE2mkWN3T35B()48R&WAm<|@>m39tBowcn0o@5*2(BM- z(($8X$L$&$NgU_P(14rR@dLy_!N3&h!+G*iJ7k9+UlUQ-w0Le14H4H3iQe_P zq#M+TjMm{J#07X4eNy%cQ7mI`@ur0GDMy}k3@ zmIeRk;Z@6VpUe1+=NIjviNf(FYj6*Vi`I5RU|zNvg(qg zX#WY*w$to4mhmc?$xQ^tP?Pvz{|R8^eJH{ImDsA$$Xdb@hg~27;9W+ZVLd}C-S)In z1_MyTEKsKPvxpBK$Lq{kzlnq@4VFoM znIvG+KPS}rj48j@JPjIMBf;12HMyDhOb($B+cuQv( zz{FU*Tpdv5y9#xmTH)Vd^RKL!07o{Idgzg)UH+BG^a&|7*?LW64-N-b5mv#&5nI#I z=@r=KVP1A&I)aS>$1aqoguu(l&5Z)Mekb@}3ITiZswa7wK=6T+G@zhRVk^S;Gb?3d zBYlWvV)21fr%_pY=V{eAR`J7wJU~U#7K1QR20bm!vNRWMiOnV=miu>Z=hFR4 zXvK{kPvP~4 z4EqG3-G?(Bo+E=SNGXNGQpXBB<`$;4pKT>3SWX4rnv6e!WX~#e0aferjQu>V4B6d> z^g$;k?{Gy&CXkzKx9U6u($Wp8i*@QNWf6Y2gfvVvF_ne1Dtbl3Mhbv}q%tU&tpZtHNoD)UXUGsE2yN23$grgc@DXj4 z5gZFJ{WKnf1v_AjpM@5H$LwR?!*iz;V_8HVTlF3x;g_QwRR+nHP<93{U@b$67d1KM z(V$m{YYrfhvZjkAyM<+QS=c^k=6!*3<48`{W=_+Stx$vF*93(sy>W%E2A;_TkGk+6 z$2>8Vu_Tq@pO}}Tqa5@q)7$wH^W*1>Y1ZFQK`pHJ$UG$FKB`F!PVC9Xui2IDO6HkD zUSF{kR?uO|BJ(_Q6cus<%(9(a{&ME9C8F-^v-JO98PHO{%F>`zXlR_U&j7LgrdOmW zP-BVJk1hXP`=q_zyL1gXVqsa-Jjb=gDSMY}AaG8Hkc@@VV8qJ~gX*Yb`(u`W1v@B2 zn88nPB1qGTiRD=gJ~_tGGp#Bi_7SEB0i?FjU?IILJOd3nNM01Sb&Yo@e6WEn@{BJF zY1(|Y%q8-NvwU~Rq?(4>02Kr1&Ok~SgtW&N4d5WAez589ldmr0e4E!Ek+GS}==?c~q zZd;BqsD!fYO5VQCV<^swg)w4b!Sq<2AXj^vq*ae^+^q~pxw4+!ed2e?#(WeB{I&`O zpgI`DvxIYRajG#K&FpxcN0B!u54$}+z7Y_Ly|tSZ>76}zPw%S;hzZg%@hUQhb?f0t zo+GUV$IE1PMc3l3q?w%o>8oSVrb4<<^Fc+Z9==ulMR3Sd_0f z*om$HAeGmsXrkWWNW)3&G+6s8XLo0_>4jRqv=~mpwYWl0=EG)`pgwISpRi=8iLc`d z?&T_68EXW7Y_RHuE75Bnj^t(!D-w_4@!!jjm(PF`_MSxYFW+tf7 z$kFO+R+cBCq@b-udd~uv)2xQSGW1oBLGK|_c9f?~beMVkEfbPI2Nz+^p=Ct7Qz%lu z2zfk+od;YVu$&P-jQfW8C3HO2fmy3z6m3H=EkP6=X1TpAl>l~fP3NNNWmnLR0;6N} zlly^`JR8mTzmQ`dtQ*k`ipua%SwH|;R@S`Dvf0>4%hw9D@X$V|uMepI8r7m*odz{> zKuf-cn$^C7@NSL}Lz1%L3FcsFeRxnLf|TPfX=p3q;ksXZY59rOB$YFmryvOvno<^H z`5lo#yL_o4346+K^NhaPlQY;5+d*)%5p^jsczFktV3$=Gkd~|s15bZ|+Z6rEFN8Cw zP7MRCzt3kH7T#f1xG2%PD(%>T)3Q8IgE%8e$$nz?O_p2qiQ6VjZy?ov9^6MCG&W=g zCsBZ^q(^nK(0rXWj8Inhbx2_?9+5kdtXIIk&)J-bBJ9w!4TdCs(0j6tljpAmb`I}82B=JGhi7cE|ua5YA3Sgsg)qh$EzYPTdb>ryZ0Pb z4(--$`#6Vw9i26x!DKGS_l*4%0ufA~xmq|%C&Z3eb_uI0pX3?s+q7*0>vEoA5_)?4 z%B_1BPqL*go>eECj_!YX>*(nH2F9*5hSXfqgh#^)nAOXzlV^F4JiRMm4u1v0 zWF6xB82<<@krX?JOj{yf6vHJ}fl*hVMT3E5&?VstJ}V&D#F(xXTt&;4)1SUE6s)}4 z3PZN2NF6c;m_YwynlXGGe;~`uErC~%HHli)Szd!HV6F{5VHl!g?@S1$Fm8HH%s6uB&Qi) zPU@CW1Ow8C*HA)qs}Bw0kcutX$5LYoR!-6mw&o9mQb*wTkU<^D%8rT@SNI$ig6A^n zi1%45M38NYc+ipFE_6ZW7K3H|QNdpf*L{{NhTEE;>ld^|r!s^Ea+EL#KO#co-{2Dg zviNV;Im9OR`V({#QHaQ@h_tqmXNauD z8#*K-LQdK-O9Q3k;6Y-u_5CK#pwMK-5S(!HS3-e&n5=&vLkC!% zfjt)yWtibBLKgR3Y_9wkgYcJs3sSa`m+xcb5wnPVGt89T4qc2KI6!0MR6?Ca-W);D zQ`EsV7mP_BVuYPE;_4>5kJ`srS(%HdLj;jLNC3Qr)$fJwYj~SCnA6P{Hlh-5Oh8B& zA{}&35=!|btU`Ap@F@!6qnix9*U}J$HiQqGEOVL`3*k5(um}O|1Y;95OO{n9tZH2T zo?)?RJJ|rh6MW%IGoHd{KuhA$`V}kHW|?EC8-z7prZda!qiz$6pzRf!K|*dDSHzZE z$`$dX#Y}`1UrmoqNYFE!MV#90jUXL&Ynb~Fuxtmm?%c1OF1*Zp?-O15T4d6Ozy1;I z4{YEJU%9dwX%+E=1-3LITV7?QkQw94x_UhMu5u+g3S<{*wbYw<0P5$?On@U&ay%;Q zRrqH4dT#L*O2kxs8LYe&Fr|{L)z}iLFOy?UjUa*5_$duqs`VR{v%6r$%B^p5rn^UppU3^#OQyFYDmXCYi$0V7S##!X+VUEESS_|# zq&5#5SZHw`mJR!QNU-%DTD}usImKcsvsut4;@izEufOmuR<%Wf=?NsfnJX5PAxxHI zXKk!Xg6`t0hyaZ*V%6adh@{VRjJJXYmeDu^7Mtgk;cUyd@?CJ!4Sp4tQw5{0ZB!yF zI7U{TwQME)s;zoUnf2lJ9sBV9a)?NevBhIFx9ofeN?tvH%W1vGD2ao3v(6e;&?VyR z$$mz^wO|{K22C(EP3?QsXubxq>`e`ubKw2f*I=E5;H||R$QZ2M$T_wK+k$5J1N-#0 z;Y7KD$b;I!Fd=IL5i$}G(#NwFl*F-^pqB{(IM#p!8)+=5JOI@~ho%0JL%&7Uvs)|& zF{M+g3$ojriqgJ@nqo)BEN}o7mXu5S>T?(ytIY;y#%NOE)ncmN(#PZF&yGUOywPWn>3 zxGbfrA#->4fi?UMuJR1*X}`&PaCwqR!6WN5D!)2QYw!^knlw?Mennx03O~F_F zFbjbbj*pb?I)qf*@XYf*1ft7nC%3|;A|}~_%p@)(wfTLzAQC4m7q<~$s1T%$W3v&y{^|5V5=K%u0a;Pn`spl6 zj?oO`T&K9ov`8{m=8B=_PFW7{iHOqBY_-;jc#W%Q%Q(8(`W9K^NaT#iI6BaiyzmsG zU*U>A7bJN20h%va`dx03Q}_f|h#XzE?DF3jQX*1wBKHRD8v;4aH*u$6yjH~#58lKh zi{~lg-rabbNkQ(gd<#(IztZFk57Goka+{i?I7brde6Gn&Yd+XvzIYHPU?8v`i8GeXy!PW?B7MU4q0wtE}cmb6g zhAr(NkD<~0-jXlw7_2pW1RfOwbV09mKWnD@i0&N2(Q+pdT>=syzY>KH=)4Tq;C>XI z!J1)^DMLKtFIJhEHp(@Kf~D9X_REo@DlY?dNM@p7m5nTpQEQPRQbB`ac|0w@BP9pK zkr|eoj3uln@s#L%Z7+OBs9mtOA(gEv%r6{ZT z9U1iiVu?f=V5^;GF}`~>Gzb{nO{tB~b>0}*~Mf8`yUY?njq8^xcXf>n2-JG0c$L-!b>;WylfQBfwV@M4k}qfySuNjUyT_Gkbw& zbGhE<+22?Plk|`^ztEx$8Vt%9{Q?ThB1ZRE(<&xL!NaR?qbr2m?_mJT7?xlV%$U3d zV=%*{#e_oHW0ptYDtcOmxiuJn8^CDpf zQSPr>ZhV;x=drk=yGcfnI>EAe)- z=P^$P#m1cVkD(n4HCGVvN*>{xgBwNYZ=oFmLJLuTIBS>-EO_BqN$xRg z_Iw6jmlyzv1YWV+2t}~MDU~b;Dq?UY zG~S8)V<@c?qFpD^B{Jp=Ij{X&4{i)wfW|G@K!cRPtf0{up$PuDj)N+vp_oynaPB^1 zd5>_5-4#eDMAP#UmJyB>8AH;Gx}-Vmed!I^rWwF5N#%1A@}Uy#r|8ZTf(H(9Xd{B9 zQl70rJufxz3PLQDsS)QNef#XUwd8RTu9abZ;|a zrwL&+O*1gtxfqG0U?TV96cWU+iu{#6hY|!-ykVJt@+G7{z)Qa9K!7JZ`i`6Ezzt4C z+@MGsJaZkx;jmKtn#ib2_aR?=Xt$5b zaVf{dp`&MSz-9w1u6K|>CeY%u>`kZ8mkI3Ii733cm;h$$cc`g;DyOf_TLfyiIco9? zX+13rpuuECjz^E#Quy*QKX!5V(KjTJrtbkKV6ZM!FZiu8BFmOvAORX7#F%{hFiywB zm+-j9^5napnY&*grtAYm$_ff?_*J@wfYARQ)tBnobKJ=f-?ccK)0LgvKHV!oe2rx` z8h1JPckCu#O4Qm9W>lhwaJ;{v#24WgV|LkFG{Q@#mm_Y_Ai8WhzN7(b66atKG{u(F z@d$6xCHcll2+i#_c{Z1j`N6~KvD_bwhWLZza-sQXU3f9*O7+_jog=>u#o7dM;z*Ck zX%@R&$*H**dJ5TOIP{<8S6b$>K%g~$o(y#`gtQVb%Lu1;h;OG8QcR*Qj@J08PvtmJ zhbLN>-%#pv(o;w7@O&}?8XJPYzgucHI#<#4(tzY>x{i_#!Lu>mz@^hF;WC;zXPuOYK> z)Ui`K4LA9rQhmhNZOqC^`%9cPEUa-_zSh$`|0$`$!O!sg6JNtxOjJ(C)Q=%{=IE7R zIm>DbDEx`cr${t8;q9N#w=Y=#XXrqH9~cWR;e07lz(Ga$YoKP8YMs8w(g(A(JZ?+s zG8J}vdiG|!leJ`J+A>^Ynmm>~iJJIu98!|^Bm3}b%MVgZ9$650;&C2S633H;+6k1- zH6O90(J=nnS6T3763*OQzP2?ZWqo=LST-Nx%+;9o6skYMY~1rOnMvw}@^uK!kIM+~ z7bKz&5pe5a`H8eB{~U4qusbWs!Eu7@l>FpfIw2<~vT?|XKy?g;C14h1$#yjP37n6y z1`_(FR7d*>g5;M$bec?DWU+MXp{{+dEuJL-r;%jG*wi@0iyO|dTJZ)c{8E0TltnG}5>w{-~;V6@{Uo-akVJB{s~{wL6AK<=ZxTh3_1h zX0cphN(bLCbf(gruW(f)*Kng}9!_(!fC{|k47YOn!6>Km0^tbhW{ech5f8_Aa*$n1Fl5q8g@x~El6e>@Zk-E2_H|1)qZz zp=qriyxImk3GPLrnYCOg`Z&*sTXoVYh)r_vT&st8gREQW>9J-TRQL#UH;66F^?0yx zRD2zrTt}c?;X3#c+Jv@lWTFUV>FBoifkp%orv{sdC%~G_tH^6H z_Oq1Z+y1%BrL0wE>dMp(ka`IEIcuZkD_5_1gD-dlCYP^M%H3FMty;HbE9^DL{Yy6R zOQ+4itR<@tlJL;uQ}K@AU}WO{GjW{21nxN}#| zX5!U@FUjxtM5eL#7+u=M0Bm<3u|_!CQJ z1{2;m?_#?0Jx4txSzY)x{^kK)aocfRnj^JjgM1}UOY?2V%$&JETz1}KenVp3g6r^m z9*ZW>(aYkVdJI?Xq26$GT%sF^X1bI~&k|?#Z{l_;{n2?~>l5_p@ChQO379y%jddWy MEUT2gh~)790kt}`&;S4c diff --git a/MineOS/Wallpapers/Liara.pic b/MineOS/Wallpapers/Liara.pic deleted file mode 100644 index afc5bc4bb466370bff08ebe30d88a3130276a721..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11037 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 diff --git a/MineOS/Wallpapers/Luna.pic b/MineOS/Wallpapers/Luna.pic deleted file mode 100644 index 27f2d655060707d1efe9d4499f04c6916750e359..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19855 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 diff --git a/MineOS/Wallpapers/Nettle.pic b/MineOS/Wallpapers/Nettle.pic index 40c06cd1df6cbe0ecb5b974182ccc2eb5266a8b9..2e63b65dd5bba447a1b32b656a8d286ebd1e36cb 100644 GIT binary patch literal 14153 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 Tmv<*j7&h=mi6N^p4%z<~b2vkv literal 17427 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 diff --git a/MineOS/Wallpapers/Nocturnal.pic b/MineOS/Wallpapers/Nocturnal.pic index ad71342a82813d8b2b19948cfdaf63c7e1acf5ea..94555c332c5e79dc5887414db10c228129ee67f4 100644 GIT binary patch literal 10077 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 RkHY{(c=PJ|)ng`}|1a~??6Lp= literal 18468 zcmXY(S6dWKyYKDp$vNko8HOx52&jV@vlc3dm@`Nc3>Xk4D2h2g$M1FRb+Y!sUMKs* z>`$_Ph0lTZ%yf0t9shTzYKC|3uj>A39#GUBCzMn*wqtOI>!eVE2BF#pE(j%A6pFn| zC^4N-9XmUP63`39*&!5DN+@o#P|SOU;x!1xV-$*CClu?DP+XS59s1MEa!4ql^FmDw zjteEeQ>cMcZw7a0Z+Y@4v&;$AH90f5!~KE9-u)7){T-hiZ~x)m8=-Tpzy0)&(0jar z&7Xf*-g_h)7o7KJ(7)4TWNsT&KAmxLiQGCFqg_JS})n@7%# zj$gVzDNM1BGv~)HUB7vIaEI@rPz+l_F~Xy1>nD=?AymtUUx1Uz( z-+o5c+z2ki8IOfO2_-TQUwlp!ApeC>Qa=ZGn7P`ggyOi*1b2kyzHs9voLm)}_te~q z(D_cBJpBMxjvPOEhZ#o)cLca+DSc&b>xNKlZ-r*x{bo&Qj_S~NVQ}u=J2brdP3T>r z>b^tAgwgHwN89&Q4+xzn7;k7125&N5-_+VAjJ|lTRNvU#fkq0I#^#-Eon68ih$eHz za;2`mxuvzeqw|+A1zmw`O?^|#PGJi>KE){aNmB+ zZy&#w5X;HI9sU|&R?3yZq5X%3Pn;57wXvnGb8yez>b?U94<9{#^2{i<;L~=tb?x3$ z9oo15;GrYKM~|I4bLsL8;ng*_c67<1hYlY(dR&ZNymtGQuoAMNQ|7nFnaOQcRBf!-YqWpFV%F{Oa}U+S_;U zKYafojx;Em-e@vATouH}gWWy7eY^Sxckh9?W5-XNI(=50W1g{#9glAUM{~{d9%8KhuHT3XxC zKo_&`>L1t*??cQFOT$N5;>=kw!XkgyxWXbg@7|l7dN4aT|4^>8^zS;aSJyY*fBy3I z+xH*%VqtD!d38g0OR3V%*1Pwnrsw7#FFjjcS$n(rK?KXT_O8Cav`)`0LhI5pk8`I` z$(9%GK*PZr+lFK7F<=3FImz@eTS8H5%NWP&g8cCksVPthuuXxelQAq5W`vWEkO| zl&p`OLrdcmm#;9@y~zi254Wk6^R2vov-3(+>va*X zNoN{6I;BP?QSbcrlP_Pbz5DP}+mS$`EXlnOD~t-AV~E8>HANyzu9cD z+MS+YIF-p28e4Y$tEOGmeUORC{UsA4kT!5>0_|MCb?5Hnj8u*^r={mB?>4tSe){}n za7Usn(u%4xT0FjRGM&vAYHGXs2ky)x*S{)U|N8CMKO&@N3#AI8>>oIdW!}AyB`vSM zm2Ac|s3_Ky>$-Ohj6?M7+(Xp=;-xe(Zbx)H*wED7GdKp%v&{Q^d3F8myRYB=@T~q{ zTkGiR*=8iL|&|}@w3G&=e=|P z$ANB*QRElt-L|JfwF4B z7GmhGrmnH+;-zahK7aoS6|P#H!4-~`EA>0aCT>hW`}#*XE2`dXar7U3#-o4kQ!BXO3<_?#g9jL>#P zD83cYeueOV>+XHRLGLbrzm}m_xt=2|^bPLNeP!4IhLfMf$u|6ZxJQf+ZVv7!la46F zQ|*UPbi`9bTIh`ZgRl5#S{9mlaOE>0vi$BJVX_`REndA@|AcATx(^*WI&$;Y!`ExV zV9)NncKzXJVRjU|&Ro3u@bS{JusLn6M9Yz*r>@}iuY}FzaJmxdLb3JK#O23A?{?(! z{f~snW3V|hxzeMz!sykE<^&)Bsf2mICUgOV**Y)uL6c?v?R#MfnXS%wO#a;_=}~y~ ztuRNN5-wlAAxknx=eONw<;{k$#TsYlA3b^Y9AYlkqzNWHeS6p^Ee zAyOHhXl?K9JNz$ffvy+E#$^cHjwmw=BAJz;s6z&!zX&G-&>2AB+BOnRPKjI&l=vH} zK7WNTBZApB92)_->;B!`(Dv~=n;ouHut1zUD zW@ows<-3SFsA#ByuOVUARufo zk=&LCcNm_Li|;!E)#TUF{qV83iZdQ3LpuUx{}H;#(Eh{2B;ZGwB1++qzL$?jn? zJ}FJ1OChXdgFE6Ugr>x22*s*u@%F835^fzD;Ab#d9pP9!HU0jRu;~=lXtvm0-ash1 zOE~r1HUo}gnep;X(qYj8J-iOZ;JCc8V7EXjEbgwYzWM zfy3mQXU~s~&pv!4Tvofs7i{T1dg_b}X$vo3gDQ$X5Y6{YTv>Vnz?y8%^J7BqP&9+t zE_6=4(QHLC8X{2uTk5Om8ftL8M^?{;meOzizz7PZ2lES$KZAHVJBHAN*(j6)X%Hr3 zcKe^d{PJ5U&HtQe{ePcdRy`j8LQ1g6Q#3@S;r;fLI!x9f4oU(yGkX~AB*WIISnS}o z^E>xG4(^aeh4t%?-$G|w|4#T*?Hk{?BS)-5Bqrw$qCk&dn7kgZKM;z<8bEwcAQDRm zgWpwb`tY43GT`!ro4Ua`rzcwI68exY8qZaPDeUq2Be7y_Md%~pc(Kwb^id*NO`XtU zu}VFe{!LcFP`z+q!g9Ss-}Q-LsV|KJYmINa7Xzk_!kh(5#-r>2>aS=JQRX(^$jXw~S zMCBPu2|T4dHn<~*0924yL%n(o#h?kzX!FE{&ZP6lq1GH_LLU>pped4ORy!saSr=+l z1zTe@4Yc_B`|nVq=f5N!1zpO&@%0~}%ZAdkIAzXQ6iVTyFs4aYAAclCS2A%3x`Ig3 zc(JpM4~80H$moobbUpOjQAEKal#-tA1WK*^K&d8TjMMEc3PYCaB8F+Gc}rI4a+=GB zV9U^6TLb-x!5t2+b$X#|2o!5D-5iOFQg|e^Qp*dtEMrBLg3#)tB`mM8mYdD>2n7eO zssAdp+Q!fLg??#pNBV>?DS=3L@ATrvd!bjY_UNwfLa*7q{Zo&GP8W$!e-V1U$(kGB ztHG8lP79+Ehzt~JNGVOK$?C=a%~PL*!D6sQfLNio>aX3DHGoZZ!097A&jq_t*p0am zrO~q`3<(h5zxF|BN%uPxowC0aO2ao{&S;@ns<`zD8Jcs78bzS_@*iO=s7~soMnqSd zB`|BqtwQctKZDQ>Aa*Jb1zB6XQcujW5w+#U z9lXj4XAZ0+wLG z=gxv=z!YOsPgd48x4!(K-YDwLR(B{$U#8*t=GLbl!dy}8In5*cF4o@hNuG`rmv^uNnqcGOHJheye zO#c@82ISiCQD}|+bQZ{YSC#&4J|lF&)Ayggpc?2OItgHfB?w(cad!ZYF|^g*Gl1`} zf|hq4W8s)?dVs40ghyOk@uoEr7u?#1i-!969qEPVaQP?P$HjfGxSj%0!Dv|>WI$X6 z?2dtH607_VfeJbHG|vO6Y6TLQFV)9yK#AuvxN-u8PLOYnPcRV+=l~4u0kyXMjUM1i=!hP!T1n+JK6(ZTCjis>|P=Ry7m$P zbNvirV3J@`#6B`41A34)vI`*x&!c1lcx)6R4>AEv1Q23c1}iYGnUJgC=ZW21pYX6$ z2m(r;;JU;DEUIA)mMIJbJ1{&L++nAb4vt)a?uRTJxk*mb*4cC6F6=a)y9EICj$I}Z zcn0FQNv}K;3j`)F*6Mpg)Artj8A|KGnHw{6&zVbB$Acu*q0^XK`0|XpH{?q3sXm=z=E;8MdrI$2cMV4>u5h3)Y8E5En<1`M8 zA<+d_7AA0+naD!8?8SpU5Sz!^3pbb#CTm9kEtDGU=SGNsVf1CdUdrdt)g&nb5A^J1igsvi6{_(8CU3Lj zaVH;{0I+0P$ep}q$D@eRo2EM0;IVKj6p3Eu>LS`3c5fK zkELpoh9rN+PI5ZJM+U<)!AOWXvFFKL4s1E5r*C6!|Jum&{+I9HkHDg(IMP7tfQ z4kHFH3#iZ?A@rKUJf98|+?oK543k(I!Fdx=*g8rYpvw}5vFB8+P&2`V&~kwk0}9q4 zG0KjFNFKC=!I)){pwQBK3j?#6I-wR#VImi>QpR146}TW#NZ6f-!wke)oFQCv0;BNK z7s88zD(cp;gc62L`(@Znke9rq3m>=melVCFn4|~p()=^?C6j4jqazDq==o+10R@R# ztQjdAqHsixtXa|xM0{&QTSxx^q1hT*jxl$IE>mLgI7>L=7!vzOZWW^ok=!NAm{zJ# z)%_nNCoN)F;Xu4;UyH%C)R7K0-Av7RU&Ho^WeO2B6@DaH?WEv@5 z%&K(X%ow#md#THYsKc9Y+cn{ zz4-}Dm?aU=%t%QGOXUG_t9=-8CwBmH2?ME~Z8uRAz@qL50P%PU&@A0#^i82vY|^Ps z=YcHUBo>J1^IWYq_}oI2(o3)k!+YfPnF*0ogb-w|A-Ot(4#`rLGTN?;G66o+{D6_g z`z(J60bo0$pR1al@sZG*lokm0p(ChQ5{#;oQvOmuM8@r>4|7je zNvs_vnxbwkN_U8FJQe#loWzEz3LB{!^B3c!7g_T9a=e<7N+xbb*yW;p(@gz?Sc*9& zbe3>_jl9a5tgWjKpE!>n)phKnsgQ0QKK&A3N*_Bx*5pjpHnQ_+Ywsh>>hwsV2eamb z<~Ais&ir~KXz9_XF=GX4UO)mSZHEjSiZ*B90r~lOJkmv~;Klyq_b@_&PO|AT=+HXK zGU={vLV`PtmJwWbkBE_zpX1RaF9 z%+77>BuSS+YGj+e#Ai8nYQfSOUtELvq$J{<-xtHo9xw=hM?C`+p*`MFgrcI zK)%x1ckH;ZxIDgCvQpo&eZw73@v*h5cdxK{+`d>UU#zLE)VFo8eVZ@U)YdiAn8{a~ z*wNSgvH`6I+Gt1wGnhswm2IZuZ_ct>B(wQb=%Sf24GLW>x5Vy-8ejY+bcy=OS&E5d zB3*wQU`X+M`pR7xKTllQIYJfKM!?Lsqcj1_orf@n(s2@HpjJDL;K=V{C@#^0If0U~ z-6%{}_XyP6BeUxgv*HPAEfQ_R2=?MU(ihCQhza+z-UbCuVL%{HVe~RnvqXZFDmy+w zA0Rz`gR#4r&4N+;XbU1{6FTHyhDTL=F9>WTM_KDN1atxNz^fOVEJ$Kn7z>7E4l(vC z&yoiOFn8+{mR!LepTWc;rVq9hFw`ueC66j|EbF&37XQgGUWT0%cAJ)2^9!BkPj;2kews)-P? zPx@E^<4Na0Y%0EZ-`!bm-I*4;cQ_JXWryms_71|H{E(zw#L`9*$5K8vrhDKVK zCdF5-+r@5>Incc8{0n&;#brqqn|i7T+3mT&KJe>}@4{-0=33i#?LWv#i+N$Pg))uJ zfcgz#w|j$y`h5qH?8u_rmvp$3xz-+GbSicy&0D&6E?tHVB1K=Q;fqJt3~73FECWh{ z=0z%ltg>KQEyiCthIO}sQJMLwb`1;r4}+wINie~+Vlo?$4<46C{6$Kf6= zIDC%BL)`YWs0Z{99N~E@MiCrE{_NK%(E<7`ckU5xIBppPRa73t5-o$=PFxrS!Hse6~^&diCZ_D@I`y_NV zo|@Mi!cglBrRy$Z2wH{3ky47}EmRf-C0AmDpouds9i8m_$U`J-J<;+1_Y8&H#FU#) z9syDuY_H|hJM;n48d9gaa6Pfp;rN(L;-t_ovr`4xNX>|Gf1Y%*@VV;k38$j?7} z$;RKeU&30<-<_IcJ8x~{?Qh{OxdQ2YxxTUe&ix0Eo^EV?`z<^*;Y2o9Vn?p)#=}Q1 zI0S%X{AGuq_`n`q&#r#XMLc@;f*tzY-AKu<$yL3%%QNI1iF1YYDSZs`l?(7<<9zJsO7Dq;2|KvzQ zqtW6D1f!)IxjWw0(Y^2Jbx2!ywMIkT+hq3zg5elvNGgNJuFoty-TK5{QL~M+F*W7p z*7NrlU%&kg22`*G5|!pd!x&r|Say)@)g8c?8wlElQzMuG*+{vUu4OxjRX@0&0G1|f zX9+o_Ht-k>R%$@6TAW9Bb=!2+x`RXvg=kaf=L(WF<8kze)N+7`*aXlQ@QfmntnoWf z_b`x#x~veI-Bn`~{>&`{(Ikj*%TO6-fv^AtAyFm?A({OXIFi!OaggwR9Hd5Q>d+Cu zSvw3V`?MiVSa203VoAC?xoAmmI0xwESAU?n|AhrnPDpj1d2^9`ws!vQ3uQBTlVuYPPB8@APX0} zE$-qj5)_1$%^{R1LgH%WX2OHesmvOGVu@q`P42gYJHln*ROGH8dy~PQJ{%5Iv#E-X z?}12qevK_Yv*z{(vwe>@-hH84u8-zvp6j#u!N;^%4VHY}TVj;4k==35w(XxKYxSA< z+_QIkgZmhp*rQ_)U(>udnJuR#X67G1dqW?cp8CX<>(u5t!=oolL~GAuz}h z`baT6h}!&)&bMV}M_2FAu@Tzq)(efw+@> zgv2_hqJ$x747}yAq0px|n!wR6b4F3a(b~EvAJ`ShxxFy}pj1P%zThi0q1Up`K)G+9 z5$3c>9%~2$KYU|Tggu>xA5>s@ojZ{$)H1%PSZp4=$}!4bkX0syjnlN6+7PF?9{U&; zNVf)Gh!_#BpJWI}R?0;@R0U#8X+*5Y)XX8oY$7L&ksd2aGp0f|V803k%BF$-3toB> zR7Kvl@P6)eT*89Rkd4LK`}z-&>Fq}TFTjfuo4@+g@AcmMiQ`=hvpy_rUN8vBAE`AOFr@tGPox~LQt%27O%s;S(&(qjZF#JR- z6Ujd86L?Q{Ruy`a5;Q~jPB>UqR{lQbV;wL50+Uq>shEWt$5!EhgnjV1z^S6N&yBK> zbMA*1Q=T-dsgoxFl#qo4vyJAo8Dp{~8LKA-pzSy?n824zL3r(kLPY48fGS9LSqX?# z&qi+$cS_=U<}_VL8WGksblOH)IS^%cMsqkLDJ-XfXW%9^$(&aF^FHgmhjiQ^h%y3b z&uc=l_^Tnylmol*(As`V@PR#$tXi7~N##?W2k2Ntx({$bNaq+ndg>A#i|*cj4w%`S zy7~tZANUG1w|1G z9o&p+RrhPYA{rm^4-@QU?2celen24(3CjQC9x0 z$3;>C3#tjXcMzxSllY_KE@tPv#bUQv>@4OXcO`s>*;w%ppTYbBmt-yRU)~ zm$`rsh?RR(5y}PE61+}fPcY~|iV0y~0cMT1^WcATpDZZEXSqY*f60}A8R5GT`M927 zC>#uB?YroDc8*7pjT0~Pzd(0zZkv1nK^!Vn-B)lI&n&l}W4R;LF54&7ky5yYA0fv@ zMdCh$chPdxyu)Lx+{Vg3yh5HUvgK(}f$Pa@AGA|2*6bb_M z;fwNAi3@GJFD)|iIvnFzp$@F)ChOyx}h&!bm=SK?eK_5TvYYAiF%A=H0sm zr-!+{^_$y2Y1;h&7Az7AKU**5-9|JK+0F7)e5NqLCQ-s zq03-o7cH{I!7s%{XDXTeiagL~n8)HwV*}yjeuJIg9XyT@)gTd3O+}eB3?KFthDCwT z43EVj%t;7K#($EvFv1LRUM9A@WmFm?iR75c9YaP!Xw>Z|7eFc0%ZWm}(>lCqZtwX**nk=+7B5~=bVpcdoV zJkI?A^UyX6+bo_MV|&xD9X}Fs({#WMo@#tkFkF0Adle1$%A}8UR5tKEtcdn zaQzQF9jw|3jvVYY27CJk_70t-*%ay>+%rbmA09bB1{y_9(f*eHsK$B+;RNGL0!VI7 z#3>$3$G3)+_Awve8pI_uqHg3Y%MI{-5gjou!cnZ?aSk9W3B1XF>=b0~LOM(zpuBR> z4G$ikf8M_DpT10dC!aSiXjazcK9g1`>suGVdvQgNYPbts3QJD#d|4 z#G^>+Ga$4ojSn30xWYp3QMWTsEaoL8M=<^dFO~r(0YvGr z^B{KZA3~-UvhsAXnA{l03!NhEPK#A6NR!DH0Cc9#kL6IL41m%f{M?HNyXqK z;DjK8K@2xH=L-03l-kPL*fqfUY|U0UOW|dwyS_(Q9sY2%A`6SXhgXEv8RT3{xvrh= z>T6+lA<=M@^Zwmb*y!0E*?uER7(K~sq0G5a4p3$byhYX6(k=|XWVYPUhPwUrd{qOq zDYT%?p2Cl8_H;e_reUrPZ1hL!sd%)g=Owlm&vLG*RJr$nHjtXUfxV|npja7~&3BSW zA0ZA++yW|YAonv|Df(q!+VTgLe1v~s#Qp{Q*hDbs%Do>9^`J?)$15==_#Ih%E(sVrw4e#Q3sgc|J!G ztoPeWi1|G<(5BV5vi>5^yYObfI*c--&YyTZpcv6ZBr0^s-SiCkuDx{v>cCJ}9vhM; zQoJMqCK(wdtwDO{QE#DyI1?B@h?Es8n4ww()l|C&{Kf8t4LG%@P?p zuwA;7&a=}q?032zOwS_Xxdp_r2)&~qlTRRL39cWwa}0|Nl2dMPi5*1nn0OeRh%|RE z;sMvD=OGaKo%fmHF`Qq)!254dISuVYJojgymp-=&lzEW9kL=D$9uRCL;VHI|9iC;v z(itjU_W*|P2@(6{wyqCm{dFV+I8K(Zt^60?NeS7qQ9ZI%mX^J%bC{0|C#WtXVUbXs z>f(x&(%`m@xovkK7_Hf%$wBs~#=FlWrV*+I*F9eHJjY8u_jvpAz%3F$#Rvb^2Z%`~ zL>Ommk}JAMlh14?Mz^?15FY#2LG94&;5!DK0-&Sl#7bK15Tj361!UK`hA&-t4Sx^U zuwgH@=fj`f9!4$^Mn-q?A+`W@_i_8geLRPq5-l};bqY}mrpdJ*J9SPN3SIjT zpFBhNu+)15?kh*wUpYN;;SwXVM~;u)7P@@LfnlgAQbW}6Ce9fMMqKfmgfB4Cej8mO z3h((TZZtx{Gp<;fi>+eye?uL@_e+8QAE>2epx_d2AJ&E<%4cw+QPk(S0Lu{RmIpMV zuc{7KF+7Krs~`j&S4K>t;0su-hv*uRuc7MTFpkds0d^~WH*$G-ffB^GSgHs%P z4edQ}1Nn!MV`MLW)6w033cTJ4$?+yCvqU$@#^Quk?~RwM7~3P1>|bM%Ly{9TpB&_h z6jS>k3K>QC7rlc-*%wy*i|8VJ?jlSCDA47xjxZLI!bWA_^dlz6X+qh)BkWo8GSPEk z2<<*~cJwB;5;xyCBBv*=T}NkE`7hRY4Ymf+8A49>BNAC^_;7FkF5V>wOieGs zVj5E9L9H}-kP&*l+z*bUB{x&}Z)1!0S&myB96oj${|Wa~5NWkg4rNg!9L5S|s1NMH zNG?`wwB;MBc(92G8sBklr zIXK|yyvWNq6ojsET-ePA&wgH)@{Uj3p)68-vVQz;=7w^4EW!;2I5A=u|B_@Gv}=_J z*kVAe-plvEKGz&iArwE`>Ynkt*l(m?Y6J)N0YHOuk!n&xfmA&F$-*SSxFi<2-Se0Q zvzR-9j7&B3H1~tBwY2M+heja14tJ=>m^EH9Ypfm?=c)S|PD-Ca{K1u~8F-eb@!V+G z1ER?Gh-Vk160~HN8H4q0di%MePtU)K4kIpkWHKOsha8_w&=8+*plWyyW&GsFOT1)u z0dYaHoY=Gd0izH@h>}ZgC_C@+`_ZcL zJzPR!6nF`KL%(cJxj*vmgA)3O+)lnbp*h#ye`T3}cS16%_7Vcr^4 z?1V4JdkTtpoapG3rHgwLaaanq!T)i3q&R;@V`iEOHnam!iPs z1B{b(grEB{a#qj#ssrPqfvto-;9SN`;}=M_qm8Ib=wqJ1+$LwtUz}_f4T!+%bpA8`(uutXt%a@n^hDPJeXa73y`zK&~{OJPEk;GRB8g0=#Fa zhBi3%5nf)~_{njAx#hJF>{>?Wwh!#a5Pv-Xf($#c^b;odD+cMEvrjp=k;yl9J%qo` zJ|b7&?!C~IZ{|>>uF%rgzn7NuAUSiXr;2=bA;8^2tsKOQWhX5GekO_2DR(_434~?f zJ@n~s?q!J4F7=TESCF|Cep1>Tk3h47mWk|%1z|M)Vf#$KLGi{OzoQ9lfI)vS{D>a5 zi$4>v2q!v?*R%LRZ}<9Ri3gl3Gx08KV3AEtqvCL-vx}cT{}CpWfsMlA%qM;}t2%4j zfwQkjYxNdYcY+Ru-l}L9#(Bfird_)Fgp*Eog`E&+Q88EzH^AmR{0l8(i`Y?IBTgl# zNVMcjS)Hf&*DwQz0Bu1U5ueL!QK#o#Vu9Jl9+IKk_rNPWz6mFl=;IEcpUtYX%-1s* z296&kT*yGDpCLTYKP4*wTUFf5Ze>mhiWcO|&U39NNeR))u{v{ci8y7@<`cI1!q@YR~mso^j< zsMOQ)X$Z$sUxn6G;3$#S{AS}15QYCnra=YVuS97~b*ZR$s18Web2Z?xCjME>9NyxU z3&d^1LG5N#G>w&K?(%Q}2QOVmqZM)zd2~ODhAYGm86&b`{z?R;l$yUz*HAb2j4fXM zt-EA_241Do8^^EQx(^(1l3lIq-6gb!y@$|c<{6&!_%*w2N`Yjibc^xjaZXlLlp&I* zdWR2mSjWjHsk0ultUH#%hR$J7b_I-#T*@$P>rxF#YW!0-E;ipS^lKOHDOn4*?4a!SsLMF z&sE{oO0|v6t?iwIymwE(g|}qyEDN`;T-Vaxxtljq&y1WOzkL19OX1gZykQUTyB<2i zcKrx{dEoN3doSJytAP#nBWEvN-hP>0Zxp;?4>*{}nat#4p*n*}>b_=h_rCq(S9$4o z@eO$WnL{$Z232R^okxF=zY@^eHge_q@HZ*Em+A0_BE?co^Ul8Gqqo*Rd_=f8 zS^8!N}6Zxjrj`2C(r1|iLCS>%4FesDq&t$Oo zCI48*?8C(kLPak`nRS`o{(-6a#rGh#zBox9tJ p@v5knb?{bzns)%)MU5h*cWj))o3*A3_)AkBf2jr5aI4gr{|^!3HD>?- diff --git a/MineOS/Wallpapers/StarWars.pic b/MineOS/Wallpapers/StarWars.pic deleted file mode 100644 index d1f183d8488a69242471b556daf66ac4be6a96b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11158 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 diff --git a/MineOS/Wallpapers/TemplarAssassin.pic b/MineOS/Wallpapers/TemplarAssassin.pic index fdc0d03c2c04ca178045eea4db0f2f1d67413599..7daac9774bab7e627427eb44de2318102d7152ae 100644 GIT binary patch literal 12485 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 IDS_Vq598X9(f|Me literal 17022 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 Wf+VaIP)KGQYQQBS+QGhy8~+dghM#8u diff --git a/lib/ECSAPI.lua b/lib/ECSAPI.lua index 6332b866..77853a37 100755 --- a/lib/ECSAPI.lua +++ b/lib/ECSAPI.lua @@ -297,7 +297,7 @@ function ecs.getOSApplication(application) fs.makeDirectory(application.name .. ".app/Resources") --Загружаем основной исполняемый файл и иконку - ecs.getFromGitHub(application.url, application.name .. ".app/" .. fs.name(application.name .. ".lua")) + ecs.getFromGitHub(application.url, application.name .. ".app/Main.lua") ecs.getFromGitHub(application.icon, application.name .. ".app/Resources/Icon.pic") --Если есть ресурсы, то загружаем ресурсы diff --git a/lib/GUI.lua b/lib/GUI.lua index 7ac6c782..553eef88 100755 --- a/lib/GUI.lua +++ b/lib/GUI.lua @@ -592,7 +592,7 @@ local function drawImage(object) end function GUI.image(x, y, image) - local object = GUI.object(x, y, image.width, image.height) + local object = GUI.object(x, y, image[1], image[2]) object.image = image object.draw = drawImage return object @@ -626,7 +626,7 @@ local function drawDropDownMenuElement(object, itemIndex, isPressed) end -- Основной текст - buffer.text(object.x + object.sidesOffset, yText, textColor, string.limit(object.items[itemIndex].text, object.width - object.sidesOffset * 2, false)) + buffer.text(object.x + object.sidesOffset, yText, textColor, string.limit(object.items[itemIndex].text, object.width - object.sidesOffset * 2, "right")) -- Шурткатикус if object.items[itemIndex].shortcut then buffer.text(object.x + object.width - unicode.len(object.items[itemIndex].shortcut) - object.sidesOffset, yText, textColor, object.items[itemIndex].shortcut) @@ -665,8 +665,8 @@ local function showDropDownMenu(object) if e[3] >= object.x and e[3] <= object.x + object.width - 1 and - e[4] >= object.y + (itemIndex - 1) * object.elementHeight - 1 and - e[4] <= object.y + (itemIndex - 1) * object.elementHeight - 1 + object.elementHeight + e[4] >= object.y + itemIndex * object.elementHeight - object.elementHeight and + e[4] <= object.y + itemIndex * object.elementHeight - 1 then objectFound = true if not object.items[itemIndex].disabled and object.items[itemIndex].type == GUI.dropDownMenuElementTypes.default then @@ -1131,7 +1131,19 @@ local function drawInputTextBox(inputTextBox) local background = inputTextBox.isFocused and inputTextBox.colors.focused.background or inputTextBox.colors.default.background local foreground = inputTextBox.isFocused and inputTextBox.colors.focused.text or inputTextBox.colors.default.text local y = math.floor(inputTextBox.y + inputTextBox.height / 2) - local text = inputTextBox.isFocused and (inputTextBox.eraseTextOnFocus and "" or inputTextBox.text) or (inputTextBox.text ~= "" and inputTextBox.text or inputTextBox.placeholderText or "") + + local text = inputTextBox.text or "" + if inputTextBox.isFocused then + if inputTextBox.eraseTextOnFocus then + text = "" + else + text = inputTextBox.text or "" + end + else + if inputTextBox.text == "" or not inputTextBox.text then + text = inputTextBox.placeholderText or "" + end + end if background then buffer.square(inputTextBox.x, inputTextBox.y, inputTextBox.width, inputTextBox.height, background, foreground, " ") @@ -1333,7 +1345,7 @@ end local function drawComboBox(object) buffer.square(object.x, object.y, object.width, object.height, object.colors.default.background) local x, y, limit, arrowSize = object.x + 1, math.floor(object.y + object.height / 2), object.width - 5, object.height - buffer.text(x, y, object.colors.default.text, string.limit(object.items[object.currentItem].text, limit, false)) + buffer.text(x, y, object.colors.default.text, string.limit(object.items[object.currentItem].text, limit, "right")) GUI.button(object.x + object.width - arrowSize * 2 + 1, object.y, arrowSize * 2 - 1, arrowSize, object.colors.arrow.background, object.colors.arrow.text, 0x0, 0x0, object.state and "▲" or "▼"):draw() end diff --git a/lib/ImageFormatModules/OCIF.lua b/lib/ImageFormatModules/OCIF.lua new file mode 100755 index 00000000..bdb20344 --- /dev/null +++ b/lib/ImageFormatModules/OCIF.lua @@ -0,0 +1,196 @@ + +local args = {...} +local image = args[1] + +---------------------------------------- Libraries ---------------------------------------- + +local bit32 = require("bit32") +local advancedLua = require("advancedLua") +local unicode = require("unicode") +local fs = require("filesystem") +local colorlib = require("colorlib") + +------------------------------------------------------------------------------------------------------------ + +local module = {} +local OCIFSignature = "OCIF" +local encodingMethods = { + load = {}, + save = {} +} + +------------------------------------------------------------------------------------------------------------ + +local function writeByteArrayToFile(file, byteArray) + for i = 1, #byteArray do + file:write(string.char(byteArray[i])) + end +end + +local function readNumberFromFile(file, countOfBytes) + local byteArray = {} + for i = 1, countOfBytes do + table.insert(byteArray, string.byte(file:read(1))) + end + + return bit32.byteArrayToNumber(byteArray) +end + +---------------------------------------- Uncompressed OCIF1 encoding ---------------------------------------- + +encodingMethods.save[1] = function(file, picture) + for i = 3, #picture, 4 do + writeByteArrayToFile(file, {colorlib.HEXtoRGB(picture[i])}) + writeByteArrayToFile(file, {colorlib.HEXtoRGB(picture[i + 1])}) + file:write(string.char(picture[i + 2])) + writeByteArrayToFile(file, {string.byte(picture[i + 3], 1, 6)}) + end +end + +encodingMethods.load[1] = function(file, picture) + for i = 1, image.getWidth(picture) * image.getHeight(picture) do + table.insert(picture, colorlib.RGBtoHEX(string.byte(file:read(1)), string.byte(file:read(1)), string.byte(file:read(1)))) + table.insert(picture, colorlib.RGBtoHEX(string.byte(file:read(1)), string.byte(file:read(1)), string.byte(file:read(1)))) + table.insert(picture, string.byte(file:read(1))) + table.insert(picture, string.readUnicodeChar(file)) + end +end + +---------------------------------------- Grouped and compressed OCIF6 encoding ---------------------------------------- + +encodingMethods.save[6] = function(file, picture) + -- Grouping picture by it's alphas, symbols and colors + local groupedPicture = image.group(picture, true) + -- Writing 1 byte for alphas array size + file:write(string.char(table.size(groupedPicture))) + + for alpha in pairs(groupedPicture) do + -- Writing 1 byte for current alpha value + file:write(string.char(alpha)) + -- Writing 2 bytes for symbols array size + writeByteArrayToFile(file, bit32.numberToFixedSizeByteArray(table.size(groupedPicture[alpha]), 2)) + + for symbol in pairs(groupedPicture[alpha]) do + -- Writing N bytes for current unicode symbol value + writeByteArrayToFile(file, { string.byte(symbol, 1, 6) }) + -- Writing 1 byte for backgrounds array size + file:write(string.char(table.size(groupedPicture[alpha][symbol]))) + + for background in pairs(groupedPicture[alpha][symbol]) do + -- Writing 1 byte for background color value (compressed by colorlib) + file:write(string.char(background)) + -- Writing 1 byte for foregrounds array size + file:write(string.char(table.size(groupedPicture[alpha][symbol][background]))) + + for foreground in pairs(groupedPicture[alpha][symbol][background]) do + -- Writing 1 byte for foreground color value (compressed by colorlib) + file:write(string.char(foreground)) + -- Writing 1 byte for y array size + file:write(string.char(table.size(groupedPicture[alpha][symbol][background][foreground]))) + + for y in pairs(groupedPicture[alpha][symbol][background][foreground]) do + -- Writing 1 byte for current y value + file:write(string.char(y)) + -- Writing 1 byte for x array size + file:write(string.char(#groupedPicture[alpha][symbol][background][foreground][y])) + + for x = 1, #groupedPicture[alpha][symbol][background][foreground][y] do + file:write(string.char(groupedPicture[alpha][symbol][background][foreground][y][x])) + end + end + end + end + end + end +end + +encodingMethods.load[6] = function(file, picture) + local currentAlpha, currentSymbol, currentBackground, currentForeground, currentY, currentX + local alphaSize, symbolSize, backgroundSize, foregroundSize, ySize, xSize + + alphaSize = string.byte(file:read(1)) + + for alpha = 1, alphaSize do + currentAlpha = string.byte(file:read(1)) + symbolSize = readNumberFromFile(file, 2) + + for symbol = 1, symbolSize do + currentSymbol = string.readUnicodeChar(file) + backgroundSize = string.byte(file:read(1)) + + for background = 1, backgroundSize do + currentBackground = colorlib.convert8BitTo24Bit(string.byte(file:read(1))) + foregroundSize = string.byte(file:read(1)) + + for foreground = 1, foregroundSize do + currentForeground = colorlib.convert8BitTo24Bit(string.byte(file:read(1))) + ySize = string.byte(file:read(1)) + + for y = 1, ySize do + currentY = string.byte(file:read(1)) + xSize = string.byte(file:read(1)) + + for x = 1, xSize do + currentX = string.byte(file:read(1)) + image.set(picture, currentX, currentY, currentBackground, currentForeground, currentAlpha, currentSymbol) + end + end + end + end + end + end +end + +---------------------------------------- Public load&save methods of module ---------------------------------------- + +function module.load(path) + local file, reason = io.open(path, "rb") + if file then + local readedSignature = file:read(#OCIFSignature) + if readedSignature == OCIFSignature then + local encodingMethod = string.byte(file:read(1)) + if encodingMethods.load[encodingMethod] then + -- Reading width and height of a picture + local picture = {string.byte(file:read(1)), string.byte(file:read(1))} + -- Continue parsing + encodingMethods.load[encodingMethod](file, picture) + file:close() + return picture + else + file:close() + error("Failed to load OCIF image: encoding method \"" .. tostring(encodingMethod) .. "\" is not supported") + end + else + file:close() + error("Failed to load OCIF image: wrong signature (\"" .. tostring(readedSignature) .. "\")") + end + else + error("Failed to open file for reading: " .. tostring(reason)) + end +end + +function module.save(path, picture, encodingMethod) + encodingMethod = encodingMethod or 6 + + local file, reason = io.open(path, "wb") + if file then + if encodingMethods.save[encodingMethod] then + -- Writing signature, encoding method, image width and height + file:write(OCIFSignature, string.char(encodingMethod), string.char(picture[1]), string.char(picture[2])) + -- Executing selected encoding method + encodingMethods.save[encodingMethod](file, picture) + file:close() + else + file:close() + error("Failed to save file as OCIF image: encoding method \"" .. tostring(encodingMethod) .. "\" is not supported") + end + else + error("Failed to open file for writing: " .. tostring(reason)) + end +end + +------------------------------------------------------------------------------------------------------------ + +return module + + diff --git a/lib/MineOSCore.lua b/lib/MineOSCore.lua index 71684909..e016e89f 100755 --- a/lib/MineOSCore.lua +++ b/lib/MineOSCore.lua @@ -309,14 +309,22 @@ function MineOSCore.analyzeIconFormat(iconObject) if iconObject.isDirectory then if iconObject.format == ".app" then if MineOSCore.showApplicationIcons then - iconObject.iconImage.image = image.load(iconObject.path .. "/Resources/Icon.pic") + if fs.exists(iconObject.path .. "/Resources/Icon.pic") then + iconObject.iconImage.image = image.load(iconObject.path .. "/Resources/Icon.pic") + else + iconObject.iconImage.image = MineOSCore.icons.fileNotExists + end else iconObject.iconImage.image = MineOSCore.icons.application end iconObject.launch = function() ecs.applicationHelp(iconObject.path) - MineOSCore.safeLaunch(iconObject.path .. "/" .. MineOSCore.hideFileFormat(MineOSCore.getFileName(iconObject.path)) .. ".lua") + if fs.exists(iconObject.path .. "/Main.lua") then + MineOSCore.safeLaunch(iconObject.path .. "/Main.lua") + else + MineOSCore.safeLaunch(iconObject.path .. "/" .. MineOSCore.hideFileFormat(MineOSCore.getFileName(iconObject.path)) .. ".lua") + end end else iconObject.iconImage.image = MineOSCore.icons.folder @@ -411,7 +419,7 @@ function MineOSCore.createIconObject(x, y, path, textColor, showFileFormat) iconObject.isShortcut = false iconObject.isSelected = false - iconObject.iconImage = iconObject:addImage(3, 1, {width = 8, height = 4}) + iconObject.iconImage = iconObject:addImage(3, 1, {8, 4}) iconObject.textLabel = iconObject:addLabel(1, MineOSCore.iconHeight, MineOSCore.iconWidth, 1, textColor, MineOSCore.getFileName(iconObject.path)):setAlignment(GUI.alignment.horizontal.center, GUI.alignment.vertical.top) local oldDraw = iconObject.draw diff --git a/lib/advancedLua.lua b/lib/advancedLua.lua index de847498..6f0b1eb6 100755 --- a/lib/advancedLua.lua +++ b/lib/advancedLua.lua @@ -45,23 +45,56 @@ end -------------------------------------------------- Bit32 extensions -------------------------------------------------- +-- Merge two numbers into one (0xAABB, 0xCCDD -> 0xAABBCCDD) +function bit32.merge(number2, number1) + local cutter = math.ceil(math.log(number1 + 1, 256)) * 8 + while number2 > 0 do + number1, number2, cutter = bit32.bor(bit32.lshift(bit32.band(number2, 0xFF), cutter), number1), bit32.rshift(number2, 8), cutter + 8 + end + + return number1 +end + +-- Split number to it's own bytes (0xAABBCC -> {0xAA, 0xBB, 0xCC}) function bit32.numberToByteArray(number) local byteArray = {} - while number > 0 do + + repeat table.insert(byteArray, 1, bit32.band(number, 0xFF)) number = bit32.rshift(number, 8) - end + until number <= 0 + return byteArray end -function bit32.byteArrayToNumber(byteArray) - local number = byteArray[1] - for i = 2, #byteArray do - number = bit32.bor(byteArray[i], bit32.lshift(number, 8)) +-- Split nubmer to it's own bytes with specified count of bytes (0xAABB, 5 -> {0x00, 0x00, 0x00, 0xAA, 0xBB}) +function bit32.numberToFixedSizeByteArray(number, size) + local byteArray, counter = {}, 0 + + repeat + table.insert(byteArray, 1, bit32.band(number, 0xFF)) + number = bit32.rshift(number, 8) + counter = counter + 1 + until number <= 0 + + for i = 1, size - counter do + table.insert(byteArray, 1, 0x0) end - return number + + return byteArray end +-- Create number from it's own bytes ({0xAA, 0xBB, 0xCC} -> 0xAABBCC) +function bit32.byteArrayToNumber(byteArray) + local result = byteArray[1] + for i = 2, #byteArray do + result = bit32.bor(bit32.lshift(result, 8), byteArray[i]) + end + + return result +end + +-- Create byte from it's bits ({1, 0, 1, 0, 1, 0, 1, 1} -> 0xAB) function bit32.bitArrayToByte(bitArray) local number = 0 for i = 1, #bitArray do @@ -70,9 +103,6 @@ function bit32.bitArrayToByte(bitArray) return number end -bit32.byteArrayFromNumber = bit32.numberToByteArray -bit32.numberFromByteArray = bit32.byteArrayToNumber - -------------------------------------------------- Math extensions -------------------------------------------------- function math.round(num) @@ -85,7 +115,7 @@ end function math.roundToDecimalPlaces(num, decimalPlaces) local mult = 10 ^ (decimalPlaces or 0) - return math.round(num * mult) / mult + return math.floor(num * mult + 0.5) / mult end function math.getDigitCount(num) @@ -259,13 +289,31 @@ function table.binarySearch(t, requestedValue) end function table.size(t) - local size = #t - if size == 0 then for key in pairs(t) do size = size + 1 end end + local size = 0 + for key in pairs(t) do size = size + 1 end return size end -------------------------------------------------- String extensions -------------------------------------------------- +function string.readUnicodeChar(file) + local byteArray = {string.byte(file:read(1))} + + local nullBitPosition = 0 + for i = 1, 7 do + if bit32.band(bit32.rshift(byteArray[1], 8 - i), 0x1) == 0x0 then + nullBitPosition = i + break + end + end + + for i = 1, nullBitPosition - 2 do + table.insert(byteArray, string.byte(file:read(1))) + end + + return string.char(table.unpack(byteArray)) +end + function string.canonicalPath(str) return string.gsub("/" .. str, "%/+", "/") end @@ -307,21 +355,24 @@ function string.unicodeFind(str, pattern, init, plain) end end -function string.limit(text, size, fromLeft, noDots) +function string.limit(text, limit, mode, noDots) local length = unicode.len(text) - if length <= size then return text end + if length <= limit then return text end - if fromLeft then + if mode == "left" then if noDots then - return unicode.sub(text, length - size + 1, -1) + return unicode.sub(text, length - limit + 1, -1) else - return "…" .. unicode.sub(text, length - size + 2, -1) + return "…" .. unicode.sub(text, length - limit + 2, -1) end + elseif mode == "center" then + local partSize = math.ceil(limit / 2) + return unicode.sub(text, 1, partSize) .. "…" .. unicode.sub(text, -partSize + 1, -1) else if noDots then - return unicode.sub(text, 1, size) + return unicode.sub(text, 1, limit) else - return unicode.sub(text, 1, size - 1) .. "…" + return unicode.sub(text, 1, limit - 1) .. "…" end end end diff --git a/lib/colorlib.lua b/lib/colorlib.lua index a28c3b96..9c698d93 100755 --- a/lib/colorlib.lua +++ b/lib/colorlib.lua @@ -1,6 +1,4 @@ - local bit32 = require("bit32") -local serialization = require("serialization") local colorlib = {} local function isNan(x) @@ -103,19 +101,24 @@ end ----------------------------------------------------------------------------------------------------------------------- -local palette = {} - -for r = 0, 5 do - for g = 0, 7 do - for b = 0, 4 do - table.insert(palette, colorlib.RGBtoHEX(r * 0x33, g * 0x24, math.floor(b / 4 * 0xFF + 0.5))) --СИНИЙ, ПРЕКРАТИ - end - end -end -for gr = 1, 0x10 do --Градации серого - table.insert(palette, gr * 0xF0F0F) --Нет смысла использовать colorlib.RGBtoHEX() -end -table.sort(palette) +local palette = { + 0x000000, 0x000040, 0x000080, 0x0000BF, 0x0000FF, 0x002400, 0x002440, 0x002480, 0x0024BF, 0x0024FF, 0x004900, 0x004940, 0x004980, 0x0049BF, 0x0049FF, 0x006D00, + 0x006D40, 0x006D80, 0x006DBF, 0x006DFF, 0x009200, 0x009240, 0x009280, 0x0092BF, 0x0092FF, 0x00B600, 0x00B640, 0x00B680, 0x00B6BF, 0x00B6FF, 0x00DB00, 0x00DB40, + 0x00DB80, 0x00DBBF, 0x00DBFF, 0x00FF00, 0x00FF40, 0x00FF80, 0x00FFBF, 0x00FFFF, 0x0F0F0F, 0x1E1E1E, 0x2D2D2D, 0x330000, 0x330040, 0x330080, 0x3300BF, 0x3300FF, + 0x332400, 0x332440, 0x332480, 0x3324BF, 0x3324FF, 0x334900, 0x334940, 0x334980, 0x3349BF, 0x3349FF, 0x336D00, 0x336D40, 0x336D80, 0x336DBF, 0x336DFF, 0x339200, + 0x339240, 0x339280, 0x3392BF, 0x3392FF, 0x33B600, 0x33B640, 0x33B680, 0x33B6BF, 0x33B6FF, 0x33DB00, 0x33DB40, 0x33DB80, 0x33DBBF, 0x33DBFF, 0x33FF00, 0x33FF40, + 0x33FF80, 0x33FFBF, 0x33FFFF, 0x3C3C3C, 0x4B4B4B, 0x5A5A5A, 0x660000, 0x660040, 0x660080, 0x6600BF, 0x6600FF, 0x662400, 0x662440, 0x662480, 0x6624BF, 0x6624FF, + 0x664900, 0x664940, 0x664980, 0x6649BF, 0x6649FF, 0x666D00, 0x666D40, 0x666D80, 0x666DBF, 0x666DFF, 0x669200, 0x669240, 0x669280, 0x6692BF, 0x6692FF, 0x66B600, + 0x66B640, 0x66B680, 0x66B6BF, 0x66B6FF, 0x66DB00, 0x66DB40, 0x66DB80, 0x66DBBF, 0x66DBFF, 0x66FF00, 0x66FF40, 0x66FF80, 0x66FFBF, 0x66FFFF, 0x696969, 0x787878, + 0x878787, 0x969696, 0x990000, 0x990040, 0x990080, 0x9900BF, 0x9900FF, 0x992400, 0x992440, 0x992480, 0x9924BF, 0x9924FF, 0x994900, 0x994940, 0x994980, 0x9949BF, + 0x9949FF, 0x996D00, 0x996D40, 0x996D80, 0x996DBF, 0x996DFF, 0x999200, 0x999240, 0x999280, 0x9992BF, 0x9992FF, 0x99B600, 0x99B640, 0x99B680, 0x99B6BF, 0x99B6FF, + 0x99DB00, 0x99DB40, 0x99DB80, 0x99DBBF, 0x99DBFF, 0x99FF00, 0x99FF40, 0x99FF80, 0x99FFBF, 0x99FFFF, 0xA5A5A5, 0xB4B4B4, 0xC3C3C3, 0xCC0000, 0xCC0040, 0xCC0080, + 0xCC00BF, 0xCC00FF, 0xCC2400, 0xCC2440, 0xCC2480, 0xCC24BF, 0xCC24FF, 0xCC4900, 0xCC4940, 0xCC4980, 0xCC49BF, 0xCC49FF, 0xCC6D00, 0xCC6D40, 0xCC6D80, 0xCC6DBF, + 0xCC6DFF, 0xCC9200, 0xCC9240, 0xCC9280, 0xCC92BF, 0xCC92FF, 0xCCB600, 0xCCB640, 0xCCB680, 0xCCB6BF, 0xCCB6FF, 0xCCDB00, 0xCCDB40, 0xCCDB80, 0xCCDBBF, 0xCCDBFF, + 0xCCFF00, 0xCCFF40, 0xCCFF80, 0xCCFFBF, 0xCCFFFF, 0xD2D2D2, 0xE1E1E1, 0xF0F0F0, 0xFF0000, 0xFF0040, 0xFF0080, 0xFF00BF, 0xFF00FF, 0xFF2400, 0xFF2440, 0xFF2480, + 0xFF24BF, 0xFF24FF, 0xFF4900, 0xFF4940, 0xFF4980, 0xFF49BF, 0xFF49FF, 0xFF6D00, 0xFF6D40, 0xFF6D80, 0xFF6DBF, 0xFF6DFF, 0xFF9200, 0xFF9240, 0xFF9280, 0xFF92BF, + 0xFF92FF, 0xFFB600, 0xFFB640, 0xFFB680, 0xFFB6BF, 0xFFB6FF, 0xFFDB00, 0xFFDB40, 0xFFDB80, 0xFFDBBF, 0xFFDBFF, 0xFFFF00, 0xFFFF40, 0xFFFF80, 0xFFFFBF, 0xFFFFFF, +} function colorlib.convert24BitTo8Bit(hex24) local encodedIndex = nil @@ -158,6 +161,3 @@ return colorlib - - - diff --git a/lib/doubleBuffering.lua b/lib/doubleBuffering.lua index 8bc166a6..d396e57b 100755 --- a/lib/doubleBuffering.lua +++ b/lib/doubleBuffering.lua @@ -244,14 +244,14 @@ end -- Отрисовка изображения function buffer.image(x, y, picture) - local xPos, xEnd, bufferIndexStepOnReachOfImageWidth = x, x + picture.width - 1, (buffer.screen.width - picture.width) * 3 + local xPos, xEnd, bufferIndexStepOnReachOfImageWidth = x, x + picture[1] - 1, (buffer.screen.width - picture[1]) * 3 local bufferIndex = buffer.getBufferIndexByCoordinates(x, y) local imageIndexPlus2, imageIndexPlus3 - for imageIndex = 1, #picture, 4 do + for imageIndex = 3, #picture, 4 do if xPos >= buffer.drawLimit.x and y >= buffer.drawLimit.y and xPos <= buffer.drawLimit.x2 and y <= buffer.drawLimit.y2 then imageIndexPlus2, imageIndexPlus3 = imageIndex + 2, imageIndex + 3 - -- Ебля с прозрачностью + if picture[imageIndexPlus2] == 0x00 then buffer.screen.new[bufferIndex] = picture[imageIndex] buffer.screen.new[bufferIndex + 1] = picture[imageIndex + 1] @@ -265,11 +265,11 @@ function buffer.image(x, y, picture) buffer.screen.new[bufferIndex + 2] = picture[imageIndexPlus3] end end - - --Корректируем координаты и индексы - xPos = xPos + 1 - bufferIndex = bufferIndex + 3 - if xPos > xEnd then xPos, y, bufferIndex = x, y + 1, bufferIndex + bufferIndexStepOnReachOfImageWidth end + + xPos, bufferIndex = xPos + 1, bufferIndex + 3 + if xPos > xEnd then + xPos, y, bufferIndex = x, y + 1, bufferIndex + bufferIndexStepOnReachOfImageWidth + end end end @@ -468,6 +468,31 @@ function buffer.semiPixelLine(x1, y1, x2, y2, color) end end +function buffer.semiPixelCircle(xCenter, yCenter, radius, color, filled) + local function insertPoints(x, y) + buffer.semiPixelSet(xCenter + x, yCenter + y, color) + buffer.semiPixelSet(xCenter + x, yCenter - y, color) + buffer.semiPixelSet(xCenter - x, yCenter + y, color) + buffer.semiPixelSet(xCenter - x, yCenter - y, color) + end + + local x, y = 0, radius + local delta = 3 - 2 * radius; + while (x < y) do + insertPoints(x, y); + insertPoints(y, x); + if (delta < 0) then + delta = delta + (4 * x + 6) + else + delta = delta + (4 * (x - y) + 10) + y = y - 1 + end + x = x + 1 + end + + if x == y then insertPoints(x, y) end +end + ----------------------------------------- Bezier curve ----------------------------------------- local function getPointTimedPosition(firstPoint, secondPoint, time) @@ -620,6 +645,10 @@ end buffer.start() +-- buffer.clear(0x0) +-- buffer.semiPixelCircle(80, 50, 20, 0xFFDB40, true) +-- buffer.draw() + -- buffer.clear(0xFF8888) -- buffer.bezierCurve({ -- -- { x = 32, y = 2}, diff --git a/lib/event.lua b/lib/event.lua index 97676ab8..6e47db2e 100755 --- a/lib/event.lua +++ b/lib/event.lua @@ -17,7 +17,7 @@ local event = { [56] = true }, onError = function(errorMessage) - + require("ECSAPI").error("CYKA: " .. tostring(errorMessage)) end } diff --git a/lib/image.lua b/lib/image.lua index 6facd282..18805491 100755 --- a/lib/image.lua +++ b/lib/image.lua @@ -1,1284 +1,72 @@ ----------------------------------------- OpenComputers Image Format (OCIF) ----------------------------------------------------------- +-------------------------------------------------- Libraries -------------------------------------------------- ---[[ - - Автор: Pornogion - VK: https://vk.com/id88323331 - Соавтор: IT - VK: https://vk.com/id7799889 - - Основные функции: - - image.load(string путь): table изображение - Загружает существующую картинку в формате .pic и возвращает ее - в качестве массива (таблицы). - - image.draw(int x, int y, table изображение) - Рисует на экране загруженную ранее картинку по указанным координатам. - - image.save(string путь, table изображение [, int метод кодирования]) - Сохраняет указанную картинку по указанному пути в формате .pic, - по умолчанию используя метод кодирования 3. Рекомендуется - использовать именно его. - - Функции для работы с изображением: - - image.transform(table картинка, int масштаб по ширине, int масштаб по высоте): table картинка - Изменяет размер картинки по методу интерполяции по соседним пикселям. - - image.expand(table картинка, string направление, int количество пикселей[, int цвет фона, int цвет текста, int прозрачность, char символ]): table картинка - Расширяет указанную картинку в указанном направлении (fromRight, fromLeft, fromTop, fromBottom), - создавая при этом пустые белые пиксели. Если указаны опциональные аргументы, то вместо пустых - пикселей могут быть вполне конкретные значения. - - image.crop(table картинка, string направление, int количество пикселей): table картинка - Обрезает указанную картинку в указанном направлении (fromRight, fromLeft, fromTop, fromBottom), - удаляя лишние пиксели. - - image.rotate(table картинка, int угол): table картинка - Поворачивает указанную картинку на указанный угол. Угол может иметь - значение 90, 180 и 270 градусов. - - image.flipVertical(table картинка): table картинка - Отражает указанную картинку по вертикали. - - image.flipHorizontal(table картинка): table картинка - Отражает указанную картинку по горизонтали. - - Функции для работы с цветом: - - image.hueSaturationBrightness(table картинка, int тон, int насыщенность, int яркость): table картинка - Корректирует цветовой тон, насыщенность и яркость указанной картинки. - Значения аргументов могут быть отрицательными для уменьшения параметра - и положительными для его увеличения. Если значение, к примеру, насыщенности - менять не требуется, просто указывайте 0. - - Для удобства вы можете использовать следующие сокращения: - image.hue(table картинка, int тон): table картинка - image.saturation(table картинка, int насыщенность): table картинка - image.brightness(table картинка, int яркость): table картинка - image.blackAndWhite(table картинка): table картинка - - image.colorBalance(table картинка, int красный, int зеленый, int синий): table картинка - Корректирует цветовые каналы изображения указанной картинки. Аргументы цветовых - каналов могут принимать как отрицательные значения для уменьшения интенсивности канала, - так и положительные для увеличения. - - image.invert(table картинка): table картинка - Инвертирует цвета в указанной картинке. - - image.photoFilter(table картинка, int цвет, int прозрачность): table картинка - Накладывает на указанное изображение фотофильтр с указанной прозрачностью. - Прозрачность может быть от 0 до 255. - - image.replaceColor(table картинка, int заменяемыйЦвет, int цветДляЗамены): table картинка - Заменяет в указанном изображении один конкретный цвет на другой. -]] - ---------------------------------------- Подгрузка библиотек -------------------------------------------------------------- - -local component = require("component") -local unicode = require("unicode") -local fs = require("filesystem") local colorlib = require("colorlib") -local bit32 = require("bit32") +local unicode = require("unicode") +local gpu = require("component").gpu + +-------------------------------------------------- Constants -------------------------------------------------- local image = {} +image.formatModules = {} --------------------------------------------- Переменные ------------------------------------------------------------------- +-------------------------------------------------- Low-level methods -------------------------------------------------- ---Константы программы -local constants = { - OCIFSignature = "OCIF", - OCIF2Elements = { - alphaStart = "A", - symbolStart = "S", - backgroundStart = "B", - foregroundStart = "F", - }, - elementCount = 4, - byteSize = 8, - nullChar = 0, - rawImageLoadStep = 19, - compressedFileFormat = ".pic", - pngFileFormat = ".png", -} - ----------------------------------------- Локальные функции ------------------------------------------------------------------- - ---Формула конвертации индекса массива изображения в абсолютные координаты пикселя изображения -local function convertIndexToCoords(index, width) - --Приводим индекс к корректному виду (1 = 1, 4 = 2, 7 = 3, 10 = 4, 13 = 5, ...) - index = (index + constants.elementCount - 1) / constants.elementCount - --Получаем остаток от деления индекса на ширину изображения - local ostatok = index % width - --Если остаток равен 0, то х равен ширине изображения, а если нет, то х равен остатку - local x = (ostatok == 0) and width or ostatok - --А теперь как два пальца получаем координату по Y - local y = math.ceil(index / width) - --Очищаем остаток из оперативки - ostatok = nil - --Возвращаем координаты - return x, y +local function compressionYield(iteration) + if iteration % 603 == 0 then os.sleep(0) end end ---Формула конвертации абсолютных координат пикселя изображения в индекс для массива изображения -local function convertCoordsToIndex(x, y, width) - return (width * (y - 1) + x) * constants.elementCount - constants.elementCount + 1 +function image.getImageCoordinatesByIndex(index, width) + local integer, fractional = math.modf((index - 2) / (width * 4)) + return math.ceil(fractional * width), integer + 1 end ---Костыльное получение размера массива, ибо автор луа не позволяет ---подсчитывать ненумерические индексы через #massiv ---мда, мда ---... ---мда -local function getArraySize(array) - local size = 0 - for key in pairs(array) do - size = size + 1 - end - return size +function image.getImageIndexByCoordinates(x, y, width) + return (width * 4) * (y - 1) + x * 4 - 1 end ---Получить количество байт, которое можно извлечь из указанного числа -local function getCountOfBytes(number) - if number == 0 or number == 1 then return 1 end - return math.ceil(math.log(number, 256)) -end +function image.group(picture, compressColors) + local groupedPicture, x, y, iPlus2, iPlus3, background, foreground = {}, 1, 1 ---Распидорасить число на составляющие байты -local function extractBytesFromNumber(number, countOfBytesToExtract) - local bytes = {} - local byteCutter = 0xff - for i = 1, countOfBytesToExtract do - table.insert(bytes, 1, bit32.rshift(bit32.band(number, byteCutter), (i-1)*8)) - byteCutter = bit32.lshift(byteCutter, 8) - end - return table.unpack(bytes) -end + for i = 3, #picture, 4 do + iPlus2, iPlus3 = i + 2, i + 3 ---Склеить байты и создать из них число -local function mergeBytesToNumber(...) - local bytes = {...} - local finalNumber = bytes[1] - for i = 2, #bytes do - finalNumber = bit32.bor(bit32.lshift(finalNumber, 8), bytes[i]) - end - return finalNumber -end - --- Сконвертировать все переданные байты в строку -local function convertBytesToString(...) - local bytes = {...} - for i = 1, #bytes do - bytes[i] = string.char(bytes[i]) - end - return table.concat(bytes) -end - ---Выделить бит-терминатор в первом байте UTF-8 символа: 1100 0010 --> 0010 0000 -local function selectTerminateBit_l() - local prevByte = nil - local prevTerminateBit = nil - - return function( byte ) - local x, terminateBit = nil - if ( prevByte == byte ) then - return prevTerminateBit - end - - x = bit32.band( bit32.bnot(byte), 0x000000FF ) - x = bit32.bor( x, bit32.rshift(x, 1) ) - x = bit32.bor( x, bit32.rshift(x, 2) ) - x = bit32.bor( x, bit32.rshift(x, 4) ) - x = bit32.bor( x, bit32.rshift(x, 8) ) - x = bit32.bor( x, bit32.rshift(x, 16) ) - - terminateBit = x - bit32.rshift(x, 1) - - prevByte = byte - prevTerminateBit = terminateBit - - return terminateBit - end -end -local selectTerminateBit = selectTerminateBit_l() - ---Прочитать n байтов из файла, возвращает прочитанные байты как число, если не удалось прочитать, то возвращает 0 -local function readBytes(file, count) - local readedBytes = file:read(count) - return mergeBytesToNumber(string.byte(readedBytes, 1, count)) -end - ---Подготавливает цвета и символ для записи в файл сжатого формата -local function encodePixel(background, foreground, alpha, char) - --Расхерачиваем жирные цвета в компактные цвета - local ascii_background1, ascii_background2, ascii_background3 = colorlib.HEXtoRGB(background) - local ascii_foreground1, ascii_foreground2, ascii_foreground3 = colorlib.HEXtoRGB(foreground) - --Расхерачиваем жирный код юникод-символа в несколько миленьких ascii-кодов - local ascii_char1, ascii_char2, ascii_char3, ascii_char4, ascii_char5, ascii_char6 = string.byte( char, 1, 6 ) - ascii_char1 = ascii_char1 or constants.nullChar - --Возвращаем все расхераченное - return ascii_background1, ascii_background2, ascii_background3, ascii_foreground1, ascii_foreground2, ascii_foreground3, alpha, ascii_char1, ascii_char2, ascii_char3, ascii_char4, ascii_char5, ascii_char6 -end - ---Декодирование UTF-8 символа -local function decodeChar(file) - local first_byte = readBytes(file, 1) - local charcode_array = {first_byte} - local len = 1 - - local middle = selectTerminateBit(first_byte) - if ( middle == 32 ) then - len = 2 - elseif ( middle == 16 ) then - len = 3 - elseif ( middle == 8 ) then - len = 4 - elseif ( middle == 4 ) then - len = 5 - elseif ( middle == 2 ) then - len = 6 - end - - for i = 1, len-1 do - table.insert( charcode_array, readBytes(file, 1) ) - end - - return string.char( table.unpack( charcode_array ) ) -end - ---Правильное конвертирование HEX-переменной в строковую -local function HEXtoSTRING(color, bitCount, withNull) - local stro4ka = string.format("%X",color) - local sStro4ka = unicode.len(stro4ka) - - if sStro4ka < bitCount then - stro4ka = string.rep("0", bitCount - sStro4ka) .. stro4ka - end - - sStro4ka = nil - - if withNull then return "0x"..stro4ka else return stro4ka end -end - ---Получение формата файла -local function getFileFormat(path) - local name = fs.name(path) - local starting, ending = string.find(name, "(.)%.[%d%w]*$") - if starting == nil then - return nil - else - return unicode.sub(name, starting + 1, -1) - end - name, starting, ending = nil, nil, nil -end - ---Прочесть сигнатуру файла и сравнить ее с константой -local function readSignature(file) - local readedSignature = file:read(4) - if readedSignature ~= constants.OCIFSignature then - file:close() - error("Can't load file: wrong OCIF format signature (\""..readedSignature .. "\" ~= \"" ..constants.OCIFSignature .. "\")") - end -end - ---Записать сигнатуру в файл -local function writeSignature(file) - file:write(constants.OCIFSignature) -end - ---Сжать все цвета в изображении в 8-битную палитру -local function convertImageColorsTo8Bit(picture) - for i = 1, #picture, 4 do - picture[i] = colorlib.convert24BitTo8Bit(picture[i]) - picture[i + 1] = colorlib.convert24BitTo8Bit(picture[i + 1]) - if i % 505 == 0 then os.sleep(0) end - end - return picture -end - ---Расжать все цвета в изображении в 24-битную палитру -local function convertImageColorsTo24Bit(picture) - for i = 1, #picture, 4 do - picture[i] = colorlib.convert8BitTo24Bit(picture[i]) - picture[i + 1] = colorlib.convert8BitTo24Bit(picture[i + 1]) - if i % 505 == 0 then os.sleep(0) end - end - return picture -end - ------------------------------- Все, что касается формата OCIF1 ------------------------------------------------------------ - --- Запись в файл сжатого OCIF-формата изображения -local function saveOCIF1(file, picture) - local encodedPixel - file:write( string.char( picture.width ) ) - file:write( string.char( picture.height ) ) - - for i = 1, picture.width * picture.height * constants.elementCount, constants.elementCount do - encodedPixel = - { - encodePixel(picture[i], picture[i + 1], picture[i + 2], picture[i + 3]) - } - for j = 1, #encodedPixel do - file:write( string.char( encodedPixel[j] ) ) - end - end - - file:close() -end - ---Чтение из файла сжатого OCIF-формата изображения, возвращает массив типа 2 (подробнее о типах см. конец файла) -local function loadOCIF1(file) - local picture = {} - - --Читаем ширину и высоту файла - picture.width = readBytes(file, 1) - picture.height = readBytes(file, 1) - - for i = 1, picture.width * picture.height do - --Читаем бекграунд - table.insert(picture, readBytes(file, 3)) - --Читаем форграунд - table.insert(picture, readBytes(file, 3)) - --Читаем альфу - table.insert(picture, readBytes(file, 1)) - --Читаем символ - table.insert(picture, decodeChar( file )) - end - - file:close() - - return picture -end - ------------------------------------------- Все, что касается формата OCIF2 ------------------------------------------------ - -local function saveOCIF2(file, picture, compressColors) - --Записываем ширину изображения - file:write(string.char(picture.width)) - file:write(string.char(picture.height)) - - --Группируем картинку - local grouppedPucture = image.convertToGroupedImage(picture) - - --Перебираем все альфы - for alpha in pairs(grouppedPucture) do - --Получаем размер массива, содержащего символы - local arraySize = getArraySize(grouppedPucture[alpha]) - local countOfBytesForArraySize = getCountOfBytes(arraySize) - --Записываем в файл символ АльфаСтарта, размер массива альфы и само значение альфы - file:write( - constants.OCIF2Elements.alphaStart, - string.char(countOfBytesForArraySize), - convertBytesToString(extractBytesFromNumber(arraySize, countOfBytesForArraySize)), - string.char(alpha) - ) - - for symbol in pairs(grouppedPucture[alpha]) do - --Записываем заголовок - file:write(constants.OCIF2Elements.symbolStart) - --Записываем количество всех цветов текста и символ - if compressColors then - file:write( - string.char(getArraySize(grouppedPucture[alpha][symbol])), - convertBytesToString(string.byte(symbol, 1, 6)) - ) - else - file:write( - convertBytesToString(extractBytesFromNumber(getArraySize(grouppedPucture[alpha][symbol]), 3)), - convertBytesToString(string.byte(symbol, 1, 6)) - ) - end - - for foreground in pairs(grouppedPucture[alpha][symbol]) do - --Записываем заголовок - file:write(constants.OCIF2Elements.foregroundStart) - --Записываем количество цветов фона и цвет текста - if compressColors then - file:write( - string.char(getArraySize(grouppedPucture[alpha][symbol][foreground])), - string.char(foreground) - ) - else - file:write( - convertBytesToString(extractBytesFromNumber(getArraySize(grouppedPucture[alpha][symbol][foreground]), 3)), - convertBytesToString(extractBytesFromNumber(foreground, 3)) - ) - end - - for background in pairs(grouppedPucture[alpha][symbol][foreground]) do - --Записываем заголовок и размер массива координат - file:write( - constants.OCIF2Elements.backgroundStart, - convertBytesToString(extractBytesFromNumber(getArraySize(grouppedPucture[alpha][symbol][foreground][background]), 2)) - ) - --Записываем цвет фона - if compressColors then - file:write(string.char(background)) - else - file:write(convertBytesToString(extractBytesFromNumber(background, 3))) - end - - --Перебираем координаты - for y in pairs(grouppedPucture[alpha][symbol][foreground][background]) do - --Записываем заголовок координат, размер массива y и само значение y - file:write( - "Y", - string.char(getArraySize(grouppedPucture[alpha][symbol][foreground][background][y])), - string.char(y) - ) - --Записываем ИКСЫЫЫ - --Ы - for i = 1, #grouppedPucture[alpha][symbol][foreground][background][y] do - file:write(string.char(grouppedPucture[alpha][symbol][foreground][background][y][i])) - end - end - end - end - end - end - - file:close() -end - -local function loadOCIF2(file, decompressColors, useOCIF4) - local picture = {} - - --Читаем размер изображения - local readedWidth = string.byte(file:read(1)) - local readedHeight = string.byte(file:read(1)) - picture.width = readedWidth - picture.height = readedHeight - - local header, alpha, symbol, foreground, background, y, alphaSize, symbolSize, foregroundSize, backgroundSize, ySize = "" - while true do - header = file:read(1) - if not header then break end - -- print("----------------------") - -- print("Заголовок: " .. header) - - if header == "A" then - local countOfBytesForArraySize = string.byte(file:read(1)) - alphaSize = string.byte(file:read(countOfBytesForArraySize)) - alpha = string.byte(file:read(1)) - -- print("Количество байт под размер массива символов: " .. countOfBytesForArraySize) - -- print("Размер массива символов: " .. alphaSize) - -- print("Альфа: " .. alpha) - - elseif header == "S" then - if decompressColors then - symbolSize = string.byte(file:read(1)) - else - symbolSize = mergeBytesToNumber(string.byte(file:read(3), 1, 3)) - end - symbol = decodeChar(file) - -- print("Размер массива цвета текста: " .. symbolSize) - -- print("Символ: \"" .. symbol .. "\"") - - elseif header == "F" then - if decompressColors then - foregroundSize = string.byte(file:read(1)) - foreground = colorlib.convert8BitTo24Bit(string.byte(file:read(1))) - else - foregroundSize = mergeBytesToNumber(string.byte(file:read(3), 1, 3)) - foreground = mergeBytesToNumber(string.byte(file:read(3), 1, 3)) - end - -- print("Размер массива цвета фона: " .. foregroundSize) - -- print("Цвет текста: " .. foreground) - - elseif header == "B" then - backgroundSize = mergeBytesToNumber(string.byte(file:read(2), 1, 2)) - if decompressColors then - background = colorlib.convert8BitTo24Bit(string.byte(file:read(1))) - else - background = mergeBytesToNumber(string.byte(file:read(3), 1, 3)) - end - -- print("Размер массива координат: " .. backgroundSize) - -- print("Цвет фона: " .. background) - - --Поддержка загрузки формата OCIF3 - if not useOCIF4 then - --Читаем координаты - for i = 1, backgroundSize, 2 do - local x = string.byte(file:read(1)) - local y = string.byte(file:read(1)) - local index = convertCoordsToIndex(x, y, readedWidth) - -- print("Координата: " .. x .. "x" .. y .. ", индекс: "..index) - - picture[index] = background - picture[index + 1] = foreground - picture[index + 2] = alpha - picture[index + 3] = symbol - end - end - - --Новый формат OCIF4 - elseif header == "Y" and useOCIF4 then - ySize = string.byte(file:read(1)) - y = string.byte(file:read(1)) - -- print("Размер массива Y: " .. ySize) - -- print("Текущий Y: " .. y) - - for i = 1, ySize do - local x = string.byte(file:read(1)) - local index = convertCoordsToIndex(x, y, readedWidth) - -- print("Координата: " .. x .. "x" .. y .. ", индекс: "..index) - - picture[index] = background - picture[index + 1] = foreground - picture[index + 2] = alpha - picture[index + 3] = symbol - end + if compressColors then + background, foreground = colorlib.convert24BitTo8Bit(picture[i]), colorlib.convert24BitTo8Bit(picture[i + 1]) + compressionYield(i) else - error("Error while reading OCIF format: unknown Header type (" .. header .. ")") + background, foreground = picture[i], picture[i + 1] end - end + groupedPicture[picture[iPlus2]] = groupedPicture[picture[iPlus2]] or {} + groupedPicture[picture[iPlus2]][picture[iPlus3]] = groupedPicture[picture[iPlus2]][picture[iPlus3]] or {} + groupedPicture[picture[iPlus2]][picture[iPlus3]][background] = groupedPicture[picture[iPlus2]][picture[iPlus3]][background] or {} + groupedPicture[picture[iPlus2]][picture[iPlus3]][background][foreground] = groupedPicture[picture[iPlus2]][picture[iPlus3]][background][foreground] or {} + groupedPicture[picture[iPlus2]][picture[iPlus3]][background][foreground][y] = groupedPicture[picture[iPlus2]][picture[iPlus3]][background][foreground][y] or {} - file:close() + table.insert(groupedPicture[picture[iPlus2]][picture[iPlus3]][background][foreground][y], x) - return picture -end - ------------------------------- Все, что касается формата RAW ------------------------------------------------------------ - ---Сохранение в файл сырого формата изображения типа 2 (подробнее о типах см. конец файла) -local function saveRaw(file, picture) - - file:write("\n") - - local xPos, yPos = 1, 1 - for i = 1, picture.width * picture.height * constants.elementCount, constants.elementCount do - file:write( HEXtoSTRING(picture[i], 6), " ", HEXtoSTRING(picture[i + 1], 6), " ", HEXtoSTRING(picture[i + 2], 2), " ", picture[i + 3], " ") - - xPos = xPos + 1 - if xPos > picture.width then - xPos = 1 - yPos = yPos + 1 - file:write("\n") + x = x + 1 + if x > picture[1] then + x, y = 1, y + 1 end end - file:close() + return groupedPicture end ---Загрузка из файла сырого формата изображения типа 2 (подробнее о типах см. конец файла) -local function loadRaw(file) - --Читаем один байт "прост так" - file:read(1) - - local picture = {} - local background, foreground, alpha, symbol, sLine - local lineCounter = 0 - - for line in file:lines() do - sLine = unicode.len(line) - for i = 1, sLine, constants.rawImageLoadStep do - background = "0x" .. unicode.sub(line, i, i + 5) - foreground = "0x" .. unicode.sub(line, i + 7, i + 12) - alpha = "0x" .. unicode.sub(line, i + 14, i + 15) - symbol = unicode.sub(line, i + 17, i + 17) - - table.insert(picture, tonumber(background)) - table.insert(picture, tonumber(foreground)) - table.insert(picture, tonumber(alpha)) - table.insert(picture, symbol) - end - lineCounter = lineCounter + 1 - end - - picture.width = sLine / constants.rawImageLoadStep - picture.height = lineCounter - - file:close() - return picture -end - ------------------------------------ Все, что касается реального PNG-формата ------------------------------------------------------------ - -function image.loadPng(path) - if not _G.libPNGImage then _G.libPNGImage = require("libPNGImage") end - - local success, pngImageOrErrorMessage = pcall(libPNGImage.newFromFile, path) - - if not success then - io.stderr:write(" * PNGView: PNG Loading Error *\n") - io.stderr:write("While attempting to load '" .. path .. "' as PNG, libPNGImage erred:\n") - io.stderr:write(pngImageOrErrorMessage) - return - end - - local picture = {} - picture.width, picture.height = pngImageOrErrorMessage:getSize() - - local r, g, b, a, hex - for j = 0, picture.height - 1 do - for i = 0, picture.width - 1 do - r, g, b, a = pngImageOrErrorMessage:getPixel(i, j) - - if r and g and b and a and a > 0 then - hex = colorlib.RGBtoHEX(r, g, b) - table.insert(picture, hex) - table.insert(picture, 0x000000) - table.insert(picture, 0x00) - table.insert(picture, " ") - end - - end - end - - return picture -end - ------------------------------------ Вспомогательные функции программы ------------------------------------------------------------ - ---Оптимизировать и сгруппировать по цветам картинку типа 2 (подробнее о типах см. конец файла) -function image.convertToGroupedImage(picture) - --Создаем массив оптимизированной картинки - local optimizedPicture = {} - --Задаем константы - local xPos, yPos, background, foreground, alpha, symbol = 1, 1, nil, nil, nil, nil - --Перебираем все элементы массива - for i = 1, picture.width * picture.height * constants.elementCount, constants.elementCount do - --Получаем символ из неоптимизированного массива - background, foreground, alpha, symbol = picture[i], picture[i + 1], picture[i + 2], picture[i + 3] - --Группируем картинку по цветам - optimizedPicture[alpha] = optimizedPicture[alpha] or {} - optimizedPicture[alpha][symbol] = optimizedPicture[alpha][symbol] or {} - optimizedPicture[alpha][symbol][foreground] = optimizedPicture[alpha][symbol][foreground] or {} - optimizedPicture[alpha][symbol][foreground][background] = optimizedPicture[alpha][symbol][foreground][background] or {} - optimizedPicture[alpha][symbol][foreground][background][yPos] = optimizedPicture[alpha][symbol][foreground][background][yPos] or {} - - table.insert(optimizedPicture[alpha][symbol][foreground][background][yPos], xPos) - --Если xPos достигает width изображения, то сбросить на 1, иначе xPos++ - xPos = (xPos == picture.width) and 1 or xPos + 1 - --Если xPos равняется 1, то yPos++, а если нет, то похуй - yPos = (xPos == 1) and yPos + 1 or yPos - end - --Возвращаем оптимизированный массив - return optimizedPicture -end - ---Нарисовать по указанным координатам картинку указанной ширины и высоты для теста -function image.create(width, height, background, foreground, alpha, symbol, random) - background, foreground, alpha, symbol = background or 0x0, foreground or 0x0, alpha or 0x0, symbol or " " - local picture, symbolArray = {width = width, height = height}, {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "А", "Б", "В", "Г", "Д", "Е", "Ж", "З", "И", "Й", "К", "Л", "И", "Н", "О", "П", "Р", "С", "Т", "У", "Ф", "Х", "Ц", "Ч", "Ш", "Щ", "Ъ", "Ы", "Ь", "Э", "Ю", "Я"} - for i = 1, picture.width * picture.height do - if random then - background = math.random(0x000000, 0xffffff) - foreground = math.random(0x000000, 0xffffff) - symbol = symbolArray[math.random(1, #symbolArray)] - end - table.insert(picture, background) - table.insert(picture, foreground) - table.insert(picture, alpha) - table.insert(picture, symbol) - end - return picture -end - --- Функция оптимизации цвета текста и символов у картинки, уменьшает число GPU-операций при отрисовке из буфера --- Вызывается только при сохранении файла, так что на быстродействии не сказывается, --- а в целом штука очень и очень полезная. Фиксит криворукость художников. -function image.optimize(picture) - local i1, i2, i3 = 0, 0, 0 - for i = 1, #picture, constants.elementCount do - --Уменьшаем нагрузку на ЦОПЕ - i1, i2, i3 = i + 1, i + 2, i + 3 - --Если цвет фона равен цвету текста, и используется псевдографические полупиксели - if picture[i] == picture[i1] and (picture[i3] == "▄" or picture[i3] == "▀") then - picture[i3] = " " - end - --Если символ равен пролбелу, т.е. цвет текста не учитывается - if picture[i3] == " " then - picture[i1] = 0x000000 - end - end - - return picture -end - ---Получить пиксель из изображения по указанным координатам -function image.get(picture, x, y) - if x >= 1 and y >= 1 and x <= picture.width and y <= picture.height then - local index = convertCoordsToIndex(x, y, picture.width) - return picture[index], picture[index + 1], picture[index + 2], picture[index + 3] - else - return nil - end -end - ---Установить пиксель в изображении по указанным координатам -function image.set(picture, x, y, background, foreground, alpha, symbol, debug) - if x >= 1 and y >= 1 and x <= picture.width and y <= picture.height then - local index = convertCoordsToIndex(x, y, picture.width) - picture[index] = background or 0xFF00FF - picture[index + 1] = foreground or 0xFF00FF - picture[index + 2] = alpha or 0x00 - picture[index + 3] = symbol or " " - return picture - else - error("Can't set pixel because it's located out of image coordinates: x = " .. x .. ", y = " .. y) - end -end - ------------------------------------------- Функция снятия скриншота с экрана ------------------------------------------------ - ---Сделать скриншот экрана и сохранить его по указанному пути -function image.screenshot(path) - local picture = {} - local foreground, background, symbol - picture.width, picture.height = component.gpu.getResolution() - - for j = 1, picture.height do - for i = 1, picture.width do - symbol, foreground, background = component.gpu.get(i, j) - table.insert(picture, background) - table.insert(picture, foreground) - table.insert(picture, 0x00) - table.insert(picture, symbol) - end - end - - image.save(path, picture) -end - ------------------------------------------- Методы трансформирования изображения ------------------------------------------------ - ---Вставка ряда пикселей -function image.insertRow(picture, y, rowArray) - local index = convertCoordsToIndex(1, y, picture.width) - for i = 1, #rowArray, 4 do - table.insert(picture, index, rowArray[i + 3]) - table.insert(picture, index, rowArray[i + 2]) - table.insert(picture, index, rowArray[i + 1]) - table.insert(picture, index, rowArray[i]) - index = index + 4 - end - picture.height = picture.height + 1 - return picture -end - -function image.insertColumn(picture, x, columnArray) - local index = convertCoordsToIndex(x, 1, picture.width) - for i = 1, #columnArray, 4 do - table.insert(picture, index, columnArray[i + 3]) - table.insert(picture, index, columnArray[i + 2]) - table.insert(picture, index, columnArray[i + 1]) - table.insert(picture, index, columnArray[i]) - index = index + picture.width * 4 + 4 - end - picture.width = picture.width + 1 - return picture -end - ---Удаление ряда пикселей -function image.removeRow(picture, y) - local index = convertCoordsToIndex(1, y, picture.width) - for i = 1, picture.width * 4 do table.remove(picture, index) end - picture.height = picture.height - 1 - return picture -end - ---Удаление колонки пикселей -function image.removeColumn(picture, x) - local index = convertCoordsToIndex(x, 1, picture.width) - for i = 1, picture.height do - for j = 1, 4 do table.remove(picture, index) end - index = index + (picture.width) * 4 - 4 - end - picture.width = picture.width - 1 - return picture -end - ---Получение ряда пикселей -function image.getRow(picture, y) - local row, background, foreground, alpha, symbol = {width = picture.width, height = 1} - for x = 1, picture.width do - background, foreground, alpha, symbol = image.get(picture, x, y) - table.insert(row, background) - table.insert(row, foreground) - table.insert(row, alpha) - table.insert(row, symbol) - end - return row -end - ---Получение колонки пикселей -function image.getColumn(picture, x) - local column, background, foreground, alpha, symbol = {width = 1, height = picture.height} - for y = 1, picture.height do - background, foreground, alpha, symbol = image.get(picture, x, y) - table.insert(column, background) - table.insert(column, foreground) - table.insert(column, alpha) - table.insert(column, symbol) - end - return column -end - ---Создание копии массива изображения -function image.duplicate(picture) - local newPicture = {width = picture.width, height = picture.height} - for i = 1, #picture do newPicture[i] = picture[i] end - return newPicture -end - ---Аналог свободного трансформирования из фотошопа -function image.transform(picture, newWidth, newHeight) - local newPicture = image.duplicate(picture) - local widthScale, heightScale = newWidth / picture.width, newHeight / picture.height - local deltaWidth, deltaHeight = math.abs(newWidth - picture.width), math.abs(newHeight - picture.height) - local widthIteration, heightIteration = widthScale > 1 and newWidth / deltaWidth or picture.width / deltaWidth, heightScale > 1 and newHeight / deltaHeight or picture.height / deltaHeight - - -- ecs.error(widthIteration, heightIteration, deltaWidth, picture.width, newWidth) - - --Сжимаем шакалов по ширине - if widthScale > 1 then - local x = 1 - while x <= newPicture.width do - if math.floor(x % widthIteration) == 0 then newPicture = image.insertColumn(newPicture, x, image.getColumn(newPicture, x - 1)) end - x = x + 1 - end - elseif widthScale < 1 then - local x = 1 - while x <= newPicture.width do - if math.floor(x % widthIteration) == 0 then newPicture = image.removeColumn(newPicture, x) end - x = x + 1 - end - end - - --И по высоте - if heightScale > 1 then - local y = 1 - while y <= newPicture.height do - if math.floor(y % heightIteration) == 0 then newPicture = image.insertRow(newPicture, y, image.getRow(newPicture, y - 1)) end - y = y + 1 - end - elseif heightScale < 1 then - local y = 1 - while y <= newPicture.height do - if math.floor(y % heightIteration) == 0 then newPicture = image.removeRow(newPicture, y) end - y = y + 1 - end - end - - return newPicture -end - -function image.expand(picture, mode, countOfPixels, background, foreground, alpha, symbol) - local column = {}; for i = 1, picture.height do table.insert(column, background or 0xFFFFFF); table.insert(column, foreground or 0xFFFFFF); table.insert(column, alpha or 0x00); table.insert(column, symbol or " ") end - local row = {}; for i = 1, picture.height do table.insert(row, background or 0xFFFFFF); table.insert(row, foreground or 0xFFFFFF); table.insert(row, alpha or 0x00); table.insert(row, symbol or " ") end - - if mode == "fromRight" then - for i = 1, countOfPixels do picture = image.insertColumn(picture, picture.width + 1, column) end - elseif mode == "fromLeft" then - for i = 1, countOfPixels do picture = image.insertColumn(picture, 1, column) end - elseif mode == "fromTop" then - for i = 1, countOfPixels do picture = image.insertRow(picture, 1, row) end - elseif mode == "fromBottom" then - for i = 1, countOfPixels do picture = image.insertRow(picture, picture.height + 1, row) end - else - error("Wrong image expanding mode: only 'fromRight', 'fromLeft', 'fromTop' and 'fromBottom' are supported.") - end - - return picture -end - -function image.crop(picture, mode, countOfPixels) - if mode == "fromRight" then - for i = 1, countOfPixels do picture = image.removeColumn(picture, picture.width) end - elseif mode == "fromLeft" then - for i = 1, countOfPixels do picture = image.removeColumn(picture, 1) end - elseif mode == "fromTop" then - for i = 1, countOfPixels do picture = image.removeRow(picture, 1) end - elseif mode == "fromBottom" then - for i = 1, countOfPixels do picture = image.removeRow(picture, picture.height) end - else - error("Wrong image cropping mode: only 'fromRight', 'fromLeft', 'fromTop' and 'fromBottom' are supported.") - end - - return picture -end - -function image.flipVertical(picture) - local newPicture = {}; newPicture.width = picture.width; newPicture.height = picture.height - for j = picture.height, 1, -1 do - for i = 1, picture.width do - local index = convertCoordsToIndex(i, j, picture.width) - table.insert(newPicture, picture[index]); table.insert(newPicture, picture[index + 1]); table.insert(newPicture, picture[index + 2]); table.insert(newPicture, picture[index + 3]) - picture[index], picture[index + 1], picture[index + 2], picture[index + 3] = nil, nil, nil, nil - end - end - return newPicture -end - -function image.flipHorizontal(picture) - local newPicture = {}; newPicture.width = picture.width; newPicture.height = picture.height - for j = 1, picture.height do - for i = picture.width, 1, -1 do - local index = convertCoordsToIndex(i, j, picture.width) - table.insert(newPicture, picture[index]); table.insert(newPicture, picture[index + 1]); table.insert(newPicture, picture[index + 2]); table.insert(newPicture, picture[index + 3]) - picture[index], picture[index + 1], picture[index + 2], picture[index + 3] = nil, nil, nil, nil - end - end - return newPicture -end - -function image.rotate(picture, angle) - local function rotateBy90(picture) - local newPicture = {}; newPicture.width = picture.height; newPicture.height = picture.width - for i = 1, picture.width do - for j = picture.height, 1, -1 do - local index = convertCoordsToIndex(i, j, picture.width) - table.insert(newPicture, picture[index]); table.insert(newPicture, picture[index + 1]); table.insert(newPicture, picture[index + 2]); table.insert(newPicture, picture[index + 3]) - picture[index], picture[index + 1], picture[index + 2], picture[index + 3] = nil, nil, nil, nil - end - end - return newPicture - end - - local function rotateBy180(picture) - local newPicture = {}; newPicture.width = picture.width; newPicture.height = picture.height - for j = picture.height, 1, -1 do - for i = picture.width, 1, -1 do - local index = convertCoordsToIndex(i, j, picture.width) - table.insert(newPicture, picture[index]); table.insert(newPicture, picture[index + 1]); table.insert(newPicture, picture[index + 2]); table.insert(newPicture, picture[index + 3]) - picture[index], picture[index + 1], picture[index + 2], picture[index + 3] = nil, nil, nil, nil - end - end - return newPicture - end - - local function rotateBy270(picture) - local newPicture = {}; newPicture.width = picture.height; newPicture.height = picture.width - for i = picture.width, 1, -1 do - for j = 1, picture.height do - local index = convertCoordsToIndex(i, j, picture.width) - table.insert(newPicture, picture[index]); table.insert(newPicture, picture[index + 1]); table.insert(newPicture, picture[index + 2]); table.insert(newPicture, picture[index + 3]) - picture[index], picture[index + 1], picture[index + 2], picture[index + 3] = nil, nil, nil, nil - end - end - return newPicture - end - - if angle == 90 then - return rotateBy90(picture) - elseif angle == 180 then - return rotateBy180(picture) - elseif angle == 270 then - return rotateBy270(picture) - else - error("Can't rotate image: angle must be 90, 180 or 270 degrees.") - end -end - ------------------------------------------- Функции для работы с цветом ----------------------------------------------- - -function image.hueSaturationBrightness(picture, hue, saturation, brightness) - local function calculateBrightnessChanges(color) - local h, s, b = colorlib.HEXtoHSB(color) - b = b + brightness; if b < 0 then b = 0 elseif b > 100 then b = 100 end - s = s + saturation; if s < 0 then s = 0 elseif s > 100 then s = 100 end - h = h + hue; if h < 0 then h = 0 elseif h > 360 then h = 360 end - return colorlib.HSBtoHEX(h, s, b) - end - - for i = 1, #picture, 4 do - picture[i] = calculateBrightnessChanges(picture[i]) - picture[i + 1] = calculateBrightnessChanges(picture[i + 1]) - end - - return picture -end - -function image.hue(picture, hue) - return image.hueSaturationBrightness(picture, hue, 0, 0) -end - -function image.saturation(picture, saturation) - return image.hueSaturationBrightness(picture, 0, saturation, 0) -end - -function image.brightness(picture, brightness) - return image.hueSaturationBrightness(picture, 0, 0, brightness) -end - -function image.blackAndWhite(picture) - return image.hueSaturationBrightness(picture, 0, -100, 0) -end - -function image.colorBalance(picture, r, g, b) - local function calculateRGBChanges(color) - local rr, gg, bb = colorlib.HEXtoRGB(color) - rr = rr + r; gg = gg + g; bb = bb + b - if rr < 0 then rr = 0 elseif rr > 255 then rr = 255 end - if gg < 0 then gg = 0 elseif gg > 255 then gg = 255 end - if bb < 0 then bb = 0 elseif bb > 255 then bb = 255 end - return colorlib.RGBtoHEX(rr, gg, bb) - end - - for i = 1, #picture, 4 do - picture[i] = calculateRGBChanges(picture[i]) - picture[i + 1] = calculateRGBChanges(picture[i + 1]) - end - - return picture -end - -function image.invert(picture) - for i = 1, #picture, 4 do - picture[i] = 0xffffff - picture[i] - picture[i + 1] = 0xffffff - picture[i + 1] - end - return picture -end - -function image.photoFilter(picture, color, transparency) - if transparency < 0 then transparency = 0 elseif transparency > 255 then transparency = 255 end - for i = 1, #picture, 4 do - picture[i] = colorlib.alphaBlend(picture[i], color, transparency / 255) - picture[i + 1] = colorlib.alphaBlend(picture[i + 1], color, transparency / 255) - end - return picture -end - -function image.replaceColor(picture, fromColor, toColor) - for i = 1, #picture, 4 do - if picture[i] == fromColor then picture[i] = toColor end - end - return picture -end - ---Функция размытия по Гауссу -function image.gaussianBlur(picture, radius, force) - --Функция для генерации матрицы размытия - local function createConvolutionMatrix(maximumValue, matrixSize) - local delta = maximumValue / matrixSize - local matrix = {} - for y = 1, matrixSize do - for x = 1, matrixSize do - local value = ((x - 1) * delta + (y - 1) * delta) / 2 - matrix[y] = matrix[y] or {} - matrix[y][x] = value - end - end - return matrix - end - - --Функция для распределения стартового цвета на указанный пиксель на основе указанного значения матрицы - local function spreadPixelToSpecifiedCoordinates(picture, xCoordinate, yCoordinate, matrixValue, startBackground, startForeground, startAlpha, startSymbol) - local matrixBackground, matrixForeground, matrixAlpha, matrixSymbol = image.get(picture, xCoordinate, yCoordinate) - - if matrixBackground and matrixForeground then - local newBackground = colorlib.alphaBlend(startBackground, matrixBackground, matrixValue / 0xFF) - --Пизданись оно все в жопу, ебанина - --Короч, смари. Если символ равен пробелу, то мы полюбэ не учитываем цвет текста, верно? - --Но в будущих итерациях это цвет будет учтен, поэтому возникали ссаные баги графические - --Поэтому даже для ебучего пробела мы присваиваем значение цвета текста, равному НОВОМУ цвету фона - --Т.е. вроде бы как они и равны, но потом охуенно все будет, угу - local newForeground = matrixSymbol == " " and newBackground or colorlib.alphaBlend(startForeground, matrixForeground, matrixValue / 0xFF) - - image.set(picture, xCoordinate, yCoordinate, newBackground, newForeground, 0x00, matrixSymbol) - end - end - - --Функция, распределяющая указанный пиксель по соседним пикселям на основе матрицы - local function spreadColorToOtherPixels(picture, xStart, yStart, matrix) - --Получаем стартовые данные о пикселе - local startBackground, startForeground, startAlpha, startSymbol = image.get(picture, xStart, yStart) - local xCoordinate, yCoordinate - --Перебираем матрицу - for yMatrix = 1, #matrix do - for xMatrix = 1, #matrix[yMatrix] do - --Игнорируем стартовый пиксель, на кой хер его размывать-то? - if not (xMatrix == 1 and yMatrix == 1) then - --Получаем координаты новых пикселей в изображении - --И в обратном направлении матрицы - xCoordinate, yCoordinate = xStart - xMatrix + 1, yStart - yMatrix + 1 - spreadPixelToSpecifiedCoordinates(picture, xCoordinate, yCoordinate, matrix[yMatrix][xMatrix], startBackground, startForeground, startAlpha, startSymbol) - --Для начала в правильную сторону матрицы - xCoordinate, yCoordinate = xStart + xMatrix - 1, yStart + yMatrix - 1 - spreadPixelToSpecifiedCoordinates(picture, xCoordinate, yCoordinate, matrix[yMatrix][xMatrix], startBackground, startForeground, startAlpha, startSymbol) - end - end - end - end - - --Генерируем матрицу - local matrix = createConvolutionMatrix(force or 0x55, radius) - --Распределяем все пиксели по изображению - for y = 1, picture.height do - for x = 1, picture.width do - spreadColorToOtherPixels(picture, x, y, matrix) - end - end - return picture -end - ------------------------------------------ Строковая обработка изображений ------------------------------------------------------------------- - ---Преобразовать изображение в строковую интерпретацию, которая может быть вставлена в код ---Удобно, если не хочется возиться с файловой системой -function image.toString(picture) - local stringedPicture = {} - picture = convertImageColorsTo8Bit(picture) - table.insert(stringedPicture, string.format("%02X", picture.width)) - table.insert(stringedPicture, string.format("%02X", picture.height)) - for i = 1, #picture, 4 do - table.insert(stringedPicture, string.format("%02X", picture[i])) - table.insert(stringedPicture, string.format("%02X", picture[i + 1])) - table.insert(stringedPicture, string.format("%02X", picture[i + 2])) - table.insert(stringedPicture, picture[i + 3]) - end - picture = convertImageColorsTo24Bit(picture) - return table.concat(stringedPicture) -end - ---Получить изображение из строковой интерпретации, созданной ранее -function image.fromString(stringedPicture) - local picture = {} - local subIndex = 1 - picture.width = tonumber("0x" .. unicode.sub(stringedPicture, subIndex, subIndex + 1)); subIndex = subIndex + 2 - picture.height = tonumber("0x" .. unicode.sub(stringedPicture, subIndex, subIndex + 1)); subIndex = subIndex + 2 - - for pixel = 1, picture.width * picture.height do - table.insert(picture, tonumber("0x" .. unicode.sub(stringedPicture, subIndex, subIndex + 1))); subIndex = subIndex + 2 - table.insert(picture, tonumber("0x" .. unicode.sub(stringedPicture, subIndex, subIndex + 1))); subIndex = subIndex + 2 - table.insert(picture, tonumber("0x" .. unicode.sub(stringedPicture, subIndex, subIndex + 1))); subIndex = subIndex + 2 - table.insert(picture, unicode.sub(stringedPicture, subIndex, subIndex)); subIndex = subIndex + 1 - end - picture = convertImageColorsTo24Bit(picture) - return picture -end - ------------------------------------------ Основные функции программы ------------------------------------------------------------------- - ---Сохранить изображение любого поддерживаемого формата -function image.save(path, picture, encodingMethod) - encodingMethod = encodingMethod or 4 - --Создать папку под файл, если ее нет - fs.makeDirectory(fs.path(path)) - --Получаем формат указанного файла - local fileFormat = getFileFormat(path) - - --Проверяем соответствие формата файла - if fileFormat == constants.compressedFileFormat then - --Оптимизируем картинку - picture = image.optimize(picture) - --Открываем файл - local file = io.open(path, "w") - --Записываем сигнатуру - writeSignature(file) - --Разбираемся с кодировкой - if encodingMethod == 0 or string.lower(encodingMethod) == "raw" then - file:write(string.char(encodingMethod)) - saveRaw(file, picture) - elseif encodingMethod == 1 or string.lower(encodingMethod) == "ocif1" then - file:write(string.char(encodingMethod)) - saveOCIF1(file, picture) - elseif encodingMethod == 2 or string.lower(encodingMethod) == "ocif2" then - file:write(string.char(encodingMethod)) - saveOCIF2(file, picture) - elseif encodingMethod == 3 or string.lower(encodingMethod) == "ocif3" then - error("Saving in encoding method 3 is deprecated and no longer supported. Use method 4 instead of it.") - elseif encodingMethod == 4 or string.lower(encodingMethod) == "ocif4" then - file:write(string.char(encodingMethod)) - picture = convertImageColorsTo8Bit(picture) - saveOCIF2(file, picture, true) - picture = convertImageColorsTo24Bit(picture) - elseif encodingMethod == 6 then - file:close() - file = io.open(path, "w") - file:write(image.toString(picture)) - file:close() - else - file:close() - error("Unsupported encoding method.\n") - end - else - file:close() - error("Unsupported file format.\n") - end -end - ---Загрузить изображение любого поддерживаемого формата -function image.load(path) - --Кинуть ошибку, если такого файла не существует - if not fs.exists(path) then error("File \""..path.."\" does not exists.\n") end - --Получаем формат указанного файла - local fileFormat = getFileFormat(path) - --Проверяем соответствие формата файла - if fileFormat == constants.compressedFileFormat then - local file = io.open(path, "rb") - --Читаем сигнатуру файла - readSignature(file) - --Читаем метод обработки изображения - local encodingMethod = string.byte(file:read(1)) - --Читаем файлы в зависимости от метода - --print("Загружаю файл типа " .. encodingMethod) - if encodingMethod == 0 then - return image.optimize(loadRaw(file)) - elseif encodingMethod == 1 then - return image.optimize(loadOCIF1(file)) - elseif encodingMethod == 2 then - return image.optimize(loadOCIF2(file)) - elseif encodingMethod == 3 then - return image.optimize(loadOCIF2(file, true)) - elseif encodingMethod == 4 then - return image.optimize(loadOCIF2(file, true, true)) - else - file:close() - error("Unsupported encoding method: " .. encodingMethod .. "\n") - end - --Поддержка ПНГ-формата - elseif fileFormat == constants.pngFileFormat then - return image.loadPng(path) - else - error("Unsupported file format: " .. fileFormat .. "\n") - end -end - ---Отрисовка изображения типа 3 (подробнее о типах см. конец файла) function image.draw(x, y, picture) - --Конвертируем в групповое изображение - picture = image.convertToGroupedImage(picture) - --Все как обычно - x, y = x - 1, y - 1 + local groupedPicture = image.group(picture) - local xPos, yPos, currentBackground - for alpha in pairs(picture) do - for symbol in pairs(picture[alpha]) do - for foreground in pairs(picture[alpha][symbol]) do - if component.gpu.getForeground ~= foreground then component.gpu.setForeground(foreground) end - for background in pairs(picture[alpha][symbol][foreground]) do - if component.gpu.getBackground ~= background then component.gpu.setBackground(background) end - currentBackground = background - - for yArray in pairs(picture[alpha][symbol][foreground][background]) do - for xArray = 1, #picture[alpha][symbol][foreground][background][yArray] do - xPos, yPos = x + picture[alpha][symbol][foreground][background][yArray][xArray], y + yArray - - --Если альфа имеется, но она не совсем прозрачна - if (alpha > 0x00 and alpha < 0xFF) or (alpha == 0xFF and symbol ~= " ")then - _, _, currentBackground = component.gpu.get(xPos, yPos) - currentBackground = colorlib.alphaBlend(currentBackground, background, alpha / 0xFF) - component.gpu.setBackground(currentBackground) - - component.gpu.set(xPos, yPos, symbol) - - elseif alpha == 0x00 then - if currentBackground ~= background then - currentBackground = background - component.gpu.setBackground(currentBackground) - end - - component.gpu.set(xPos, yPos, symbol) - end - --ecs.wait() + for alpha in pairs(groupedPicture) do + for symbol in pairs(groupedPicture[alpha]) do + for background in pairs(groupedPicture[alpha][symbol]) do + gpu.setBackground(background) + for foreground in pairs(groupedPicture[alpha][symbol][background]) do + gpu.setForeground(foreground) + for yPos in pairs(groupedPicture[alpha][symbol][background][foreground]) do + for xPos = 1, #groupedPicture[alpha][symbol][background][foreground][yPos] do + gpu.set(x + groupedPicture[alpha][symbol][background][foreground][yPos][xPos] - 1, y + yPos - 1, symbol) end end end @@ -1287,48 +75,308 @@ function image.draw(x, y, picture) end end -local function createSaveAndLoadFiles() - ecs.prepareToExit() - ecs.error("Создаю/загружаю изображение") - -- local cyka = image.load("MineOS/System/OS/Icons/Love.pic") - local cyka = image.createImage(4, 4) - ecs.error("Рисую загруженное изображение") - image.draw(2, 2, cyka) - ecs.error("Сохраняю его в 4 форматах") - image.save("0.pic", cyka, 0) - image.save("1.pic", cyka, 1) - image.save("4.pic", cyka, 4) - ecs.prepareToExit() - ecs.error("Загружаю все 4 формата и рисую их") - local cyka0 = image.load("0.pic") - image.draw(2, 2, cyka0) - local cyka1 = image.load("1.pic") - image.draw(10, 2, cyka1) - local cyka4 = image.load("4.pic") - image.draw(34, 2, cyka4) +function image.create(width, height, background, foreground, alpha, symbol, random) + local picture = {width, height} + + for i = 1, width * height do + table.insert(picture, random and math.random(0x0, 0xFFFFFF) or (background or 0x0)) + table.insert(picture, random and math.random(0x0, 0xFFFFFF) or (foreground or 0x0)) + table.insert(picture, alpha or 0x0) + table.insert(picture, random and string.char(math.random(65, 90)) or (symbol or " ")) + end + + return picture +end + +function image.copy(picture) + local newPicture = {} + for i = 1, #picture do + table.insert(newPicture, picture[i]) + end + + return newPicture +end + +function image.optimize(picture) + local iPlus1, iPlus2, iPlus3 + + for i = 3, #picture, 4 do + iPlus1, iPlus2, iPlus3 = i + 1, i + 2, i + 3 + + if picture[i] == picture[iPlus1] and (picture[iPlus3] == "▄" or picture[iPlus3] == "▀") then + picture[iPlus3] = " " + end + + if picture[iPlus3] == " " then + picture[iPlus1] = 0x000000 + end + end + + return picture +end + +-------------------------------------------------- Filesystem related methods -------------------------------------------------- + +function image.loadFormatModule(path, fileExtension) + local loadSuccess, loadReason = loadfile(path) + if loadSuccess then + local xpcallSuccess, xpcallReason = pcall(loadSuccess, image) + if xpcallSuccess then + image.formatModules[fileExtension] = xpcallReason + else + error("Failed to execute image format module: " .. tostring(xpcallReason)) + end + else + error("Failed to load image format module: " .. tostring(loadReason)) + end +end + +local function getFileExtension(path) + return string.match(path, "^.+(%.[^%/]+)%/?$") +end + +local function loadOrSave(methodName, path, picture, encodingMethod) + local fileExtension = getFileExtension(path) + if image.formatModules[fileExtension] then + return image.formatModules[fileExtension][methodName](path, picture, encodingMethod) + else + error("Failed to open file \"" .. tostring(path) .. "\" as image: format module for extension \"" .. tostring(fileExtension) .. "\" is not loaded") + end +end + +function image.save(path, picture, encodingMethod) + return loadOrSave("save", path, image.optimize(picture), encodingMethod) +end + +function image.load(path) + return loadOrSave("load", path) +end + +-------------------------------------------------- Image serialization -------------------------------------------------- + +function image.toString(picture) + local charArray = { + string.format("%02X", picture[1]), + string.format("%02X", picture[2]) + } + + for i = 3, #picture, 4 do + table.insert(charArray, string.format("%02X", colorlib.convert24BitTo8Bit(picture[i]))) + table.insert(charArray, string.format("%02X", colorlib.convert24BitTo8Bit(picture[i]))) + table.insert(charArray, string.format("%02X", picture[i + 2])) + table.insert(charArray, picture[i + 3]) + + compressionYield(i) + end + + return table.concat(charArray) +end + +function image.fromString(pictureString) + local picture = { + tonumber("0x" .. unicode.sub(pictureString, 1, 2)), + tonumber("0x" .. unicode.sub(pictureString, 3, 4)) + } + + for i = 5, unicode.len(pictureString), 7 do + table.insert(picture, colorlib.convert8BitTo24Bit(tonumber("0x" .. unicode.sub(pictureString, i, i + 1)))) + table.insert(picture, colorlib.convert8BitTo24Bit(tonumber("0x" .. unicode.sub(pictureString, i + 2, i + 3)))) + table.insert(picture, tonumber("0x" .. unicode.sub(pictureString, i + 4, i + 5))) + table.insert(picture, unicode.sub(pictureString, i + 6, i + 6)) + end + + return picture +end + +-------------------------------------------------- Image processing -------------------------------------------------- + +function image.set(picture, x, y, background, foreground, alpha, symbol) + local index = image.getImageIndexByCoordinates(x, y, picture[1]) + picture[index], picture[index + 1], picture[index + 2], picture[index + 3] = background, foreground, alpha, symbol + + return picture +end + +function image.get(picture, x, y) + local index = image.getImageIndexByCoordinates(x, y, picture[1]) + return picture[index], picture[index + 1], picture[index + 2], picture[index + 3] +end + +function image.getSize(picture) + return picture[1], picture[2] +end + +function image.getWidth(picture) + return picture[1] +end + +function image.getHeight(picture) + return picture[2] +end + +function image.transform(picture, newWidth, newHeight) + local newPicture, stepWidth, stepHeight, background, foreground, alpha, symbol = {newWidth, newHeight}, picture[1] / newWidth, picture[2] / newHeight + + local x, y = 1, 1 + for j = 1, newHeight do + for i = 1, newWidth do + background, foreground, alpha, symbol = image.get(picture, math.floor(x), math.floor(y)) + table.insert(newPicture, background) + table.insert(newPicture, foreground) + table.insert(newPicture, alpha) + table.insert(newPicture, symbol) + + x = x + stepWidth + end + x, y = 1, y + stepHeight + end + + return newPicture +end + +function image.crop(picture, fromX, fromY, width, height) + if fromX >= 1 and fromY >= 1 and fromX + width - 1 <= picture[1] and fromY + height - 1 <= picture[2] then + local newPicture, background, foreground, alpha, symbol = {width, height} + + for y = fromY, fromY + height - 1 do + for x = fromX, fromX + width - 1 do + background, foreground, alpha, symbol = image.get(picture, x, y) + table.insert(newPicture, background) + table.insert(newPicture, foreground) + table.insert(newPicture, alpha) + table.insert(newPicture, symbol) + end + end + + return newPicture + else + error("Failed to crop image: target coordinates are out of source range") + end +end + +function image.flipHorizontally(picture) + local newPicture, background, foreground, alpha, symbol = {picture[1], picture[2]} + + for y = 1, picture[2] do + for x = picture[1], 1, -1 do + background, foreground, alpha, symbol = image.get(picture, x, y) + table.insert(newPicture, background) + table.insert(newPicture, foreground) + table.insert(newPicture, alpha) + table.insert(newPicture, symbol) + end + end + + return newPicture +end + +function image.flipVertically(picture) + local newPicture, background, foreground, alpha, symbol = {picture[1], picture[2]} + + for y = picture[2], 1, -1 do + for x = 1, picture[1] do + background, foreground, alpha, symbol = image.get(picture, x, y) + table.insert(newPicture, background) + table.insert(newPicture, foreground) + table.insert(newPicture, alpha) + table.insert(newPicture, symbol) + end + end + + return newPicture +end + +function image.expand(picture, fromTop, fromBottom, fromLeft, fromRight, background, foreground, alpha, symbol) + local newPicture = image.create(picture[1] + fromRight + fromLeft, picture[2] + fromTop + fromBottom, background, foreground, alpha, symbol) + + for y = 1, picture[2] do + for x = 1, picture[1] do + image.set(newPicture, x + fromLeft, y + fromTop, image.get(picture, x, y)) + end + end + + return newPicture end ------------------------------------------------------------------------------------------------------------------------ --- local picture = image.load("MineOS/System/OS/Icons/Love.pic") --- buffer.clear(0xFF8888) --- buffer.draw(true) +image.loadFormatModule("/lib/ImageFormatModules/OCIF.lua", ".pic") --- buffer.image(1, 1, picture) --- buffer.draw() +------------------------------------------------------------------------------------------------------------------------ --- local newPicture = transform(picture, 0.5, 2) +-- local function loadImageInOldFormat(path) +-- local picture = require("image").load(path) +-- table.insert(picture, 1, picture.height) +-- table.insert(picture, 1, picture.width) +-- picture.width, picture.height = nil, nil +-- return picture +-- end --- local columnArray = {}; for i = 1, picture.height do table.insert(columnArray, 0xFFFFFF); table.insert(columnArray, 0x000000); table.insert(columnArray, 0x00); table.insert(columnArray, " ") end --- local rowArray = {}; for i = 1, picture.width do table.insert(rowArray, 0xFFFFFF); table.insert(rowArray, 0x000000); table.insert(rowArray, 0x00); table.insert(rowArray, " ") end --- local rowArray = image.getRow(picture, 2) --- picture = image.insertColumn(picture, 1, columnArray) --- picture = image.insertRow(picture, 3, rowArray) --- picture = image.removeColumn(picture, 1) +-- local fs = require("filesystem") +-- local function recursiveConversion(path, targetPath) +-- for file in fs.list(path) do +-- if fs.isDirectory(path .. file) then +-- if not string.find(path .. file, "ConvertedPics") then +-- recursiveConversion(path .. file, targetPath) +-- end +-- else +-- local fileExtension = getFileExtension(path .. file) +-- if fileExtension == ".pic" then +-- print("Загружаю пикчу в старом формате:", path .. file) +-- local oldPicture = loadImageInOldFormat(path .. file) --- buffer.image(1, 19, picture) --- buffer.image(1, 19, newPicture) --- buffer.draw() +-- -- local newPath = string.gsub(path, ".app", "") +-- -- print("Сейвлю пикчу в новом:", targetPath .. newPath .. file) +-- -- fs.makeDirectory(targetPath .. newPath) +-- -- image.save(targetPath .. newPath .. file, oldPicture, 6) +-- -- print("---------------") + +-- print("Пересохраняю ее в новом формате") +-- image.save(path .. file, oldPicture, 6) +-- end +-- end +-- end +-- end + +-- recursiveConversion("/MineOS/", "/ConvertedPics/") + +-- local function clearAndDraw(picture) +-- gpu.setBackground(0x2D2D2D) +-- gpu.setForeground(0xFFFFFF) +-- gpu.fill(1, 1, 160, 50, " ") + +-- image.draw(1, 1, picture) +-- end + +-- local w, h = 2, 2 +-- local picture = image.create(w, h, 0xFF0000, 0xFFFFFF, 0x0, "Q") +-- local picture = loadImageInOldFormat("/MineOS/System/OS/Icons/Love.pic") + +-- print("Saving as old...") +-- require("image").save("/testPicOld.pic", picture, 4) + +-- print("Processing image...") +-- local newPicture = image.transform(picture, 100, 50) +-- local newPicture = image.flipVertically(picture) +-- local newPicture = image.crop(picture, 4, 4, 20, 10) +-- local newPicture = image.expand(picture, 1, 1, 1, 1, 0xFFFFFF, 0x000000, 0x0, "#") +-- clearAndDraw(newPicture) + +-- print("ToStringing...") +-- local pictureString = image.toString(picture) +-- print(pictureString) + +-- print("FromStringing...") +-- local fromStringPicture = image.fromString("0804000000 000000 000000 000000 000000 000000 000000 0000FF 000000 0000FF 0000FF 0000FF 0000FF 0000FF 000000 0000FF 000000 000000 000000 000000 000000 000000 000000 0000FF 000000 0000FF 0000FF 0000FF 0000FF 0000FF 000000 0000FF ") +-- clearAndDraw(fromStringPicture) + +-- print("Creating new...") +-- image.save("/testPic.pic", picture, 6) + +-- print("Loading new...") +-- local loadedPicture = image.load("/testPic.pic") +-- print("Drawing new...") +-- clearAndDraw(loadedPicture) ------------------------------------------------------------------------------------------------------------------------ diff --git a/lib/internetLib.lua b/lib/internetLib.lua new file mode 100755 index 00000000..4826d27a --- /dev/null +++ b/lib/internetLib.lua @@ -0,0 +1,83 @@ + +----------------------------------------- Libraries ----------------------------------------- + +local fs = require("filesystem") +local component = require("component") +local internet = {} + +----------------------------------------- Main methods ----------------------------------------- + +function internet.request(url) + local pcallSuccess, requestHandle, requestReason = pcall(component.internet.request, url) + + -- Если функция компонента была вызвана верно, то идем дальше + if pcallSuccess then + -- Если компонент вернул там хендл соединения, то читаем ответ из него + -- Хендл может не вернуться в случае хуевой урл-ки, которая не нравится компоненту + if requestHandle then + local responseData = "" + -- Читаем данные из хендла по кусочкам + while true do + local data, reason = requestHandle.read(math.huge) + -- Если прочтение удалость, то записываем кусочек в буфер + if data then + responseData = responseData .. data + else + -- Если чтение не удалось, и существует некий прочитанный кусочек, то в нем стопудова содержится ошибка чтения + requestHandle:close() + if reason then + return false, reason + -- А если кусочка нет, то это значит, что соединение можно закрывать с чистой совестью и возвращать всю инфу + else + return true, responseData + end + end + end + else + return false, "Invalid URL-addess" + end + else + return false, "Usage: internet.request(string url)" + end +end + +function internet.downloadFile(url, path) + local success, result = internet.request(url) + if success then + fs.makeDirectory(fs.path(path) or "") + local file = io.open(path, "w") + file:write(result) + file:close() + return true + else + return false, "Could not connect to to URL-address \"" .. tostring(url) .. "\", the reason is \"" .. tostring(result) .. "\"" + end +end + +function internet.runScript(url) + local success, result = internet.request(url) + if success then + local loadSucces, loadReason = load(result) + if loadSucces then + local xpcallSuccess, xpcallSuccessReason = xpcall(loadSucces, debug.traceback) + if xpcallSuccess then + return true + else + return false, "Failed to run script: " .. tostring(xpcallSuccessReason) + end + else + return false, "Failed to run script: " .. tostring(loadReason) + end + else + return false, "Could not connect to to URL-address \"" .. tostring(url) .. "\", the reason is \"" .. tostring(result) .. "\"" + end +end + +----------------------------------------- Cyka ----------------------------------------- + +return internet + + + + + diff --git a/lib/palette.lua b/lib/palette.lua index cf77f8eb..fb3f6e71 100755 --- a/lib/palette.lua +++ b/lib/palette.lua @@ -205,7 +205,6 @@ local function createWindow(x, y) drawAll() end bigRainbow.onDrag = bigRainbow.onTouch - x = x + bigRainbow.width + 2 miniRainbow = window:addImage(x, y, image.create(3, 25)) diff --git a/lib/rayEngine.lua b/lib/rayEngine.lua index 47f654c8..d0cddb54 100755 --- a/lib/rayEngine.lua +++ b/lib/rayEngine.lua @@ -40,12 +40,12 @@ end -- Позиция оружия на экране и всех его вспомогательных текстур function rayEngine.calculateWeaponPosition() - rayEngine.currentWeapon.xWeapon = buffer.screen.width - rayEngine.currentWeapon.weaponTexture.width + 1 - rayEngine.currentWeapon.yWeapon = buffer.screen.height - rayEngine.currentWeapon.weaponTexture.height + 1 + rayEngine.currentWeapon.xWeapon = buffer.screen.width - rayEngine.currentWeapon.weaponTexture[1] + 1 + rayEngine.currentWeapon.yWeapon = buffer.screen.height - rayEngine.currentWeapon.weaponTexture[2] + 1 rayEngine.currentWeapon.xFire = rayEngine.currentWeapon.xWeapon + rayEngine.weapons[rayEngine.currentWeapon.ID].firePosition.x rayEngine.currentWeapon.yFire = rayEngine.currentWeapon.yWeapon + rayEngine.weapons[rayEngine.currentWeapon.ID].firePosition.y - rayEngine.currentWeapon.xCrosshair = math.floor(buffer.screen.width / 2 - rayEngine.currentWeapon.crosshairTexture.width / 2) - rayEngine.currentWeapon.yCrosshair = math.floor(buffer.screen.height / 2 - rayEngine.currentWeapon.crosshairTexture.height / 2) + rayEngine.currentWeapon.xCrosshair = math.floor(buffer.screen.width / 2 - rayEngine.currentWeapon.crosshairTexture[1] / 2) + rayEngine.currentWeapon.yCrosshair = math.floor(buffer.screen.height / 2 - rayEngine.currentWeapon.crosshairTexture[2] / 2) end -- Грубо говоря, это расстояние от камеры до виртуального экрана, на котором рисуется весь наш мир, влияет на размер блоков @@ -286,7 +286,7 @@ end function rayEngine.intro() local logo = image.fromString("17060000FF 0000FF 0000FF 0000FF 007EFF▄007EFF▄007EFF▄007EFF▀007EFF▀007EFF▀007EFF▀007EFF▀007EFF▀007EFF▀007EFF▄007EFF▄007EFF▄0000FF 0000FF 0000FF 0000FF 0000FF 0000FF 0000FF 007EFF▄007EFF▀007EFF▀0000FF 0000FF 0000FF 0000FF 0053FF▄0053FF▀0053FF▀0053FF▀0053FF▄0000FF 0000FF 0000FF 0000FF 007EFF▀007EFF▀007EFF▄0000FF 0000FF 0000FF 007EFF▀007EFF▄0000FF 0000FF 0000FF 0000FF 0000FF 0000FF 530000 0000FF 0078FF▀0000FF 537800▀0078FF▀0078FF▀0078FF▀0078FF▀0078FF▀0078FF▀7E7800▀0078FF▀0000FF 0078FF▀0000FF 0000FF 007EFF▀007EFF▀007EFF▄007EFF▄007EFF▄0000FF 0000FF 0053FF▀0053FF▀0053FF▀0000FF 0000FF 007EFF▄007EFF▄007EFF▄007EFF▀007EFF▀0000FF 0000FF 0000FF 0000FF 0000FF 0000FF 0000FF 0000FF 0000FF 0000FF 0000FF 007EFF▀007EFF▀007EFF▀007EFF▀007EFF▀007EFF▀007EFF▀0000FF 0000FF 0000FF 0000FF 0000FF 0000FF 0000FF 0000FF 0000FF 007EFFP007EFFo007EFFw007EFFe007EFFr007EFFe007EFFd0000FF 007EFFb007EFFy0000FF 007EFFR007EFFa007EFFy007EFFE007EFFn007EFFg007EFFi007EFFn007EFFe007EFF™0000FF 0000FF ") - local x, y = math.floor(buffer.screen.width / 2 - logo.width / 2), math.floor(buffer.screen.height / 2 - logo.height / 2) + local x, y = math.floor(buffer.screen.width / 2 - logo[1] / 2), math.floor(buffer.screen.height / 2 - logo[2] / 2) local function draw(transparency) buffer.clear(0xF0F0F0); buffer.image(x, y, logo) diff --git a/lib/windows.lua b/lib/windows.lua new file mode 100755 index 00000000..4e1427a4 --- /dev/null +++ b/lib/windows.lua @@ -0,0 +1,4 @@ + + +error("Ты че, долбоеб? Виндолиба удалена уже, пиздец") +