From 67bd60d48461560b34ec53a01d439f55a32afd81 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Fri, 17 Nov 2023 12:36:15 -0500 Subject: Update to work on latest guile-hoot... sort of. There's one uncommitted fix I'm using that is my local guile-hoot repo. Shouldn't be like that for long. --- boot.js | 35 +++++++++-------------------------- 1 file changed, 9 insertions(+), 26 deletions(-) (limited to 'boot.js') diff --git a/boot.js b/boot.js index fbb2468..38c91f0 100644 --- a/boot.js +++ b/boot.js @@ -1,20 +1,5 @@ async function load() { - const procMap = new WeakMap(); - - function wrapProc(obj) { - function makeWrapper() { - const proc = scheme.to_js(obj); - function wrapper (...args) { - return proc.call(...args); - } - procMap.set(obj, wrapper); - return wrapper; - } - - return procMap.get(obj) || makeWrapper(); - } - - const mod = await SchemeModule.fetch_and_instantiate("game.wasm", {}, { + const mod = await Scheme.load_main("game.wasm", {}, { window: { get() { return window; @@ -25,11 +10,11 @@ async function load() { innerHeight() { return window.innerHeight; }, - requestAnimationFrame(proc) { - window.requestAnimationFrame(wrapProc(proc)); + requestAnimationFrame(f) { + window.requestAnimationFrame(f); }, - setTimeout(proc, delay) { - window.setTimeout(wrapProc(proc), delay); + setTimeout(f, delay) { + window.setTimeout(f, delay); } }, document: { @@ -67,11 +52,11 @@ async function load() { replaceWith(oldElem, newElem) { oldElem.replaceWith(newElem); }, - addEventListener(elem, name, proc) { - elem.addEventListener(name, wrapProc(proc)); + addEventListener(elem, name, f) { + elem.addEventListener(name, f); }, - removeEventListener(elem, name, proc) { - elem.removeEventListener(name, wrapProc(proc)); + removeEventListener(elem, name, f) { + elem.removeEventListener(name, f); }, clone(elem) { return elem.cloneNode(); @@ -151,7 +136,5 @@ async function load() { } } }); - const scheme = await mod.reflect(); - scheme.init_module(mod); } window.addEventListener("load", load); -- cgit v1.2.3