11using System ;
22using System . Collections . Generic ;
3+ using System . Drawing ;
34using System . Linq ;
45
56using CitizenFX . Core ;
@@ -2152,7 +2153,7 @@ public void UpdateMods(int selectedIndex = 0)
21522153 }
21532154
21542155 var headlightsButton = new MenuItem ( "Headlights" ) ;
2155- var headlightsMenu = new Menu ( "Headlights" ) ;
2156+ var headlightsMenu = new Menu ( "Headlights" , "headlights" ) ;
21562157 var xenonHeadlights = new MenuCheckboxItem ( "Xenon Headlights" , "Enable or disable ~b~xenon ~s~headlights." , IsToggleModOn ( veh . Handle , 22 ) ) ;
21572158 headlightsMenu . AddMenuItem ( xenonHeadlights ) ;
21582159 var currentHeadlightColor = GetHeadlightsColorForVehicle ( veh ) ;
@@ -2214,7 +2215,7 @@ public void UpdateMods(int selectedIndex = 0)
22142215 }
22152216
22162217 var tireSmokeButton = new MenuItem ( "Tire Smoke" ) ;
2217- var tireSmokeMenu = new Menu ( "Tire Smoke" ) ;
2218+ var tireSmokeMenu = new Menu ( "Tire Smoke" , "Tire Smoke" ) ;
22182219 // Create a list of tire smoke options.
22192220 var tireSmokes = new List < string > ( ) { "Red" , "Orange" , "Yellow" , "Gold" , "Light Green" , "Dark Green" , "Light Blue" , "Dark Blue" , "Purple" , "Pink" , "Black" } ;
22202221 var tireSmokeColors = new Dictionary < string , int [ ] > ( )
@@ -2541,7 +2542,7 @@ internal static int GetHeadlightsColorForVehicle(Vehicle vehicle)
25412542 /// </summary>
25422543 /// <param name="index"></param>
25432544 /// <returns></returns>
2544- private System . Drawing . Color GetColorFromIndex ( int index )
2545+ private static System . Drawing . Color GetColorFromIndex ( int index )
25452546 {
25462547 if ( index is >= 0 and < 13 )
25472548 {
@@ -2586,22 +2587,22 @@ public enum RGBType
25862587 public static void CreateCustomColourMenu ( Menu menu , RGBType type = RGBType . primaryPaint )
25872588 {
25882589
2589- var hexColour = new MenuItem ( "Hex Colour Code" ) ;
2590+ var hexColour = new MenuItem ( "Hex Color Code" ) ;
25902591 var typeList = new MenuListItem ( "Paint Finish" , Enum . GetNames ( typeof ( Colour_Types ) ) . ToList ( ) , 0 ) ;
25912592
25922593 int r = 0 , g = 0 , b = 0 ;
25932594
2594- var redColour = new MenuSliderItem ( "Red Colour " , 0 , 255 , 128 , true )
2595+ var redColour = new MenuSliderItem ( "Red Color " , 0 , 255 , 128 , true )
25952596 {
25962597 BarColor = System . Drawing . Color . FromArgb ( 155 , 0 , 0 , 0 ) ,
25972598 BackgroundColor = System . Drawing . Color . FromArgb ( 200 , 79 , 79 , 79 ) ,
25982599 } ;
2599- var greenColour = new MenuSliderItem ( "Green Colour " , 0 , 255 , 128 , true )
2600+ var greenColour = new MenuSliderItem ( "Green Color " , 0 , 255 , 128 , true )
26002601 {
26012602 BarColor = System . Drawing . Color . FromArgb ( 155 , 0 , 0 , 0 ) ,
26022603 BackgroundColor = System . Drawing . Color . FromArgb ( 200 , 79 , 79 , 79 ) ,
26032604 } ;
2604- var blueColour = new MenuSliderItem ( "Blue Colour " , 0 , 255 , 128 , true )
2605+ var blueColour = new MenuSliderItem ( "Blue Color " , 0 , 255 , 128 , true )
26052606 {
26062607 BarColor = System . Drawing . Color . FromArgb ( 155 , 0 , 0 , 0 ) ,
26072608 BackgroundColor = System . Drawing . Color . FromArgb ( 200 , 79 , 79 , 79 ) ,
@@ -2634,9 +2635,10 @@ public static void CreateCustomColourMenu(Menu menu, RGBType type = RGBType.prim
26342635 {
26352636 if ( IsToggleModOn ( vehicle . Handle , 22 ) )
26362637 {
2637- r = VehicleData . NeonLightColors [ GetHeadlightsColorForVehicle ( vehicle ) ] [ 0 ] ;
2638- g = VehicleData . NeonLightColors [ GetHeadlightsColorForVehicle ( vehicle ) ] [ 1 ] ;
2639- b = VehicleData . NeonLightColors [ GetHeadlightsColorForVehicle ( vehicle ) ] [ 2 ] ;
2638+ int headlight = GetHeadlightsColorForVehicle ( vehicle ) < 0 ? 0 : GetHeadlightsColorForVehicle ( vehicle ) ;
2639+ r = VehicleData . NeonLightColors [ headlight ] [ 0 ] ;
2640+ g = VehicleData . NeonLightColors [ headlight ] [ 1 ] ;
2641+ b = VehicleData . NeonLightColors [ headlight ] [ 2 ] ;
26402642 }
26412643 }
26422644
@@ -2645,13 +2647,13 @@ public static void CreateCustomColourMenu(Menu menu, RGBType type = RGBType.prim
26452647 GetVehicleTyreSmokeColor ( vehicle . Handle , ref r , ref g , ref b ) ;
26462648
26472649
2648- redColour . Text = $ "Red Colour ({ r } )";
2650+ redColour . Text = $ "Red Color ({ r } )";
26492651 redColour . Position = r ;
26502652
2651- greenColour . Text = $ "Green Colour ({ g } )";
2653+ greenColour . Text = $ "Green Color ({ g } )";
26522654 greenColour . Position = g ;
26532655
2654- blueColour . Text = $ "Blue Colour ({ b } )";
2656+ blueColour . Text = $ "Blue Color ({ b } )";
26552657 blueColour . Position = b ;
26562658
26572659 redColour . BarColor = System . Drawing . Color . FromArgb ( 255 , redColour . Position , greenColour . Position , blueColour . Position ) ;
@@ -2665,7 +2667,7 @@ public static void CreateCustomColourMenu(Menu menu, RGBType type = RGBType.prim
26652667 if ( item == hexColour )
26662668 {
26672669 string hexValue = redColour . Position . ToString ( "X2" ) + greenColour . Position . ToString ( "X2" ) + blueColour . Position . ToString ( "X2" ) ;
2668- var result = await GetUserInput ( windowTitle : "Enter Colour Hex" , defaultText : ( hexValue ) . Replace ( "#" , "" ) , maxInputLength : 6 ) ;
2670+ var result = await GetUserInput ( windowTitle : "Enter Color Hex" , defaultText : ( hexValue ) . Replace ( "#" , "" ) , maxInputLength : 6 ) ;
26692671 if ( ! string . IsNullOrEmpty ( result ) )
26702672 {
26712673 if ( IsHex ( result ) )
@@ -2690,13 +2692,13 @@ public static void CreateCustomColourMenu(Menu menu, RGBType type = RGBType.prim
26902692 greenColour . BarColor = System . Drawing . Color . FromArgb ( 255 , red , green , blue ) ;
26912693 blueColour . BarColor = System . Drawing . Color . FromArgb ( 255 , red , green , blue ) ;
26922694
2693- redColour . Text = $ "Red Colour ({ red } )";
2695+ redColour . Text = $ "Red Color ({ red } )";
26942696 redColour . Position = red ;
26952697
2696- greenColour . Text = $ "Green Colour ({ green } )";
2698+ greenColour . Text = $ "Green Color ({ green } )";
26972699 greenColour . Position = green ;
26982700
2699- blueColour . Text = $ "Blue Colour ({ blue } )";
2701+ blueColour . Text = $ "Blue Color ({ blue } )";
27002702 blueColour . Position = blue ;
27012703 }
27022704 }
@@ -2722,9 +2724,10 @@ public static void CreateCustomColourMenu(Menu menu, RGBType type = RGBType.prim
27222724 {
27232725 if ( IsToggleModOn ( vehicle . Handle , 22 ) )
27242726 {
2725- r = VehicleData . NeonLightColors [ GetHeadlightsColorForVehicle ( vehicle ) ] [ 0 ] ;
2726- g = VehicleData . NeonLightColors [ GetHeadlightsColorForVehicle ( vehicle ) ] [ 1 ] ;
2727- b = VehicleData . NeonLightColors [ GetHeadlightsColorForVehicle ( vehicle ) ] [ 2 ] ;
2727+ int headlight = GetHeadlightsColorForVehicle ( vehicle ) < 0 ? 0 : GetHeadlightsColorForVehicle ( vehicle ) ;
2728+ r = VehicleData . NeonLightColors [ headlight ] [ 0 ] ;
2729+ g = VehicleData . NeonLightColors [ headlight ] [ 1 ] ;
2730+ b = VehicleData . NeonLightColors [ headlight ] [ 2 ] ;
27282731 }
27292732 }
27302733
@@ -2746,7 +2749,7 @@ public static void CreateCustomColourMenu(Menu menu, RGBType type = RGBType.prim
27462749 else if ( type == RGBType . tiresmoke )
27472750 vehicle . Mods . TireSmokeColor = System . Drawing . Color . FromArgb ( 255 , newPosition , g , b ) ;
27482751
2749- redColour . Text = $ "Red Colour ({ newPosition } )";
2752+ redColour . Text = $ "Red Color ({ newPosition } )";
27502753 }
27512754 if ( sliderItem == greenColour )
27522755 {
@@ -2761,7 +2764,7 @@ public static void CreateCustomColourMenu(Menu menu, RGBType type = RGBType.prim
27612764 else if ( type == RGBType . tiresmoke )
27622765 vehicle . Mods . TireSmokeColor = System . Drawing . Color . FromArgb ( 255 , r , newPosition , b ) ;
27632766
2764- greenColour . Text = $ "Green Colour ({ newPosition } )";
2767+ greenColour . Text = $ "Green Color ({ newPosition } )";
27652768 }
27662769 if ( sliderItem == blueColour )
27672770 {
@@ -2776,7 +2779,7 @@ public static void CreateCustomColourMenu(Menu menu, RGBType type = RGBType.prim
27762779 else if ( type == RGBType . tiresmoke )
27772780 vehicle . Mods . TireSmokeColor = System . Drawing . Color . FromArgb ( 255 , r , g , newPosition ) ;
27782781
2779- blueColour . Text = $ "Blue Colour ({ newPosition } )";
2782+ blueColour . Text = $ "Blue Color ({ newPosition } )";
27802783 }
27812784 redColour . BarColor = System . Drawing . Color . FromArgb ( 255 , redColour . Position , greenColour . Position , blueColour . Position ) ;
27822785 greenColour . BarColor = System . Drawing . Color . FromArgb ( 255 , redColour . Position , greenColour . Position , blueColour . Position ) ;
@@ -2807,42 +2810,43 @@ public static void CreateCustomColourMenu(Menu menu, RGBType type = RGBType.prim
28072810 }
28082811 else if ( type == RGBType . underglow )
28092812 {
2810- int red = vehicle . Mods . TireSmokeColor . R ;
2811- int green = vehicle . Mods . NeonLightsColor . G ;
2812- int blue = vehicle . Mods . NeonLightsColor . B ;
2813+ Color underglow = GetColorFromIndex ( newIndex ) ;
2814+ int red = underglow . R ;
2815+ int green = underglow . G ;
2816+ int blue = underglow . B ;
28132817
28142818 redColour . BarColor = System . Drawing . Color . FromArgb ( 255 , red , green , blue ) ;
28152819 greenColour . BarColor = System . Drawing . Color . FromArgb ( 255 , red , green , blue ) ;
28162820 blueColour . BarColor = System . Drawing . Color . FromArgb ( 255 , red , green , blue ) ;
28172821
2818- redColour . Text = $ "Red Colour ({ red } )";
2822+ redColour . Text = $ "Red Color ({ red } )";
28192823 redColour . Position = red ;
28202824
2821- greenColour . Text = $ "Green Colour ({ green } )";
2825+ greenColour . Text = $ "Green Color ({ green } )";
28222826 greenColour . Position = green ;
28232827
2824- blueColour . Text = $ "Blue Colour ({ blue } )";
2828+ blueColour . Text = $ "Blue Color ({ blue } )";
28252829 blueColour . Position = blue ;
28262830 }
28272831 else if ( type == RGBType . headlight )
28282832 {
2829-
2830- int red = VehicleData . NeonLightColors [ GetHeadlightsColorForVehicle ( vehicle ) ] [ 0 ] ;
2831- int green = VehicleData . NeonLightColors [ GetHeadlightsColorForVehicle ( vehicle ) ] [ 1 ] ;
2832- int blue = VehicleData . NeonLightColors [ GetHeadlightsColorForVehicle ( vehicle ) ] [ 2 ] ;
2833+ int headlight = GetHeadlightsColorForVehicle ( vehicle ) < 0 ? 0 : GetHeadlightsColorForVehicle ( vehicle ) ;
2834+ int red = VehicleData . NeonLightColors [ headlight ] [ 0 ] ;
2835+ int green = VehicleData . NeonLightColors [ headlight ] [ 1 ] ;
2836+ int blue = VehicleData . NeonLightColors [ headlight ] [ 2 ] ;
28332837
28342838
28352839 redColour . BarColor = System . Drawing . Color . FromArgb ( 255 , red , green , blue ) ;
28362840 greenColour . BarColor = System . Drawing . Color . FromArgb ( 255 , red , green , blue ) ;
28372841 blueColour . BarColor = System . Drawing . Color . FromArgb ( 255 , red , green , blue ) ;
28382842
2839- redColour . Text = $ "Red Colour ({ red } )";
2843+ redColour . Text = $ "Red Color ({ red } )";
28402844 redColour . Position = red ;
28412845
2842- greenColour . Text = $ "Green Colour ({ green } )";
2846+ greenColour . Text = $ "Green Color ({ green } )";
28432847 greenColour . Position = green ;
28442848
2845- blueColour . Text = $ "Blue Colour ({ blue } )";
2849+ blueColour . Text = $ "Blue Color ({ blue } )";
28462850 blueColour . Position = blue ;
28472851 }
28482852 else if ( type == RGBType . tiresmoke )
@@ -2855,13 +2859,13 @@ public static void CreateCustomColourMenu(Menu menu, RGBType type = RGBType.prim
28552859 greenColour . BarColor = System . Drawing . Color . FromArgb ( 255 , red , green , blue ) ;
28562860 blueColour . BarColor = System . Drawing . Color . FromArgb ( 255 , red , green , blue ) ;
28572861
2858- redColour . Text = $ "Red Colour ({ red } )";
2862+ redColour . Text = $ "Red Color ({ red } )";
28592863 redColour . Position = red ;
28602864
2861- greenColour . Text = $ "Green Colour ({ green } )";
2865+ greenColour . Text = $ "Green Color ({ green } )";
28622866 greenColour . Position = green ;
28632867
2864- blueColour . Text = $ "Blue Colour ({ blue } )";
2868+ blueColour . Text = $ "Blue Color ({ blue } )";
28652869 blueColour . Position = blue ;
28662870 }
28672871
0 commit comments