Example #1
0
        public FrmMain()
        {
            var map = "europe.ets2";
            var universalFolder = Directory.Exists(@"E:\map\" + map + "\\")
                ? @"E:\map\" + map + "\\"
                : Directory.Exists(@"E:\Games\Steam\steamapps\common\Euro Truck Simulator 2\base\map")
                    ? @"E:\Games\Steam\steamapps\common\Euro Truck Simulator 2\base\map\" + map + "\\"
                    : @"./europe/";

            var prefabs = @"E:\Mods\ETS2\data 1.19\base\prefab\";

            Ets2Map = new Ets2Mapper(universalFolder, prefabs, @"C:\Projects\Software\SimShift\Resources\LUT1.19");
            Ets2Map.Parse();
            Main.SetMap(Ets2Map);

            //SimulationEnvironment sim = new SimulationEnvironment();
            InitializeComponent();

            this.StartPosition = FormStartPosition.Manual;
            this.Location = new Point(0,0);

            btServiceStartStop_Click(null, null);

            gbCarSelect.Enabled = false;

            updateModules = new Timer();
            updateModules.Interval = 25;
            updateModules.Tick += updateModules_Tick;
            updateModules.Start();
        }
Example #2
0
        public Ets2Prefab(Ets2Mapper mapper, string file)
        {
            map = mapper;
            FilePath = file;

            if (File.Exists(file))
            {
                Stream = File.ReadAllBytes(file);
                Parse();
            }
        }
Example #3
0
        public Ets2NavigationRoute(Ets2Item start, Ets2Item end, Ets2Point from, Ets2Point to, Ets2Mapper mapper)
        {
            Start = start;
            End = end;
            From = from;
            To = to;
            Mapper = mapper;

            if (Start != End)
            ThreadPool.QueueUserWorkItem(new WaitCallback(FindRoute));
        }
Example #4
0
        public Ets2Prefab(Ets2Mapper mapper, string file)
        {
            map      = mapper;
            FilePath = file;

            if (File.Exists(file))
            {
                Stream = File.ReadAllBytes(file);
                Parse();
            }
        }
Example #5
0
        public Ets2Sector(Ets2Mapper mapper, string file)
        {
            Mapper   = mapper;
            FilePath = file;

            Nodes       = new List <Ets2Node>();
            Items       = new List <Ets2Item>();
            FooterStart = -1;

            Stream = File.ReadAllBytes(file);
            Empty  = Stream.Length < 60;
        }
Example #6
0
        public Ets2Sector(Ets2Mapper mapper, string file)
        {
            Mapper = mapper;
            FilePath = file;

            Nodes = new List<Ets2Node>();
            Items = new List<Ets2Item>();
            FooterStart = -1;

            Stream = File.ReadAllBytes(file);
            Empty = Stream.Length < 60;
        }
        public Ets2NavigationRoute(Ets2Item start, Ets2Item end, Ets2Point from, Ets2Point to, Ets2Mapper mapper)
        {
            Start  = start;
            End    = end;
            From   = from;
            To     = to;
            Mapper = mapper;

            if (Start != End)
            {
                ThreadPool.QueueUserWorkItem(new WaitCallback(FindRoute));
            }
        }
Example #8
0
        public Ets2Company(string line, Ets2Mapper mapper)
        {
            Mapper = mapper;

            var d = line.Split(",".ToCharArray());

            PrefabID = d[0];
            int.TryParse(d[1], out MinX);
            int.TryParse(d[2], out MinY);
            int.TryParse(d[3], out MaxX);
            int.TryParse(d[4], out MaxY);

            // find prefab obj
            Prefab = mapper.PrefabsLookup.FirstOrDefault(x => x.IDSII == PrefabID);

            if (Prefab!=null)
                Prefab.Company = this;
        }
Example #9
0
        public Ets2Company(string line, Ets2Mapper mapper)
        {
            Mapper = mapper;

            var d = line.Split(",".ToCharArray());

            PrefabID = d[0];
            int.TryParse(d[1], out MinX);
            int.TryParse(d[2], out MinY);
            int.TryParse(d[3], out MaxX);
            int.TryParse(d[4], out MaxY);

            // find prefab obj
            Prefab = mapper.PrefabsLookup.FirstOrDefault(x => x.IDSII == PrefabID);

            if (Prefab != null)
            {
                Prefab.Company = this;
            }
        }
Example #10
0
        public Ets2RoadLook(string look, Ets2Mapper mapper)
        {
            LookID = look;
            Mapper = mapper;

            var roadLookData = mapper.LUTFolder + "-roadlook.sii";
            var fileData     = File.ReadAllLines(roadLookData);

            var found = false;

            foreach (var k in fileData)
            {
                if (!found)
                {
                    if (k.StartsWith("road_look") && k.Contains(LookID))
                    {
                        found = true;
                    }
                }
                else
                {
                    //value:
                    if (k.Contains(":"))
                    {
                        var key  = k;
                        var data = key.Substring(key.IndexOf(":") + 1).Trim();
                        key = key.Substring(0, key.IndexOf(":")).Trim();

                        switch (key)
                        {
                        case "road_size_left":
                            float.TryParse(data, out SizeLeft);
                            break;

                        case "road_size_right":
                            float.TryParse(data, out SizeRight);
                            break;

                        case "shoulder_size_right":
                            float.TryParse(data, out ShoulderLeft);
                            break;

                        case "shoulder_size_left":
                            float.TryParse(data, out ShoulderRight);
                            break;

                        case "road_offset":
                            float.TryParse(data, out Offset);
                            break;

                        case "lanes_left[]":
                            LanesLeft++;
                            IsLocal   = (data == "traffic_lane.road.local");
                            IsExpress = (data == "traffic_lane.road.expressway");
                            IsHighway = (data == "traffic_lane.road.motorway");

                            break;

                        case "lanes_right[]":
                            LanesRight++;
                            break;
                        }
                    }
                    if (k.Trim() == "}")
                    {
                        break;
                    }
                }
            }
        }
Example #11
0
 public static void SetMap(Ets2Mapper ets2Map)
 {
     LoadedMap = ets2Map;
 }
Example #12
0
        public Ets2RoadLook(string look, Ets2Mapper mapper)
        {
            LookID = look;
            Mapper = mapper;

            var roadLookData = mapper.LUTFolder + "-roadlook.sii";
            var fileData = File.ReadAllLines(roadLookData);

            var found = false;
            foreach (var k in fileData)
            {
                if (!found)
                {
                    if (k.StartsWith("road_look") && k.Contains(LookID))
                    {
                        found = true;
                    }
                }
                else
                {
                    //value:
                    if (k.Contains(":"))
                    {
                        var key = k;
                        var data = key.Substring(key.IndexOf(":")+1).Trim();
                        key = key.Substring(0, key.IndexOf(":")).Trim();

                        switch (key)
                        {
                            case "road_size_left":
                                float.TryParse(data, out SizeLeft);
                                break;

                            case "road_size_right":
                                float.TryParse(data, out SizeRight);
                                break;

                            case "shoulder_size_right":
                                float.TryParse(data, out ShoulderLeft);
                                break;

                            case "shoulder_size_left":
                                float.TryParse(data, out ShoulderRight);
                                break;

                            case "road_offset":
                                float.TryParse(data, out Offset);
                                break;
                            case "lanes_left[]":
                                LanesLeft++;
                                IsLocal = (data == "traffic_lane.road.local");
                                IsExpress = (data == "traffic_lane.road.expressway");
                                IsHighway = (data == "traffic_lane.road.motorway");

                                break;

                            case "lanes_right[]":
                                LanesRight++;
                                break;
                        }
                    }
                    if (k.Trim() == "}")
                        break;
                }
            }
        }