BizHawk/BizHawk.Emulation.Common/Interfaces/ICoreFileProvider.cs

59 lines
2.0 KiB
C#
Raw Normal View History

using System;
namespace BizHawk.Emulation.Common
{
/// <summary>
/// Defines the means by which firmware, bios and other necessary files are provided to a core that needs them
/// </summary>
public interface ICoreFileProvider
{
/// <summary>
2017-04-26 13:44:52 +00:00
/// Produces a path to the requested file, expected to be parallel to the running rom. for example: cue+bin files or SFC+PCM (MSU-1 games)
/// </summary>
[Obsolete]
string PathSubfile(string fname);
/// <summary>
2017-04-26 13:44:52 +00:00
/// produces a path that contains emulation related DLL and exe files
/// </summary>
string DllPath();
2015-11-06 14:31:50 +00:00
/// <summary>
/// produces a path that contains saveram... because libretro cores need it
2015-11-06 14:31:50 +00:00
/// </summary>
string GetRetroSaveRAMDirectory();
/// <summary>
/// produces a path for use as a libretro system path (different for each core)
/// </summary>
string GetRetroSystemPath();
2015-11-06 14:31:50 +00:00
string GetGameBasePath();
#region EmuLoadHelper api
/// <summary>
/// get path to a firmware
/// </summary>
2017-04-27 16:56:33 +00:00
/// <param name="sysId">The system id</param>
/// <param name="firmwareId">The firmware id</param>
/// <param name="required">if true, result is guaranteed to be valid; else null is possible if not found</param>
/// <param name="msg">message to show if fail to get</param>
[Obsolete]
2017-04-27 16:56:33 +00:00
string GetFirmwarePath(string sysId, string firmwareId, bool required, string msg = null);
/// <summary>
2017-04-26 13:44:52 +00:00
/// Get a firmware as a byte array
/// </summary>
2017-04-27 16:56:33 +00:00
/// <param name="sysId">the core systemID</param>
/// <param name="firmwareId">the firmware id</param>
/// <param name="required">if true, result is guaranteed to be valid; else null is possible if not found</param>
/// <param name="msg">message to show if fail to get</param>
2017-04-27 16:56:33 +00:00
byte[] GetFirmware(string sysId, string firmwareId, bool required, string msg = null);
2017-04-27 16:56:33 +00:00
byte[] GetFirmwareWithGameInfo(string sysId, string firmwareId, bool required, out GameInfo gi, string msg = null);
#endregion
}
}