summaryrefslogtreecommitdiff
path: root/Oneko.cs
diff options
context:
space:
mode:
authorSarah Duck <git@sarahduck.ca>2025-06-16 22:10:06 -0700
committerSarah Duck <git@sarahduck.ca>2025-06-16 22:10:06 -0700
commit48deeeabfd86cfc5b993936760e1332308a47ab2 (patch)
treea2dd297bb356cad7792fe0f75de52f47685ee03f /Oneko.cs
parentc5b8b31dc7f29fd5512ac482cdffa2d274e6e01b (diff)
Optimizations, and Transparent Window!
Diffstat (limited to 'Oneko.cs')
-rw-r--r--Oneko.cs12
1 files changed, 9 insertions, 3 deletions
diff --git a/Oneko.cs b/Oneko.cs
index e63c56a..402cc73 100644
--- a/Oneko.cs
+++ b/Oneko.cs
@@ -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);