/// <summary> /// Creates a backup....I can't find where to put this to make it actually helpful... /// </summary> /// <param name="Cameras"><see cref="CameraEditorForm.Cameras"/></param> public static void CreateBackup(BCAM Cameras) { LCPP Backup = new LCPP(); for (int i = 0; i < Cameras.EntryCount; i++) { Backup.Add(Cameras[i]); } Backup.Creator = "LCP Backup Code"; string date = DateTime.Now.ToString("MMMM dd yyyy | h:m:s tt"); Backup.Name = "LCP Backup " + date; Backup.Save(Path.Combine(PresetPath, $"BACKUP-{date}.lcpp"), false); }
private void NewToolStripMenuItem_Click(object sender, EventArgs e) { if (Program.IsUnsavedChanges && !IsDiscardChanges()) { return; } Filename = null; MainSplitContainer.Panel2.Controls.Clear(); Cameras = new BCAM(); CameraListBox.Enabled = true; SaveToolStripMenuItem.Enabled = true; SaveAsToolStripMenuItem.Enabled = true; ExportPresetToolStripMenuItem.Enabled = true; CameraListBox.Items.Clear(); Console.WriteLine("New File Started!"); AddDefaultCameraToolStripMenuItem_Click(null, null); CameraListBox.SelectedIndex = 0; Program.IsUnsavedChanges = false; }
public void Open(string file) { CameraListBox.SelectedIndex = -1; Filename = file; SoundPlayer Patience = new SoundPlayer(); if (File.Exists(Filename) && new FileInfo(file).IsFileLocked()) { Console.WriteLine("The chosen file cannot be accessed. The file has not been modified, and your changes have not been saved."); goto OpenFailed; } if (Program.CanPlaySfx(Program.WaitSfx)) { Patience.SoundLocation = Program.WaitSfx; Patience.Load(); Patience.PlayLooping(); } switch (new FileInfo(file).Extension) { case ".bcam": Console.WriteLine("Loading as a Binary Camera file:"); FileStream fs = new FileStream(file, FileMode.Open); Cameras = new BCAM(fs); fs.Close(); Console.WriteLine("Load Complete!"); break; case ".arc": case ".rarc": Console.WriteLine("Loading as an Archive:"); RARC Archive = YAZ0.Check(file) ? new RARC(new MemoryStream(YAZ0.Decompress(File.ReadAllBytes(file)))) : new RARC(file); Console.WriteLine("Archive Loaded. Looking for the .bcam..."); string CameraParamPath = Archive.GetItemKeyFromNoCase("Camera/CameraParam.bcam"); if (CameraParamPath == null) { CameraParamPath = Archive.GetItemKeyFromNoCase("ActorInfo/CameraParam.bcam"); if (CameraParamPath == null) { Console.WriteLine("Load Failed! No BCAM was found inside the archive!\n(Maybe it was in the wrong place?)"); goto OpenFailed; } } Console.WriteLine(".bcam found."); Cameras = new BCAM(new MemoryStream(((RARC.File)Archive[CameraParamPath]).FileData)); Console.WriteLine("Load Complete!"); break; } Console.WriteLine(); Console.WriteLine("Writing the Camera List:"); CameraListBox.Enabled = false; CameraListBox.Items.Clear(); for (int i = 0; i < Cameras.EntryCount; i++) { CameraListBox.Items.Add(Cameras[i].GetTranslatedName()); Console.Write($"\r{Math.Min((int)(((float)(i + 1) / (float)CameraListBox.Items.Count) * 100), 100)}% "); } Console.WriteLine("Complete"); if (Cameras.EntryCount > 0) { CameraListBox.SelectedIndex = 0; } CameraListBox.Enabled = true; SaveToolStripMenuItem.Enabled = true; SaveAsToolStripMenuItem.Enabled = true; ExportPresetToolStripMenuItem.Enabled = true; Program.IsUnsavedChanges = false; Patience.Stop(); if (Program.CanPlaySfx(Program.SuccessSfx)) { Patience.SoundLocation = Program.SuccessSfx; Patience.Load(); Patience.Play(); } return; OpenFailed: Patience.Stop(); if (Program.CanPlaySfx(Program.FailureSfx)) { Patience.SoundLocation = Program.FailureSfx; Patience.Load(); Patience.Play(); } }