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;
}