diff --git a/RunCat365/ContextMenuManager.cs b/RunCat365/ContextMenuManager.cs index ac8d0104..c4e9492f 100644 --- a/RunCat365/ContextMenuManager.cs +++ b/RunCat365/ContextMenuManager.cs @@ -199,7 +199,8 @@ Action assignValueAction var color = systemTheme.GetContrastColor(); var iconName = $"{runner.GetString()}_0".ToLower(); var obj = Resources.ResourceManager.GetObject(iconName); - return obj is Icon icon ? (systemTheme == Theme.Light ? icon : icon.Recolor(color)).ToBitmap() : null; + if (obj is not Bitmap bitmap) return null; + return systemTheme == Theme.Light ? bitmap : bitmap.Recolor(color); } internal void SetIcons(Theme systemTheme, Theme manualTheme, Runner runner) @@ -213,10 +214,16 @@ internal void SetIcons(Theme systemTheme, Theme manualTheme, Runner runner) for (int i = 0; i < capacity; i++) { var iconName = $"{runnerName}_{i}".ToLower(); - var icon = rm.GetObject(iconName); - if (icon is null) continue; - if (theme != Theme.Light) icon = ((Icon)icon).Recolor(color); - list.Add((Icon)icon); + if (rm.GetObject(iconName) is not Bitmap bitmap) continue; + if (theme == Theme.Light) + { + list.Add(bitmap.ToIcon()); + } + else + { + using var recolored = bitmap.Recolor(color); + list.Add(recolored.ToIcon()); + } } lock (iconLock) diff --git a/RunCat365/IconRecolorizer.cs b/RunCat365/IconRecolorizer.cs index 0c786fd8..9d1ada4e 100644 --- a/RunCat365/IconRecolorizer.cs +++ b/RunCat365/IconRecolorizer.cs @@ -13,70 +13,93 @@ // limitations under the License. using System.Drawing.Imaging; -using System.Runtime.InteropServices; - -namespace RunCat365 { - internal static class IconExtension - { - [DllImport("user32.dll", CharSet = CharSet.Auto)] - private static extern bool DestroyIcon(IntPtr handle); - - internal static Icon Recolor(this Icon icon, Color color) - { - var original = icon.ToBitmap(); - var recolored = original.Recolor(color); - - var hIcon = recolored.GetHicon(); - using var tempIcon = Icon.FromHandle(hIcon); - using var ms = new MemoryStream(); - tempIcon.Save(ms); - ms.Position = 0; - var result = new Icon(ms); - DestroyIcon(hIcon); - return result; - } - } +namespace RunCat365 +{ internal static class BitmapExtension { - internal static Bitmap Recolor(this Bitmap icon, Color color) + internal static Bitmap Recolor(this Bitmap bitmap, Color color) { - var newIcon = new Bitmap(icon.Width, icon.Height, PixelFormat.Format32bppArgb); - using (var g = Graphics.FromImage(newIcon)) g.DrawImage(icon, 0, 0); + var newBitmap = new Bitmap(bitmap.Width, bitmap.Height, PixelFormat.Format32bppArgb); - var data = newIcon.LockBits - ( - new Rectangle(0, 0, newIcon.Width, newIcon.Height), - ImageLockMode.ReadWrite, + var srcData = bitmap.LockBits( + new Rectangle(0, 0, bitmap.Width, bitmap.Height), + ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb ); - unsafe + try { - byte* ptr = (byte*)data.Scan0; + var dstData = newBitmap.LockBits( + new Rectangle(0, 0, newBitmap.Width, newBitmap.Height), + ImageLockMode.WriteOnly, + PixelFormat.Format32bppArgb + ); - for (int y = 0; y < newIcon.Height; y++) + try { - byte* row = ptr + (y * data.Stride); - - for (int x = 0; x < newIcon.Width; x++) + unsafe { - byte* pixel = row + (x * 4); - - var a = pixel[3]; + byte* srcPtr = (byte*)srcData.Scan0; + byte* dstPtr = (byte*)dstData.Scan0; - if (a > 0) + for (int y = 0; y < bitmap.Height; y++) { - pixel[0] = color.B; - pixel[1] = color.G; - pixel[2] = color.R; + byte* srcRow = srcPtr + (y * srcData.Stride); + byte* dstRow = dstPtr + (y * dstData.Stride); + + for (int x = 0; x < bitmap.Width; x++) + { + byte* srcPixel = srcRow + (x * 4); + byte* dstPixel = dstRow + (x * 4); + + dstPixel[0] = color.B; + dstPixel[1] = color.G; + dstPixel[2] = color.R; + dstPixel[3] = srcPixel[3]; + } } } } + finally + { + newBitmap.UnlockBits(dstData); + } + } + finally + { + bitmap.UnlockBits(srcData); } - newIcon.UnlockBits(data); - return newIcon; + return newBitmap; + } + + internal static Icon ToIcon(this Bitmap bitmap) + { + using var pngStream = new MemoryStream(); + bitmap.Save(pngStream, ImageFormat.Png); + var pngData = pngStream.ToArray(); + + using var icoStream = new MemoryStream(); + using var bw = new BinaryWriter(icoStream); + + bw.Write((short)0); + bw.Write((short)1); + bw.Write((short)1); + + bw.Write((byte)(bitmap.Width >= 256 ? 0 : bitmap.Width)); + bw.Write((byte)(bitmap.Height >= 256 ? 0 : bitmap.Height)); + bw.Write((byte)0); + bw.Write((byte)0); + bw.Write((short)1); + bw.Write((short)32); + bw.Write(pngData.Length); + bw.Write(22); + + bw.Write(pngData); + + icoStream.Position = 0; + return new Icon(icoStream); } } } diff --git a/RunCat365/Properties/Resources.resx b/RunCat365/Properties/Resources.resx index be3ed37f..2c98297a 100644 --- a/RunCat365/Properties/Resources.resx +++ b/RunCat365/Properties/Resources.resx @@ -1,17 +1,17 @@  - @@ -179,90 +179,63 @@ ..\resources\game\road_sprout.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\resources\runners\cat\cat_0.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\resources\runners\cat\cat_0.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\resources\runners\cat\cat_1.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\resources\runners\cat\cat_1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\resources\runners\cat\cat_2.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\resources\runners\cat\cat_2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\resources\runners\cat\cat_3.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\resources\runners\cat\cat_3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\resources\runners\cat\cat_4.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\resources\runners\cat\cat_4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\resources\runners\horse\horse_0.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\resources\runners\horse\horse_0.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\resources\runners\horse\horse_1.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\resources\runners\horse\horse_1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\resources\runners\horse\horse_2.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\resources\runners\horse\horse_2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\resources\runners\horse\horse_3.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\resources\runners\horse\horse_3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\resources\runners\horse\horse_4.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\resources\runners\horse\horse_5.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\resources\runners\horse\horse_6.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\resources\runners\horse\horse_7.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\resources\runners\horse\horse_8.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\resources\runners\horse\horse_9.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\resources\runners\horse\horse_10.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\resources\runners\horse\horse_11.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\resources\runners\horse\horse_12.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\resources\runners\horse\horse_13.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\resources\runners\horse\horse_4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\resources\runners\parrot\parrot_0.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\resources\runners\parrot\parrot_0.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\resources\runners\parrot\parrot_1.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\resources\runners\parrot\parrot_1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\resources\runners\parrot\parrot_2.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\resources\runners\parrot\parrot_2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\resources\runners\parrot\parrot_3.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\resources\runners\parrot\parrot_3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\resources\runners\parrot\parrot_4.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\resources\runners\parrot\parrot_4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\resources\runners\parrot\parrot_5.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\resources\runners\parrot\parrot_5.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\resources\runners\parrot\parrot_6.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\resources\runners\parrot\parrot_6.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\resources\runners\parrot\parrot_7.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\resources\runners\parrot\parrot_7.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\resources\runners\parrot\parrot_8.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\resources\runners\parrot\parrot_8.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\resources\runners\parrot\parrot_9.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\resources\runners\parrot\parrot_9.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - \ No newline at end of file + diff --git a/RunCat365/resources/runners/cat/cat_0.ico b/RunCat365/resources/runners/cat/cat_0.ico deleted file mode 100644 index a856cab1..00000000 Binary files a/RunCat365/resources/runners/cat/cat_0.ico and /dev/null differ diff --git a/RunCat365/resources/runners/cat/cat_0.png b/RunCat365/resources/runners/cat/cat_0.png new file mode 100644 index 00000000..c94ffebf Binary files /dev/null and b/RunCat365/resources/runners/cat/cat_0.png differ diff --git a/RunCat365/resources/runners/cat/cat_1.ico b/RunCat365/resources/runners/cat/cat_1.ico deleted file mode 100644 index 5c04edb5..00000000 Binary files a/RunCat365/resources/runners/cat/cat_1.ico and /dev/null differ diff --git a/RunCat365/resources/runners/cat/cat_1.png b/RunCat365/resources/runners/cat/cat_1.png new file mode 100644 index 00000000..3bb178f4 Binary files /dev/null and b/RunCat365/resources/runners/cat/cat_1.png differ diff --git a/RunCat365/resources/runners/cat/cat_2.ico b/RunCat365/resources/runners/cat/cat_2.ico deleted file mode 100644 index 6ef348cb..00000000 Binary files a/RunCat365/resources/runners/cat/cat_2.ico and /dev/null differ diff --git a/RunCat365/resources/runners/cat/cat_2.png b/RunCat365/resources/runners/cat/cat_2.png new file mode 100644 index 00000000..fd48ca83 Binary files /dev/null and b/RunCat365/resources/runners/cat/cat_2.png differ diff --git a/RunCat365/resources/runners/cat/cat_3.ico b/RunCat365/resources/runners/cat/cat_3.ico deleted file mode 100644 index e6878995..00000000 Binary files a/RunCat365/resources/runners/cat/cat_3.ico and /dev/null differ diff --git a/RunCat365/resources/runners/cat/cat_3.png b/RunCat365/resources/runners/cat/cat_3.png new file mode 100644 index 00000000..128fb5d2 Binary files /dev/null and b/RunCat365/resources/runners/cat/cat_3.png differ diff --git a/RunCat365/resources/runners/cat/cat_4.ico b/RunCat365/resources/runners/cat/cat_4.ico deleted file mode 100644 index de354587..00000000 Binary files a/RunCat365/resources/runners/cat/cat_4.ico and /dev/null differ diff --git a/RunCat365/resources/runners/cat/cat_4.png b/RunCat365/resources/runners/cat/cat_4.png new file mode 100644 index 00000000..cccc51b4 Binary files /dev/null and b/RunCat365/resources/runners/cat/cat_4.png differ diff --git a/RunCat365/resources/runners/horse/horse_0.ico b/RunCat365/resources/runners/horse/horse_0.ico deleted file mode 100644 index 8ee69a6b..00000000 Binary files a/RunCat365/resources/runners/horse/horse_0.ico and /dev/null differ diff --git a/RunCat365/resources/runners/horse/horse_0.png b/RunCat365/resources/runners/horse/horse_0.png new file mode 100644 index 00000000..58f5ba2d Binary files /dev/null and b/RunCat365/resources/runners/horse/horse_0.png differ diff --git a/RunCat365/resources/runners/horse/horse_1.ico b/RunCat365/resources/runners/horse/horse_1.ico deleted file mode 100644 index 2ce253da..00000000 Binary files a/RunCat365/resources/runners/horse/horse_1.ico and /dev/null differ diff --git a/RunCat365/resources/runners/horse/horse_1.png b/RunCat365/resources/runners/horse/horse_1.png new file mode 100644 index 00000000..fb418be5 Binary files /dev/null and b/RunCat365/resources/runners/horse/horse_1.png differ diff --git a/RunCat365/resources/runners/horse/horse_10.ico b/RunCat365/resources/runners/horse/horse_10.ico deleted file mode 100644 index 6f4bdb98..00000000 Binary files a/RunCat365/resources/runners/horse/horse_10.ico and /dev/null differ diff --git a/RunCat365/resources/runners/horse/horse_11.ico b/RunCat365/resources/runners/horse/horse_11.ico deleted file mode 100644 index 5a73afa3..00000000 Binary files a/RunCat365/resources/runners/horse/horse_11.ico and /dev/null differ diff --git a/RunCat365/resources/runners/horse/horse_12.ico b/RunCat365/resources/runners/horse/horse_12.ico deleted file mode 100644 index 39f8a55f..00000000 Binary files a/RunCat365/resources/runners/horse/horse_12.ico and /dev/null differ diff --git a/RunCat365/resources/runners/horse/horse_13.ico b/RunCat365/resources/runners/horse/horse_13.ico deleted file mode 100644 index 147b57f6..00000000 Binary files a/RunCat365/resources/runners/horse/horse_13.ico and /dev/null differ diff --git a/RunCat365/resources/runners/horse/horse_2.ico b/RunCat365/resources/runners/horse/horse_2.ico deleted file mode 100644 index 6a4f161f..00000000 Binary files a/RunCat365/resources/runners/horse/horse_2.ico and /dev/null differ diff --git a/RunCat365/resources/runners/horse/horse_2.png b/RunCat365/resources/runners/horse/horse_2.png new file mode 100644 index 00000000..335df4b3 Binary files /dev/null and b/RunCat365/resources/runners/horse/horse_2.png differ diff --git a/RunCat365/resources/runners/horse/horse_3.ico b/RunCat365/resources/runners/horse/horse_3.ico deleted file mode 100644 index 24f5ee6c..00000000 Binary files a/RunCat365/resources/runners/horse/horse_3.ico and /dev/null differ diff --git a/RunCat365/resources/runners/horse/horse_3.png b/RunCat365/resources/runners/horse/horse_3.png new file mode 100644 index 00000000..341718ed Binary files /dev/null and b/RunCat365/resources/runners/horse/horse_3.png differ diff --git a/RunCat365/resources/runners/horse/horse_4.ico b/RunCat365/resources/runners/horse/horse_4.ico deleted file mode 100644 index 17074979..00000000 Binary files a/RunCat365/resources/runners/horse/horse_4.ico and /dev/null differ diff --git a/RunCat365/resources/runners/horse/horse_4.png b/RunCat365/resources/runners/horse/horse_4.png new file mode 100644 index 00000000..25423fbd Binary files /dev/null and b/RunCat365/resources/runners/horse/horse_4.png differ diff --git a/RunCat365/resources/runners/horse/horse_5.ico b/RunCat365/resources/runners/horse/horse_5.ico deleted file mode 100644 index ea625afc..00000000 Binary files a/RunCat365/resources/runners/horse/horse_5.ico and /dev/null differ diff --git a/RunCat365/resources/runners/horse/horse_6.ico b/RunCat365/resources/runners/horse/horse_6.ico deleted file mode 100644 index b87dc885..00000000 Binary files a/RunCat365/resources/runners/horse/horse_6.ico and /dev/null differ diff --git a/RunCat365/resources/runners/horse/horse_7.ico b/RunCat365/resources/runners/horse/horse_7.ico deleted file mode 100644 index ee305bdd..00000000 Binary files a/RunCat365/resources/runners/horse/horse_7.ico and /dev/null differ diff --git a/RunCat365/resources/runners/horse/horse_8.ico b/RunCat365/resources/runners/horse/horse_8.ico deleted file mode 100644 index db2121b8..00000000 Binary files a/RunCat365/resources/runners/horse/horse_8.ico and /dev/null differ diff --git a/RunCat365/resources/runners/horse/horse_9.ico b/RunCat365/resources/runners/horse/horse_9.ico deleted file mode 100644 index f8609455..00000000 Binary files a/RunCat365/resources/runners/horse/horse_9.ico and /dev/null differ diff --git a/RunCat365/resources/runners/parrot/parrot_0.ico b/RunCat365/resources/runners/parrot/parrot_0.ico deleted file mode 100644 index 0946cb89..00000000 Binary files a/RunCat365/resources/runners/parrot/parrot_0.ico and /dev/null differ diff --git a/RunCat365/resources/runners/parrot/parrot_0.png b/RunCat365/resources/runners/parrot/parrot_0.png new file mode 100644 index 00000000..a3e36f06 Binary files /dev/null and b/RunCat365/resources/runners/parrot/parrot_0.png differ diff --git a/RunCat365/resources/runners/parrot/parrot_1.ico b/RunCat365/resources/runners/parrot/parrot_1.ico deleted file mode 100644 index 85ab9e93..00000000 Binary files a/RunCat365/resources/runners/parrot/parrot_1.ico and /dev/null differ diff --git a/RunCat365/resources/runners/parrot/parrot_1.png b/RunCat365/resources/runners/parrot/parrot_1.png new file mode 100644 index 00000000..9c1bb479 Binary files /dev/null and b/RunCat365/resources/runners/parrot/parrot_1.png differ diff --git a/RunCat365/resources/runners/parrot/parrot_2.ico b/RunCat365/resources/runners/parrot/parrot_2.ico deleted file mode 100644 index 1654d538..00000000 Binary files a/RunCat365/resources/runners/parrot/parrot_2.ico and /dev/null differ diff --git a/RunCat365/resources/runners/parrot/parrot_2.png b/RunCat365/resources/runners/parrot/parrot_2.png new file mode 100644 index 00000000..9b6f3e09 Binary files /dev/null and b/RunCat365/resources/runners/parrot/parrot_2.png differ diff --git a/RunCat365/resources/runners/parrot/parrot_3.ico b/RunCat365/resources/runners/parrot/parrot_3.ico deleted file mode 100644 index f7fb44bc..00000000 Binary files a/RunCat365/resources/runners/parrot/parrot_3.ico and /dev/null differ diff --git a/RunCat365/resources/runners/parrot/parrot_3.png b/RunCat365/resources/runners/parrot/parrot_3.png new file mode 100644 index 00000000..e2b01dd8 Binary files /dev/null and b/RunCat365/resources/runners/parrot/parrot_3.png differ diff --git a/RunCat365/resources/runners/parrot/parrot_4.ico b/RunCat365/resources/runners/parrot/parrot_4.ico deleted file mode 100644 index 191365e1..00000000 Binary files a/RunCat365/resources/runners/parrot/parrot_4.ico and /dev/null differ diff --git a/RunCat365/resources/runners/parrot/parrot_4.png b/RunCat365/resources/runners/parrot/parrot_4.png new file mode 100644 index 00000000..06c61f98 Binary files /dev/null and b/RunCat365/resources/runners/parrot/parrot_4.png differ diff --git a/RunCat365/resources/runners/parrot/parrot_5.ico b/RunCat365/resources/runners/parrot/parrot_5.ico deleted file mode 100644 index 97dbb1eb..00000000 Binary files a/RunCat365/resources/runners/parrot/parrot_5.ico and /dev/null differ diff --git a/RunCat365/resources/runners/parrot/parrot_5.png b/RunCat365/resources/runners/parrot/parrot_5.png new file mode 100644 index 00000000..7856792c Binary files /dev/null and b/RunCat365/resources/runners/parrot/parrot_5.png differ diff --git a/RunCat365/resources/runners/parrot/parrot_6.ico b/RunCat365/resources/runners/parrot/parrot_6.ico deleted file mode 100644 index 535f8bd1..00000000 Binary files a/RunCat365/resources/runners/parrot/parrot_6.ico and /dev/null differ diff --git a/RunCat365/resources/runners/parrot/parrot_6.png b/RunCat365/resources/runners/parrot/parrot_6.png new file mode 100644 index 00000000..aea3ea68 Binary files /dev/null and b/RunCat365/resources/runners/parrot/parrot_6.png differ diff --git a/RunCat365/resources/runners/parrot/parrot_7.ico b/RunCat365/resources/runners/parrot/parrot_7.ico deleted file mode 100644 index 3c6544e3..00000000 Binary files a/RunCat365/resources/runners/parrot/parrot_7.ico and /dev/null differ diff --git a/RunCat365/resources/runners/parrot/parrot_7.png b/RunCat365/resources/runners/parrot/parrot_7.png new file mode 100644 index 00000000..e9939e13 Binary files /dev/null and b/RunCat365/resources/runners/parrot/parrot_7.png differ diff --git a/RunCat365/resources/runners/parrot/parrot_8.ico b/RunCat365/resources/runners/parrot/parrot_8.ico deleted file mode 100644 index de6cbb70..00000000 Binary files a/RunCat365/resources/runners/parrot/parrot_8.ico and /dev/null differ diff --git a/RunCat365/resources/runners/parrot/parrot_8.png b/RunCat365/resources/runners/parrot/parrot_8.png new file mode 100644 index 00000000..6bb8ba71 Binary files /dev/null and b/RunCat365/resources/runners/parrot/parrot_8.png differ diff --git a/RunCat365/resources/runners/parrot/parrot_9.ico b/RunCat365/resources/runners/parrot/parrot_9.ico deleted file mode 100644 index cfcdf09c..00000000 Binary files a/RunCat365/resources/runners/parrot/parrot_9.ico and /dev/null differ diff --git a/RunCat365/resources/runners/parrot/parrot_9.png b/RunCat365/resources/runners/parrot/parrot_9.png new file mode 100644 index 00000000..3db65b4e Binary files /dev/null and b/RunCat365/resources/runners/parrot/parrot_9.png differ