summaryrefslogtreecommitdiff
path: root/Config.cs
blob: 481f8b22b7e5f57a4e01ad57b63734a4e7453bc7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
using SharpPluginLoader.Core.Configuration;
using SharpPluginLoader.Core.IO;

namespace MHWNewCamera
{
    internal class Config : IConfig
    {
        public struct Binds
        {
            public Binds()
            {
                ToggleFreeCamera = Key.NumPad0;
                TogglePerspectiveCamera = Key.NumPadPeriod;
                /*
                IncreaseSpeed = Key.NumPadPlus;
                DecreaseSpeed = Key.NumPadMinus;
                IncreaseFOV = Key.PageUp;
                DecreaseFOV = Key.PageDown;
                Forward = Key.Up;
                Backward = Key.Down;
                Left = Key.Left;
                Right = Key.Right;
                Up = Key.NumPad4;
                Down = Key.NumPad1;
                */
            }

            public Key ToggleFreeCamera { get; set; }
            public Key TogglePerspectiveCamera { get; set; }
            /*
            public Key IncreaseSpeed { get; set; }
            public Key DecreaseSpeed { get; set; }
            public Key IncreaseFOV { get; set; }
            public Key DecreaseFOV { get; set; }
            public Key Forward { get; set; }
            public Key Backward { get; set; }
            public Key Up { get; set; }
            public Key Down { get; set; }
            public Key Left { get; set; }
            public Key Right { get; set; }
            */
        }

        public struct Settings
        {
            public const float DEFAULT_SPEED = 0.55f;
            public const float DEFAULT_KEY_SPEED = 0.2f;
            public const float DEFAULT_SPEED_MODIFIER = 0.4f;
            public const float DEFAULT_SENSITIVITY = 0.112f;
            public const int DEFAULT_DEADZONE = 4750;
            public const float DEFAULT_PITCH_LIMIT = 88.25f;

            public Settings()
            {
                CameraSpeed = DEFAULT_SPEED;
                CameraKeySpeed = DEFAULT_KEY_SPEED;
                CameraSpeedModifier = DEFAULT_SPEED_MODIFIER;
                CameraSensitivity = DEFAULT_SENSITIVITY;
                StickDeadzone = DEFAULT_DEADZONE;
                CameraPitchLimit = DEFAULT_PITCH_LIMIT;
            }

            public float CameraSpeed { get; set; }
            public float CameraKeySpeed { get; set; }
            public float CameraSpeedModifier { get; set; }
            public float CameraSensitivity { get; set; }
            public int StickDeadzone { get; set; }
            public float CameraPitchLimit { get; set; }
        }

        public struct Preset
        {
            public float FOV { get; set; }
            public float Forward { get; set; }
            public float Left { get; set; }
            public float Up { get; set; }
            public float Roll { get; set; }
        }

        public string Name => "MHWNewCamera";
        public string Version => "1.0.0";

        public Binds KeyboardBinds { get; set; } = new Binds();
        public Settings CameraSettings { get; set; } = new Settings();
        public bool KeyboardEnabled { get; set; } = false;
        public bool PerspectiveCameraEnabled { get; set; } = false;
        public Dictionary<string, Preset> Presets { get; set; } = new Dictionary<string, Preset>();
        public string Selected { get; set; } = "";
    }
}