diff options
Diffstat (limited to 'WebInterface/wasm/webhogg/graphics.js')
-rw-r--r-- | WebInterface/wasm/webhogg/graphics.js | 222 |
1 files changed, 183 insertions, 39 deletions
diff --git a/WebInterface/wasm/webhogg/graphics.js b/WebInterface/wasm/webhogg/graphics.js index bafae3d..5f817fd 100644 --- a/WebInterface/wasm/webhogg/graphics.js +++ b/WebInterface/wasm/webhogg/graphics.js @@ -1,6 +1,41 @@ const __exports = {}; let wasm; +const heap = new Array(32); + +heap.fill(undefined); + +heap.push(undefined, null, true, false); + +let heap_next = heap.length; + +function addHeapObject(obj) { + if (heap_next === heap.length) heap.push(heap.length + 1); + const idx = heap_next; + heap_next = heap[idx]; + + heap[idx] = obj; + return idx; +} +/** +* @param {any} worker +* @returns {void} +*/ +function game_logic_entry(worker) { + return wasm.game_logic_entry(addHeapObject(worker)); +} +__exports.game_logic_entry = game_logic_entry + +/** +* @param {any} worker +* @param {any} canvas +* @returns {void} +*/ +function graphics_entry(worker, canvas) { + return wasm.graphics_entry(addHeapObject(worker), addHeapObject(canvas)); +} +__exports.graphics_entry = graphics_entry + let cachedTextDecoder = new TextDecoder('utf-8'); let cachegetUint8Memory = null; @@ -47,40 +82,28 @@ function __wbg_error_56a861ecc80f27e1(arg0, arg1, arg2, arg3, arg4, arg5) { } __exports.__wbg_error_56a861ecc80f27e1 = __wbg_error_56a861ecc80f27e1 -const heap = new Array(32); +function getObject(idx) { return heap[idx]; } -heap.fill(undefined); +function __widl_f_set_onmessage_DedicatedWorkerGlobalScope(arg0, arg1) { + getObject(arg0).onmessage = getObject(arg1); +} +__exports.__widl_f_set_onmessage_DedicatedWorkerGlobalScope = __widl_f_set_onmessage_DedicatedWorkerGlobalScope -heap.push(undefined, null, true, false); +function isLikeNone(x) { + return x === undefined || x === null; +} -let heap_next = heap.length; +function __widl_f_get_element_by_id_Document(arg0, arg1, arg2) { + let varg1 = getStringFromWasm(arg1, arg2); -function addHeapObject(obj) { - if (heap_next === heap.length) heap.push(heap.length + 1); - const idx = heap_next; - heap_next = heap[idx]; + const val = getObject(arg0).getElementById(varg1); + return isLikeNone(val) ? 0 : addHeapObject(val); - heap[idx] = obj; - return idx; } -/** -* @param {any} worker -* @returns {void} -*/ -function game_logic_entry(worker) { - return wasm.game_logic_entry(addHeapObject(worker)); -} -__exports.game_logic_entry = game_logic_entry - -/** -* @returns {void} -*/ -function graphics_entry() { - return wasm.graphics_entry(); -} -__exports.graphics_entry = graphics_entry +__exports.__widl_f_get_element_by_id_Document = __widl_f_get_element_by_id_Document -function getObject(idx) { return heap[idx]; } +function __widl_instanceof_HTMLCanvasElement(idx) { return getObject(idx) instanceof HTMLCanvasElement ? 1 : 0; } +__exports.__widl_instanceof_HTMLCanvasElement = __widl_instanceof_HTMLCanvasElement let cachegetUint32Memory = null; function getUint32Memory() { @@ -96,6 +119,38 @@ function handleError(exnptr, e) { view[exnptr / 4 + 1] = addHeapObject(e); } +function __widl_f_get_context_HTMLCanvasElement(arg0, arg1, arg2, exnptr) { + let varg1 = getStringFromWasm(arg1, arg2); + try { + + const val = getObject(arg0).getContext(varg1); + return isLikeNone(val) ? 0 : addHeapObject(val); + + } catch (e) { + handleError(exnptr, e); + } +} +__exports.__widl_f_get_context_HTMLCanvasElement = __widl_f_get_context_HTMLCanvasElement + +function __widl_f_data_MessageEvent(arg0) { + return addHeapObject(getObject(arg0).data); +} +__exports.__widl_f_data_MessageEvent = __widl_f_data_MessageEvent + +function __widl_instanceof_WebGL2RenderingContext(idx) { return getObject(idx) instanceof WebGL2RenderingContext ? 1 : 0; } +__exports.__widl_instanceof_WebGL2RenderingContext = __widl_instanceof_WebGL2RenderingContext + +function __widl_instanceof_Window(idx) { return getObject(idx) instanceof Window ? 1 : 0; } +__exports.__widl_instanceof_Window = __widl_instanceof_Window + +function __widl_f_document_Window(arg0) { + + const val = getObject(arg0).document; + return isLikeNone(val) ? 0 : addHeapObject(val); + +} +__exports.__widl_f_document_Window = __widl_f_document_Window + function __widl_f_post_message_Worker(arg0, arg1, exnptr) { try { getObject(arg0).postMessage(getObject(arg1)); @@ -105,6 +160,31 @@ function __widl_f_post_message_Worker(arg0, arg1, exnptr) { } __exports.__widl_f_post_message_Worker = __widl_f_post_message_Worker +function __wbg_newnoargs_a172f39151049128(arg0, arg1) { + let varg0 = getStringFromWasm(arg0, arg1); + return addHeapObject(new Function(varg0)); +} +__exports.__wbg_newnoargs_a172f39151049128 = __wbg_newnoargs_a172f39151049128 + +function __wbg_call_8a9c8b0a32a202ff(arg0, arg1, exnptr) { + try { + return addHeapObject(getObject(arg0).call(getObject(arg1))); + } catch (e) { + handleError(exnptr, e); + } +} +__exports.__wbg_call_8a9c8b0a32a202ff = __wbg_call_8a9c8b0a32a202ff + +function __wbg_new0_b4c0f6100aa61878() { + return addHeapObject(new Date()); +} +__exports.__wbg_new0_b4c0f6100aa61878 = __wbg_new0_b4c0f6100aa61878 + +function __wbg_toISOString_580e1bcc780bf968(arg0) { + return addHeapObject(getObject(arg0).toISOString()); +} +__exports.__wbg_toISOString_580e1bcc780bf968 = __wbg_toISOString_580e1bcc780bf968 + function __wbindgen_string_new(p, l) { return addHeapObject(getStringFromWasm(p, l)); } __exports.__wbindgen_string_new = __wbindgen_string_new @@ -167,6 +247,15 @@ if (typeof cachedTextEncoder.encodeInto === 'function') { }; } +function __wbindgen_string_get(i, len_ptr) { + let obj = getObject(i); + if (typeof(obj) !== 'string') return 0; + const ptr = passStringToWasm(obj); + getUint32Memory()[len_ptr / 4] = WASM_VECTOR_LEN; + return ptr; +} +__exports.__wbindgen_string_get = __wbindgen_string_get + function __wbindgen_debug_string(i, len_ptr) { const debug_str = val => { @@ -244,33 +333,88 @@ return ptr; } __exports.__wbindgen_debug_string = __wbindgen_debug_string +function dropObject(idx) { + if (idx < 36) return; + heap[idx] = heap_next; + heap_next = idx; +} + +function takeObject(idx) { + const ret = getObject(idx); + dropObject(idx); + return ret; +} + +function __wbindgen_cb_drop(i) { + const obj = takeObject(i).original; + if (obj.cnt-- == 1) { + obj.a = 0; + return 1; + } + return 0; +} +__exports.__wbindgen_cb_drop = __wbindgen_cb_drop + function __wbindgen_throw(ptr, len) { throw new Error(getStringFromWasm(ptr, len)); } __exports.__wbindgen_throw = __wbindgen_throw -function dropObject(idx) { - if (idx < 36) return; - heap[idx] = heap_next; - heap_next = idx; +function __wbindgen_closure_wrapper59(a, b, _ignored) { + const f = wasm.__wbg_function_table.get(25); + const d = wasm.__wbg_function_table.get(26); + const cb = function(arg0) { + this.cnt++; + let a = this.a; + this.a = 0; + try { + return f(a, b, addHeapObject(arg0)); + + } finally { + if (--this.cnt === 0) d(a, b); + else this.a = a; + + } + + }; + cb.a = a; + cb.cnt = 1; + let real = cb.bind(cb); + real.original = cb; + return addHeapObject(real); } +__exports.__wbindgen_closure_wrapper59 = __wbindgen_closure_wrapper59 + +function __wbindgen_object_clone_ref(idx) { + return addHeapObject(getObject(idx)); +} +__exports.__wbindgen_object_clone_ref = __wbindgen_object_clone_ref function __wbindgen_object_drop_ref(i) { dropObject(i); } __exports.__wbindgen_object_drop_ref = __wbindgen_object_drop_ref //!IMPORTANT_STUFF - const WASM_URL = './pkg/webhogg_bg.wasm'; const imports = { './webhogg': __exports }; -let res = WebAssembly.instantiateStreaming(fetch(WASM_URL), imports); -res.then(result => { - console.log(result); - wasm = result.instance.exports; - graphics_entry(); -}); +let res = WebAssembly.instantiateStreaming(fetch(WASM_URL), imports); +let first = true; +let msg = null; onmessage = function (e) { - console.log('gooot messaaage', e.data); + if (first) { + first = false; + console.log('got context: ', e.data); + msg = e.data; + } +} +while (msg === null) { + console.log('yay'); + res.then(result => { + wasm = result.instance.exports; + console.log('context sndng: ', msg); + graphics_entry(self, msg); + }); + break; } |