clean up movie saving, dont' pass around a streamwriter

This commit is contained in:
adelikat 2013-10-28 01:04:38 +00:00
parent 21bab46674
commit bef10dc175
4 changed files with 30 additions and 25 deletions

View File

@ -780,21 +780,27 @@ namespace BizHawk.Client.Common
WriteBinary(fs); WriteBinary(fs);
} }
private void WriteText(Stream stream) private void WriteText(Stream stream)
{ {
using (StreamWriter sw = new StreamWriter(stream)) using (StreamWriter sw = new StreamWriter(stream))
{ {
Header.WriteText(sw); sw.Write(Header.ToString());
//TODO: clean this up //TODO: clean this up
if (_loopOffset >= 0) if (_loopOffset.HasValue)
{ {
sw.WriteLine("LoopOffset " + _loopOffset.ToString()); sw.WriteLine("LoopOffset " + _loopOffset.ToString());
} }
Subtitles.WriteText(sw); foreach (var subtitle in Subtitles)
_log.WriteText(sw); {
sw.WriteLine(subtitle.ToString());
}
for (int i = 0; i < _log.Length; i++)
{
sw.WriteLine(_log[i]);
}
} }
} }

View File

@ -1,5 +1,6 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
using System.Text;
namespace BizHawk.Client.Common namespace BizHawk.Client.Common
{ {
@ -104,22 +105,36 @@ namespace BizHawk.Client.Common
HeaderParams[key] = value; HeaderParams[key] = value;
} }
public void WriteText(StreamWriter sw) public override string ToString()
{ {
StringBuilder sb = new StringBuilder();
foreach (KeyValuePair<string, string> kvp in HeaderParams) foreach (KeyValuePair<string, string> kvp in HeaderParams)
{ {
sw.WriteLine(kvp.Key + " " + kvp.Value); sb
.Append(kvp.Key)
.Append(' ')
.Append(kvp.Value)
.AppendLine();
} }
foreach (KeyValuePair<string, string> kvp in BoardProperties) foreach (KeyValuePair<string, string> kvp in BoardProperties)
{ {
sw.WriteLine(BOARDPROPERTIES + " " + kvp.Key + " " + kvp.Value); sb
.Append(BOARDPROPERTIES)
.Append(' ')
.Append(kvp.Key)
.Append(' ')
.Append(kvp.Value)
.AppendLine();
} }
foreach (string t in Comments) foreach (string t in Comments)
{ {
sw.WriteLine(t); sb.AppendLine(t);
} }
return sb.ToString();
} }
private string ParseHeader(string line, string headerName) private string ParseHeader(string line, string headerName)

View File

@ -177,14 +177,6 @@ namespace BizHawk.Client.Common
} }
} }
public void WriteText(StreamWriter sw)
{
foreach (var record in _movie_records)
{
sw.WriteLine(record);
}
}
public void TruncateMovie(int frame) public void TruncateMovie(int frame)
{ {
if (frame < _movie_records.Count) if (frame < _movie_records.Count)

View File

@ -109,13 +109,5 @@ namespace BizHawk.Client.Common
_subtitles.RemoveAt(index); _subtitles.RemoveAt(index);
} }
public void WriteText(StreamWriter sw)
{
foreach(var subtitle in _subtitles)
{
sw.WriteLine(subtitle.ToString());
}
}
} }
} }