summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/bootstrap.js13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/bootstrap.js b/src/bootstrap.js
index 3a38f72..70f1b87 100644
--- a/src/bootstrap.js
+++ b/src/bootstrap.js
@@ -1,4 +1,6 @@
game.bootstrap = (() => {
+ const image_extensions = ["png", "jpeg", "jpg"];
+ const audio_extensions = ["mp3"];
const scripts = [
{
src: [
@@ -68,13 +70,18 @@ game.bootstrap = (() => {
.then((r) => r.blob())
.then((r) => {
let asset;
- if (["png", "jpg", "jpeg"].includes(fileExtension)) {
+ if (image_extensions.includes(fileExtension)) {
asset = new Image();
- } else if (["mp3"].includes(fileExtension)) {
+ } else if (audio_extensions.includes(fileExtension)) {
asset = new Audio();
}
asset.src = URL.createObjectURL(r);
- asset.onload = () => URL.revokeObjectURL(asset.src);
+ const ready = () => URL.revokeObjectURL(asset.src);
+ if (asset instanceof Image) {
+ asset.onload = ready;
+ } else if (asset instanceof Audio) {
+ asset.oncanplaythrough = ready;
+ }
return asset;
})
}