From 19f47b7f70b07bcdcbc0f188013746051f2cf821 Mon Sep 17 00:00:00 2001 From: Ricky Merc <65817116+RickyB505@users.noreply.github.com> Date: Mon, 6 Apr 2026 14:42:30 -0400 Subject: [PATCH 1/3] fix(vehicle): fixes bug with underglow colour grabbing --- vMenu/menus/VehicleOptions.cs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/vMenu/menus/VehicleOptions.cs b/vMenu/menus/VehicleOptions.cs index 17da329b..e9f755aa 100644 --- a/vMenu/menus/VehicleOptions.cs +++ b/vMenu/menus/VehicleOptions.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Drawing; using System.Linq; using CitizenFX.Core; @@ -2541,7 +2542,7 @@ internal static int GetHeadlightsColorForVehicle(Vehicle vehicle) /// /// /// - private System.Drawing.Color GetColorFromIndex(int index) + private static System.Drawing.Color GetColorFromIndex(int index) { if (index is >= 0 and < 13) { @@ -2807,9 +2808,10 @@ public static void CreateCustomColourMenu(Menu menu, RGBType type = RGBType.prim } else if (type == RGBType.underglow) { - int red = vehicle.Mods.TireSmokeColor.R; - int green = vehicle.Mods.NeonLightsColor.G; - int blue = vehicle.Mods.NeonLightsColor.B; + Color underglow = GetColorFromIndex(newIndex); + int red = underglow.R; + int green = underglow.G; + int blue = underglow.B; redColour.BarColor = System.Drawing.Color.FromArgb(255, red, green, blue); greenColour.BarColor = System.Drawing.Color.FromArgb(255, red, green, blue); From 26b1db7c6b494b9034e025043717d8d062389406 Mon Sep 17 00:00:00 2001 From: Ricky Merc <65817116+RickyB505@users.noreply.github.com> Date: Mon, 6 Apr 2026 14:49:36 -0400 Subject: [PATCH 2/3] fix(vehicle): headlight index going out of range --- vMenu/menus/VehicleOptions.cs | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/vMenu/menus/VehicleOptions.cs b/vMenu/menus/VehicleOptions.cs index e9f755aa..cc4ba398 100644 --- a/vMenu/menus/VehicleOptions.cs +++ b/vMenu/menus/VehicleOptions.cs @@ -2723,9 +2723,10 @@ public static void CreateCustomColourMenu(Menu menu, RGBType type = RGBType.prim { if (IsToggleModOn(vehicle.Handle, 22)) { - r = VehicleData.NeonLightColors[GetHeadlightsColorForVehicle(vehicle)][0]; - g = VehicleData.NeonLightColors[GetHeadlightsColorForVehicle(vehicle)][1]; - b = VehicleData.NeonLightColors[GetHeadlightsColorForVehicle(vehicle)][2]; + int headlight = GetHeadlightsColorForVehicle(vehicle) < 0 ? 0 : GetHeadlightsColorForVehicle(vehicle); + r = VehicleData.NeonLightColors[headlight][0]; + g = VehicleData.NeonLightColors[headlight][1]; + b = VehicleData.NeonLightColors[headlight][2]; } } @@ -2828,10 +2829,10 @@ public static void CreateCustomColourMenu(Menu menu, RGBType type = RGBType.prim } else if (type == RGBType.headlight) { - - int red = VehicleData.NeonLightColors[GetHeadlightsColorForVehicle(vehicle)][0]; - int green = VehicleData.NeonLightColors[GetHeadlightsColorForVehicle(vehicle)][1]; - int blue = VehicleData.NeonLightColors[GetHeadlightsColorForVehicle(vehicle)][2]; + int headlight = GetHeadlightsColorForVehicle(vehicle) < 0 ? 0 : GetHeadlightsColorForVehicle(vehicle); + int red = VehicleData.NeonLightColors[headlight][0]; + int green = VehicleData.NeonLightColors[headlight][1]; + int blue = VehicleData.NeonLightColors[headlight][2]; redColour.BarColor = System.Drawing.Color.FromArgb(255, red, green, blue); From 09acff53de697166b50a6806c15bd50e56eb8b95 Mon Sep 17 00:00:00 2001 From: Ricky Merc <65817116+RickyB505@users.noreply.github.com> Date: Mon, 6 Apr 2026 14:57:14 -0400 Subject: [PATCH 3/3] fix(vehicle): fixes bugs related to spelling, and missing text fields --- vMenu/menus/VehicleOptions.cs | 57 ++++++++++++++++++----------------- 1 file changed, 29 insertions(+), 28 deletions(-) diff --git a/vMenu/menus/VehicleOptions.cs b/vMenu/menus/VehicleOptions.cs index cc4ba398..6c89be7f 100644 --- a/vMenu/menus/VehicleOptions.cs +++ b/vMenu/menus/VehicleOptions.cs @@ -2153,7 +2153,7 @@ public void UpdateMods(int selectedIndex = 0) } var headlightsButton = new MenuItem("Headlights"); - var headlightsMenu = new Menu("Headlights"); + var headlightsMenu = new Menu("Headlights", "headlights"); var xenonHeadlights = new MenuCheckboxItem("Xenon Headlights", "Enable or disable ~b~xenon ~s~headlights.", IsToggleModOn(veh.Handle, 22)); headlightsMenu.AddMenuItem(xenonHeadlights); var currentHeadlightColor = GetHeadlightsColorForVehicle(veh); @@ -2215,7 +2215,7 @@ public void UpdateMods(int selectedIndex = 0) } var tireSmokeButton = new MenuItem("Tire Smoke"); - var tireSmokeMenu = new Menu("Tire Smoke"); + var tireSmokeMenu = new Menu("Tire Smoke", "Tire Smoke"); // Create a list of tire smoke options. var tireSmokes = new List() { "Red", "Orange", "Yellow", "Gold", "Light Green", "Dark Green", "Light Blue", "Dark Blue", "Purple", "Pink", "Black" }; var tireSmokeColors = new Dictionary() @@ -2587,22 +2587,22 @@ public enum RGBType public static void CreateCustomColourMenu(Menu menu, RGBType type = RGBType.primaryPaint) { - var hexColour = new MenuItem("Hex Colour Code"); + var hexColour = new MenuItem("Hex Color Code"); var typeList = new MenuListItem("Paint Finish", Enum.GetNames(typeof(Colour_Types)).ToList(), 0); int r = 0, g = 0, b = 0; - var redColour = new MenuSliderItem("Red Colour", 0, 255, 128, true) + var redColour = new MenuSliderItem("Red Color", 0, 255, 128, true) { BarColor = System.Drawing.Color.FromArgb(155, 0, 0, 0), BackgroundColor = System.Drawing.Color.FromArgb(200, 79, 79, 79), }; - var greenColour = new MenuSliderItem("Green Colour", 0, 255, 128, true) + var greenColour = new MenuSliderItem("Green Color", 0, 255, 128, true) { BarColor = System.Drawing.Color.FromArgb(155, 0, 0, 0), BackgroundColor = System.Drawing.Color.FromArgb(200, 79, 79, 79), }; - var blueColour = new MenuSliderItem("Blue Colour", 0, 255, 128, true) + var blueColour = new MenuSliderItem("Blue Color", 0, 255, 128, true) { BarColor = System.Drawing.Color.FromArgb(155, 0, 0, 0), BackgroundColor = System.Drawing.Color.FromArgb(200, 79, 79, 79), @@ -2635,9 +2635,10 @@ public static void CreateCustomColourMenu(Menu menu, RGBType type = RGBType.prim { if (IsToggleModOn(vehicle.Handle, 22)) { - r = VehicleData.NeonLightColors[GetHeadlightsColorForVehicle(vehicle)][0]; - g = VehicleData.NeonLightColors[GetHeadlightsColorForVehicle(vehicle)][1]; - b = VehicleData.NeonLightColors[GetHeadlightsColorForVehicle(vehicle)][2]; + int headlight = GetHeadlightsColorForVehicle(vehicle) < 0 ? 0 : GetHeadlightsColorForVehicle(vehicle); + r = VehicleData.NeonLightColors[headlight][0]; + g = VehicleData.NeonLightColors[headlight][1]; + b = VehicleData.NeonLightColors[headlight][2]; } } @@ -2646,13 +2647,13 @@ public static void CreateCustomColourMenu(Menu menu, RGBType type = RGBType.prim GetVehicleTyreSmokeColor(vehicle.Handle, ref r, ref g, ref b); - redColour.Text = $"Red Colour ({r})"; + redColour.Text = $"Red Color ({r})"; redColour.Position = r; - greenColour.Text = $"Green Colour ({g})"; + greenColour.Text = $"Green Color ({g})"; greenColour.Position = g; - blueColour.Text = $"Blue Colour ({b})"; + blueColour.Text = $"Blue Color ({b})"; blueColour.Position = b; redColour.BarColor = System.Drawing.Color.FromArgb(255, redColour.Position, greenColour.Position, blueColour.Position); @@ -2666,7 +2667,7 @@ public static void CreateCustomColourMenu(Menu menu, RGBType type = RGBType.prim if (item == hexColour) { string hexValue = redColour.Position.ToString("X2") + greenColour.Position.ToString("X2") + blueColour.Position.ToString("X2"); - var result = await GetUserInput(windowTitle: "Enter Colour Hex", defaultText: (hexValue).Replace("#", ""), maxInputLength: 6); + var result = await GetUserInput(windowTitle: "Enter Color Hex", defaultText: (hexValue).Replace("#", ""), maxInputLength: 6); if (!string.IsNullOrEmpty(result)) { if (IsHex(result)) @@ -2691,13 +2692,13 @@ public static void CreateCustomColourMenu(Menu menu, RGBType type = RGBType.prim greenColour.BarColor = System.Drawing.Color.FromArgb(255, red, green, blue); blueColour.BarColor = System.Drawing.Color.FromArgb(255, red, green, blue); - redColour.Text = $"Red Colour ({red})"; + redColour.Text = $"Red Color ({red})"; redColour.Position = red; - greenColour.Text = $"Green Colour ({green})"; + greenColour.Text = $"Green Color ({green})"; greenColour.Position = green; - blueColour.Text = $"Blue Colour ({blue})"; + blueColour.Text = $"Blue Color ({blue})"; blueColour.Position = blue; } } @@ -2748,7 +2749,7 @@ public static void CreateCustomColourMenu(Menu menu, RGBType type = RGBType.prim else if (type == RGBType.tiresmoke) vehicle.Mods.TireSmokeColor = System.Drawing.Color.FromArgb(255, newPosition, g, b); - redColour.Text = $"Red Colour ({newPosition})"; + redColour.Text = $"Red Color ({newPosition})"; } if (sliderItem == greenColour) { @@ -2763,7 +2764,7 @@ public static void CreateCustomColourMenu(Menu menu, RGBType type = RGBType.prim else if (type == RGBType.tiresmoke) vehicle.Mods.TireSmokeColor = System.Drawing.Color.FromArgb(255, r, newPosition, b); - greenColour.Text = $"Green Colour ({newPosition})"; + greenColour.Text = $"Green Color ({newPosition})"; } if (sliderItem == blueColour) { @@ -2778,7 +2779,7 @@ public static void CreateCustomColourMenu(Menu menu, RGBType type = RGBType.prim else if (type == RGBType.tiresmoke) vehicle.Mods.TireSmokeColor = System.Drawing.Color.FromArgb(255, r, g, newPosition); - blueColour.Text = $"Blue Colour ({newPosition})"; + blueColour.Text = $"Blue Color ({newPosition})"; } redColour.BarColor = System.Drawing.Color.FromArgb(255, redColour.Position, greenColour.Position, blueColour.Position); greenColour.BarColor = System.Drawing.Color.FromArgb(255, redColour.Position, greenColour.Position, blueColour.Position); @@ -2818,13 +2819,13 @@ public static void CreateCustomColourMenu(Menu menu, RGBType type = RGBType.prim greenColour.BarColor = System.Drawing.Color.FromArgb(255, red, green, blue); blueColour.BarColor = System.Drawing.Color.FromArgb(255, red, green, blue); - redColour.Text = $"Red Colour ({red})"; + redColour.Text = $"Red Color ({red})"; redColour.Position = red; - greenColour.Text = $"Green Colour ({green})"; + greenColour.Text = $"Green Color ({green})"; greenColour.Position = green; - blueColour.Text = $"Blue Colour ({blue})"; + blueColour.Text = $"Blue Color ({blue})"; blueColour.Position = blue; } else if (type == RGBType.headlight) @@ -2839,13 +2840,13 @@ public static void CreateCustomColourMenu(Menu menu, RGBType type = RGBType.prim greenColour.BarColor = System.Drawing.Color.FromArgb(255, red, green, blue); blueColour.BarColor = System.Drawing.Color.FromArgb(255, red, green, blue); - redColour.Text = $"Red Colour ({red})"; + redColour.Text = $"Red Color ({red})"; redColour.Position = red; - greenColour.Text = $"Green Colour ({green})"; + greenColour.Text = $"Green Color ({green})"; greenColour.Position = green; - blueColour.Text = $"Blue Colour ({blue})"; + blueColour.Text = $"Blue Color ({blue})"; blueColour.Position = blue; } else if (type == RGBType.tiresmoke) @@ -2858,13 +2859,13 @@ public static void CreateCustomColourMenu(Menu menu, RGBType type = RGBType.prim greenColour.BarColor = System.Drawing.Color.FromArgb(255, red, green, blue); blueColour.BarColor = System.Drawing.Color.FromArgb(255, red, green, blue); - redColour.Text = $"Red Colour ({red})"; + redColour.Text = $"Red Color ({red})"; redColour.Position = red; - greenColour.Text = $"Green Colour ({green})"; + greenColour.Text = $"Green Color ({green})"; greenColour.Position = green; - blueColour.Text = $"Blue Colour ({blue})"; + blueColour.Text = $"Blue Color ({blue})"; blueColour.Position = blue; }