Esempio n. 1
0
        private static Switch InitializeEmulationContext(WindowBase window, IRenderer renderer, Options options)
        {
            BackendThreading threadingMode = options.BackendThreading;

            bool threadedGAL = threadingMode == BackendThreading.On || (threadingMode == BackendThreading.Auto && renderer.PreferThreading);

            if (threadedGAL)
            {
                renderer = new ThreadedRenderer(renderer);
            }

            HLEConfiguration configuration = new HLEConfiguration(_virtualFileSystem,
                                                                  _libHacHorizonManager,
                                                                  _contentManager,
                                                                  _accountManager,
                                                                  _userChannelPersistence,
                                                                  renderer,
                                                                  new SDL2HardwareDeviceDriver(),
                                                                  (bool)options.ExpandRam ? MemoryConfiguration.MemoryConfiguration6GB : MemoryConfiguration.MemoryConfiguration4GB,
                                                                  window,
                                                                  options.SystemLanguage,
                                                                  options.SystemRegion,
                                                                  (bool)options.EnableVsync,
                                                                  (bool)options.EnableDockedMode,
                                                                  (bool)options.EnablePtc,
                                                                  (bool)options.EnableFsIntegrityChecks ? LibHac.FsSystem.IntegrityCheckLevel.ErrorOnInvalid : LibHac.FsSystem.IntegrityCheckLevel.None,
                                                                  options.FsGlobalAccessLogMode,
                                                                  options.SystemTimeOffset,
                                                                  options.SystemTimeZone,
                                                                  options.MemoryManagerMode,
                                                                  (bool)options.IgnoreMissingServices,
                                                                  options.AspectRatio);

            return(new Switch(configuration));
        }
Esempio n. 2
0
        private static Switch InitializeEmulationContext(WindowBase window, Options options)
        {
            HLEConfiguration configuration = new HLEConfiguration(_virtualFileSystem,
                                                                  _contentManager,
                                                                  _accountManager,
                                                                  _userChannelPersistence,
                                                                  new Renderer(),
                                                                  new SDL2HardwareDeviceDriver(),
                                                                  (bool)options.ExpandRam ? MemoryConfiguration.MemoryConfiguration6GB : MemoryConfiguration.MemoryConfiguration4GB,
                                                                  window,
                                                                  options.SystemLanguage,
                                                                  options.SystemRegion,
                                                                  (bool)options.EnableVsync,
                                                                  (bool)options.EnableDockedMode,
                                                                  (bool)options.EnablePtc,
                                                                  (bool)options.EnableFsIntegrityChecks ? LibHac.FsSystem.IntegrityCheckLevel.ErrorOnInvalid : LibHac.FsSystem.IntegrityCheckLevel.None,
                                                                  options.FsGlobalAccessLogMode,
                                                                  options.SystemTimeOffset,
                                                                  options.SystemTimeZone,
                                                                  options.MemoryManagerMode,
                                                                  (bool)options.IgnoreMissingServices,
                                                                  options.AspectRatio);

            return(new Switch(configuration));
        }