var shell = require("./shell"); var pathlib = require("path"); var os = require("os"); var fs = require("fs"); var EventEmitter = require("events"); exports.run = run; // Reset to default config async function cpconf(from, to) { to = pathlib.join(os.homedir(), to); from = pathlib.join("emuconf", from); await shell.safe("rm", "-rf", "--", to); await shell.safe("cp", "-r", "--", from, to); } async function run_visualboy(path, saves) { await shell.safe("vba", "--config", "emuconf/vba/vba.cfg", path); } var emus = { gba: run_visualboy, gbc: run_visualboy, }; async function run(path, cb) { var ext = pathlib.extname(path).substr(1); var fn = emus[ext]; if (!fn) throw new Error("Can't run games with extension "+ext+"."); shell.safe("mkdir", "-p", "--", path+".save"); await fn(path, path+".save"); }