Crates.io | emu-runner |
lib.rs | emu-runner |
version | 0.1.1 |
source | src |
created_at | 2023-09-12 03:40:05.502193 |
updated_at | 2023-10-12 20:10:36.077199 |
description | Command builder and executor for various emulators. |
homepage | |
repository | https://github.com/bigbass1997/emu-runner |
max_upload_size | |
id | 970413 |
size | 34,169 |
emu-runner
is a command builder intended to make it easier to run a wide range of emulators using a consistent
interface. This utility attempts to handle any version differences automatically, such as determining how to execute a particular
emulator depending on the current OS, or recognizing which CLI argument to use based on the version of the emulator.
For example, for any given version of FCEUX, it has multiple build types, all which contain different executable names, and two entirely
different sets of CLI argument names. emu-runner
simplifies this by providing an abiguous data structure:
let ctx = FceuxContext::new("path/to/emulator")?
.with_lua("/a/lua/script.lua")
.with_movie("SuperMario.fm2")
.with_rom("roms/Super Mario Bros.nes");
ctx.run();
Current supported emulators include: BizHawk, FCEUX, and Gens.
Other emulator contexts can be made by implementing the EmulatorContext
trait on your own types.