diff --git a/BizHawk.Client.Common/BizHawk.Client.Common.csproj b/BizHawk.Client.Common/BizHawk.Client.Common.csproj
index 723997de06..c46492a6e5 100644
--- a/BizHawk.Client.Common/BizHawk.Client.Common.csproj
+++ b/BizHawk.Client.Common/BizHawk.Client.Common.csproj
@@ -141,7 +141,6 @@
-
diff --git a/BizHawk.Client.Common/lua/EmuLuaLibrary.Movie.cs b/BizHawk.Client.Common/lua/EmuLuaLibrary.Movie.cs
index a11b66297d..bd55b1aa4a 100644
--- a/BizHawk.Client.Common/lua/EmuLuaLibrary.Movie.cs
+++ b/BizHawk.Client.Common/lua/EmuLuaLibrary.Movie.cs
@@ -123,7 +123,7 @@ namespace BizHawk.Client.Common
)]
public static string RerecordCount()
{
- return Global.MovieSession.Movie.Header.Rerecords.ToString();
+ return Global.MovieSession.Movie.Rerecords.ToString();
}
[LuaMethodAttributes(
diff --git a/BizHawk.Client.Common/movie/MovieImport.cs b/BizHawk.Client.Common/movie/MovieImport.cs
index d71be56f30..eb19d3f2ac 100644
--- a/BizHawk.Client.Common/movie/MovieImport.cs
+++ b/BizHawk.Client.Common/movie/MovieImport.cs
@@ -419,13 +419,14 @@ namespace BizHawk.Client.Common
// Try to parse the re-record count as an integer, defaulting to 0 if it fails.
try
{
- rerecordCount = int.Parse(ParseHeader(line, "rerecordCount"));
+ rerecordCount = int.Parse(ParseHeader(line, "rerecordCount"));
}
catch
{
- rerecordCount = 0;
+ rerecordCount = 0;
}
- m.Header.Rerecords = (ulong)rerecordCount;
+
+ m.Rerecords = (ulong)rerecordCount;
}
else if (line.ToLower().StartsWith("guid"))
{
@@ -582,7 +583,7 @@ namespace BizHawk.Client.Common
uint frameCount = r.ReadUInt32();
// 010 4-byte little-endian unsigned int: rerecord count
uint rerecordCount = r.ReadUInt32();
- m.Header.Rerecords = rerecordCount;
+ m.Rerecords = rerecordCount;
/*
018 4-byte little-endian unsigned int: offset to the savestate inside file
The savestate offset is . The savestate offset should be
@@ -828,7 +829,7 @@ namespace BizHawk.Client.Common
loaded, the number is 0. Famtasia however displays "1" in such case. It always adds 1 to the number found in
the file.
*/
- m.Header.Rerecords = rerecordCount + 1;
+ m.Rerecords = rerecordCount + 1;
// 00E 2-byte little-endian unsigned int: unknown, set to 0000
r.ReadInt16();
// 010 64-byte zero-terminated emulator identifier string
@@ -933,7 +934,7 @@ namespace BizHawk.Client.Common
m.Comments.Add(EMULATIONORIGIN + " Gens");
// 010 4-byte little-endian unsigned int: rerecord count
uint rerecordCount = r.ReadUInt32();
- m.Header.Rerecords = rerecordCount;
+ m.Rerecords = rerecordCount;
// 014 ASCII-encoded controller config for player 1. '3' or '6'.
string player1Config = r.ReadStringFixedAscii(1);
// 015 ASCII-encoded controller config for player 2. '3' or '6'.
@@ -1203,7 +1204,7 @@ namespace BizHawk.Client.Common
{
rerecordCount = 0;
}
- m.Header.Rerecords = (ulong)rerecordCount;
+ m.Rerecords = (ulong)rerecordCount;
hf.Unbind();
}
else if (item.Name.EndsWith(".sha256"))
@@ -1298,7 +1299,7 @@ namespace BizHawk.Client.Common
m.Header[HeaderKeys.GAMENAME] = gameName;
// 070 uint32 Re-record Count
uint rerecordCount = r.ReadUInt32();
- m.Header.Rerecords = (ulong)rerecordCount;
+ m.Rerecords = (ulong)rerecordCount;
// 074 5-byte Console indicator (pce, ngp, pcfx, wswan)
string platform = NullTerminated(r.ReadStringFixedAscii(5));
Dictionary> platforms = new Dictionary>
@@ -1411,7 +1412,7 @@ namespace BizHawk.Client.Common
uint frameCount = r.ReadUInt32();
// 000c: 4-byte little endian unsigned int: rerecord count
uint rerecordCount = r.ReadUInt32();
- m.Header.Rerecords = rerecordCount;
+ m.Rerecords = rerecordCount;
// 0010: 4-byte little endian flag: begin from reset?
uint reset = r.ReadUInt32();
if (reset == 0)
@@ -1674,7 +1675,7 @@ namespace BizHawk.Client.Common
m.Header[HeaderKeys.PAL] = pal.ToString();
// 004 4-byte little-endian unsigned int: rerecord count
uint rerecordCount = r.ReadUInt32();
- m.Header.Rerecords = rerecordCount;
+ m.Rerecords = rerecordCount;
/*
008 4-byte little-endian unsigned int: length of movie description
00C (variable) null-terminated UTF-8 text, movie description (currently not implemented)
@@ -1774,7 +1775,7 @@ namespace BizHawk.Client.Common
uint uid = r.ReadUInt32();
// 00C 4-byte little-endian unsigned int: rerecord count
- m.Header.Rerecords = r.ReadUInt32();
+ m.Rerecords = r.ReadUInt32();
// 010 4-byte little-endian unsigned int: number of frames
uint frameCount = r.ReadUInt32();
// 014 1-byte flags "controller mask"
@@ -2034,7 +2035,7 @@ namespace BizHawk.Client.Common
uint frameCount = r.ReadUInt32();
// 010 4-byte little-endian unsigned int: rerecord count
uint rerecordCount = r.ReadUInt32();
- m.Header.Rerecords = rerecordCount;
+ m.Rerecords = rerecordCount;
// 014 1-byte flags: (movie start flags)
byte flags = r.ReadByte();
// bit 0: if "1", movie starts from an embedded "quicksave" snapshot
@@ -2334,7 +2335,7 @@ namespace BizHawk.Client.Common
r.ReadBytes(2);
// 01C 4-byte little-endian integer: rerecord count
uint rerecordCount = r.ReadUInt32();
- m.Header.Rerecords = rerecordCount;
+ m.Rerecords = rerecordCount;
/*
020 BYTE RenderMethod
0=POST_ALL,1=PRE_ALL
@@ -2521,7 +2522,7 @@ namespace BizHawk.Client.Common
uint frameCount = r.ReadUInt32();
// 00D 4-byte little-endian unsigned int: number of rerecords
uint rerecordCount = r.ReadUInt32();
- m.Header.Rerecords = rerecordCount;
+ m.Rerecords = rerecordCount;
// 011 4-byte little-endian unsigned int: number of frames removed by rerecord
r.ReadBytes(4);
// 015 4-byte little-endian unsigned int: number of frames advanced step by step
diff --git a/BizHawk.Client.Common/movie/bk2/Movie2.cs b/BizHawk.Client.Common/movie/bk2/Movie2.cs
index 83a2cf2274..b41b2a29f9 100644
--- a/BizHawk.Client.Common/movie/bk2/Movie2.cs
+++ b/BizHawk.Client.Common/movie/bk2/Movie2.cs
@@ -21,15 +21,14 @@ namespace BizHawk.Client.Common
public Movie2(string filename, bool startsFromSavestate = false)
: this(startsFromSavestate)
{
- Header.Rerecords = 0;
+ Rerecords = 0;
Filename = filename;
}
public Movie2(bool startsFromSavestate = false)
{
- Header = new MovieHeader2();
Filename = string.Empty;
- Header.StartsFromSavestate = startsFromSavestate;
+ StartsFromSavestate = startsFromSavestate;
IsCountingRerecords = true;
_mode = Moviemode.Inactive;
@@ -39,9 +38,8 @@ namespace BizHawk.Client.Common
#region Implementation
public string PreferredExtension { get { return "bk2"; } }
-
public bool IsCountingRerecords { get; set; }
- public IMovieHeader Header { get; private set; }
+
public SubtitleList Subtitles
{
get { throw new NotImplementedException(); }
@@ -78,6 +76,58 @@ namespace BizHawk.Client.Common
}
}
+ public ulong Rerecords
+ {
+ get
+ {
+ throw new NotImplementedException();
+ }
+
+ set
+ {
+ throw new NotImplementedException();
+ }
+ }
+
+ public bool StartsFromSavestate
+ {
+ get
+ {
+ throw new NotImplementedException();
+ }
+
+ set
+ {
+ throw new NotImplementedException();
+ }
+ }
+
+ public string GameName
+ {
+ get
+ {
+ throw new NotImplementedException();
+ }
+
+ set
+ {
+ throw new NotImplementedException();
+ }
+ }
+
+ public string SystemID
+ {
+ get
+ {
+ throw new NotImplementedException();
+ }
+
+ set
+ {
+ throw new NotImplementedException();
+ }
+ }
+
public bool IsActive
{
get { return _mode != Moviemode.Inactive; }
diff --git a/BizHawk.Client.Common/movie/bk2/MovieHeader2.cs b/BizHawk.Client.Common/movie/bk2/MovieHeader2.cs
index 98673ab41f..ffc072c37a 100644
--- a/BizHawk.Client.Common/movie/bk2/MovieHeader2.cs
+++ b/BizHawk.Client.Common/movie/bk2/MovieHeader2.cs
@@ -5,172 +5,8 @@ using System.Text;
namespace BizHawk.Client.Common
{
- public class MovieHeader2 : IMovieHeader
+ public class MovieHeader2
{
- public ulong Rerecords
- {
- get
- {
- throw new NotImplementedException();
- }
- set
- {
- throw new NotImplementedException();
- }
- }
-
- public bool StartsFromSavestate
- {
- get
- {
- throw new NotImplementedException();
- }
- set
- {
- throw new NotImplementedException();
- }
- }
-
- public string SavestateBinaryBase64Blob
- {
- get
- {
- throw new NotImplementedException();
- }
- set
- {
- throw new NotImplementedException();
- }
- }
-
- public string GameName
- {
- get
- {
- throw new NotImplementedException();
- }
- set
- {
- throw new NotImplementedException();
- }
- }
-
- public string SystemID
- {
- get
- {
- throw new NotImplementedException();
- }
- set
- {
- throw new NotImplementedException();
- }
- }
-
- public bool ParseLineFromFile(string line)
- {
- throw new NotImplementedException();
- }
-
- public void Add(string key, string value)
- {
- throw new NotImplementedException();
- }
-
- public bool ContainsKey(string key)
- {
- throw new NotImplementedException();
- }
-
- public ICollection Keys
- {
- get { throw new NotImplementedException(); }
- }
-
- public bool Remove(string key)
- {
- throw new NotImplementedException();
- }
-
- public bool TryGetValue(string key, out string value)
- {
- throw new NotImplementedException();
- }
-
- public ICollection Values
- {
- get { throw new NotImplementedException(); }
- }
-
- public string this[string key]
- {
- get
- {
- throw new NotImplementedException();
- }
- set
- {
- throw new NotImplementedException();
- }
- }
-
- public void Add(KeyValuePair item)
- {
- throw new NotImplementedException();
- }
-
- public void Clear()
- {
- throw new NotImplementedException();
- }
-
- public bool Contains(KeyValuePair item)
- {
- throw new NotImplementedException();
- }
-
- public void CopyTo(KeyValuePair[] array, int arrayIndex)
- {
- throw new NotImplementedException();
- }
-
- public int Count
- {
- get { throw new NotImplementedException(); }
- }
-
- public bool IsReadOnly
- {
- get { throw new NotImplementedException(); }
- }
-
- public bool Remove(KeyValuePair item)
- {
- throw new NotImplementedException();
- }
-
- public IEnumerator> GetEnumerator()
- {
- throw new NotImplementedException();
- }
-
- System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
- {
- throw new NotImplementedException();
- }
-
- #region Won't implement
-
- public SubtitleList Subtitles
- {
- get { throw new NotImplementedException(); }
- }
-
- public List Comments
- {
- get { throw new NotImplementedException(); }
- }
-
- #endregion
+
}
}
diff --git a/BizHawk.Client.Common/movie/bkm/Movie.cs b/BizHawk.Client.Common/movie/bkm/Movie.cs
index 773734d336..ab83a47f5e 100644
--- a/BizHawk.Client.Common/movie/bkm/Movie.cs
+++ b/BizHawk.Client.Common/movie/bkm/Movie.cs
@@ -24,7 +24,7 @@ namespace BizHawk.Client.Common
public Movie(string filename, bool startsFromSavestate = false)
: this(startsFromSavestate)
{
- Header.Rerecords = 0;
+ Rerecords = 0;
Filename = filename;
Loaded = !string.IsNullOrWhiteSpace(filename);
}
@@ -34,7 +34,7 @@ namespace BizHawk.Client.Common
Header = new MovieHeader();
Filename = string.Empty;
_preloadFramecount = 0;
- Header.StartsFromSavestate = startsFromSavestate;
+ StartsFromSavestate = startsFromSavestate;
IsCountingRerecords = true;
_mode = Moviemode.Inactive;
@@ -79,14 +79,66 @@ namespace BizHawk.Client.Common
{
(Header as MovieHeader).SavestateBinaryBase64Blob = value;
}
- }
+ }
+
+ public ulong Rerecords
+ {
+ get
+ {
+ return (Header as MovieHeader).Rerecords;
+ }
+
+ set
+ {
+ (Header as MovieHeader).Rerecords = value;
+ }
+ }
+
+ public bool StartsFromSavestate
+ {
+ get
+ {
+ return (Header as MovieHeader).StartsFromSavestate;
+ }
+
+ set
+ {
+ (Header as MovieHeader).StartsFromSavestate = value;
+ }
+ }
+
+ public string GameName
+ {
+ get
+ {
+ return (Header as MovieHeader).GameName;
+ }
+
+ set
+ {
+ (Header as MovieHeader).GameName = value;
+ }
+ }
+
+ public string SystemID
+ {
+ get
+ {
+ return (Header as MovieHeader).SystemID;
+ }
+
+ set
+ {
+ (Header as MovieHeader).SystemID = value;
+ }
+ }
public string PreferredExtension { get { return "bkm"; } }
// TODO: delete me
public static string Extension { get { return "bkm"; } }
- public IMovieHeader Header { get; private set; }
+ public MovieHeader Header { get; private set; }
public string Filename { get; set; }
public bool IsCountingRerecords { get; set; }
@@ -151,7 +203,7 @@ namespace BizHawk.Client.Common
// If Starting a new recording requires clearing sram it shoudl be done at a higher layer and not rely on all IMovies doing this
// Haven't removed it yet because I coudln't guarantee that power-on movies coudl live without it
// And the immediate fire is that Savestate movies are breaking
- if (!Header.StartsFromSavestate) // && Global.Emulator.SystemId != "WSWAN")
+ if (!StartsFromSavestate)
{
Global.Emulator.ClearSaveRam();
}
@@ -169,7 +221,7 @@ namespace BizHawk.Client.Common
public void StartNewPlayback()
{
// See StartNewRecording for details as to why this savestate check is here
- if (!Header.StartsFromSavestate) // && Global.Emulator.SystemId != "WSWAN")
+ if (!StartsFromSavestate)
{
Global.Emulator.ClearSaveRam();
}
@@ -688,7 +740,7 @@ namespace BizHawk.Client.Common
if (IsCountingRerecords)
{
- Header.Rerecords++;
+ Rerecords++;
}
return true;
diff --git a/BizHawk.Client.Common/movie/bkm/MovieHeader.cs b/BizHawk.Client.Common/movie/bkm/MovieHeader.cs
index bc54b8eb3c..ff6b7efed7 100644
--- a/BizHawk.Client.Common/movie/bkm/MovieHeader.cs
+++ b/BizHawk.Client.Common/movie/bkm/MovieHeader.cs
@@ -3,7 +3,7 @@ using System.Text;
namespace BizHawk.Client.Common
{
- public class MovieHeader : Dictionary, IMovieHeader
+ public class MovieHeader : Dictionary
{
public MovieHeader()
{
diff --git a/BizHawk.Client.Common/movie/interfaces/IMovie.cs b/BizHawk.Client.Common/movie/interfaces/IMovie.cs
index a189604436..359bd7d722 100644
--- a/BizHawk.Client.Common/movie/interfaces/IMovie.cs
+++ b/BizHawk.Client.Common/movie/interfaces/IMovie.cs
@@ -55,10 +55,14 @@ namespace BizHawk.Client.Common
///
string SyncSettingsJson { get; set; }
- IMovieHeader Header { get; }
+ // TODO: document these
SubtitleList Subtitles { get; }
IList Comments { get; }
string SavestateBinaryBase64Blob { get; set; }
+ ulong Rerecords { get; set; }
+ bool StartsFromSavestate { get; set; }
+ string GameName { get; set; }
+ string SystemID { get; set; }
#endregion
diff --git a/BizHawk.Client.Common/movie/interfaces/IMovieHeader.cs b/BizHawk.Client.Common/movie/interfaces/IMovieHeader.cs
deleted file mode 100644
index 263b3935d1..0000000000
--- a/BizHawk.Client.Common/movie/interfaces/IMovieHeader.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-using System.Collections.Generic;
-
-namespace BizHawk.Client.Common
-{
- public interface IMovieHeader : IDictionary
- {
- ulong Rerecords { get; set; }
- bool StartsFromSavestate { get; set; }
- string GameName { get; set; }
- string SystemID { get; set; }
-
- ///
- /// Receives a line and attempts to add as a header
- ///
- ///
- /// The line of text loaded from a movie file.
- ///
- ///
- /// returns false if not a useable header line
- ///
- bool ParseLineFromFile(string line);
- }
-}
diff --git a/BizHawk.Client.Common/movie/tasproj/TasMovie.cs b/BizHawk.Client.Common/movie/tasproj/TasMovie.cs
index 03b4fd3588..1b2221c8f3 100644
--- a/BizHawk.Client.Common/movie/tasproj/TasMovie.cs
+++ b/BizHawk.Client.Common/movie/tasproj/TasMovie.cs
@@ -122,9 +122,61 @@ namespace BizHawk.Client.Common
}
}
+ public ulong Rerecords
+ {
+ get
+ {
+ return (Header as MovieHeader).Rerecords;
+ }
+
+ set
+ {
+ (Header as MovieHeader).Rerecords = value;
+ }
+ }
+
+ public bool StartsFromSavestate
+ {
+ get
+ {
+ return (Header as MovieHeader).StartsFromSavestate;
+ }
+
+ set
+ {
+ (Header as MovieHeader).StartsFromSavestate = value;
+ }
+ }
+
+ public string GameName
+ {
+ get
+ {
+ return (Header as MovieHeader).GameName;
+ }
+
+ set
+ {
+ (Header as MovieHeader).GameName = value;
+ }
+ }
+
+ public string SystemID
+ {
+ get
+ {
+ return (Header as MovieHeader).SystemID;
+ }
+
+ set
+ {
+ (Header as MovieHeader).SystemID = value;
+ }
+ }
+
public string Filename { get; set; }
- public IMovieHeader Header { get; private set; }
+ public MovieHeader Header { get; private set; }
public bool IsActive
{
@@ -372,7 +424,7 @@ namespace BizHawk.Client.Common
}
});
- if (Header.StartsFromSavestate)
+ if (StartsFromSavestate)
{
// should we raise some sort of error if there's a savestate in the archive but Header.StartsFromSavestate is false?
bl.GetCoreState(
@@ -417,7 +469,7 @@ namespace BizHawk.Client.Common
{
bs.PutLump(BinaryStateLump.Movieheader, (tw) => tw.WriteLine(Header.ToString()));
bs.PutLump(BinaryStateLump.Input, (tw) => tw.WriteLine(GetInputLog()));
- if (Header.StartsFromSavestate)
+ if (StartsFromSavestate)
{
#if true
bs.PutLump(BinaryStateLump.CorestateText, (tw) => Global.Emulator.SaveStateText(tw));
diff --git a/BizHawk.Client.EmuHawk/DisplayManager/OSDManager.cs b/BizHawk.Client.EmuHawk/DisplayManager/OSDManager.cs
index f3868d0184..ebb629f921 100644
--- a/BizHawk.Client.EmuHawk/DisplayManager/OSDManager.cs
+++ b/BizHawk.Client.EmuHawk/DisplayManager/OSDManager.cs
@@ -319,7 +319,7 @@ namespace BizHawk.Client.EmuHawk
{
if (Global.MovieSession.Movie.IsActive)
{
- return "Rerecord Count: " + Global.MovieSession.Movie.Header.Rerecords;
+ return "Rerecord Count: " + Global.MovieSession.Movie.Rerecords;
}
return string.Empty;
diff --git a/BizHawk.Client.EmuHawk/MainForm.Movie.cs b/BizHawk.Client.EmuHawk/MainForm.Movie.cs
index 9d84bfe46c..508edbee67 100644
--- a/BizHawk.Client.EmuHawk/MainForm.Movie.cs
+++ b/BizHawk.Client.EmuHawk/MainForm.Movie.cs
@@ -41,11 +41,13 @@ namespace BizHawk.Client.EmuHawk
if (!record && Global.Emulator.SystemId == "NES") // For NES we need special logic since the movie will drive which core to load
{
// If either is specified use that, else use whatever is currently set
- if (Global.MovieSession.Movie.Header[HeaderKeys.CORE] == quicknesName)
+ // Movies 2.0 TODO
+ if ((Global.MovieSession.Movie as Movie).Header[HeaderKeys.CORE] == quicknesName)
{
Global.Config.NES_InQuickNES = true;
}
- else if (Global.MovieSession.Movie.Header[HeaderKeys.CORE] == neshawkName)
+ // Movies 2.0 TODO
+ else if ((Global.MovieSession.Movie as Movie).Header[HeaderKeys.CORE] == neshawkName)
{
Global.Config.NES_InQuickNES = false;
}
@@ -75,7 +77,7 @@ namespace BizHawk.Client.EmuHawk
Global.Config.RecentMovies.Add(movie.Filename);
}
- if (Global.MovieSession.Movie.Header.StartsFromSavestate)
+ if (Global.MovieSession.Movie.StartsFromSavestate)
{
var state = Convert.FromBase64String(Global.MovieSession.Movie.SavestateBinaryBase64Blob);
Global.Emulator.LoadStateBinary(new BinaryReader(new MemoryStream(state)));
@@ -155,7 +157,7 @@ namespace BizHawk.Client.EmuHawk
if (Global.MovieSession.Movie.IsActive)
{
LoadRom(CurrentlyOpenRom);
- if (Global.MovieSession.Movie.Header.StartsFromSavestate)
+ if (Global.MovieSession.Movie.StartsFromSavestate)
{
var state = Convert.FromBase64String(Global.MovieSession.Movie.SavestateBinaryBase64Blob);
Global.Emulator.LoadStateBinary(new BinaryReader(new MemoryStream(state)));
diff --git a/BizHawk.Client.EmuHawk/movie/PlayMovie.cs b/BizHawk.Client.EmuHawk/movie/PlayMovie.cs
index 7926bfa2a2..c117665ce8 100644
--- a/BizHawk.Client.EmuHawk/movie/PlayMovie.cs
+++ b/BizHawk.Client.EmuHawk/movie/PlayMovie.cs
@@ -53,12 +53,12 @@ namespace BizHawk.Client.EmuHawk
if (column == 1) // System
{
- text = _movieList[index].Header.SystemID;
+ text = _movieList[index].SystemID;
}
if (column == 2) // Game
{
- text = _movieList[index].Header.GameName;
+ text = _movieList[index].GameName;
}
if (column == 3) // Time
@@ -188,7 +188,7 @@ namespace BizHawk.Client.EmuHawk
// Pull out matching names
for (var i = 0; i < _movieList.Count; i++)
{
- if (PathManager.FilesystemSafeName(Global.Game) == _movieList[i].Header.GameName)
+ if (PathManager.FilesystemSafeName(Global.Game) == _movieList[i].GameName)
{
indices.Add(i);
}
@@ -340,8 +340,8 @@ namespace BizHawk.Client.EmuHawk
{
copyStr
.Append(_movieList[index].Filename).Append('\t')
- .Append(_movieList[index].Header.SystemID).Append('\t')
- .Append(_movieList[index].Header.GameName).Append('\t')
+ .Append(_movieList[index].SystemID).Append('\t')
+ .Append(_movieList[index].GameName).Append('\t')
.Append(_movieList[index].Time.ToString(@"hh\:mm\:ss\.fff"))
.AppendLine();
@@ -372,8 +372,8 @@ namespace BizHawk.Client.EmuHawk
{
_movieList = _movieList
.OrderByDescending(x => Path.GetFileName(x.Filename))
- .ThenBy(x => x.Header.SystemID)
- .ThenBy(x => x.Header.GameName)
+ .ThenBy(x => x.SystemID)
+ .ThenBy(x => x.GameName)
.ThenBy(x => x.FrameCount)
.ToList();
}
@@ -381,8 +381,8 @@ namespace BizHawk.Client.EmuHawk
{
_movieList = _movieList
.OrderBy(x => Path.GetFileName(x.Filename))
- .ThenBy(x => x.Header.SystemID)
- .ThenBy(x => x.Header.GameName)
+ .ThenBy(x => x.SystemID)
+ .ThenBy(x => x.GameName)
.ThenBy(x => x.FrameCount)
.ToList();
}
@@ -391,18 +391,18 @@ namespace BizHawk.Client.EmuHawk
if (_sortReverse)
{
_movieList = _movieList
- .OrderByDescending(x => x.Header.SystemID)
+ .OrderByDescending(x => x.SystemID)
.ThenBy(x => Path.GetFileName(x.Filename))
- .ThenBy(x => x.Header.GameName)
+ .ThenBy(x => x.GameName)
.ThenBy(x => x.FrameCount)
.ToList();
}
else
{
_movieList = _movieList
- .OrderBy(x => x.Header.SystemID)
+ .OrderBy(x => x.SystemID)
.ThenBy(x => Path.GetFileName(x.Filename))
- .ThenBy(x => x.Header.GameName)
+ .ThenBy(x => x.GameName)
.ThenBy(x => x.FrameCount)
.ToList();
}
@@ -411,18 +411,18 @@ namespace BizHawk.Client.EmuHawk
if (_sortReverse)
{
_movieList = _movieList
- .OrderByDescending(x => x.Header.GameName)
+ .OrderByDescending(x => x.GameName)
.ThenBy(x => Path.GetFileName(x.Filename))
- .ThenBy(x => x.Header.SystemID)
+ .ThenBy(x => x.SystemID)
.ThenBy(x => x.FrameCount)
.ToList();
}
else
{
_movieList = _movieList
- .OrderBy(x => x.Header.GameName)
+ .OrderBy(x => x.GameName)
.ThenBy(x => Path.GetFileName(x.Filename))
- .ThenBy(x => x.Header.SystemID)
+ .ThenBy(x => x.SystemID)
.ThenBy(x => x.FrameCount)
.ToList();
}
@@ -433,7 +433,7 @@ namespace BizHawk.Client.EmuHawk
_movieList = _movieList
.OrderByDescending(x => x.FrameCount)
.ThenBy(x => Path.GetFileName(x.Filename))
- .ThenBy(x => x.Header.SystemID)
+ .ThenBy(x => x.SystemID)
.ThenBy(x => x.FrameCount)
.ToList();
}
@@ -442,8 +442,8 @@ namespace BizHawk.Client.EmuHawk
_movieList = _movieList
.OrderBy(x => x.FrameCount)
.ThenBy(x => Path.GetFileName(x.Filename))
- .ThenBy(x => x.Header.SystemID)
- .ThenBy(x => x.Header.GameName)
+ .ThenBy(x => x.SystemID)
+ .ThenBy(x => x.GameName)
.ToList();
}
break;
@@ -469,7 +469,8 @@ namespace BizHawk.Client.EmuHawk
var firstIndex = MovieView.SelectedIndices[0];
MovieView.ensureVisible(firstIndex);
- foreach (var kvp in _movieList[firstIndex].Header)
+ // Movies 2.0 TODO - what responsibility should a mvoie implementation have here?
+ foreach (var kvp in (_movieList[firstIndex] as Movie).Header)
{
var item = new ListViewItem(kvp.Key);
item.SubItems.Add(kvp.Value);