From 32bad2cd576c9fd224f93387379273d96d9a3da8 Mon Sep 17 00:00:00 2001 From: RandomityGuy <31925790+RandomityGuy@users.noreply.github.com> Date: Sat, 6 Jun 2026 00:04:40 +0100 Subject: [PATCH] fix this filename and this texture, also add slightly faster texture loading for js --- data/shapes/pads/abyss.png | Bin 14109 -> 6815 bytes src/ResourceLoader.hx | 12 +++++++++++- src/ResourceLoaderWorker.hx | 18 +++++++++++++++++- src/fs/ManifestFileSystem.hx | 10 +++++++++- src/gui/PresentsGui.hx | 2 +- 5 files changed, 38 insertions(+), 4 deletions(-) diff --git a/data/shapes/pads/abyss.png b/data/shapes/pads/abyss.png index 924425fb835ac58938f4c422946e69d941185337..cc29549360a75a23f392dba958a8af0ddbe62a11 100644 GIT binary patch literal 6815 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 avJmUG6H;TKPv+n63PU|J-8VXfkpBU(jy@Lv literal 14109 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 bG=%>L-dCP2JzoAl00000NkvXXu0mjf#H{NY diff --git a/src/ResourceLoader.hx b/src/ResourceLoader.hx index 0e114838..bf8f9c4e 100644 --- a/src/ResourceLoader.hx +++ b/src/ResourceLoader.hx @@ -151,7 +151,17 @@ class ResourceLoader { } var worker = new ResourceLoaderWorker(onFinish); for (file in toloadfiles) { - worker.addTaskParallel((fwd) -> file.load(fwd)); + worker.addTaskParallel((fwd) -> { + // if its a jpg, png or gif, load it as bitmap else load as file + var fileExtension = file.extension.toLowerCase(); + if (fileExtension == "jpg" || fileExtension == "png" || fileExtension == "bmp") { + file.loadBitmap(v -> { + fwd(); + }); + } else { + file.load(fwd); + } + }); } worker.run(); } diff --git a/src/ResourceLoaderWorker.hx b/src/ResourceLoaderWorker.hx index 5bdec093..55133a8b 100644 --- a/src/ResourceLoaderWorker.hx +++ b/src/ResourceLoaderWorker.hx @@ -56,6 +56,22 @@ class ResourceLoaderWorker { public function loadFile(path:String) { if (ResourceLoader.loadedFiles.exists(path)) return; - paralleltasks.push(fwd -> ResourceLoader.load(path).entry.load(fwd)); + // if its a jpg, png or gif, load it as bitmap else load as file + var fileExtension = path.split('.').pop(); + if (fileExtension != null) { + fileExtension = fileExtension.toLowerCase(); + if (fileExtension == "jpg" || fileExtension == "png" || fileExtension == "bmp") { + paralleltasks.push(fwd -> { + var file = ResourceLoader.load(path); + file.entry.loadBitmap(v -> { + fwd(); + }); + }); + } else if (fileExtension != "") { + paralleltasks.push(fwd -> ResourceLoader.load(path).entry.load(fwd)); + } + } else { + paralleltasks.push(fwd -> ResourceLoader.load(path).entry.load(fwd)); + } } } diff --git a/src/fs/ManifestFileSystem.hx b/src/fs/ManifestFileSystem.hx index a57829d2..4d8c3801 100644 --- a/src/fs/ManifestFileSystem.hx +++ b/src/fs/ManifestFileSystem.hx @@ -48,6 +48,7 @@ class ManifestEntry extends FileEntry { private var bytes:Bytes; private var readPos:Int; private var loaded:Bool; + var loadedBmp:LoadedBitmap; #end public function new(fs:ManifestFileSystem, name:String, relPath:String, file:String, ?originalFile:String) { @@ -170,9 +171,16 @@ class ManifestEntry extends FileEntry { var bmp = new hxd.res.Image(this).toBitmap(); onLoaded(new hxd.fs.LoadedBitmap(bmp)); #elseif js + if (loadedBmp != null) { + onLoaded(loadedBmp); + return; + } load(() -> { var img:js.html.Image = new js.html.Image(); - img.onload = (_) -> onLoaded(new LoadedBitmap(img)); + img.onload = (_) -> { + loadedBmp = new LoadedBitmap(img); + onLoaded(loadedBmp); + }; img.src = file; }); #else diff --git a/src/gui/PresentsGui.hx b/src/gui/PresentsGui.hx index cd20573a..b831d2e1 100644 --- a/src/gui/PresentsGui.hx +++ b/src/gui/PresentsGui.hx @@ -14,7 +14,7 @@ class PresentsGui extends GuiImage { this.position = new Vector(); this.extent = new Vector(640, 480); - var ggLogo = new GuiImage(ResourceLoader.getResource('data/ui/GG_logo.png', ResourceLoader.getImage, this.imageResources).toTile()); + var ggLogo = new GuiImage(ResourceLoader.getResource('data/ui/GG_Logo.png', ResourceLoader.getImage, this.imageResources).toTile()); ggLogo.horizSizing = Center; ggLogo.vertSizing = Center; ggLogo.position = new Vector(69, 99);