From 6bc604e5a5527549f5a6b9162c28bb6beefd7077 Mon Sep 17 00:00:00 2001 From: goyuken Date: Wed, 20 Aug 2014 18:08:22 +0000 Subject: [PATCH] clean up comments on IEmulator slightly to explain the Settings\SyncSettings contract better --- BizHawk.Emulation.Common/Interfaces/IEmulator.cs | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/BizHawk.Emulation.Common/Interfaces/IEmulator.cs b/BizHawk.Emulation.Common/Interfaces/IEmulator.cs index 42921cc87f..92b112d2b6 100644 --- a/BizHawk.Emulation.Common/Interfaces/IEmulator.cs +++ b/BizHawk.Emulation.Common/Interfaces/IEmulator.cs @@ -159,16 +159,18 @@ namespace BizHawk.Emulation.Common // (if those are null, default settings are to be used) /// - /// get the current core settings, excepting movie settings. should be a clone of the active in-core object, and changes to the return - /// should not affect emulation (unless the object is later passed to PutSettings) + /// get the current core settings, excepting movie settings. should be a clone of the active in-core object. + /// VERY IMPORTANT: changes to the object returned by this function SHOULD NOT have any effect on emulation + /// (unless the object is later passed to PutSettings) /// /// a json-serializable object object GetSettings(); /// /// get the current core settings that affect movie sync. these go in movie 2.0 files, so don't make the JSON too extravagant, please - /// should be a clone of the active in-core object, and changes to the return - /// should not affect emulation (unless the object is later passed to PutSyncSettings) + /// should be a clone of the active in-core object. + /// VERY IMPORTANT: changes to the object returned by this function MUST NOT have any effect on emulation + /// (unless the object is later passed to PutSyncSettings) /// /// a json-serializable object object GetSyncSettings(); @@ -177,14 +179,15 @@ namespace BizHawk.Emulation.Common /// change the core settings, excepting movie settings /// /// an object of the same type as the return for GetSettings - /// true if a core reboot will be required to implement these + /// true if a core reboot will be required to make the changes effective bool PutSettings(object o); /// /// changes the movie-sync relevant settings. THIS SHOULD NEVER BE CALLED WHILE RECORDING + /// if it is called while recording, the core need not guarantee continued determinism /// /// an object of the same type as the return for GetSyncSettings - /// true if a core reboot will be required to implement these + /// true if a core reboot will be required to make the changes effective bool PutSyncSettings(object o); }