diff options
Diffstat (limited to 'Oneko.cs')
| -rw-r--r-- | Oneko.cs | 12 |
1 files changed, 9 insertions, 3 deletions
@@ -20,7 +20,7 @@ abstract class Oneko : Drawable protected static List<Oneko> allNekos = []; public static ReadOnlyCollection<Oneko> AllNekos => allNekos.AsReadOnly(); - protected readonly static byte[] FallbackImg = EmbeddedResources.GetResource("nekos.oneko.png"); + protected readonly static Image FallbackImg = Raylib.LoadImageFromMemory(".png", EmbeddedResources.GetResource("nekos.oneko.png")); public Oneko() : base() { @@ -30,10 +30,16 @@ abstract class Oneko : Drawable string SpriteSheetPath = OnekoOnline.Config.GetValue("SpriteSheetPath", "nekos/oneko.png"); if (File.Exists(SpriteSheetPath) && new FileInfo(SpriteSheetPath).Length < 128*256*3) { - SpriteSheet = Bitmap.FromPNGMemory(File.ReadAllBytes(SpriteSheetPath), 256, 128); + #if DEBUG + //Bitmap Serialization test + using Bitmap SerializeTest = Bitmap.FromPNGMemory(File.ReadAllBytes(SpriteSheetPath), 256, 128); + SpriteSheet = Bitmap.Deserialize(SerializeTest.Serialize()); + #else + SpriteSheet = Bitmap.FromPNGMemory(File.ReadAllBytes(SpriteSheetPath), 256, 128); + #endif } else { Console.WriteLine("Path to spritesheet was invalid or the file was too big, using the default."); - SpriteSheet = Bitmap.FromPNGMemory(FallbackImg, 256, 128); + SpriteSheet = new Bitmap(Raylib.ImageCopy(FallbackImg), 256, 128); } allNekos.Add(this); |
