43 lines
1.2 KiB
C#
43 lines
1.2 KiB
C#
using System.IO;
|
|
using BizHawk.Emulation.Common;
|
|
|
|
namespace BizHawk.Client.Common
|
|
{
|
|
public interface IMovieSession
|
|
{
|
|
IMovie Movie { get; set; }
|
|
IMovie QueuedMovie { get; }
|
|
IMovieController MovieControllerAdapter { get; }
|
|
IMovieController MovieControllerInstance();
|
|
MultitrackRecorder MultiTrack { get; }
|
|
|
|
IController PreviousFrame { get; }
|
|
IController CurrentInput { get; }
|
|
|
|
bool ReadOnly { get; set; }
|
|
bool MovieIsQueued { get; }
|
|
|
|
bool? PreviousNES_InQuickNES { get; set; }
|
|
bool? PreviousSNES_InSnes9x { get; set; }
|
|
bool? PreviousGBA_UsemGBA { get; set; }
|
|
|
|
void HandleMovieOnFrameLoop();
|
|
void HandleMovieAfterFrameLoop();
|
|
void HandleMovieSaveState(TextWriter writer);
|
|
bool HandleMovieLoadState(string path);
|
|
|
|
// To function as a MovieSession, you must have hacky LoadState steps, non-hacky steps just won't do
|
|
bool HandleMovieLoadState_HackyStep1(TextReader reader);
|
|
bool HandleMovieLoadState_HackyStep2(TextReader reader);
|
|
|
|
ILogEntryGenerator LogGeneratorInstance();
|
|
|
|
void QueueNewMovie(IMovie movie, bool record, IEmulator emulator);
|
|
void RunQueuedMovie(bool recordMode);
|
|
|
|
void ToggleMultitrack();
|
|
|
|
void StopMovie(bool saveChanges = true);
|
|
}
|
|
}
|