diff --git a/src/BizHawk.Client.EmuHawk/Api/ApiManager.cs b/src/BizHawk.Client.EmuHawk/Api/ApiManager.cs
index e270c8a0cd..6e0b691512 100644
--- a/src/BizHawk.Client.EmuHawk/Api/ApiManager.cs
+++ b/src/BizHawk.Client.EmuHawk/Api/ApiManager.cs
@@ -64,9 +64,8 @@ namespace BizHawk.Client.EmuHawk
IEmulator emulator,
IGameInfo game)
{
- GlobalWin.ClientApi = null;
_container = Register(serviceProvider, Console.WriteLine, mainForm, displayManager, inputManager, config, emulator, game);
- GlobalWin.ClientApi = _container.EmuClient as EmuClientApi;
+ ClientApi.EmuClient = _container.EmuClient;
return new BasicApiProvider(_container);
}
diff --git a/src/BizHawk.Client.EmuHawk/Api/ClientApi.cs b/src/BizHawk.Client.EmuHawk/Api/ClientApi.cs
index 16ab063aff..c7de1d55db 100644
--- a/src/BizHawk.Client.EmuHawk/Api/ClientApi.cs
+++ b/src/BizHawk.Client.EmuHawk/Api/ClientApi.cs
@@ -8,201 +8,203 @@ namespace BizHawk.Client.EmuHawk
{
public static class ClientApi
{
+ public static IEmuClientApi EmuClient { get; set; }
+
///
public static event BeforeQuickLoadEventHandler BeforeQuickLoad
{
- add => GlobalWin.ClientApi.BeforeQuickLoad += value;
- remove => GlobalWin.ClientApi.BeforeQuickLoad -= value;
+ add => EmuClient.BeforeQuickLoad += value;
+ remove => EmuClient.BeforeQuickLoad -= value;
}
///
public static event BeforeQuickSaveEventHandler BeforeQuickSave
{
- add => GlobalWin.ClientApi.BeforeQuickSave += value;
- remove => GlobalWin.ClientApi.BeforeQuickSave -= value;
+ add => EmuClient.BeforeQuickSave += value;
+ remove => EmuClient.BeforeQuickSave -= value;
}
///
public static event EventHandler RomLoaded
{
- add => GlobalWin.ClientApi.RomLoaded += value;
- remove => GlobalWin.ClientApi.RomLoaded -= value;
+ add => EmuClient.RomLoaded += value;
+ remove => EmuClient.RomLoaded -= value;
}
///
public static event StateLoadedEventHandler StateLoaded
{
- add => GlobalWin.ClientApi.StateLoaded += value;
- remove => GlobalWin.ClientApi.StateLoaded -= value;
+ add => EmuClient.StateLoaded += value;
+ remove => EmuClient.StateLoaded -= value;
}
///
public static event StateSavedEventHandler StateSaved
{
- add => GlobalWin.ClientApi.StateSaved += value;
- remove => GlobalWin.ClientApi.StateSaved -= value;
+ add => EmuClient.StateSaved += value;
+ remove => EmuClient.StateSaved -= value;
}
///
- public static int BorderHeight() => GlobalWin.ClientApi.BorderHeight();
+ public static int BorderHeight() => EmuClient.BorderHeight();
///
- public static int BorderWidth() => GlobalWin.ClientApi.BorderWidth();
+ public static int BorderWidth() => EmuClient.BorderWidth();
///
- public static int BufferHeight() => GlobalWin.ClientApi.BufferHeight();
+ public static int BufferHeight() => EmuClient.BufferHeight();
///
- public static int BufferWidth() => GlobalWin.ClientApi.BufferWidth();
+ public static int BufferWidth() => EmuClient.BufferWidth();
///
- public static void ClearAutohold() => GlobalWin.ClientApi.ClearAutohold();
+ public static void ClearAutohold() => EmuClient.ClearAutohold();
///
- public static void CloseEmulator() => GlobalWin.ClientApi.CloseEmulator();
+ public static void CloseEmulator() => EmuClient.CloseEmulator();
///
- public static void CloseEmulatorWithCode(int exitCode) => GlobalWin.ClientApi.CloseEmulator(exitCode);
+ public static void CloseEmulatorWithCode(int exitCode) => EmuClient.CloseEmulator(exitCode);
///
- public static void CloseRom() => GlobalWin.ClientApi.CloseRom();
+ public static void CloseRom() => EmuClient.CloseRom();
///
- public static void DisplayMessages(bool value) => GlobalWin.ClientApi.DisplayMessages(value);
+ public static void DisplayMessages(bool value) => EmuClient.DisplayMessages(value);
///
- public static void DoFrameAdvance() => GlobalWin.ClientApi.DoFrameAdvance();
+ public static void DoFrameAdvance() => EmuClient.DoFrameAdvance();
///
- public static void DoFrameAdvanceAndUnpause() => GlobalWin.ClientApi.DoFrameAdvanceAndUnpause();
+ public static void DoFrameAdvanceAndUnpause() => EmuClient.DoFrameAdvanceAndUnpause();
///
- public static void EnableRewind(bool enabled) => GlobalWin.ClientApi.EnableRewind(enabled);
+ public static void EnableRewind(bool enabled) => EmuClient.EnableRewind(enabled);
///
- public static void FrameSkip(int numFrames) => GlobalWin.ClientApi.FrameSkip(numFrames);
+ public static void FrameSkip(int numFrames) => EmuClient.FrameSkip(numFrames);
///
- public static Joypad GetInput(int player) => GlobalWin.ClientApi.GetInput(player);
+ public static Joypad GetInput(int player) => EmuClient.GetInput(player);
///
- public static bool GetSoundOn() => GlobalWin.ClientApi.GetSoundOn();
+ public static bool GetSoundOn() => EmuClient.GetSoundOn();
///
- public static int GetTargetScanlineIntensity() => GlobalWin.ClientApi.GetTargetScanlineIntensity();
+ public static int GetTargetScanlineIntensity() => EmuClient.GetTargetScanlineIntensity();
///
- public static int GetWindowSize() => GlobalWin.ClientApi.GetWindowSize();
+ public static int GetWindowSize() => EmuClient.GetWindowSize();
///
- public static void InvisibleEmulation(bool invisible) => GlobalWin.ClientApi.InvisibleEmulation(invisible);
+ public static void InvisibleEmulation(bool invisible) => EmuClient.InvisibleEmulation(invisible);
///
- public static bool IsPaused() => GlobalWin.ClientApi.IsPaused();
+ public static bool IsPaused() => EmuClient.IsPaused();
///
- public static bool IsSeeking() => GlobalWin.ClientApi.IsSeeking();
+ public static bool IsSeeking() => EmuClient.IsSeeking();
///
- public static bool IsTurbo() => GlobalWin.ClientApi.IsTurbo();
+ public static bool IsTurbo() => EmuClient.IsTurbo();
///
- public static void LoadState(string name) => GlobalWin.ClientApi.LoadState(name);
+ public static void LoadState(string name) => EmuClient.LoadState(name);
///
- public static void OnBeforeQuickLoad(object sender, string quickSaveSlotName, out bool eventHandled) => GlobalWin.ClientApi.OnBeforeQuickLoad(sender, quickSaveSlotName, out eventHandled);
+ public static void OnBeforeQuickLoad(object sender, string quickSaveSlotName, out bool eventHandled) => EmuClient.OnBeforeQuickLoad(sender, quickSaveSlotName, out eventHandled);
///
- public static void OnBeforeQuickSave(object sender, string quickSaveSlotName, out bool eventHandled) => GlobalWin.ClientApi.OnBeforeQuickSave(sender, quickSaveSlotName, out eventHandled);
+ public static void OnBeforeQuickSave(object sender, string quickSaveSlotName, out bool eventHandled) => EmuClient.OnBeforeQuickSave(sender, quickSaveSlotName, out eventHandled);
///
- public static void OnRomLoaded(IEmulator emu) => GlobalWin.ClientApi.OnRomLoaded(emu);
+ public static void OnRomLoaded(IEmulator emu) => EmuClient.OnRomLoaded(emu);
///
- public static void OnStateLoaded(object sender, string stateName) => GlobalWin.ClientApi.OnStateLoaded(sender, stateName);
+ public static void OnStateLoaded(object sender, string stateName) => EmuClient.OnStateLoaded(sender, stateName);
///
- public static void OnStateSaved(object sender, string stateName) => GlobalWin.ClientApi.OnStateSaved(sender, stateName);
+ public static void OnStateSaved(object sender, string stateName) => EmuClient.OnStateSaved(sender, stateName);
///
- public static void OpenRom(string path) => GlobalWin.ClientApi.OpenRom(path);
+ public static void OpenRom(string path) => EmuClient.OpenRom(path);
///
- public static void Pause() => GlobalWin.ClientApi.Pause();
+ public static void Pause() => EmuClient.Pause();
///
- public static void PauseAv() => GlobalWin.ClientApi.PauseAv();
+ public static void PauseAv() => EmuClient.PauseAv();
///
- public static void RebootCore() => GlobalWin.ClientApi.RebootCore();
+ public static void RebootCore() => EmuClient.RebootCore();
///
- public static void SaveRam() => GlobalWin.ClientApi.SaveRam();
+ public static void SaveRam() => EmuClient.SaveRam();
///
- public static void SaveState(string name) => GlobalWin.ClientApi.SaveState(name);
+ public static void SaveState(string name) => EmuClient.SaveState(name);
///
- public static int ScreenHeight() => GlobalWin.ClientApi.ScreenHeight();
+ public static int ScreenHeight() => EmuClient.ScreenHeight();
///
- public static void Screenshot(string path = null) => GlobalWin.ClientApi.Screenshot(path);
+ public static void Screenshot(string path = null) => EmuClient.Screenshot(path);
///
- public static void ScreenshotToClipboard() => GlobalWin.ClientApi.ScreenshotToClipboard();
+ public static void ScreenshotToClipboard() => EmuClient.ScreenshotToClipboard();
///
- public static int ScreenWidth() => GlobalWin.ClientApi.ScreenWidth();
+ public static int ScreenWidth() => EmuClient.ScreenWidth();
///
- public static void SeekFrame(int frame) => GlobalWin.ClientApi.SeekFrame(frame);
+ public static void SeekFrame(int frame) => EmuClient.SeekFrame(frame);
///
- public static void SetExtraPadding(int left, int top = 0, int right = 0, int bottom = 0) => GlobalWin.ClientApi.SetClientExtraPadding(left, top, right, bottom);
+ public static void SetExtraPadding(int left, int top = 0, int right = 0, int bottom = 0) => EmuClient.SetClientExtraPadding(left, top, right, bottom);
///
- public static void SetGameExtraPadding(int left, int top = 0, int right = 0, int bottom = 0) => GlobalWin.ClientApi.SetGameExtraPadding(left, top, right, bottom);
+ public static void SetGameExtraPadding(int left, int top = 0, int right = 0, int bottom = 0) => EmuClient.SetGameExtraPadding(left, top, right, bottom);
///
- public static void SetInput(int player, Joypad joypad) => GlobalWin.ClientApi.SetInput(player, joypad);
+ public static void SetInput(int player, Joypad joypad) => EmuClient.SetInput(player, joypad);
///
- public static void SetScreenshotOSD(bool value) => GlobalWin.ClientApi.SetScreenshotOSD(value);
+ public static void SetScreenshotOSD(bool value) => EmuClient.SetScreenshotOSD(value);
///
- public static void SetSoundOn(bool enable) => GlobalWin.ClientApi.SetSoundOn(enable);
+ public static void SetSoundOn(bool enable) => EmuClient.SetSoundOn(enable);
///
- public static void SetTargetScanlineIntensity(int val) => GlobalWin.ClientApi.SetTargetScanlineIntensity(val);
+ public static void SetTargetScanlineIntensity(int val) => EmuClient.SetTargetScanlineIntensity(val);
///
- public static void SetWindowSize(int size) => GlobalWin.ClientApi.SetWindowSize(size);
+ public static void SetWindowSize(int size) => EmuClient.SetWindowSize(size);
///
- public static void SpeedMode(int percent) => GlobalWin.ClientApi.SpeedMode(percent);
+ public static void SpeedMode(int percent) => EmuClient.SpeedMode(percent);
///
- public static void TogglePause() => GlobalWin.ClientApi.TogglePause();
+ public static void TogglePause() => EmuClient.TogglePause();
///
- public static Point TransformPoint(Point point) => GlobalWin.ClientApi.TransformPoint(point);
+ public static Point TransformPoint(Point point) => EmuClient.TransformPoint(point);
///
- public static void Unpause() => GlobalWin.ClientApi.Unpause();
+ public static void Unpause() => EmuClient.Unpause();
///
- public static void UnpauseAv() => GlobalWin.ClientApi.UnpauseAv();
+ public static void UnpauseAv() => EmuClient.UnpauseAv();
///
public static void UnpauseEmulation() => Unpause();
///
- public static void UpdateEmulatorAndVP(IEmulator emu = null) => GlobalWin.ClientApi.UpdateEmulatorAndVP(emu);
+ public static void UpdateEmulatorAndVP(IEmulator emu = null) => EmuClient.UpdateEmulatorAndVP(emu);
///
- public static int Xpos() => GlobalWin.ClientApi.Xpos();
+ public static int Xpos() => EmuClient.Xpos();
///
- public static int Ypos() => GlobalWin.ClientApi.Ypos();
+ public static int Ypos() => EmuClient.Ypos();
}
}
diff --git a/src/BizHawk.Client.EmuHawk/GlobalWin.cs b/src/BizHawk.Client.EmuHawk/GlobalWin.cs
index dc7d2c0b12..1674cdbbca 100644
--- a/src/BizHawk.Client.EmuHawk/GlobalWin.cs
+++ b/src/BizHawk.Client.EmuHawk/GlobalWin.cs
@@ -41,7 +41,5 @@ namespace BizHawk.Client.EmuHawk
public static GameInfo Game { get; set; }
public static IMovieSession MovieSession { get; set; }
public static InputManager InputManager { get; } = new InputManager();
-
- public static EmuClientApi ClientApi { get; set; }
}
}