save path as option
This commit is contained in:
parent
2ba3de1894
commit
717bba9352
|
@ -30,6 +30,7 @@ pub mod util;
|
||||||
|
|
||||||
pub struct Options {
|
pub struct Options {
|
||||||
pub rom_path: String,
|
pub rom_path: String,
|
||||||
|
pub save_path: Option<String>,
|
||||||
pub bootrom_path: Option<String>,
|
pub bootrom_path: Option<String>,
|
||||||
pub connect_serial: bool,
|
pub connect_serial: bool,
|
||||||
pub verbose: bool,
|
pub verbose: bool,
|
||||||
|
@ -53,9 +54,13 @@ pub fn init(
|
||||||
) {
|
) {
|
||||||
VERBOSE.set(options.verbose).unwrap();
|
VERBOSE.set(options.verbose).unwrap();
|
||||||
|
|
||||||
let maybe_save = PathBuf::from_str(&options.rom_path)
|
let maybe_save = if let Some(path) = options.save_path {
|
||||||
|
PathBuf::from_str(&path).unwrap()
|
||||||
|
} else {
|
||||||
|
PathBuf::from_str(&options.rom_path)
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.with_extension("sav");
|
.with_extension("sav")
|
||||||
|
};
|
||||||
|
|
||||||
let rom: Rom = match fs::read(options.rom_path) {
|
let rom: Rom = match fs::read(options.rom_path) {
|
||||||
Ok(data) => Rom::load(data, maybe_save),
|
Ok(data) => Rom::load(data, maybe_save),
|
||||||
|
|
|
@ -22,6 +22,10 @@ struct Args {
|
||||||
#[arg(short, long)]
|
#[arg(short, long)]
|
||||||
rom: String,
|
rom: String,
|
||||||
|
|
||||||
|
/// Save path
|
||||||
|
#[arg(long)]
|
||||||
|
save_path: Option<String>,
|
||||||
|
|
||||||
/// BootROM path
|
/// BootROM path
|
||||||
#[arg(short, long)]
|
#[arg(short, long)]
|
||||||
bootrom: Option<String>,
|
bootrom: Option<String>,
|
||||||
|
@ -62,6 +66,7 @@ fn main() {
|
||||||
|
|
||||||
let options = gb_emu::Options {
|
let options = gb_emu::Options {
|
||||||
rom_path: args.rom,
|
rom_path: args.rom,
|
||||||
|
save_path: args.save_path,
|
||||||
bootrom_path: args.bootrom,
|
bootrom_path: args.bootrom,
|
||||||
connect_serial: args.connect_serial,
|
connect_serial: args.connect_serial,
|
||||||
verbose: args.verbose,
|
verbose: args.verbose,
|
||||||
|
|
Loading…
Reference in a new issue