removed stupid DOS line endings
authorBrendan Hansen <brendan.f.hansen@gmail.com>
Sat, 24 Apr 2021 23:07:38 +0000 (18:07 -0500)
committerBrendan Hansen <brendan.f.hansen@gmail.com>
Sat, 24 Apr 2021 23:07:38 +0000 (18:07 -0500)
site/js/js_events.js
site/js/onyx-loader.js
site/sand_toy.wasm
src/build.onyx

index 6d93929ecfe3367b878e72bb153398994eaff1ce..df3bb834626dfb6f15139b5befb3649b696210dc 100644 (file)
@@ -1,67 +1,67 @@
-window.ONYX_MODULES = window.ONYX_MODULES || [];\r
-\r
-function push_event_to_buffer(esp, event_size, event_kind, data) {\r
-    let WASM_U32 = new Uint32Array(ONYX_MEMORY.buffer);\r
-\r
-    if (WASM_U32[esp] >= WASM_U32[esp + 1]) {\r
-        console.log("Event buffer full!");\r
-        return;\r
-    }\r
-\r
-    WASM_U32[esp] += 1;\r
-\r
-    let event_idx = esp + (WASM_U32[esp] - 1) * (event_size / 4) + 2;\r
-    WASM_U32[event_idx] = event_kind;\r
-    WASM_U32[event_idx + 1] = Date.now();\r
-\r
-    for (let i = 0; i < data.length; i++) {\r
-        WASM_U32[event_idx + 2 + i] = data[i];\r
-    }\r
-}\r
-\r
-window.ONYX_MODULES.push({\r
-    module_name: "js_events",\r
-\r
-    setup: function(esp, event_size) {\r
-        // Indicies into a Uint32Array are not based on bytes,\r
-        // but on the index.\r
-        esp /= 4;\r
-\r
-        document.addEventListener("keydown", function (ev) {\r
-            if (ev.isComposing || ev.keyCode === 229) return;\r
-            push_event_to_buffer(esp, event_size, 0x04, [ ev.keyCode ]);\r
-        });\r
-\r
-        document.addEventListener("keyup", function (ev) {\r
-            if (ev.isComposing || ev.keyCode === 229) return;\r
-            push_event_to_buffer(esp, event_size, 0x05, [ ev.keyCode ]);\r
-        });\r
-\r
-        document.addEventListener("mousedown", function (ev) {\r
-            push_event_to_buffer(esp, event_size, 0x01, [ ev.clientX, ev.clientY, ev.button ]);\r
-        });\r
-\r
-        document.addEventListener("mouseup", function (ev) {\r
-            push_event_to_buffer(esp, event_size, 0x02, [ ev.clientX, ev.clientY, ev.button ]);\r
-        });\r
-\r
-        document.addEventListener("mousemove", function (ev) {\r
-            push_event_to_buffer(esp, event_size, 0x03, [ ev.clientX, ev.clientY, -1 ]);\r
-        });\r
-\r
-        document.addEventListener("wheel", function (ev) {\r
-            push_event_to_buffer(esp, event_size, 0x07, [ ev.clientX, ev.clientY, ev.deltaY >= 0 ? 0x04 : 0x03 ]);\r
-        });\r
-\r
-        window.addEventListener("resize", function (ev) {\r
-            push_event_to_buffer(esp, event_size, 0x06, [ window.innerWidth, window.innerHeight ]);\r
-        });\r
-\r
-        push_event_to_buffer(esp, event_size, 0x06, [ window.innerWidth, window.innerHeight ]);\r
-\r
-        document.oncontextmenu = (e) => {\r
-            e.preventDefault = true;\r
-            return false;\r
-        };\r
-    },\r
-});\r
+window.ONYX_MODULES = window.ONYX_MODULES || [];
+
+function push_event_to_buffer(esp, event_size, event_kind, data) {
+    let WASM_U32 = new Uint32Array(ONYX_MEMORY.buffer);
+
+    if (WASM_U32[esp] >= WASM_U32[esp + 1]) {
+        console.log("Event buffer full!");
+        return;
+    }
+
+    WASM_U32[esp] += 1;
+
+    let event_idx = esp + (WASM_U32[esp] - 1) * (event_size / 4) + 2;
+    WASM_U32[event_idx] = event_kind;
+    WASM_U32[event_idx + 1] = Date.now();
+
+    for (let i = 0; i < data.length; i++) {
+        WASM_U32[event_idx + 2 + i] = data[i];
+    }
+}
+
+window.ONYX_MODULES.push({
+    module_name: "js_events",
+
+    setup: function(esp, event_size) {
+        // Indicies into a Uint32Array are not based on bytes,
+        // but on the index.
+        esp /= 4;
+
+        document.addEventListener("keydown", function (ev) {
+            if (ev.isComposing || ev.keyCode === 229) return;
+            push_event_to_buffer(esp, event_size, 0x04, [ ev.keyCode ]);
+        });
+
+        document.addEventListener("keyup", function (ev) {
+            if (ev.isComposing || ev.keyCode === 229) return;
+            push_event_to_buffer(esp, event_size, 0x05, [ ev.keyCode ]);
+        });
+
+        document.addEventListener("mousedown", function (ev) {
+            push_event_to_buffer(esp, event_size, 0x01, [ ev.clientX, ev.clientY, ev.button ]);
+        });
+
+        document.addEventListener("mouseup", function (ev) {
+            push_event_to_buffer(esp, event_size, 0x02, [ ev.clientX, ev.clientY, ev.button ]);
+        });
+
+        document.addEventListener("mousemove", function (ev) {
+            push_event_to_buffer(esp, event_size, 0x03, [ ev.clientX, ev.clientY, -1 ]);
+        });
+
+        document.addEventListener("wheel", function (ev) {
+            push_event_to_buffer(esp, event_size, 0x07, [ ev.clientX, ev.clientY, ev.deltaY >= 0 ? 0x04 : 0x03 ]);
+        });
+
+        window.addEventListener("resize", function (ev) {
+            push_event_to_buffer(esp, event_size, 0x06, [ window.innerWidth, window.innerHeight ]);
+        });
+
+        push_event_to_buffer(esp, event_size, 0x06, [ window.innerWidth, window.innerHeight ]);
+
+        document.oncontextmenu = (e) => {
+            e.preventDefault = true;
+            return false;
+        };
+    },
+});
index 6e643a86a95a9eb1e2bfe61a3d6ad2333cbb6e44..a48a38acfd9880f61a852f73b5155e802aaddcf9 100644 (file)
@@ -1,47 +1,47 @@
-\r
-window.ONYX_MODULES  = window.ONYX_MODULES || [];\r
-window.ONYX_MEMORY   = null;\r
-window.ONYX_INSTANCE = null;\r
-\r
-window.ONYX_MODULES.push({\r
-    module_name: "host",\r
-\r
-    print_str: function(ptr, len) {\r
-        var buffer = new Uint8Array(ONYX_MEMORY.buffer, ptr, len);\r
-        var string = new TextDecoder().decode(buffer);\r
-        console.log(string);\r
-    },\r
-\r
-    exit: function() { debugger; }\r
-});\r
-\r
-function launch_onyx_program(script_path, call_start) {\r
-    fetch(script_path)\r
-    .then(function(res) { return res.arrayBuffer(); })\r
-    .then(function(wasm_code) {\r
-        var import_object = {};\r
-\r
-        for (var i = 0; i < window.ONYX_MODULES.length; i++) {\r
-            import_object[window.ONYX_MODULES[i].module_name] = window.ONYX_MODULES[i];\r
-        }\r
-\r
-        return WebAssembly.instantiate(wasm_code, import_object);\r
-    })\r
-    .then(function(wasm_module) {\r
-        window.ONYX_MEMORY = wasm_module.instance.exports.memory;\r
-        window.ONYX_INSTANCE = wasm_module.instance;\r
-\r
-        wasm_module.instance.exports._start();\r
-    });\r
-}\r
-\r
-window.onload = function() {\r
-    var script_tags = document.getElementsByTagName("script");\r
-\r
-    for (var i = 0; i < script_tags.length; i++) {\r
-        if (script_tags[i].getAttribute("type") == "application/onyx") {\r
-            // @ROBUSTNESS: It should be configurable which function is called on start up of a Onyx WASM module.\r
-            launch_onyx_program(script_tags[i].getAttribute("src"), true);\r
-        }\r
-    }\r
-};\r
+
+window.ONYX_MODULES  = window.ONYX_MODULES || [];
+window.ONYX_MEMORY   = null;
+window.ONYX_INSTANCE = null;
+
+window.ONYX_MODULES.push({
+    module_name: "host",
+
+    print_str: function(ptr, len) {
+        var buffer = new Uint8Array(ONYX_MEMORY.buffer, ptr, len);
+        var string = new TextDecoder().decode(buffer);
+        console.log(string);
+    },
+
+    exit: function() { debugger; }
+});
+
+function launch_onyx_program(script_path, call_start) {
+    fetch(script_path)
+    .then(function(res) { return res.arrayBuffer(); })
+    .then(function(wasm_code) {
+        var import_object = {};
+
+        for (var i = 0; i < window.ONYX_MODULES.length; i++) {
+            import_object[window.ONYX_MODULES[i].module_name] = window.ONYX_MODULES[i];
+        }
+
+        return WebAssembly.instantiate(wasm_code, import_object);
+    })
+    .then(function(wasm_module) {
+        window.ONYX_MEMORY = wasm_module.instance.exports.memory;
+        window.ONYX_INSTANCE = wasm_module.instance;
+
+        wasm_module.instance.exports._start();
+    });
+}
+
+window.onload = function() {
+    var script_tags = document.getElementsByTagName("script");
+
+    for (var i = 0; i < script_tags.length; i++) {
+        if (script_tags[i].getAttribute("type") == "application/onyx") {
+            // @ROBUSTNESS: It should be configurable which function is called on start up of a Onyx WASM module.
+            launch_onyx_program(script_tags[i].getAttribute("src"), true);
+        }
+    }
+};
index 4ed4bab993d6c320cefda0deef62fe3e79bb30f6..418522d311c33ba683f8b32d1a93a8ccdbfeb558 100644 (file)
Binary files a/site/sand_toy.wasm and b/site/sand_toy.wasm differ
index 76f467b09ef2a842e6e1d4bb677da5ce09a09075..7b376eeff03406f6115ce9a0ba65487773d35b5e 100644 (file)
@@ -1,3 +1,8 @@
+
+#if (package runtime).Runtime != (package runtime).Runtime_Js {
+    #error "Please run with '-r js'."
+}
+
 #load "core/std"
 
 #load "modules/webgl2/module"