private void LoadLevelFromBig(int absId, int levelId = 0, int mode = 0, int files = 2) { if (big == null) { if (File.Exists("bigfile.big")) { big = new BigFileReader(File.OpenRead("bigfile.big")); } else { return; } } if (levelId == -1 && files == 3) { string[] levels = new string[5]; for (int i = 0; i < 5; i++) { big.FileCursor = 200 + i * 3; Directory.CreateDirectory(Path.Combine(Meta.BasePath, Directory.GetParent(big.GetFilename()).FullName)); File.WriteAllBytes(Path.Combine(Meta.BasePath, big.GetFilename()), big.ReadFile()); big.NextFile(); levels[i] = Path.Combine(Meta.BasePath, big.GetFilename()); File.WriteAllBytes(levels[i], big.ReadFile()); } LoadStuff(levels); } else { big.FileCursor = (files == 3 ? 200 + levelId * 3 : levelId * 8) + mode * files; Directory.CreateDirectory(Path.Combine(Meta.BasePath, Directory.GetParent(big.GetFilename()).FullName)); File.WriteAllBytes(Path.Combine(Meta.BasePath, big.GetFilename()), big.ReadFile()); big.NextFile(); File.WriteAllBytes(Path.Combine(Meta.BasePath, big.GetFilename()), big.ReadFile()); LoadStuff(new string[] { Path.Combine(Meta.BasePath, big.GetFilename()) }); } if (howl == null) { if (File.Exists("kart.hwl")) { howl = Howl.FromFile("kart.hwl"); } else { return; } } //howl.ExportAllSamples(); }