From 9a790b70db63fb17f5150b476bc8cfd77488f124 Mon Sep 17 00:00:00 2001 From: Ethan O'Brien <77750390+ethanaobrien@users.noreply.github.com> Date: Mon, 3 Jul 2023 11:16:44 -0500 Subject: [PATCH] Cache limit --- data/emulator.js | 11 +++++++---- data/loader.js | 1 + 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/data/emulator.js b/data/emulator.js index 5586931..a056901 100644 --- a/data/emulator.js +++ b/data/emulator.js @@ -612,10 +612,13 @@ class EmulatorJS { return; } gotGameData(res.data); - this.storage.rom.put(this.config.gameUrl.split("/").pop(), { - "content-length": res.headers['content-length'], - data: res.data - }) + const limit = (typeof this.config.cacheLimit === "number") ? this.config.cacheLimit : 1073741824; + if (parseFloat(res.headers['content-length']) < limit) { + this.storage.rom.put(this.config.gameUrl.split("/").pop(), { + "content-length": res.headers['content-length'], + data: res.data + }) + } }, (progress) => { this.textElem.innerText = this.localization("Download Game Data") + progress; }, true, {responseType: "arraybuffer", method: "GET"}); diff --git a/data/loader.js b/data/loader.js index 79d7cde..b086804 100644 --- a/data/loader.js +++ b/data/loader.js @@ -58,6 +58,7 @@ config.startOnLoad = window.EJS_startOnLoaded; config.filePaths = window.EJS_paths; config.loadState = window.EJS_loadStateURL; + config.cacheLimit = window.EJS_CacheLimit; new EmulatorJS(EJS_player, config);