public void CheckObjectCount() { var converter = new StepmaniaConverter("./Stepmania/Resources/chaoz-airflow.sm"); var qua = converter.ToQua().First(); Assert.True(qua.HitObjects.Count >= 1); }
public void ConvertToQua() { var converter = new StepmaniaConverter("./Stepmania/Resources/chaoz-airflow.sm"); var quas = converter.ToQua(); Assert.Single(quas); }
public void FailUponBadPath() { try { var converter = new StepmaniaConverter("bad-path-no-file"); Assert.NotNull(converter); } catch (Exception e) { // passed. } }
public ConvertSmCommand(string[] args) : base(args) { OutputPath = args[2]; Directory.CreateDirectory(OutputPath); Converter = new StepmaniaConverter(args[1]); var quas = Converter.ToQua(); for (var i = 0; i < quas.Count; i++) { quas[i].Save($"{OutputPath}/{i}.qua"); } }
public void ConvertToQuaFile() { var dir = "./tests/sm"; Directory.CreateDirectory(dir); var converter = new StepmaniaConverter("./Stepmania/Resources/chaoz-airflow.sm"); var quas = converter.ToQua(); for (var i = 0; i < quas.Count; i++) { quas[i].Save($"{dir}/{i}.qua"); } }
/// <summary> /// Handles the conversion of a single .sm file /// </summary> public static void ConvertFile(string file, string extractDirectory) { var time = (long)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).Milliseconds; var tempFolder = $@"{ConfigManager.DataDirectory}/Temp/{Path.GetFileNameWithoutExtension(file)} - {time}"; if (Directory.Exists(tempFolder)) { Directory.Delete(tempFolder, true); } try { var quaFiles = new StepmaniaConverter(file).ToQua(); Directory.CreateDirectory(extractDirectory); for (var i = 0; i < quaFiles.Count; i++) { var qua = quaFiles[i]; // Apparently sm can have backgrounds defaulted to files that end in -bg or just bg. // this handles the case of if the background file is initially null in the .sm file // and sets the appropriate background file to use. if (string.IsNullOrEmpty(qua.BackgroundFile)) { foreach (var f in Directory.GetFiles(Path.GetDirectoryName(file))) { var fileName = f.ToLower(); if (!fileName.EndsWith("bg.jpg") && !fileName.EndsWith("bg.jpeg") && !fileName.EndsWith("bg.png")) { continue; } qua.BackgroundFile = Path.GetFileName(f); break; } } qua.Save($"{extractDirectory}/{i}.qua"); } foreach (var qua in quaFiles) { // Copy over audio files try { var path = $"{extractDirectory}/{qua.AudioFile}"; if (!File.Exists(path)) { File.Copy($"{Path.GetDirectoryName(file)}/{qua.AudioFile}", path); } } catch (Exception e) { Logger.Error(e, LogType.Runtime); } // Copy over background files. try { var path = $"{extractDirectory}/{qua.BackgroundFile}"; if (!File.Exists(path)) { File.Copy($"{Path.GetDirectoryName(file)}/{qua.BackgroundFile}", path); } } catch (Exception e) { Logger.Error(e, LogType.Runtime); } } } catch (Exception e) { Logger.Error(e, LogType.Runtime); } }