Example #1
0
        void Update()
        {
            // Progress fade
            if (fadeInProgress)
            {
                TickFade();
            }

            // HUD is always first window on stack when ready
            if (dfUnity.IsPathValidated && !hudSetup)
            {
                if (enableHUD)
                {
                    dfHUD = new DaggerfallHUD(uiManager);
                    uiManager.PushWindow(dfHUD);
                    Debug.Log("HUD pushed to stack.");
                }
                hudSetup = true;
            }

            // Route messages to top window or handle locally
            if (uiManager.MessageCount > 0)
            {
                // Top window has first chance at message
                if (uiManager.TopWindow != null)
                {
                    uiManager.TopWindow.ProcessMessages();
                }

                // Then process locally
                ProcessMessages();
            }

            // Update top window
            if (uiManager.TopWindow != null)
            {
                uiManager.TopWindow.Update();
            }

            // Clear key state every frame
            lastCharacterTyped = (char)0;
            lastKeyCode        = KeyCode.None;
        }
        void ApplyStartSettings()
        {
            // Resolution
            Screen.SetResolution(
                DaggerfallUnity.Settings.ResolutionWidth,
                DaggerfallUnity.Settings.ResolutionHeight,
                DaggerfallUnity.Settings.Fullscreen);

            // Camera settings
            GameObject cameraObject = GameObject.FindGameObjectWithTag("MainCamera");

            if (cameraObject)
            {
                // Set camera FOV
                Camera camera = cameraObject.GetComponent <Camera>();
                if (camera)
                {
                    camera.fieldOfView = DaggerfallUnity.Settings.FieldOfView;
                }

                // Set mouse look
                PlayerMouseLook mouseLook = cameraObject.GetComponent <PlayerMouseLook>();
                if (mouseLook)
                {
                    mouseLook.invertMouseY = DaggerfallUnity.Settings.InvertMouseVertical;
                }

                // Set mouse look smoothing
                if (mouseLook)
                {
                    mouseLook.enableSmoothing = DaggerfallUnity.Settings.MouseLookSmoothing;
                }

                // Set mouse look sensitivity
                if (mouseLook)
                {
                    mouseLook.sensitivityScale = DaggerfallUnity.Settings.MouseLookSensitivity;
                }

                // Set rendering path
                if (DaggerfallUnity.Settings.UseLegacyDeferred)
                {
                    camera.renderingPath = RenderingPath.DeferredLighting;
                }
            }

            // Shadow Resoltion Mode
            switch (DaggerfallUnity.Settings.ShadowResolutionMode)
            {
            case 0:
                QualitySettings.shadowResolution = ShadowResolution.Low;
                break;

            case 1:
            default:
                QualitySettings.shadowResolution = ShadowResolution.Medium;
                break;

            case 2:
                QualitySettings.shadowResolution = ShadowResolution.High;
                break;

            case 3:
                QualitySettings.shadowResolution = ShadowResolution.VeryHigh;
                break;
            }

            // VSync settings
            if (DaggerfallUnity.Settings.VSync)
            {
                QualitySettings.vSyncCount = 1;
            }
            else
            {
                QualitySettings.vSyncCount = 0;
            }

            // Filter settings
            DaggerfallUnity.Instance.MaterialReader.MainFilterMode         = (FilterMode)DaggerfallUnity.Settings.MainFilterMode;
            DaggerfallUnity.Instance.MaterialReader.CompressModdedTextures = DaggerfallUnity.Settings.CompressModdedTextures;

            // HUD settings
            DaggerfallHUD hud = DaggerfallUI.Instance.DaggerfallHUD;

            if (hud != null)                                              //null at startup
            {
                hud.ShowCrosshair = DaggerfallUnity.Settings.Crosshair;
            }

            // Weapon swing settings
            WeaponManager weaponManager = GameManager.Instance.WeaponManager;

            weaponManager.AttackThreshold = DaggerfallUnity.Settings.WeaponAttackThreshold;
            TransportManager transportManager = GameManager.Instance.TransportManager;

            // Weapon hand settings
            // Only supporting left-hand rendering for now
            // More handedness options may be added later
            if (DaggerfallUnity.Settings.Handedness == 1)
            {
                weaponManager.ScreenWeapon.FlipHorizontal = true;
            }

            // GodMode setting
            PlayerEntity playerEntity = FindPlayerEntity();

            playerEntity.GodMode = GodMode;

            // Enable/disable videos
            DaggerfallUI.Instance.enableVideos = EnableVideos;

            // Streaming world terrain distance
            GameManager.Instance.StreamingWorld.TerrainDistance = DaggerfallUnity.Settings.TerrainDistance;
        }
        public void ApplyStartSettings()
        {
            // Resolution
            if (DaggerfallUnity.Settings.ExclusiveFullscreen && DaggerfallUnity.Settings.Fullscreen)
            {
                Screen.SetResolution(
                    DaggerfallUnity.Settings.ResolutionWidth,
                    DaggerfallUnity.Settings.ResolutionHeight,
                    FullScreenMode.ExclusiveFullScreen);
            }
            else
            {
                Screen.SetResolution(
                    DaggerfallUnity.Settings.ResolutionWidth,
                    DaggerfallUnity.Settings.ResolutionHeight,
                    DaggerfallUnity.Settings.Fullscreen);
            }

            // Camera settings
            GameObject cameraObject = GameObject.FindGameObjectWithTag("MainCamera");

            if (cameraObject)
            {
                // Set camera FOV
                Camera camera = cameraObject.GetComponent <Camera>();
                if (camera)
                {
                    camera.fieldOfView = DaggerfallUnity.Settings.FieldOfView;
                }

                // Set mouse look
                PlayerMouseLook mouseLook = cameraObject.GetComponent <PlayerMouseLook>();
                if (mouseLook)
                {
                    mouseLook.invertMouseY = DaggerfallUnity.Settings.InvertMouseVertical;
                }

                // Set mouse look smoothing
                if (mouseLook)
                {
                    mouseLook.enableSmoothing = DaggerfallUnity.Settings.MouseLookSmoothing;
                }

                // Set mouse look sensitivity
                if (mouseLook)
                {
                    mouseLook.sensitivityScale = DaggerfallUnity.Settings.MouseLookSensitivity;
                }
            }

            // Set shadow resolution
            GameManager.UpdateShadowResolution();

            // VSync settings
            if (DaggerfallUnity.Settings.VSync)
            {
                QualitySettings.vSyncCount = 1;
            }
            else
            {
                QualitySettings.vSyncCount = 0;
            }

            // Target frame rate settings
            // Does nothing if VSync enabled
            // Default is 0 but anything below 30 is ignored and treated as disabled
            if (DaggerfallUnity.Settings.TargetFrameRate >= 30 && !DaggerfallUnity.Settings.VSync)
            {
                Application.targetFrameRate = DaggerfallUnity.Settings.TargetFrameRate;
            }

            // Filter settings
            DaggerfallUnity.Instance.MaterialReader.MainFilterMode         = (FilterMode)DaggerfallUnity.Settings.MainFilterMode;
            DaggerfallUnity.Instance.MaterialReader.CompressModdedTextures = DaggerfallUnity.Settings.CompressModdedTextures;

            // HUD settings
            DaggerfallHUD hud = DaggerfallUI.Instance.DaggerfallHUD;

            if (hud != null)                                              //null at startup
            {
                hud.ShowCrosshair = DaggerfallUnity.Settings.Crosshair;
            }

            // Weapon swing settings
            WeaponManager weaponManager = GameManager.Instance.WeaponManager;

            weaponManager.AttackThreshold = DaggerfallUnity.Settings.WeaponAttackThreshold;
            TransportManager transportManager = GameManager.Instance.TransportManager;

            // Weapon hand settings
            // Only supporting left-hand rendering for now
            // More handedness options may be added later
            if (DaggerfallUnity.Settings.Handedness == 1)
            {
                weaponManager.ScreenWeapon.FlipHorizontal = true;
            }

            // GodMode setting
            PlayerEntity playerEntity = FindPlayerEntity();

            playerEntity.GodMode = GodMode;

            PlayerSpeedChanger speedChanger = FindPlayerSpeedChanger();

            speedChanger.ToggleSneak = DaggerfallUnity.Settings.ToggleSneak;

            // Enable/disable videos
            DaggerfallUI.Instance.enableVideos = EnableVideos;

            // Streaming world terrain distance
            GameManager.Instance.StreamingWorld.TerrainDistance = DaggerfallUnity.Settings.TerrainDistance;
        }
Example #4
0
        void ApplyStartSettings()
        {
            // Resolution
            Screen.SetResolution(
                DaggerfallUnity.Settings.ResolutionWidth,
                DaggerfallUnity.Settings.ResolutionHeight,
                DaggerfallUnity.Settings.Fullscreen);

            // Camera settings
            GameObject cameraObject = GameObject.FindGameObjectWithTag("MainCamera");

            if (cameraObject)
            {
                // Set camera FOV
                Camera camera = cameraObject.GetComponent <Camera>();
                if (camera)
                {
                    camera.fieldOfView = DaggerfallUnity.Settings.FieldOfView;
                }

                // Set mouse look
                PlayerMouseLook mouseLook = cameraObject.GetComponent <PlayerMouseLook>();
                if (mouseLook)
                {
                    mouseLook.invertMouseY = DaggerfallUnity.Settings.InvertMouseVertical;
                }

                // Set mouse look smoothing
                if (mouseLook)
                {
                    mouseLook.enableSmoothing = DaggerfallUnity.Settings.MouseLookSmoothing;
                }

                // Set mouse look sensitivity
                if (mouseLook)
                {
                    mouseLook.sensitivityScale = DaggerfallUnity.Settings.MouseLookSensitivity;
                }

                // Set rendering path
                if (DaggerfallUnity.Settings.UseLegacyDeferred)
                {
                    camera.renderingPath = RenderingPath.DeferredLighting;
                }
            }

            // VSync settings
            if (DaggerfallUnity.Settings.VSync)
            {
                QualitySettings.vSyncCount = 1;
            }
            else
            {
                QualitySettings.vSyncCount = 0;
            }

            // Filter settings
            DaggerfallUnity.Instance.MaterialReader.MainFilterMode = (FilterMode)DaggerfallUnity.Settings.MainFilterMode;

            // HUD settings
            DaggerfallHUD hud = DaggerfallUI.Instance.DaggerfallHUD;

            if (hud != null)
            {
                hud.ShowCrosshair = DaggerfallUnity.Settings.Crosshair;
            }

            // Weapon swing settings
            WeaponManager weaponManager = GameManager.Instance.WeaponManager;

            weaponManager.HorizontalThreshold = DaggerfallUnity.Settings.WeaponSwingThreshold;
            weaponManager.VerticalThreshold   = DaggerfallUnity.Settings.WeaponSwingThreshold;
            weaponManager.TriggerCount        = DaggerfallUnity.Settings.WeaponSwingTriggerCount;

            // Weapon hand settings
            // Only supporting left-hand rendering for now
            // More handedness options may be added later
            if (DaggerfallUnity.Settings.Handedness == 1)
            {
                weaponManager.RightHandWeapon.LeftHand = true;
            }

            // GodMode setting
            playerHealth.GodMode = GodMod;

            // Enable/disable videos
            DaggerfallUI.Instance.enableVideos = EnableVideos;

            // Streaming world terrain distance
            int terrainDistance = DaggerfallUnity.Settings.TerrainDistance;

            if (DaggerfallUnity.Settings.Nystul_IncreasedTerrainDistance)
            {
                // Reduce terrain distance by 1 if far terrain enabled
                terrainDistance = Mathf.Clamp(terrainDistance - 1, 1, 4);
            }
            GameManager.Instance.StreamingWorld.TerrainDistance = terrainDistance;
        }
Example #5
0
        void ApplyStartSettings()
        {
            // Camera settings
            GameObject cameraObject = GameObject.FindGameObjectWithTag("MainCamera");

            if (cameraObject)
            {
                // Set camera FOV
                Camera camera = cameraObject.GetComponent <Camera>();
                if (camera)
                {
                    camera.fieldOfView = DaggerfallUnity.Settings.FieldOfView;
                }

                // Set mouse look
                PlayerMouseLook mouseLook = cameraObject.GetComponent <PlayerMouseLook>();
                if (mouseLook)
                {
                    mouseLook.invertMouseY = DaggerfallUnity.Settings.InvertMouseVertical;
                }

                // Set mouse look smoothing
                if (mouseLook)
                {
                    mouseLook.enableSmoothing = DaggerfallUnity.Settings.MouseLookSmoothing;
                }

                // Set mouse look sensitivity
                if (mouseLook)
                {
                    mouseLook.sensitivityScale = DaggerfallUnity.Settings.MouseLookSensitivity;
                }

                // Set rendering path
                if (DaggerfallUnity.Settings.UseLegacyDeferred)
                {
                    camera.renderingPath = RenderingPath.DeferredLighting;
                }
            }

            // VSync settings
            if (DaggerfallUnity.Settings.VSync)
            {
                QualitySettings.vSyncCount = 1;
            }
            else
            {
                QualitySettings.vSyncCount = 0;
            }

            // Filter settings
            DaggerfallUnity.Instance.MaterialReader.MainFilterMode = (FilterMode)DaggerfallUnity.Settings.MainFilterMode;

            // HUD settings
            DaggerfallHUD hud = DaggerfallUI.Instance.DaggerfallHUD;

            if (hud != null)
            {
                hud.ShowCrosshair = DaggerfallUnity.Settings.Crosshair;
            }

            // Weapon hand settings
            WeaponManager weaponManager = GameManager.Instance.WeaponManager;

            weaponManager.RightHandWeapon.LeftHand = DaggerfallUnity.Settings.ShowWeaponLeftHand;

            // Weapon swing settings
            weaponManager.HorizontalThreshold = DaggerfallUnity.Settings.WeaponSwingThreshold;
            weaponManager.VerticalThreshold   = DaggerfallUnity.Settings.WeaponSwingThreshold;
            weaponManager.TriggerCount        = DaggerfallUnity.Settings.WeaponSwingTriggerCount;

            // GodMode setting
            playerHealth.GodMode = GodMod;

            // Enable/disable videos
            DaggerfallUI.Instance.enableVideos = EnableVideos;
        }
        public void ApplyStartSettings()
        {
            // Resolution
            if (DaggerfallUnity.Settings.ExclusiveFullscreen && DaggerfallUnity.Settings.Fullscreen)
            {
                Screen.SetResolution(
                    DaggerfallUnity.Settings.ResolutionWidth,
                    DaggerfallUnity.Settings.ResolutionHeight,
                    FullScreenMode.ExclusiveFullScreen);
            }
            else
            {
                Screen.SetResolution(
                    DaggerfallUnity.Settings.ResolutionWidth,
                    DaggerfallUnity.Settings.ResolutionHeight,
                    DaggerfallUnity.Settings.Fullscreen);
            }

            // Camera settings
            GameObject cameraObject = GameObject.FindGameObjectWithTag("MainCamera");

            if (cameraObject)
            {
                // Set camera FOV
                Camera camera = cameraObject.GetComponent <Camera>();
                if (camera)
                {
                    camera.fieldOfView = DaggerfallUnity.Settings.FieldOfView;
                }

                // Set mouse look
                PlayerMouseLook mouseLook = cameraObject.GetComponent <PlayerMouseLook>();
                if (mouseLook)
                {
                    mouseLook.invertMouseY = DaggerfallUnity.Settings.InvertMouseVertical;
                    // Set mouse look smoothing
                    mouseLook.enableSmoothing = DaggerfallUnity.Settings.MouseLookSmoothing;
                    // Set mouse look sensitivity
                    mouseLook.sensitivityScale = DaggerfallUnity.Settings.MouseLookSensitivity;

                    mouseLook.joystickSensitivityScale = DaggerfallUnity.Settings.JoystickLookSensitivity;
                }

                // Anti-aliasing method
                PostProcessLayer postProcessLayer = camera.GetComponent <PostProcessLayer>();
                if (postProcessLayer)
                {
                    switch ((AntiAliasingMethods)DaggerfallUnity.Settings.Antialiasing)
                    {
                    case AntiAliasingMethods.None:
                        postProcessLayer.antialiasingMode = PostProcessLayer.Antialiasing.None;
                        break;

                    case AntiAliasingMethods.FXAA:
                        postProcessLayer.antialiasingMode = PostProcessLayer.Antialiasing.FastApproximateAntialiasing;
                        break;

                    case AntiAliasingMethods.SMAA:
                        postProcessLayer.antialiasingMode = PostProcessLayer.Antialiasing.SubpixelMorphologicalAntialiasing;
                        break;

                    case AntiAliasingMethods.TAA:
                        postProcessLayer.antialiasingMode = PostProcessLayer.Antialiasing.TemporalAntialiasing;
                        break;
                    }
                }
            }

            InputManager.Instance.JoystickCursorSensitivity = DaggerfallUnity.Settings.JoystickCursorSensitivity;

            InputManager.Instance.JoystickMovementThreshold = DaggerfallUnity.Settings.JoystickMovementThreshold;

            InputManager.Instance.JoystickDeadzone = DaggerfallUnity.Settings.JoystickDeadzone;

            InputManager.Instance.EnableController = DaggerfallUnity.Settings.EnableController;

            Application.runInBackground = DaggerfallUnity.Settings.RunInBackground;

            // Set shadow resolution
            GameManager.UpdateShadowResolution();

            // VSync settings
            if (DaggerfallUnity.Settings.VSync)
            {
                QualitySettings.vSyncCount = 1;
            }
            else
            {
                QualitySettings.vSyncCount = 0;
            }

            // Target frame rate settings
            // Does nothing if VSync enabled
            // Default is 0 but anything below 30 is ignored and treated as disabled
            if (DaggerfallUnity.Settings.TargetFrameRate >= 30 && !DaggerfallUnity.Settings.VSync)
            {
                Application.targetFrameRate = DaggerfallUnity.Settings.TargetFrameRate;
            }

            // Filter settings
            DaggerfallUnity.Instance.MaterialReader.MainFilterMode         = (FilterMode)DaggerfallUnity.Settings.MainFilterMode;
            DaggerfallUnity.Instance.MaterialReader.CompressModdedTextures = DaggerfallUnity.Settings.CompressModdedTextures;

            // HUD settings
            DaggerfallHUD hud = DaggerfallUI.Instance.DaggerfallHUD;

            if (hud != null)                                              //null at startup
            {
                hud.ShowCrosshair = DaggerfallUnity.Settings.Crosshair;
            }

            // Weapon swing settings
            WeaponManager weaponManager = GameManager.Instance.WeaponManager;

            weaponManager.AttackThreshold = DaggerfallUnity.Settings.WeaponAttackThreshold;
            TransportManager transportManager = GameManager.Instance.TransportManager;

            // Weapon hand settings
            // Only supporting left-hand rendering for now
            // More handedness options may be added later
            if (DaggerfallUnity.Settings.Handedness == 1)
            {
                weaponManager.ScreenWeapon.FlipHorizontal = true;
            }

            // GodMode setting
            PlayerEntity playerEntity = FindPlayerEntity();

            playerEntity.GodMode = GodMode;

            PlayerSpeedChanger speedChanger = FindPlayerSpeedChanger();

            speedChanger.ToggleSneak = DaggerfallUnity.Settings.ToggleSneak;

            // Enable/disable videos
            DaggerfallUI.Instance.enableVideos = EnableVideos;

            // Streaming world terrain distance
            GameManager.Instance.StreamingWorld.TerrainDistance = DaggerfallUnity.Settings.TerrainDistance;
        }