Ejemplo n.º 1
0
        private static void Main(string[] args)
        {
            TsMapper mapper = new TsMapper("D:/Projects/ts-map-files/europe/");

            mapper.Parse();
            System.Console.ReadLine();
        }
Ejemplo n.º 2
0
        private static void Main(string[] args)
        {
            var mods = new System.Collections.Generic.List <Mod> {
                new Mod(@"D:\Documents\Euro Truck Simulator 2\mod\promods-me-assets-v241.scs"),
                new Mod(@"D:\Documents\Euro Truck Simulator 2\mod\promods-me-defmap-v241.scs"),
                new Mod(@"D:\Documents\Euro Truck Simulator 2\mod\promods-def-st-v241.scs"),
                new Mod(@"D:\Documents\Euro Truck Simulator 2\mod\RusMap-map_v1.8.1.2.scs"),
                new Mod(@"D:\Documents\Euro Truck Simulator 2\mod\RusMap-model2_v1.8.1.2.scs"),
                new Mod(@"D:\Documents\Euro Truck Simulator 2\mod\RusMap-model_v1.8.1.2.scs"),
                new Mod(@"D:\Documents\Euro Truck Simulator 2\mod\promods-assets-v241.scs"),
                new Mod(@"D:\Documents\Euro Truck Simulator 2\mod\promods-map-v241.scs"),
                new Mod(@"D:\Documents\Euro Truck Simulator 2\mod\promods-media-v241.scs"),
                new Mod(@"D:\Documents\Euro Truck Simulator 2\mod\promods-model1-v241.scs"),
                new Mod(@"D:\Documents\Euro Truck Simulator 2\mod\promods-model2-v241.scs"),
                new Mod(@"D:\Documents\Euro Truck Simulator 2\mod\promods-model3-v241.scs"),
                new Mod(@"D:\Documents\Euro Truck Simulator 2\mod\RusMap-def_v1.8.1.2.scs"),
            };

            mods.ForEach(x => x.Load = true);
            TsMapper mapper = new TsMapper("D:/Apps/Steam/steamapps/common/Euro Truck Simulator 2/", mods);

            mapper.IsEts2 = true;
            mapper.Parse();

            var renderer = new TsMapRenderer(mapper);
            var palette  = new SimpleMapPalette();

            var path = @"F:/Screenshots";

            int width, height, scale;

            width = height = scale = 4000;

            int upperX = 160_000;  // 160_000;
            int lowerX = -120_000; // -120_000;

            int upperY = 130_000;  // 130_000;
            int lowerY = -210_000; // -210_000;

            for (int y = lowerY; y < upperY; y += scale * 2)
            {
                for (int x = lowerX; x < upperX; x += scale * 2)
                {
                    var bitmap = new Bitmap(width, height);

                    PointF pos = new PointF(x, y);

                    renderer.Render(Graphics.FromImage(bitmap), new Rectangle(0, 0, bitmap.Width, bitmap.Height),
                                    scale, pos, palette, RenderFlags.All);

                    using (FileStream fileStream = File.Open($"{path}/{x};{y}.png", FileMode.OpenOrCreate, FileAccess.ReadWrite))
                    {
                        bitmap.Save(fileStream, ImageFormat.Png);
                    }
                    bitmap.Dispose();
                    GC.Collect();
                }
            }
        }
Ejemplo n.º 3
0
        public TsMapCanvas(SetupForm f)
        {
            InitializeComponent();

            //_appSettings = f.AppSettings;

            //JsonHelper.SaveSettings(_appSettings);

            _mapper  = this.CreateMapper();
            _palette = SettingsManager.Current.Settings.Palette.ToBrushPalette();

            _mapper.Parse();

            CityStripComboBox.Items.AddRange(_mapper.Cities.Where(x => !x.Hidden).ToArray());

            if (!_mapper.IsEts2)
            {
                _startPoint = new PointF(-105000, 15000);
            }
            else
            {
                _startPoint = new PointF(-1000, -4000);
            }
            _renderer = this.CreateRenderer(_mapper);

            // Panning around
            MapPanel.MouseDown += (s, e) =>
            {
                _dragging  = true;
                _lastPoint = new PointF(e.X, e.Y);
            };
            MapPanel.MouseUp   += (s, e) => _dragging = false;
            MapPanel.MouseMove += (s, e) =>
            {
                if (_dragging)
                {
                    MapPanel.Invalidate();
                    _startPoint.X -= (e.X - _lastPoint.X) / _scale;
                    _startPoint.Y -= (e.Y - _lastPoint.Y) / _scale;
                }
                _lastPoint = new PointF(e.X, e.Y);
            };

            MapPanel.MouseWheel += (s, e) =>
            {
                _scale += (e.Delta > 0 ? 1 : -1) * 0.05f * _scale;
                _scale  = Math.Max(_scale, 0.0005f);
                MapPanel.Invalidate();
            };

            MapPanel.Resize += TsMapCanvas_Resize;

            Closed += (s, e) =>
            {
                f.Close();
                _tileMapGeneratorForm?.Close();
            };
        }
Ejemplo n.º 4
0
        public TsMapCanvas(Form f, string path, List <Mod> mods)
        {
            InitializeComponent();

            _mapper  = new TsMapper(path, mods);
            _palette = new SimpleMapPalette();

            if (path.Contains("American Truck Simulator"))
            {
                _pos           = new PointF(-103000, -54444);
                _mapper.IsEts2 = false;
            }
            else
            {
                _pos           = new PointF(850, -920);
                _mapper.IsEts2 = true;
            }

            _mapper.Parse();

            _renderer = new TsMapRenderer(_mapper);

            Timer t = new Timer
            {
                Interval = 1000 / 30
            };

            t.Tick += (s, a) => MapPanel.Invalidate();
            t.Start();

            // Panning around
            MapPanel.MouseDown += (s, e) => _dragPoint = e.Location;
            MapPanel.MouseUp   += (s, e) => _dragPoint = null;
            MapPanel.MouseMove += (s, e) =>
            {
                if (_dragPoint == null)
                {
                    return;
                }
                var spd = _mapScale / Math.Max(MapPanel.Width, MapPanel.Height);
                _pos.X     = _pos.X - (e.X - _dragPoint.Value.X) * spd;
                _pos.Y     = _pos.Y - (e.Y - _dragPoint.Value.Y) * spd;
                _dragPoint = e.Location;
            };

            MapPanel.MouseWheel += TsMapCanvas_MouseWheel;

            MapPanel.Resize += TsMapCanvas_Resize;

            Closed += (s, e) =>
            {
                f.Close();
                _imageExportForm?.Close();
            };
        }
Ejemplo n.º 5
0
        private void GenerateTileMapToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (_tileMapGeneratorForm == null || _tileMapGeneratorForm.IsDisposed)
            {
                _tileMapGeneratorForm = new TileMapGeneratorForm();
            }
            _tileMapGeneratorForm.Show();
            _tileMapGeneratorForm.BringToFront();

            _tileMapGeneratorForm.GenerateTileMap += () => // Called when export button is pressed in TileMapGeneratorForm
            {
                _tileMapGeneratorForm.Close();

                MapPanel.Enabled = false;

                //Task.Run(() =>
                //{
                UpdateProgress("Loading map...", true);

                _tilesGeneratorMapper = this.CreateMapper();

                _tilesGeneratorMapper.Parse();

                UpdateProgress("Loading renderer...", true);

                _tilesGeneratorRenderer = this.CreateRenderer(_tilesGeneratorMapper);

                UpdateProgress("Generating tiles...", true);

                _tilesGeneratorMapper.ExportInfo(SettingsManager.Current.Settings.TileGenerator.ExportFlags, SettingsManager.Current.Settings.TileGenerator.LastTileMapPath);

                GenerateTileMap(SettingsManager.Current.Settings.TileGenerator.StartZoomLevel,
                                SettingsManager.Current.Settings.TileGenerator.EndZoomLevel, SettingsManager.Current.Settings.TileGenerator.LastTileMapPath,
                                SettingsManager.Current.Settings.TileGenerator.GenerateTiles,
                                (SettingsManager.Current.Settings.TileGenerator.ExportFlags & ExportFlags.TileMapInfo) == ExportFlags.TileMapInfo, SettingsManager.Current.Settings.TileGenerator.RenderFlags);

                MessageBox.Show("Tile map has been generated!", "TsMap - Tile Map Generation Finished", MessageBoxButtons.OK, MessageBoxIcon.Information);

                UpdateProgress("Ready.", false);

                Invoke(new Action(() =>
                {
                    Focus();
                    MapPanel.Enabled = true;
                }));
                //});
            };
        }
Ejemplo n.º 6
0
        public TsMapCanvas(Form f, string path)
        {
            InitializeComponent();
            SetStyle(ControlStyles.UserPaint, true);
            SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
            SetStyle(ControlStyles.AllPaintingInWmPaint, true);

            _pos = (path.Contains("American Truck Simulator")) ? new PointF(-103000, 16000) : new PointF(850, -920);

            var mapper = new TsMapper(path);

            mapper.Parse();

            _renderer = new TsMapRenderer(mapper, new SimpleMapPalette());

            Timer t = new Timer
            {
                Interval = 1000 / 30
            };

            t.Tick += (s, a) => Invalidate();
            t.Start();

            // Panning around
            MouseDown += (s, e) => _dragPoint = e.Location;
            MouseUp   += (s, e) => _dragPoint = null;
            MouseMove += (s, e) =>
            {
                if (_dragPoint == null)
                {
                    return;
                }
                var spd = _mapScale / Math.Max(this.Width, this.Height);
                _pos.X     = _pos.X - (e.X - _dragPoint.Value.X) * spd;
                _pos.Y     = _pos.Y - (e.Y - _dragPoint.Value.Y) * spd;
                _dragPoint = e.Location;
            };

            MouseWheel += TsMapCanvas_MouseWheel;

            Resize += TsMapCanvas_Resize;

            Closed += (s, e) => { f.Close(); };
        }
Ejemplo n.º 7
0
 private TsMapRenderer CreateRenderer(TsMapper mapper)
 {
     return(new TsMapRenderer(mapper));
 }
Ejemplo n.º 8
0
        public TsMapCanvas(SetupForm f, string path, List <Mod> mods)
        {
            InitializeComponent();

            _appSettings = f.AppSettings;

            JsonHelper.SaveSettings(_appSettings);

            _mapper  = new TsMapper(path, mods);
            _palette = new SimpleMapPalette();

            _mapper.Parse();

            CityStripComboBox.Items.AddRange(_mapper.Cities.Where(x => !x.Hidden).ToArray());

            if (!_mapper.IsEts2)
            {
                _startPoint = new PointF(-105000, 15000);
            }
            else
            {
                _startPoint = new PointF(-1000, -4000);
            }
            _renderer = new TsMapRenderer(_mapper);

            Timer t = new Timer
            {
                Interval = 1000 / 30
            };

            t.Tick += (s, a) => MapPanel.Invalidate();
            t.Start();

            // Panning around
            MapPanel.MouseDown += (s, e) =>
            {
                _dragging  = true;
                _lastPoint = new PointF(e.X, e.Y);
            };
            MapPanel.MouseUp   += (s, e) => _dragging = false;
            MapPanel.MouseMove += (s, e) =>
            {
                if (_dragging)
                {
                    _startPoint.X -= (e.X - _lastPoint.X) / _scale;
                    _startPoint.Y -= (e.Y - _lastPoint.Y) / _scale;
                }
                _lastPoint = new PointF(e.X, e.Y);
            };

            MapPanel.MouseWheel += (s, e) =>
            {
                _scale += (e.Delta > 0 ? 1 : -1) * 0.05f * _scale;
                _scale  = Math.Max(_scale, 0.0005f);
            };

            MapPanel.Resize += TsMapCanvas_Resize;

            Closed += (s, e) =>
            {
                f.Close();
                _tileMapGeneratorForm?.Close();
            };
        }