Table of Contents

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

string

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

bool

RomPluginName

Name of the rom plugin required for this game

string RomPluginName { get; }

Property Value

string

Methods

AutoLoadCondition(IMemoryAccess)

If auto load is required, this method should determine when the loading is complete

bool AutoLoadCondition(IMemoryAccess romAccess)

Parameters

romAccess IMemoryAccess

memory 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 string

Path of file to check

Returns

bool

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 IMemoryAccess

memory 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 IMemoryAccess

memory interface