{ return document.getElementById("canvas").clientHeight; });
EM_JS(float, get_random, (), { return Math.random(); });
+
+EM_JS(void, js_rune_init, (), {
+ console.log("WASM loaded, calling Rune init...");
+ do_rune_init();
+ console.log("Called Rune init.")
+});
#endif
#include <iostream>
#endif
}
+void call_js_init_rune() {
+#ifdef __EMSCRIPTEN__
+ js_rune_init();
+#endif
+}
+
#ifdef __EMSCRIPTEN__
void fetch_avatar1_url_success(emscripten_fetch_t *fetch) {
GameRenderer *game = (GameRenderer *)fetch->userData;
extern int call_js_get_canvas_width();
extern int call_js_get_canvas_height();
extern float call_js_get_random();
+extern void call_js_init_rune();
extern void fetch_avatar1_url(const char *url, void *game_ptr);
extern void fetch_avatar2_url(const char *url, void *game_ptr);
emscripten_set_resize_callback(EMSCRIPTEN_EVENT_TARGET_WINDOW, renderer.get(),
false, resize_event_callback);
+ call_js_init_rune();
+
emscripten_set_main_loop_arg(game_update, renderer.get(), 0, 1);
#else
SetTargetFPS(60);
},
});
}
-
-let em_checking_interval_id = setInterval(
- () => {
- if (typeof Module !== "undefined"
- && typeof Module.ccall !== "undefined"
- && typeof wasmExports !== "undefined") {
- do_rune_init();
- clearInterval(em_checking_interval_id);
- console.log("Rune initialized!");
- }
- }, 500
-);