using System.IO; namespace BizHawk.Emulation.Common { /// /// Savestate handling methods /// public interface IStatable : IEmulatorService, IEmulator { /// /// true if the core would rather give a binary savestate than a text one. both must function regardless /// bool BinarySaveStatesPreferred { get; } void SaveStateText(TextWriter writer); void LoadStateText(TextReader reader); void SaveStateBinary(BinaryWriter writer); void LoadStateBinary(BinaryReader reader); /// /// save state binary to a byte buffer /// /// you may NOT modify this. if you call SaveStateBinary() again with the same core, the old data MAY be overwritten. byte[] SaveStateBinary(); } }