Lots of little fixups to movie code, disable Disable Message config in Message Config as I won't be implmenting that before release
This commit is contained in:
parent
4c5b48fd7c
commit
a228e05f38
|
@ -24,8 +24,8 @@ namespace BizHawk.MultiClient
|
|||
SavestateManager StateSlots = new SavestateManager();
|
||||
|
||||
//Movie variables
|
||||
public Movie InputLog = new Movie("", MOVIEMODE.INACTIVE);
|
||||
public Movie UserMovie = new Movie("", MOVIEMODE.INACTIVE);
|
||||
public Movie InputLog = new Movie();
|
||||
public Movie UserMovie = new Movie();
|
||||
|
||||
public bool PressFrameAdvance = false;
|
||||
public bool PressRewind = false;
|
||||
|
@ -121,8 +121,8 @@ namespace BizHawk.MultiClient
|
|||
if (Global.Sound != null) Global.Sound.StartSound();
|
||||
};
|
||||
|
||||
Input.Initialize();
|
||||
InitControls();
|
||||
Input.Initialize();
|
||||
InitControls();
|
||||
Global.Emulator = new NullEmulator();
|
||||
Global.ActiveController = Global.NullControls;
|
||||
Global.Sound = new Sound(Handle, Global.DSound);
|
||||
|
@ -392,11 +392,9 @@ namespace BizHawk.MultiClient
|
|||
|
||||
private void LoadMoviesFromRecent(string movie)
|
||||
{
|
||||
Movie m = new Movie(movie, MOVIEMODE.PLAY);
|
||||
ReadOnly = true;
|
||||
StartNewMovie(m, false);
|
||||
/*
|
||||
bool r = true; // LoadRom(rom);
|
||||
bool r;
|
||||
Movie m = new Movie(movie, MOVIEMODE.PLAY, out r);
|
||||
|
||||
if (!r)
|
||||
{
|
||||
Global.Sound.StopSound();
|
||||
|
@ -405,8 +403,11 @@ namespace BizHawk.MultiClient
|
|||
Global.Config.RecentMovies.Remove(movie);
|
||||
Global.Sound.StartSound();
|
||||
}
|
||||
*/
|
||||
//TODO: make StartNewMovie or Movie constructor
|
||||
else
|
||||
{
|
||||
ReadOnly = true;
|
||||
StartNewMovie(m, false);
|
||||
}
|
||||
}
|
||||
|
||||
public static ControllerDefinition ClientControlsDef = new ControllerDefinition
|
||||
|
|
|
@ -30,6 +30,8 @@
|
|||
{
|
||||
this.OK = new System.Windows.Forms.Button();
|
||||
this.MessageTypeBox = new System.Windows.Forms.GroupBox();
|
||||
this.MultitrackLabel = new System.Windows.Forms.Label();
|
||||
this.MultitrackRadio = new System.Windows.Forms.RadioButton();
|
||||
this.RerecLabel = new System.Windows.Forms.Label();
|
||||
this.RerecordsRadio = new System.Windows.Forms.RadioButton();
|
||||
this.MessLabel = new System.Windows.Forms.Label();
|
||||
|
@ -80,8 +82,6 @@
|
|||
this.LInputColorDialog = new System.Windows.Forms.ColorDialog();
|
||||
this.MovieColorDialog = new System.Windows.Forms.ColorDialog();
|
||||
this.MovieInputColorDialog = new System.Windows.Forms.ColorDialog();
|
||||
this.MultitrackRadio = new System.Windows.Forms.RadioButton();
|
||||
this.MultitrackLabel = new System.Windows.Forms.Label();
|
||||
this.MessageTypeBox.SuspendLayout();
|
||||
this.groupBox2.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.XNumeric)).BeginInit();
|
||||
|
@ -123,6 +123,28 @@
|
|||
this.MessageTypeBox.TabStop = false;
|
||||
this.MessageTypeBox.Text = "Message Type";
|
||||
//
|
||||
// MultitrackLabel
|
||||
//
|
||||
this.MultitrackLabel.Anchor = System.Windows.Forms.AnchorStyles.None;
|
||||
this.MultitrackLabel.AutoSize = true;
|
||||
this.MultitrackLabel.Location = new System.Drawing.Point(126, 163);
|
||||
this.MultitrackLabel.Name = "MultitrackLabel";
|
||||
this.MultitrackLabel.Size = new System.Drawing.Size(49, 13);
|
||||
this.MultitrackLabel.TabIndex = 13;
|
||||
this.MultitrackLabel.Text = "255, 255";
|
||||
//
|
||||
// MultitrackRadio
|
||||
//
|
||||
this.MultitrackRadio.AutoSize = true;
|
||||
this.MultitrackRadio.Location = new System.Drawing.Point(6, 161);
|
||||
this.MultitrackRadio.Name = "MultitrackRadio";
|
||||
this.MultitrackRadio.Size = new System.Drawing.Size(71, 17);
|
||||
this.MultitrackRadio.TabIndex = 12;
|
||||
this.MultitrackRadio.TabStop = true;
|
||||
this.MultitrackRadio.Text = "Multitrack";
|
||||
this.MultitrackRadio.UseVisualStyleBackColor = true;
|
||||
this.MultitrackRadio.CheckedChanged += new System.EventHandler(this.MultitrackRadio_CheckedChanged);
|
||||
//
|
||||
// RerecLabel
|
||||
//
|
||||
this.RerecLabel.Anchor = System.Windows.Forms.AnchorStyles.None;
|
||||
|
@ -626,28 +648,6 @@
|
|||
this.TL.UseVisualStyleBackColor = true;
|
||||
this.TL.Click += new System.EventHandler(this.TL_CheckedChanged);
|
||||
//
|
||||
// MultitrackRadio
|
||||
//
|
||||
this.MultitrackRadio.AutoSize = true;
|
||||
this.MultitrackRadio.Location = new System.Drawing.Point(6, 161);
|
||||
this.MultitrackRadio.Name = "MultitrackRadio";
|
||||
this.MultitrackRadio.Size = new System.Drawing.Size(71, 17);
|
||||
this.MultitrackRadio.TabIndex = 12;
|
||||
this.MultitrackRadio.TabStop = true;
|
||||
this.MultitrackRadio.Text = "Multitrack";
|
||||
this.MultitrackRadio.UseVisualStyleBackColor = true;
|
||||
this.MultitrackRadio.CheckedChanged += new System.EventHandler(this.MultitrackRadio_CheckedChanged);
|
||||
//
|
||||
// MultitrackLabel
|
||||
//
|
||||
this.MultitrackLabel.Anchor = System.Windows.Forms.AnchorStyles.None;
|
||||
this.MultitrackLabel.AutoSize = true;
|
||||
this.MultitrackLabel.Location = new System.Drawing.Point(126, 163);
|
||||
this.MultitrackLabel.Name = "MultitrackLabel";
|
||||
this.MultitrackLabel.Size = new System.Drawing.Size(49, 13);
|
||||
this.MultitrackLabel.TabIndex = 13;
|
||||
this.MultitrackLabel.Text = "255, 255";
|
||||
//
|
||||
// MessageConfig
|
||||
//
|
||||
this.AcceptButton = this.OK;
|
||||
|
|
|
@ -15,7 +15,7 @@ namespace BizHawk.MultiClient
|
|||
public SubtitleList Subtitles = new SubtitleList();
|
||||
|
||||
private bool IsText = true;
|
||||
private string Filename;
|
||||
public string Filename; //TODO: replace GetFilename() method
|
||||
public bool MakeBackup = true; //Flag for making backup before altering movie
|
||||
|
||||
private MOVIEMODE MovieMode = new MOVIEMODE();
|
||||
|
@ -25,9 +25,32 @@ namespace BizHawk.MultiClient
|
|||
public int lastLog;
|
||||
public int rerecordCount;
|
||||
|
||||
/// <summary>
|
||||
/// Allows checking if file exists
|
||||
/// </summary>
|
||||
/// <param name="filename"></param>
|
||||
/// <param name="m"></param>
|
||||
/// <param name="exists"></param>
|
||||
public Movie(string filename, MOVIEMODE m, out bool exists)
|
||||
{
|
||||
FileInfo f = new FileInfo(filename);
|
||||
if (!f.Exists)
|
||||
{
|
||||
filename = "";
|
||||
exists = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
Filename = filename;
|
||||
exists = true;
|
||||
}
|
||||
MovieMode = m;
|
||||
lastLog = 0;
|
||||
rerecordCount = 0;
|
||||
}
|
||||
|
||||
public Movie(string filename, MOVIEMODE m)
|
||||
{
|
||||
Filename = filename; //TODO: Validate that file is writable
|
||||
MovieMode = m;
|
||||
lastLog = 0;
|
||||
rerecordCount = 0;
|
||||
|
@ -128,7 +151,7 @@ namespace BizHawk.MultiClient
|
|||
// Log.Truncate(Global.Emulator.Frame);
|
||||
// }
|
||||
|
||||
//TODO: truncation here instead of loadstate will make VBA stil loadstates
|
||||
//Note: Truncation here instead of loadstate will make VBA style loadstates
|
||||
//(Where an entire movie is loaded then truncated on the next frame
|
||||
//this allows users to restore a movie with any savestate from that "timeline"
|
||||
|
||||
|
@ -159,6 +182,7 @@ namespace BizHawk.MultiClient
|
|||
|
||||
public void WriteMovie()
|
||||
{
|
||||
if (Filename == "") return;
|
||||
Directory.CreateDirectory(new FileInfo(Filename).Directory.FullName);
|
||||
if (IsText)
|
||||
WriteText(Filename);
|
||||
|
@ -168,6 +192,7 @@ namespace BizHawk.MultiClient
|
|||
|
||||
public void WriteBackup()
|
||||
{
|
||||
if (Filename == "") return;
|
||||
Directory.CreateDirectory(new FileInfo(Filename).Directory.FullName);
|
||||
string BackupName = Filename;
|
||||
BackupName = BackupName.Insert(Filename.LastIndexOf("."), String.Format(".{0:yyyy-MM-dd HH.mm.ss}", DateTime.Now));
|
||||
|
@ -181,7 +206,7 @@ namespace BizHawk.MultiClient
|
|||
|
||||
private void WriteText(string file)
|
||||
{
|
||||
if (file.Length == 0) return; //Nothing to write
|
||||
if (file.Length == 0) return; //Nothing to write
|
||||
int length = Log.GetMovieLength();
|
||||
|
||||
using (StreamWriter sw = new StreamWriter(file))
|
||||
|
@ -320,7 +345,7 @@ namespace BizHawk.MultiClient
|
|||
{
|
||||
continue;
|
||||
}
|
||||
//TODO: don't reiterate this entire if chain, make a function called by this and loadmovie
|
||||
|
||||
else if (str.Contains(MovieHeader.EMULATIONVERSION))
|
||||
{
|
||||
str = ParseHeader(str, MovieHeader.EMULATIONVERSION);
|
||||
|
|
Loading…
Reference in New Issue