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(); }
public Ets2Prefab(Ets2Mapper mapper, string file) { map = mapper; FilePath = file; if (File.Exists(file)) { Stream = File.ReadAllBytes(file); Parse(); } }
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)); }
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 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)); } }
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; }
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; } }
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; } } } }
public static void SetMap(Ets2Mapper ets2Map) { LoadedMap = ets2Map; }
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; } } }