diff options
author | David Thompson <dthompson2@worcester.edu> | 2023-11-17 12:36:15 -0500 |
---|---|---|
committer | David Thompson <dthompson2@worcester.edu> | 2023-11-17 12:36:15 -0500 |
commit | 67bd60d48461560b34ec53a01d439f55a32afd81 (patch) | |
tree | 0057b2f2e31f18105aa37d0ea3232e674908de74 /boot.js | |
parent | 02d1d5540f10511432a6f31781bea0d077885881 (diff) |
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.
Diffstat (limited to 'boot.js')
-rw-r--r-- | boot.js | 35 |
1 files changed, 9 insertions, 26 deletions
@@ -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); |