diff --git a/README.md b/README.md index 3e1e636..a8bf9d1 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,7 @@ Workaround: If a vehicle is damaged, be sure to fix it before to enter it and cr * `ToggleMenuControl`:The Control to toggle the Menu, default is 167 which is F6 (check the [controls list](https://docs.fivem.net/game-references/controls/)) * `FloatStep`: The step used to increase and decrease a value * `EnableWheelMod`: Enables the script to edit wheel size and width of tuning wheels -* `EnablePresets`: Enables the script to manage presets +* `EnableClientPresets`: Enables the script to manage clients' presets * `WheelLimits`: * `FrontTrackWidth`: The max value you can increase or decrease the front Track Width from its default value * `RearTrackWidth`: The max value you can increase or decrease the rear Track Width from its default value @@ -72,10 +72,10 @@ bool SetFrontCamber(int vehicle, float value); bool SetRearCamber(int vehicle, float value); bool SetFrontTrackWidth(int vehicle, float value); bool SetRearTrackWidth(int vehicle, float value); -bool SaveLocalPreset(string presetName, int vehicle); -bool LoadLocalPreset(string presetName, int vehicle); -bool DeleteLocalPreset(string presetName); -string[] GetLocalPresetList(); +bool SaveClientPreset(string presetName, int vehicle); +bool LoadClientPreset(string presetName, int vehicle); +bool DeleteClientPreset(string presetName); +string[] GetClientPresetList(); ``` **NOTE** @@ -279,7 +279,7 @@ Current API don't support editing of tuning wheel data (wheelSize and wheelWidth ``` -* **SaveLocalPreset** +* **SaveClientPreset** * string presetName: the name you want to use for the saved preset * int vehicle: the handle of the vehicle entity you want to save the preset from * bool result: returns `true` if the action successfully executed otherwise `false` @@ -289,15 +289,15 @@ Current API don't support editing of tuning wheel data (wheelSize and wheelWidth C#: ```csharp - bool result = Exports["vstancer"].SaveLocalPreset(presetName, vehicle); + bool result = Exports["vstancer"].SaveClientPreset(presetName, vehicle); ``` Lua: ```lua - local result = exports["vstancer"]:SaveLocalPreset(presetName, vehicle); + local result = exports["vstancer"]:SaveClientPreset(presetName, vehicle); ``` -* **LoadLocalPreset** +* **LoadClientPreset** * string presetName: the name of the preset you want to load * int vehicle: the handle of the vehicle entity you want to load the preset on * bool result: returns `true` if the action successfully executed otherwise `false` @@ -307,15 +307,15 @@ Current API don't support editing of tuning wheel data (wheelSize and wheelWidth C#: ```csharp - bool result = Exports["vstancer"].LoadLocalPreset(presetName, vehicle); + bool result = Exports["vstancer"].LoadClientPreset(presetName, vehicle); ``` Lua: ```lua - local result = exports["vstancer"]:LoadLocalPreset(presetName, vehicle); + local result = exports["vstancer"]:LoadClientPreset(presetName, vehicle); ``` -* **DeleteLocalPreset** +* **DeleteClientPreset** * string presetName: the name of the preset you want to delete * bool result: returns `true` if the action successfully executed otherwise `false` @@ -324,15 +324,15 @@ Current API don't support editing of tuning wheel data (wheelSize and wheelWidth C#: ```csharp - bool result = Exports["vstancer"].DeleteLocalPreset(presetName); + bool result = Exports["vstancer"].DeleteClientPreset(presetName); ``` Lua: ```lua - local result = exports["vstancer"]:DeleteLocalPreset(presetName); + local result = exports["vstancer"]:DeleteClientPreset(presetName); ``` -* **GetLocalPresetList** +* **GetClientPresetList** * string[] presetList: the list of all the presets saved locally
@@ -340,11 +340,11 @@ Current API don't support editing of tuning wheel data (wheelSize and wheelWidth C#: ```csharp - string[] presetList = Exports["vstancer"].GetLocalPresetList(); + string[] presetList = Exports["vstancer"].GetClientPresetList(); ``` Lua: ```lua - local presetList = exports["vstancer"]:GetLocalPresetList(); + local presetList = exports["vstancer"]:GetClientPresetList(); ```
diff --git a/VStancer.Client/Globals.cs b/VStancer.Client/Globals.cs index 4861afb..6bbfa0a 100644 --- a/VStancer.Client/Globals.cs +++ b/VStancer.Client/Globals.cs @@ -16,5 +16,10 @@ public static class Globals /// The expected name of the resource /// public const string ResourceName = "vstancer"; + + /// + /// The prefix used for commands exposed by the script + /// + public const string CommandPrefix = "vstancer_"; } } diff --git a/VStancer.Client/Scripts/LocalPresetsScript.cs b/VStancer.Client/Scripts/ClientPresetsScript.cs similarity index 84% rename from VStancer.Client/Scripts/LocalPresetsScript.cs rename to VStancer.Client/Scripts/ClientPresetsScript.cs index eaf4c73..3f24e19 100644 --- a/VStancer.Client/Scripts/LocalPresetsScript.cs +++ b/VStancer.Client/Scripts/ClientPresetsScript.cs @@ -10,21 +10,21 @@ namespace VStancer.Client.Scripts { - internal class LocalPresetsScript + internal class ClientPresetsScript { private readonly MainScript _mainScript; internal IPresetsCollection Presets { get; private set; } - internal PresetsMenu Menu { get; private set; } + internal ClientPresetsMenu Menu { get; private set; } - public LocalPresetsScript(MainScript mainScript) + public ClientPresetsScript(MainScript mainScript) { _mainScript = mainScript; Presets = new KvpPresetsCollection(Globals.KvpPrefix); if (!_mainScript.Config.DisableMenu) { - Menu = new PresetsMenu(this); + Menu = new ClientPresetsMenu(this); Menu.DeletePresetEvent += (sender, presetID) => OnDeletePresetInvoked(presetID); Menu.SavePresetEvent += (sender, presetID) => OnSavePresetInvoked(presetID); @@ -40,7 +40,7 @@ internal async Task GetPresetNameFromUser(string title, string defaultTe private void OnDeletePresetInvoked(string presetKey) { if (Presets.Delete(presetKey)) - Screen.ShowNotification($"Personal preset ~r~{presetKey}~w~ deleted"); + Screen.ShowNotification($"Client preset ~r~{presetKey}~w~ deleted"); else Screen.ShowNotification($"~r~ERROR~w~ No preset found with {presetKey} key."); } @@ -54,7 +54,7 @@ private void OnSavePresetInvoked(string presetKey) }; if (Presets.Save(presetKey, preset)) - Screen.ShowNotification($"Personal preset ~g~{presetKey}~w~ saved"); + Screen.ShowNotification($"Client preset ~g~{presetKey}~w~ saved"); else Screen.ShowNotification($"~r~ERROR~w~ The name {presetKey} is invalid or already used."); } @@ -66,14 +66,14 @@ private async void OnApplyPresetInvoked(string presetKey) if (loadedPreset == null) { await Task.FromResult(0); - Screen.ShowNotification($"~r~ERROR~w~ Personal preset ~b~{presetKey}~w~ corrupted"); + Screen.ShowNotification($"~r~ERROR~w~ Client preset ~b~{presetKey}~w~ corrupted"); return; } await _mainScript.WheelScript.SetWheelPreset(loadedPreset.WheelPreset); await _mainScript.WheelModScript.SetWheelModPreset(loadedPreset.WheelModPreset); - Screen.ShowNotification($"Personal preset ~b~{presetKey}~w~ applied"); + Screen.ShowNotification($"Client preset ~b~{presetKey}~w~ applied"); } internal bool API_DeletePreset(string presetKey) @@ -119,7 +119,7 @@ internal bool API_LoadPreset(string presetKey, int vehicle) return false; } - internal IEnumerable API_GetLocalPresetList() + internal IEnumerable API_GetClientPresetList() { return Presets.GetKeys(); } diff --git a/VStancer.Client/Scripts/MainScript.cs b/VStancer.Client/Scripts/MainScript.cs index 9f9f415..7ecdadc 100644 --- a/VStancer.Client/Scripts/MainScript.cs +++ b/VStancer.Client/Scripts/MainScript.cs @@ -57,13 +57,13 @@ private set internal VStancerConfig Config { get; private set; } internal WheelScript WheelScript { get; private set; } internal WheelModScript WheelModScript { get; private set; } - internal LocalPresetsScript LocalPresetsScript { get; private set; } + internal ClientPresetsScript ClientPresetsScript { get; private set; } public MainScript() { if (GetCurrentResourceName() != Globals.ResourceName) { - Debug.WriteLine($"{Globals.ScriptName}: Invalid resource name, be sure the resource name is {Globals.ResourceName}"); + Debug.WriteLine($"{nameof(MainScript)}: Invalid resource name, be sure the resource name is {Globals.ResourceName}"); return; } @@ -85,9 +85,9 @@ public MainScript() RegisterScript(WheelModScript); } - if (Config.EnablePresets) + if (Config.EnableClientPresets) { - LocalPresetsScript = new LocalPresetsScript(this); + ClientPresetsScript = new ClientPresetsScript(this); } if (!Config.DisableMenu) @@ -113,10 +113,10 @@ public MainScript() Exports.Add("GetFrontTrackWidth", new Func(GetFrontTrackWidth)); Exports.Add("GetRearTrackWidth", new Func(GetRearTrackWidth)); - Exports.Add("SaveLocalPreset", new Func(SaveLocalPreset)); - Exports.Add("LoadLocalPreset", new Func(LoadLocalPreset)); - Exports.Add("DeleteLocalPreset", new Func(DeleteLocalPreset)); - Exports.Add("GetLocalPresetList", new Func(GetLocalPresetList)); + Exports.Add("SaveClientPreset", new Func(SaveClientPreset)); + Exports.Add("LoadClientPreset", new Func(LoadClientPreset)); + Exports.Add("DeleteClientPreset", new Func(DeleteClientPreset)); + Exports.Add("GetClientPresetList", new Func(GetClientPresetList)); } private async Task HideUITask() @@ -194,11 +194,11 @@ private VStancerConfig LoadConfig(string filename = "config.json") string strings = LoadResourceFile(Globals.ResourceName, filename); config = JsonConvert.DeserializeObject(strings); - Debug.WriteLine($"{Globals.ScriptName}: Loaded config from {filename}"); + Debug.WriteLine($"{nameof(MainScript)}: Loaded config from {filename}"); } catch (Exception e) { - Debug.WriteLine($"{Globals.ScriptName}: Impossible to load {filename}", e.Message); + Debug.WriteLine($"{nameof(MainScript)}: Impossible to load {filename}", e.Message); Debug.WriteLine(e.StackTrace); config = new VStancerConfig(); @@ -217,7 +217,7 @@ public async Task GetOnScreenString(string title, string defaultText) private void RegisterCommands() { - RegisterCommand("vstancer_decorators", new Action((source, args) => + RegisterCommand($"{Globals.CommandPrefix}decorators", new Action((source, args) => { if (args.Count < 1) { @@ -231,15 +231,15 @@ private void RegisterCommands() WheelScript.PrintDecoratorsInfo(value); WheelModScript.PrintDecoratorsInfo(value); } - else Debug.WriteLine($"{Globals.ScriptName}: Error parsing entity handle {args[0]} as int"); + else Debug.WriteLine($"{nameof(MainScript)}: Error parsing entity handle {args[0]} as int"); } }), false); - RegisterCommand("vstancer_range", new Action((source, args) => + RegisterCommand($"{Globals.CommandPrefix}range", new Action((source, args) => { if (args.Count < 1) { - Debug.WriteLine($"{Globals.ScriptName}: Missing float argument"); + Debug.WriteLine($"{nameof(MainScript)}: Missing float argument"); return; } @@ -247,43 +247,43 @@ private void RegisterCommands() { Config.ScriptRange = value; _maxDistanceSquared = (float)Math.Sqrt(value); - Debug.WriteLine($"{Globals.ScriptName}: {nameof(Config.ScriptRange)} updated to {value}"); + Debug.WriteLine($"{nameof(MainScript)}: {nameof(Config.ScriptRange)} updated to {value}"); } - else Debug.WriteLine($"{Globals.ScriptName}: Error parsing {args[0]} as float"); + else Debug.WriteLine($"{nameof(MainScript)}: Error parsing {args[0]} as float"); }), false); - RegisterCommand("vstancer_debug", new Action((source, args) => + RegisterCommand($"{Globals.CommandPrefix}debug", new Action((source, args) => { if (args.Count < 1) { - Debug.WriteLine($"{Globals.ScriptName}: Missing bool argument"); + Debug.WriteLine($"{nameof(MainScript)}: Missing bool argument"); return; } if (bool.TryParse(args[0], out bool value)) { Config.Debug = value; - Debug.WriteLine($"{Globals.ScriptName}: {nameof(Config.Debug)} updated to {value}"); + Debug.WriteLine($"{nameof(MainScript)}: {nameof(Config.Debug)} updated to {value}"); } - else Debug.WriteLine($"{Globals.ScriptName}: Error parsing {args[0]} as bool"); + else Debug.WriteLine($"{nameof(MainScript)}: Error parsing {args[0]} as bool"); }), false); - RegisterCommand("vstancer_preset", new Action((source, args) => + RegisterCommand($"{Globals.CommandPrefix}preset", new Action((source, args) => { if (WheelScript?.WheelData != null) Debug.WriteLine(WheelScript.WheelData.ToString()); else - Debug.WriteLine($"{Globals.ScriptName}: {nameof(WheelScript.WheelData)} is null"); + Debug.WriteLine($"{nameof(MainScript)}: {nameof(WheelScript.WheelData)} is null"); if (WheelModScript?.WheelModData != null) Debug.WriteLine(WheelModScript.WheelModData.ToString()); else - Debug.WriteLine($"{Globals.ScriptName}: {nameof(WheelModScript.WheelModData)} is null"); + Debug.WriteLine($"{nameof(MainScript)}: {nameof(WheelModScript.WheelModData)} is null"); }), false); - RegisterCommand("vstancer_print", new Action((source, args) => + RegisterCommand($"{Globals.CommandPrefix}print", new Action((source, args) => { if (WheelScript != null) WheelScript.PrintVehiclesWithDecorators(_worldVehiclesHandles); @@ -405,36 +405,36 @@ public float[] GetRearTrackWidth(int vehicle) return new float[] { }; } - public bool SaveLocalPreset(string id, int vehicle) + public bool SaveClientPreset(string id, int vehicle) { - if (LocalPresetsScript == null) + if (ClientPresetsScript == null) return false; - return LocalPresetsScript.API_SavePreset(id, vehicle); + return ClientPresetsScript.API_SavePreset(id, vehicle); } - public bool LoadLocalPreset(string id, int vehicle) + public bool LoadClientPreset(string id, int vehicle) { - if (LocalPresetsScript == null) + if (ClientPresetsScript == null) return false; - return LocalPresetsScript.API_LoadPreset(id, vehicle); + return ClientPresetsScript.API_LoadPreset(id, vehicle); } - public bool DeleteLocalPreset(string id) + public bool DeleteClientPreset(string id) { - if (LocalPresetsScript == null) + if (ClientPresetsScript == null) return false; - return LocalPresetsScript.API_DeletePreset(id); + return ClientPresetsScript.API_DeletePreset(id); } - public string[] GetLocalPresetList() + public string[] GetClientPresetList() { - if (LocalPresetsScript == null) + if (ClientPresetsScript == null) return new string[] { }; - return LocalPresetsScript.API_GetLocalPresetList().ToArray(); + return ClientPresetsScript.API_GetClientPresetList().ToArray(); } } } diff --git a/VStancer.Client/UI/PresetsMenu.cs b/VStancer.Client/UI/ClientPresetsMenu.cs similarity index 90% rename from VStancer.Client/UI/PresetsMenu.cs rename to VStancer.Client/UI/ClientPresetsMenu.cs index 03fbc29..ff0ed0b 100644 --- a/VStancer.Client/UI/PresetsMenu.cs +++ b/VStancer.Client/UI/ClientPresetsMenu.cs @@ -6,11 +6,11 @@ namespace VStancer.Client.UI { - internal class PresetsMenu : Menu + internal class ClientPresetsMenu : Menu { - private readonly LocalPresetsScript _script; + private readonly ClientPresetsScript _script; - internal PresetsMenu(LocalPresetsScript script, string name = Globals.ScriptName, string subtitle = "Personal Presets Menu") : base(name, subtitle) + internal ClientPresetsMenu(ClientPresetsScript script, string name = Globals.ScriptName, string subtitle = "Client Presets Menu") : base(name, subtitle) { _script = script; diff --git a/VStancer.Client/UI/MainMenu.cs b/VStancer.Client/UI/MainMenu.cs index 7222c43..f52fe96 100644 --- a/VStancer.Client/UI/MainMenu.cs +++ b/VStancer.Client/UI/MainMenu.cs @@ -13,11 +13,11 @@ internal class MainMenu : Menu private WheelMenu WheelMenu { get; set; } private WheelModMenu WheelModMenu { get; set; } - private PresetsMenu PresetsMenu { get; set; } + private ClientPresetsMenu ClientPresetsMenu { get; set; } private MenuItem WheelMenuMenuItem { get; set; } private MenuItem WheelModMenuMenuItem { get; set; } - private MenuItem PresetsMenuMenuItem { get; set; } + private MenuItem ClientPresetsMenuMenuItem { get; set; } internal MainMenu(MainScript script, string name = Globals.ScriptName, string subtitle = "Main Menu") : base(name, subtitle) @@ -49,8 +49,8 @@ internal MainMenu(MainScript script, string name = Globals.ScriptName, string su WheelModMenu.PropertyChanged += (sender, args) => UpdateWheelModMenuMenuItem(); } - if (_script.LocalPresetsScript != null) - PresetsMenu = _script.LocalPresetsScript.Menu; + if (_script.ClientPresetsScript != null) + ClientPresetsMenu = _script.ClientPresetsScript.Menu; Update(); } @@ -89,17 +89,17 @@ internal void Update() MenuController.BindMenuItem(this, WheelModMenu, WheelModMenuMenuItem); } - if (PresetsMenu != null) + if (ClientPresetsMenu != null) { - PresetsMenuMenuItem = new MenuItem("Personal Presets Menu", "The menu to manage the presets saved by you.") + ClientPresetsMenuMenuItem = new MenuItem("Client Presets Menu", "The menu to manage the presets saved by you.") { Label = "→→→" }; - AddMenuItem(PresetsMenuMenuItem); + AddMenuItem(ClientPresetsMenuMenuItem); - MenuController.AddSubmenu(this, PresetsMenu); - MenuController.BindMenuItem(this, PresetsMenu, PresetsMenuMenuItem); + MenuController.AddSubmenu(this, ClientPresetsMenu); + MenuController.BindMenuItem(this, ClientPresetsMenu, ClientPresetsMenuMenuItem); } } diff --git a/VStancer.Client/VStancerConfig.cs b/VStancer.Client/VStancerConfig.cs index 8845066..97bd77e 100644 --- a/VStancer.Client/VStancerConfig.cs +++ b/VStancer.Client/VStancerConfig.cs @@ -11,7 +11,7 @@ public class VStancerConfig public int ToggleMenuControl { get; set; } public float FloatStep { get; set; } public bool EnableWheelMod { get; set; } - public bool EnablePresets { get; set; } + public bool EnableClientPresets { get; set; } public WheelLimits WheelLimits { get; set; } public WheelModLimits WheelModLimits { get; set; } @@ -26,7 +26,7 @@ public VStancerConfig() ToggleMenuControl = 167; FloatStep = 0.01f; EnableWheelMod = true; - EnablePresets = true; + EnableClientPresets = true; WheelLimits = new WheelLimits { diff --git a/VStancer.Client/VStancerUtilities.cs b/VStancer.Client/VStancerUtilities.cs index 9cc77ff..c0e1a2b 100644 --- a/VStancer.Client/VStancerUtilities.cs +++ b/VStancer.Client/VStancerUtilities.cs @@ -9,11 +9,6 @@ public static class VStancerUtilities { public const float Epsilon = 0.001f; - /// - /// Calculate the number of front wheels of a vehicle, starting from the number of all the wheels - /// - /// The number of wheels of a such vehicle - /// public static int CalculateFrontWheelsCount(int wheelsCount) { int _frontWheelsCount = wheelsCount / 2; @@ -75,7 +70,7 @@ public static void UpdateFloatDecorator(int vehicle, string name, float currentV { DecorSetFloat(vehicle, name, currentValue); #if DEBUG - Debug.WriteLine($"{Globals.ScriptName}: Updated decorator {name} from {decorValue} to {currentValue} on vehicle {vehicle}"); + Debug.WriteLine($"Updated decorator {name} from {decorValue} to {currentValue} on vehicle {vehicle}"); #endif } } @@ -85,7 +80,7 @@ public static void UpdateFloatDecorator(int vehicle, string name, float currentV { DecorSetFloat(vehicle, name, currentValue); #if DEBUG - Debug.WriteLine($"{Globals.ScriptName}: Added decorator {name} with value {currentValue} to vehicle {vehicle}"); + Debug.WriteLine($"Added decorator {name} with value {currentValue} to vehicle {vehicle}"); #endif } } diff --git a/dist/config.json b/dist/config.json index e57516b..fd65241 100644 --- a/dist/config.json +++ b/dist/config.json @@ -8,7 +8,7 @@ "ToggleMenuControl": 167, "FloatStep": 0.01, "EnableWheelMod": true, - "EnablePresets": true, + "EnableClientPresets": true, "WheelLimits": { "FrontTrackWidth": 0.25, "RearTrackWidth": 0.25,