52 lines
1.6 KiB
C#
52 lines
1.6 KiB
C#
using System.Collections.Generic;
|
|
|
|
namespace BizHawk.Emulation.Cores.Libretro
|
|
{
|
|
public class RetroDescription
|
|
{
|
|
/// <summary>
|
|
/// String containing a friendly display name for the core, but we probably shouldn't use this. I decided it's better to get the user used to using filenames as core 'codenames' instead.
|
|
/// </summary>
|
|
public string LibraryName;
|
|
|
|
/// <summary>
|
|
/// String containing a friendly version number for the core library
|
|
/// </summary>
|
|
public string LibraryVersion;
|
|
|
|
/// <summary>
|
|
/// List of extensions as "sfc|smc|fig" which this core accepts.
|
|
/// </summary>
|
|
public string ValidExtensions;
|
|
|
|
/// <summary>
|
|
/// Whether the core needs roms to be specified as paths (can't take rom data buffersS)
|
|
/// </summary>
|
|
public bool NeedsRomAsPath;
|
|
|
|
/// <summary>
|
|
/// Whether the core needs roms stored as archives (e.g. arcade roms). We probably shouldn't employ the dearchiver prompts when opening roms for these cores.
|
|
/// </summary>
|
|
public bool NeedsArchives;
|
|
|
|
/// <summary>
|
|
/// Whether the core can be run without a game provided (e.g. stand-alone games, like 2048)
|
|
/// </summary>
|
|
public bool SupportsNoGame;
|
|
|
|
/// <summary>
|
|
/// Variables defined by the core
|
|
/// </summary>
|
|
public Dictionary<string, VariableDescription> Variables = new Dictionary<string, VariableDescription>();
|
|
}
|
|
|
|
public class VariableDescription
|
|
{
|
|
public string Name;
|
|
public string Description;
|
|
public string[] Options;
|
|
public string DefaultOption => Options[0];
|
|
|
|
public override string ToString() => $"{Name} ({Description}) = ({string.Join("|", Options)})";
|
|
}
|
|
} |