public static void init() { if (externalGESettingsListerner == null) { externalGESettingsListerner = new ExternalGESettingsListerner(); Settings.Instance.registerSettingsListener("ExternalGE", "emu.useExternalSoftwareRenderer", externalGESettingsListerner); } if (activateWhenAvailable) { NativeUtils.init(); if (Available) { activate(); } } else { deactivate(); } }
public static void exit() { if (externalGESettingsListerner != null) { Settings.Instance.removeSettingsListener("ExternalGE"); externalGESettingsListerner = null; } if (Active) { NativeUtils.exit(); NativeCallbacks.exit(); CoreThread.exit(); setLogLevelThread.exit(); if (numberRendererThread > 0) { for (int i = 0; i < rendererThreads.Length; i++) { rendererThreads[i].exit(); } } } }