diff --git a/src/converter/ddr2osu.rs b/src/converter/ddr2osu.rs index a84e80d..be34f43 100644 --- a/src/converter/ddr2osu.rs +++ b/src/converter/ddr2osu.rs @@ -284,10 +284,7 @@ impl ssq::Step { } } ssq::Step::Shock { beats } => { - let columns = match shock_step_generator.next() { - Some(columns) => columns, - None => vec![], - }; + let columns = shock_step_generator.next().unwrap_or_else(Vec::new); for column in columns { hit_objects.push(beatmap::HitObject::HitCircle { diff --git a/src/main.rs b/src/main.rs index 857ba7b..a84b6f4 100644 --- a/src/main.rs +++ b/src/main.rs @@ -166,13 +166,6 @@ struct BatchDDR2osu { convert: converter::ddr2osu::Config, } -fn get_basename(path: &PathBuf) -> Option<&str> { - match path.file_stem() { - Some(stem) => stem.to_str(), - None => None, - } -} - fn read_musicdb(path: &PathBuf) -> Result { let extension = path.extension().and_then(|ext| ext.to_str()).unwrap_or(""); @@ -372,7 +365,10 @@ fn main() -> Result<()> { } SubCommand::DDR2osu(opts) => { let basename = opts.basename.clone().unwrap_or( - get_basename(&opts.ssq_file) + opts.ssq_file + .file_stem() + .map(|stem| stem.to_str()) + .flatten() .map(|basename| basename.to_string()) .ok_or_else(|| { anyhow!(