Interface IRetroPlugin
- Namespace
- RetroEditor.Plugins
- Assembly
- RetroEditor.dll
The primary interface to implement when developing a new plugin
public interface IRetroPlugin
Properties
Name
Name of the plugin
public static abstract string Name { get; }
Property Value
RequiresAutoLoad
Does this game require loading to be skipped For instance games that are loaded from tape, should return true here and then implement the AutoLoadCondition method to determine when the loading is complete
bool RequiresAutoLoad { get; }
Property Value
RomPluginName
Name of the rom plugin required for this game
string RomPluginName { get; }
Property Value
Methods
AutoLoadCondition(IMemoryAccess)
If auto load is required, this method should determine when the loading is complete
bool AutoLoadCondition(IMemoryAccess romAccess)
Parameters
romAccess
IMemoryAccessmemory interface
Returns
- bool
true if condition met, else false
CanHandle(string)
This is called when a game is opened, to determine which plugin can handle it
bool CanHandle(string path)
Parameters
path
stringPath of file to check
Returns
Remarks
At present this cannot be used to determine the specific copy of the game that was loaded, as the plugin is recreated after this call
Export(IMemoryAccess)
This is called when an export is required, it should return a save object that can be used to generate the final modded game
ISave Export(IMemoryAccess romAcess)
Parameters
romAcess
IMemoryAccessmemory interface
Returns
- ISave
Saveable object
SetupGameTemporaryPatches(IMemoryAccess)
This is called to allow initial patches to be applied to the game being editing, for instance to allow cheats to be applied, or to skip loading screens
void SetupGameTemporaryPatches(IMemoryAccess romAccess)
Parameters
romAccess
IMemoryAccessmemory interface