Beispiel #1
0
 internal AppState()
 {
     _settings    = new List <ISetting>();
     _keyBindings = new List <KeyBindingSetting>();
     _recentProcessesWithDllsUsed   = new Dictionary <string, DllCacheData>();
     _attachedProcessMainWindowHwnd = IntPtr.Zero;
     _preferredRenderApiKind        = RenderAPIKind.Direct3D11;
 }
        /// <summary>
        /// Sends an action to tell the dll to hook DXGI based on the api specified. This is important as hooking dxgi with dx11 if the game uses dx12 will fail and vice versa.
        /// </summary>
        /// <param name="selectedRenderApi"></param>
        public void SendDXGIHookActionForPreferredRenderAPI(RenderAPIKind selectedRenderApi)
        {
            switch (selectedRenderApi)
            {
            case RenderAPIKind.Direct3D11:
                _pipeClient.Send(new IGCSMessage(MessageType.Action, ActionType.HookDXGIUsingDX11, null));
                break;

            case RenderAPIKind.Direct3D12:
                _pipeClient.Send(new IGCSMessage(MessageType.Action, ActionType.HookDXGIUsingDX12, null));
                break;

            case RenderAPIKind.Other:
                // do nothing for now.
                break;
            }
        }
Beispiel #3
0
        public void LoadFromIni()
        {
            var iniFile = new IniFileHandler(ConstantsEnums.IniFilename);

            if (iniFile.FileExists())
            {
                foreach (var setting in _settings)
                {
                    setting.SetValueFromString(iniFile.Read(setting.Name, "CameraSettings"));
                }

                foreach (var binding in _keyBindings)
                {
                    binding.SetValueFromString(iniFile.Read(binding.Name, "KeyBindings"));
                }

                // other settings
                _preferredRenderApiKind = (RenderAPIKind)Convert.ToInt32(iniFile.Read("PreferredRenderAPI", "MiscSettings"));
            }
        }