Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
82 changes: 43 additions & 39 deletions vMenu/menus/VehicleOptions.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;

using CitizenFX.Core;
Expand Down Expand Up @@ -2152,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);
Expand Down Expand Up @@ -2214,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<string>() { "Red", "Orange", "Yellow", "Gold", "Light Green", "Dark Green", "Light Blue", "Dark Blue", "Purple", "Pink", "Black" };
var tireSmokeColors = new Dictionary<string, int[]>()
Expand Down Expand Up @@ -2541,7 +2542,7 @@ internal static int GetHeadlightsColorForVehicle(Vehicle vehicle)
/// </summary>
/// <param name="index"></param>
/// <returns></returns>
private System.Drawing.Color GetColorFromIndex(int index)
private static System.Drawing.Color GetColorFromIndex(int index)
{
if (index is >= 0 and < 13)
{
Expand Down Expand Up @@ -2586,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),
Expand Down Expand Up @@ -2634,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];
}
}

Expand All @@ -2645,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);
Expand All @@ -2665,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))
Expand All @@ -2690,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;
}
}
Expand All @@ -2722,9 +2724,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];
}
}

Expand All @@ -2746,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)
{
Expand All @@ -2761,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)
{
Expand All @@ -2776,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);
Expand Down Expand Up @@ -2807,42 +2810,43 @@ 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);
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)
{

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);
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)
Expand All @@ -2855,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;
}

Expand Down
Loading