Ejemplo n.º 1
0
 private void EventLargeOnewayParking(int c)
 {
     ModLoader.config.large_oneway_parking = c;
     ModLoader.SaveConfig();
     RoadsUnited_Core.ApplyVanillaRoadDictionary();
     RoadsUnited_Core.ReplaceNetTextures();
 }
Ejemplo n.º 2
0
 private void EventMediumRoadBusParking(int c)
 {
     ModLoader.config.medium_road_bus_parking = c;
     ModLoader.SaveConfig();
     RoadsUnited_Core.ApplyVanillaRoadDictionary();
     RoadsUnited_Core.ReplaceNetTextures();
 }
Ejemplo n.º 3
0
 public override void OnLevelUnloading()
 {
     base.OnLevelUnloading();
     RoadsUnited_Core.ApplyVanillaDictionary();
     RoadsUnited_Core.vanillaPrefabProperties.Clear();
     //hook.DisableHook();
     //GameObject.Destroy(hookGo);
     //hook = null;
 }
        public static void ReplacePropTextures()
        {
            string tex  = ModLoader.Tex;
            string path = ModLoader.currentTexturesPath_default + "/PropTextures/";

            PropCollection[] array = UnityEngine.Object.FindObjectsOfType <PropCollection>();
            for (int i = 0; i < array.Length; i++)
            {
                PropCollection propCollection = array[i];
                try
                {
                    PropInfo[] prefabs = propCollection.m_prefabs;
                    for (int j = 0; j < prefabs.Length; j++)
                    {
                        PropInfo propInfo    = prefabs[j];
                        string   defaultname = null;
                        if (propInfo.m_lodMaterialCombined.GetTexture("_MainTex").name != null)
                        {
                            defaultname = propInfo.m_lodMaterialCombined.GetTexture("_MainTex").name;
                        }
                        if (defaultname != null)
                        {
                            string propLodTexture;
                            string propLodACIMapTexture;
                            if (defaultname == "BusLaneText")
                            {
                                propLodTexture       = Path.Combine(path, "BusLane.dds");
                                propLodACIMapTexture = Path.Combine(path, "BusLane-aci.dds");
                            }
                            else
                            {
                                propLodTexture       = Path.Combine(path, defaultname + ".dds");
                                propLodACIMapTexture = Path.Combine(path, defaultname + "-aci.dds");
                            }
                            if (File.Exists(propLodTexture))
                            {
                                //only the m_lodMaterialCombined texture is visible
                                propInfo.m_lodMaterialCombined.SetTexture("_MainTex", RoadsUnited_Core.LoadTextureDDS(propLodTexture));
                            }
                            if (File.Exists(propLodACIMapTexture))
                            {
                                propInfo.m_lodMaterialCombined.SetTexture("_ACIMap", RoadsUnited_Core.LoadTextureDDS(propLodACIMapTexture));
                            }
                        }
                    }
                }
                catch (Exception)
                {
                }
            }
        }
Ejemplo n.º 5
0
        public override void OnLevelLoaded(LoadMode mode)
        {
            base.OnLevelLoaded(mode);
            string modPath = getModPath();

            //hookGo = new GameObject("RoadsUnited_Core hook");
            //hook = hookGo.AddComponent<Hook4>();
            if (ModLoader.config.create_vanilla_dictionary == true)
            {
                bool isEmpty;
                using (var dictionaryEnum = RoadsUnited_Core.vanillaPrefabProperties.GetEnumerator())
                    isEmpty = !dictionaryEnum.MoveNext();
                if (isEmpty)
                {
                    RoadsUnited_Core.CreateVanillaDictionary();
                }
            }


            if (ModLoader.config.use_custom_textures == true)
            {
                RoadsUnited_Core.ReplaceNetTextures();
                //      RoadsUnited_Core.ReplaceNetTexturesPNG();
            }

            #region .RoadColorChanger

            if (ModLoader.config.use_custom_colors == true)
            {
                RoadColorChanger.ChangeColor(ModLoader.config.small_road_brightness, "Basic Road", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.small_road_brightness, "Basic Road Elevated", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.small_road_brightness, "Basic Road Bridge", ModLoader.modPath);

                RoadColorChanger.ChangeColor(ModLoader.config.small_road_brightness, "Basic Road Bicycle", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.small_road_brightness, "Basic Road Elevated Bike", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.small_road_brightness, "Basic Road Bridge Bike", ModLoader.modPath);

                RoadColorChanger.ChangeColor(ModLoader.config.small_road_brightness, "Basic Road Tram", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.small_road_brightness, "Basic Road Elevated Tram", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.small_road_brightness, "Basic Road Bridge Tram", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.small_road_brightness, "Basic Road Slope Tram", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.small_road_brightness, "Basic Road Tunnel Tram", ModLoader.modPath);



                RoadColorChanger.ChangeColor(ModLoader.config.small_road_decoration, "Basic Road Decoration Grass", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.small_road_decoration, "Basic Road Decoration Trees", ModLoader.modPath);


                RoadColorChanger.ChangeColor(ModLoader.config.small_road_brightness, "Oneway Road", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.small_road_brightness, "Oneway Road Elevated", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.small_road_brightness, "Oneway Road Bridge", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.small_road_decoration, "Oneway Road Decoration Grass", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.small_road_decoration, "Oneway Road Decoration Trees", ModLoader.modPath);

                RoadColorChanger.ChangeColor(ModLoader.config.small_road_brightness, "Oneway Road Tram", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.small_road_brightness, "Oneway Road Elevated Tram", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.small_road_brightness, "Oneway Road Bridge Tram", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.small_road_brightness, "Oneway Road Slope Tram", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.small_road_brightness, "Oneway Road Tunnel Tram", ModLoader.modPath);

                RoadColorChanger.ChangeColor(ModLoader.config.medium_road_brightness, "Medium Road", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.medium_road_brightness, "Medium Road Elevated", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.medium_road_brightness, "Medium Road Bridge", ModLoader.modPath);

                RoadColorChanger.ChangeColor(ModLoader.config.medium_road_brightness, "Medium Road Bicycle", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.medium_road_brightness, "Medium Road Elevated Bike", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.medium_road_brightness, "Medium Road Bridge Bike", ModLoader.modPath);

                RoadColorChanger.ChangeColor(ModLoader.config.medium_road_brightness, "Medium Road Tram", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.medium_road_brightness, "Medium Road Elevated Tram", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.medium_road_brightness, "Medium Road Bridge Tram", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.medium_road_brightness, "Medium Road Slope Tram", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.medium_road_brightness, "Medium Road Tunnel Tram", ModLoader.modPath);

                RoadColorChanger.ChangeColor(ModLoader.config.medium_road_decoration_brightness, "Medium Road Decoration Grass", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.medium_road_decoration_brightness, "Medium Road Decoration Trees", ModLoader.modPath);

                RoadColorChanger.ChangeColor(ModLoader.config.medium_road_brightness, "Medium Road Bus", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.medium_road_brightness, "Medium Road Elevated Bus", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.medium_road_brightness, "Medium Road Bridge Bus", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.medium_road_brightness, "Medium Road Slope Bus", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.medium_road_brightness, "Medium Road Tunnel Bus", ModLoader.modPath);

                RoadColorChanger.ChangeColor(ModLoader.config.large_road_brightness, "Large Road", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.large_road_brightness, "Large Road Elevated", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.large_road_brightness, "Large Road Bridge", ModLoader.modPath);

                RoadColorChanger.ChangeColor(ModLoader.config.large_road_decoration_brightness, "Large Road Decoration Grass", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.large_road_decoration_brightness, "Large Road Decoration Trees", ModLoader.modPath);

                RoadColorChanger.ChangeColor(ModLoader.config.large_road_brightness, "Large Road Bicycle", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.large_road_brightness, "Large Road Elevated Bike", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.large_road_brightness, "Large Road Bridge Bike", ModLoader.modPath);

                RoadColorChanger.ChangeColor(ModLoader.config.large_road_brightness, "Large Road Bus", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.large_road_brightness, "Large Road Elevated Bus", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.large_road_brightness, "Large Road Bridge Bus", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.large_road_brightness, "Large Road Slope Bus", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.large_road_brightness, "Large Road Tunnel Bus", ModLoader.modPath);

                RoadColorChanger.ChangeColor(ModLoader.config.large_road_brightness, "Large Oneway", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.large_road_brightness, "Large Oneway Road", ModLoader.modPath); // RCC adds Slope + Tunnel
                RoadColorChanger.ChangeColor(ModLoader.config.large_road_brightness, "Large Oneway Elevated", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.large_road_brightness, "Large Oneway Bridge", ModLoader.modPath);

                RoadColorChanger.ChangeColor(ModLoader.config.large_road_decoration_brightness, "Large Oneway Decoration Grass", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.large_road_decoration_brightness, "Large Oneway Decoration Trees", ModLoader.modPath);

                RoadColorChanger.ChangeColor(ModLoader.config.highway_brightness, "HighwayRamp", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.highway_brightness, "HighwayRampElevated", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.highway_brightness, "HighwayRamp Slope", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.highway_brightness, "HighwayRamp Tunnel", ModLoader.modPath);

                RoadColorChanger.ChangeColor(ModLoader.config.highway_brightness, "Highway", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.highway_brightness, "Highway Slope", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.highway_brightness, "Highway Tunnel", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.highway_brightness, "Highway Elevated", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.highway_brightness, "Highway Bridge", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.highway_brightness, "Highway Barrier", ModLoader.modPath);

                RoadColorChanger.ChangeColorNetExt(ModLoader.config.small_road_brightness, "NExt2LAlley", ModLoader.modPath);
                RoadColorChanger.ChangeColorNetExt(ModLoader.config.small_road_brightness, "NExt1LOneway", ModLoader.modPath);
                RoadColorChanger.ChangeColorNetExt(ModLoader.config.small_road_brightness, "NExtSmall3LRoad", ModLoader.modPath);
                RoadColorChanger.ChangeColorNetExt(ModLoader.config.small_road_brightness, "NExtSmall4LRoad", ModLoader.modPath);
                RoadColorChanger.ChangeColorNetExt(ModLoader.config.small_road_brightness, "Small Avenue", ModLoader.modPath);
                RoadColorChanger.ChangeColorNetExt(ModLoader.config.small_road_brightness, "Oneway3L", ModLoader.modPath);
                RoadColorChanger.ChangeColorNetExt(ModLoader.config.small_road_brightness, "Oneway4L", ModLoader.modPath);
                RoadColorChanger.ChangeColorNetExt(ModLoader.config.medium_road_brightness, "NExtMediumRoad", ModLoader.modPath);
                RoadColorChanger.ChangeColorNetExt(ModLoader.config.medium_road_brightness, "NExtMediumRoadTunnel", ModLoader.modPath);
                RoadColorChanger.ChangeColorNetExt(ModLoader.config.medium_road_brightness, "NExtMediumRoadTL", ModLoader.modPath);
                RoadColorChanger.ChangeColorNetExt(ModLoader.config.medium_road_brightness, "NExtMediumRoadTLTunnel", ModLoader.modPath);
                RoadColorChanger.ChangeColorNetExt(ModLoader.config.large_road_brightness, "NExtLargeRoad", ModLoader.modPath);
                RoadColorChanger.ChangeColorNetExt(ModLoader.config.large_road_brightness, "NExtLargeRoadTunnel", ModLoader.modPath);
                RoadColorChanger.ChangeColorNetExt(ModLoader.config.large_road_brightness, "NExtLargeRoadTL", ModLoader.modPath);
                RoadColorChanger.ChangeColorNetExt(ModLoader.config.large_road_brightness, "NExtLargeRoadTLTunnel", ModLoader.modPath);

                RoadColorChanger.ChangeColorNetExt(ModLoader.config.large_road_brightness, "NExtXLargeRoad", ModLoader.modPath);
                RoadColorChanger.ChangeColorNetExt(ModLoader.config.large_road_brightness, "NExtXLargeRoadTunnel", ModLoader.modPath);

                RoadColorChanger.ChangeColorNetExt(ModLoader.config.highway_national_brightness, "NExtHighway1L", ModLoader.modPath);
                RoadColorChanger.ChangeColorNetExt(ModLoader.config.highway_national_brightness, "NExtHighwayTunnel1LTunnel", ModLoader.modPath);
                RoadColorChanger.ChangeColorNetExt(ModLoader.config.highway_brightness, "NExtHighway2L", ModLoader.modPath);
                RoadColorChanger.ChangeColorNetExt(ModLoader.config.highway_brightness, "NExtHighwayTunnel2LTunnel", ModLoader.modPath);
                RoadColorChanger.ChangeColorNetExt(ModLoader.config.highway_brightness, "NExtHighway4L", ModLoader.modPath);
                RoadColorChanger.ChangeColorNetExt(ModLoader.config.highway_brightness, "NExtHighwayTunnel4LTunnel", ModLoader.modPath);
                RoadColorChanger.ChangeColorNetExt(ModLoader.config.highway_brightness, "NExtHighway5L", ModLoader.modPath);
                RoadColorChanger.ChangeColorNetExt(ModLoader.config.highway_brightness, "NExtHighwayTunnel5LTunnel", ModLoader.modPath);
                RoadColorChanger.ChangeColorNetExt(ModLoader.config.highway_brightness, "NExtHighway6L", ModLoader.modPath);
                RoadColorChanger.ChangeColorNetExt(ModLoader.config.highway_brightness, "NExtHighwayTunnel6LTunnel", ModLoader.modPath);



                RoadColorChanger.ChangeColor(ModLoader.config.small_road_brightness, "Small Busway", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.small_road_decoration, "Small Busway Decoration Grass", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.small_road_decoration, "Small Busway Decoration Trees", ModLoader.modPath);

                RoadColorChanger.ChangeColor(ModLoader.config.small_road_brightness, "Small Busway Oneway", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.small_road_decoration, "Small Busway Oneway Decoration Grass", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.small_road_decoration, "Small Busway Oneway Decoration Trees", ModLoader.modPath);

                RoadColorChanger.ChangeColor(ModLoader.config.large_road_brightness, "Large Road With Bus Lanes", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.large_road_decoration_brightness, "Large Road Decoration Grass With Bus Lanes", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.large_road_decoration_brightness, "Large Road Decoration Trees With Bus Lanes", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.large_road_brightness, "Large Road Elevated With Bus Lanes", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.large_road_brightness, "Large Road Bridge With Bus Lanes", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.large_road_brightness, "Large Road Tunnel With Bus Lanes", ModLoader.modPath);
                RoadColorChanger.ChangeColor(ModLoader.config.large_road_brightness, "Large Road Slope With Bus Lanes", ModLoader.modPath);



                RoadColorChanger.ReplaceLodAprAtlas();
            }
            #endregion


            RoadsUnited_CoreProps.ChangeArrowProp();

            RoadsUnited_CoreProps.ReplacePropTextures();
        }
Ejemplo n.º 6
0
        public void OnSettingsUI(UIHelperBase helper)
        {
            Debug.Log("Settings initializing");
            ModLoader.config = Configuration.Deserialize(ModLoader.configFile);
            if (ModLoader.config == null)
            {
                ModLoader.config = new Configuration();
            }
            ModLoader.SaveConfig();
            Debug.Log("Config loaded.");

            #region RoadThemSelector
            packs = Singleton <RoadThemeManager> .instance.GetAvailablePacks();

            packNames = new List <string>();
            packNames.Add("Vanilla");
            packNames.AddRange(from pack in packs select pack.themeName);
            filteredPackNames = new List <string>();
            filteredPackNames = packNames;

            UIHelperBase uIHelperBase2 = helper.AddGroup("Road Themes");
            panel1   = (UIPanel)((UIPanel)((UIHelper)uIHelperBase2).self).parent;
            dropdown = (UIDropDown)uIHelperBase2.AddDropdown("Select Road Theme", RoadsUnited_CoreMod.filteredPackNames.ToArray(), ModLoader.config.selected_pack, delegate(int selectedIndex)
            {
                if (selectedIndex == 0)
                {
                    ModLoader.config.use_custom_textures = false;
                    RoadsUnited_Core.ApplyVanillaDictionary();
                    ModLoader.config.selected_pack = selectedIndex;
                    ModLoader.SaveConfig();
                }

                if (selectedIndex > 0)
                {
                    ModLoader.config.use_custom_textures = true;
                    ModLoader.config.selected_pack       = selectedIndex;
                    ModLoader.SaveConfig();
                    //RoadsUnited_CoreMod.infoText.text = RoadThemesUtil.GetDescription(RoadsUnited_CoreMod.packs.Find((RoadThemePack pack) => pack.themeName == RoadsUnited_CoreMod.filteredPackNames[RoadsUnited_CoreMod.dropdown.selectedIndex]));
                    //Debug.Log("Got description");
                    Singleton <RoadThemeManager> .instance.ActivePack = packs.Find((RoadThemePack pack) => pack.themeName == filteredPackNames[selectedIndex]);
                    Debug.Log("Set active pack");
                    ModLoader.SaveConfig();

                    //RoadsUnited_CoreMod.panel2.isVisible = true;
                }
                else
                {
                    Singleton <RoadThemeManager> .instance.ActivePack = null;
                    //RoadsUnited_CoreMod.panel2.isVisible = false;
                }
                RoadsUnited_CoreMod.selectedPackID = selectedIndex;
            });
            RoadsUnited_CoreMod.dropdown.width = 600f;
            if (RoadsUnited_CoreMod.dropdown.selectedIndex == 0)
            {
                //RoadsUnited_CoreMod.panel2.isVisible = false;
            }
            #endregion

            UIHelperBase uIHelperGeneralSettings = helper.AddGroup("General Settings");
            //uIHelperGeneralSettings.AddCheckbox("Use mods Vanilla roads texture replacements", ModLoader.config.use_custom_textures, EventCheckUseCustomTextures);
            uIHelperGeneralSettings.AddCheckbox("Disable road arrows pointing to the left, front and right.", ModLoader.config.disable_optional_arrow_lfr, EventDisableOptionalArrow_LFR);
            uIHelperGeneralSettings.AddCheckbox("Disable road arrows pointing left and right.", ModLoader.config.disable_optional_arrow_lr, EventDisableOptionalArrow_LR);

            //uIHelperGeneralSettings.AddCheckbox("Create Vanilla road texture backup on level load.", ModLoader.config.create_vanilla_dictionary, EventCheckCreateVanillaDictionary);
            //uIHelperGeneralSettings.AddButton("Mess with RgbAtlas", EventAtlas);
            //uIHelperGeneralSettings.AddButton("Revert to Vanilla textures (in-game only)", EventRevertVanillaTextures);
            //uIHelperGeneralSettings.AddButton("Reload selected mod's textures (in-game only)", EventReloadTextures);


            uIHelperGeneralSettings.AddButton("Reset all sliders and configuration next level load. ", EventResetConfig);

            //UIHelperBase uIHelperCrackedRoadsSettings = helper.AddGroup("Cracked roads");
            //uIHelperCrackedRoadsSettings.AddCheckbox("Use cracked roads.", ModLoader.config.use_cracked_roads, EventCheckCrack);
            //uIHelperCrackedRoadsSettings.AddSlider("Crack intensity", 0, 1f, 0.125f, ModLoader.config.crackIntensity, new OnValueChanged(EventSlideCrack));
            //uIHelperCrackedRoadsSettings.AddButton("Apply changes. Changes take time and use additional RAM.", EventReloadTextures);

            UIHelperBase uIHelperParkingSpaceSettings = helper.AddGroup("Parking space marking");
            uIHelperParkingSpaceSettings.AddDropdown("Small roads", new string[] { "No marking", "Parking spots" }, ModLoader.config.basic_road_parking, EventSmallRoadParking);
            uIHelperParkingSpaceSettings.AddDropdown("Medium roads", new string[] { "No marking", "Parking spots" }, ModLoader.config.medium_road_parking, EventMediumRoadParking);
            uIHelperParkingSpaceSettings.AddDropdown("Medium roads grass", new string[] { "No marking", "Parking spots" }, ModLoader.config.medium_road_grass_parking, EventMediumRoadGrassParking);
            uIHelperParkingSpaceSettings.AddDropdown("Medium roads trees", new string[] { "No marking", "Parking spots" }, ModLoader.config.medium_road_trees_parking, EventMediumRoadTreesParking);
            uIHelperParkingSpaceSettings.AddDropdown("Medium roads buslane", new string[] { "No marking", "Parking spots" }, ModLoader.config.medium_road_bus_parking, EventMediumRoadBusParking);
            uIHelperParkingSpaceSettings.AddDropdown("Large roads", new string[] { "No marking", "Parking spots" }, ModLoader.config.large_road_parking, EventLargeRoadParking);
            uIHelperParkingSpaceSettings.AddDropdown("Large roads buslane", new string[] { "No marking", "Parking spots" }, ModLoader.config.large_road_bus_parking, EventLargeRoadBusParking);
            uIHelperParkingSpaceSettings.AddDropdown("Large Oneways", new string[] { "No marking", "Parking spots" }, ModLoader.config.large_oneway_parking, EventLargeOnewayParking);
            uIHelperParkingSpaceSettings.AddSpace(10);

            UIHelperBase uIHelperRoadColorSettings = helper.AddGroup("Road brightness settings");
            uIHelperRoadColorSettings.AddCheckbox("Use the road brightness sliders below. Changes only visible after next level loading.", ModLoader.config.use_custom_colors, EventCheckUseCustomColors);

            UIHelperBase uIHelperSmallRoads = helper.AddGroup("Small Roads");
            uIHelperSmallRoads.AddSlider("Standard", 0.2f, 0.8f, 0.05f, ModLoader.config.small_road_brightness, new OnValueChanged(EventSmallRoadBrightness));
            uIHelperSmallRoads.AddSlider("Decoration (grass and trees)", 0.2f, 0.8f, 0.05f, ModLoader.config.small_road_decoration, new OnValueChanged(EventSmallRoadDecorationBrightness));

            UIHelperBase uIHelperMediumRoads = helper.AddGroup("Medium Roads");
            uIHelperMediumRoads.AddSlider("Standard", 0.2f, 0.8f, 0.05f, ModLoader.config.medium_road_brightness, new OnValueChanged(EventMediumRoadBrightness));
            uIHelperMediumRoads.AddSlider("Decoration (grass and trees)", 0.2f, 0.8f, 0.05f, ModLoader.config.medium_road_decoration_brightness, new OnValueChanged(EventMediumRoadDecorationBrightness));

            UIHelperBase uIHelperLargeRoads = helper.AddGroup("Large Roads");
            uIHelperLargeRoads.AddSlider("Standard", 0.2f, 0.8f, 0.05f, ModLoader.config.large_road_brightness, new OnValueChanged(EventLargeRoadBrightness));
            uIHelperLargeRoads.AddSlider("Decoration (grass and trees)", 0.2f, 0.8f, 0.05f, ModLoader.config.large_road_decoration_brightness, new OnValueChanged(EventLargeRoadDecorationBrightness));

            UIHelperBase uIHelperHighways = helper.AddGroup("Highways");
            uIHelperHighways.AddSlider("Standard", 0.2f, 0.8f, 0.05f, ModLoader.config.highway_brightness, new OnValueChanged(EventHighwayBrightness));
            uIHelperHighways.AddSlider("NExt National Road", 0.2f, 0.8f, 0.05f, ModLoader.config.highway_national_brightness, new OnValueChanged(EventHighwayNationalBrightness));
        }