/// <summary> /// Populate an FCE Ultra movie file's header information /// </summary> public static void FCM(ref TreeView tv, ref TASMovie fcm) { FCEU movie = (FCEU)fcm; tv.Nodes.Clear(); tv.Nodes.Add("Header"); tv.Nodes[0].Nodes.Add("Signature: " + movie.Header.Signature); tv.Nodes[0].Nodes.Add("Version: " + movie.Header.Version.ToString()); tv.Nodes[0].Nodes.Add("Frame Count: " + String.Format("{0:0,0}", movie.Header.FrameCount)); tv.Nodes[0].Nodes.Add("Rerecord Count: " + String.Format("{0:0,0}", movie.Header.RerecordCount)); tv.Nodes[0].Nodes.Add("Emulator Version: " + movie.Header.EmulatorID); tv.Nodes[0].Nodes.Add("Movie Start: " + movie.Options.MovieStart); tv.Nodes[0].Nodes.Add("Movie Timing: " + movie.Options.MovieTiming); tv.Nodes.Add("Metadata"); tv.Nodes[1].Nodes.Add("Author: " + movie.Extra.Author); tv.Nodes.Add("ROM Information"); tv.Nodes[2].Nodes.Add("ROM Title: " + movie.Extra.ROM); tv.Nodes[2].Nodes.Add("ROM CRC: " + movie.Extra.CRC); tv.Nodes.Add("Controllers"); tv.Nodes[3].Nodes.Add("Controller 1: " + movie.Input.Controllers[0].ToString()); tv.Nodes[3].Nodes.Add("Controller 2: " + movie.Input.Controllers[1].ToString()); tv.Nodes[3].Nodes.Add("Controller 3: " + movie.Input.Controllers[2].ToString()); tv.Nodes[3].Nodes.Add("Controller 4: " + movie.Input.Controllers[3].ToString()); movie = null; tv.ExpandAll(); tv.Nodes[0].EnsureVisible(); }
/// <summary> /// Launch an OpenFileDialog an populate the TASMovieInputCollection object /// according to the type of movie file that's selected /// </summary> private string loadMovie(ref TASMovieInputCollection location) { openDlg = new OpenFileDialog(); openDlg.Filter = TAS_FILTER; openDlg.ShowDialog(); string filename = openDlg.FileName; openDlg.Dispose(); if (filename.Length == 0) { return(null); } TASMovie movie = new TASMovie(); location = new TASMovieInputCollection(); location.Format = IsValid(filename); // load the movie object up with the correct format switch (location.Format) { case MovieType.SMV: movie = new SNES9x(filename); break; case MovieType.FCM: movie = new FCEU(filename); break; case MovieType.GMV: movie = new Gens(filename); break; case MovieType.FMV: movie = new Famtasia(filename); break; case MovieType.VBM: movie = new VisualBoyAdvance(filename); break; case MovieType.M64: movie = new Mupen64(filename); break; case MovieType.MMV: movie = new Dega(filename); break; case MovieType.PXM: movie = new PCSX(filename); break; // shares with PJM case MovieType.PJM: movie = new PCSX(filename); break; // shares with PXM } location.Input = movie.Input.FrameData; location.Controllers = movie.Input.ControllerCount; return(filename); }