summaryrefslogtreecommitdiffstatshomepage
path: root/scripts
diff options
context:
space:
mode:
author James Baicoianu <james_github@baicoianu.com>2017-07-14 21:00:09 -0700
committer Vas Crabb <cuavas@users.noreply.github.com>2017-07-15 14:00:09 +1000
commit15c2bb0c08aeb3eff32ee17e70d38866192e782a (patch)
tree837f84437499220d4d59f8f29f3ad33e076ca826 /scripts
parent6d634e00934d69de688fd050e464c97a1385606c (diff)
Fix save/load states in Emscripten build (#2470)
* Fix save/load states in Emscripten build * Simplified Emscripten integration points * Moved standalone JS functions to be static member functions of running_machine * Improved Emscripten main loop * Use convenience functions for cleaner code As an added bonus, this now allows for proper shutdown of the running machine when running in the Emscripten environment - previously, attempts to exit the program were just being ignored.
Diffstat (limited to 'scripts')
-rw-r--r--scripts/resources/emscripten/emscripten_post.js6
-rw-r--r--scripts/src/main.lua2
2 files changed, 4 insertions, 4 deletions
diff --git a/scripts/resources/emscripten/emscripten_post.js b/scripts/resources/emscripten/emscripten_post.js
index 92cbdd21f9b..10d4e1d5d35 100644
--- a/scripts/resources/emscripten/emscripten_post.js
+++ b/scripts/resources/emscripten/emscripten_post.js
@@ -1,8 +1,8 @@
// MAME-JavaScript function mappings
var JSMAME = JSMAME || {};
-JSMAME.get_machine = Module.cwrap('_Z14js_get_machinev', 'number');
-JSMAME.get_ui = Module.cwrap('_Z9js_get_uiv', 'number');
-JSMAME.get_sound = Module.cwrap('_Z12js_get_soundv', 'number');
+JSMAME.get_machine = Module.cwrap('_ZN15running_machine30emscripten_get_running_machineEv', 'number');
+JSMAME.get_ui = Module.cwrap('_ZN15running_machine17emscripten_get_uiEv', 'number');
+JSMAME.get_sound = Module.cwrap('_ZN15running_machine20emscripten_get_soundEv', 'number');
JSMAME.ui_set_show_fps = Module.cwrap('_ZN15mame_ui_manager12set_show_fpsEb', '', ['number', 'number']);
JSMAME.ui_get_show_fps = Module.cwrap('_ZNK15mame_ui_manager8show_fpsEv', 'number', ['number']);
JSMAME.sound_manager_mute = Module.cwrap('_ZN13sound_manager4muteEbh', '', ['number', 'number', 'number']);
diff --git a/scripts/src/main.lua b/scripts/src/main.lua
index 55976110628..6d63772b028 100644
--- a/scripts/src/main.lua
+++ b/scripts/src/main.lua
@@ -157,7 +157,7 @@ end
.. " -s TOTAL_MEMORY=268435456"
.. " -s DISABLE_EXCEPTION_CATCHING=2"
.. " -s EXCEPTION_CATCHING_WHITELIST='[\"__ZN15running_machine17start_all_devicesEv\",\"__ZN12cli_frontend7executeEiPPc\"]'"
- .. " -s EXPORTED_FUNCTIONS=\"['_main', '_malloc', '__Z14js_get_machinev', '__Z9js_get_uiv', '__Z12js_get_soundv', '__ZN15mame_ui_manager12set_show_fpsEb', '__ZNK15mame_ui_manager8show_fpsEv', '__ZN13sound_manager4muteEbh', '_SDL_PauseAudio', '_SDL_SendKeyboardKey']\""
+ .. " -s EXPORTED_FUNCTIONS=\"['_main', '_malloc', '__ZN15running_machine30emscripten_get_running_machineEv', '__ZN15running_machine17emscripten_get_uiEv', '__ZN15running_machine20emscripten_get_soundEv', '__ZN15mame_ui_manager12set_show_fpsEb', '__ZNK15mame_ui_manager8show_fpsEv', '__ZN13sound_manager4muteEbh', '_SDL_PauseAudio', '_SDL_SendKeyboardKey']\""
.. " --pre-js " .. _MAKE.esc(MAME_DIR) .. "src/osd/modules/sound/js_sound.js"
.. " --post-js " .. _MAKE.esc(MAME_DIR) .. "scripts/resources/emscripten/emscripten_post.js"
.. " --embed-file " .. _MAKE.esc(MAME_DIR) .. "bgfx/chains@bgfx/chains"