maps4fs 2.5.4__py3-none-any.whl → 2.6.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -17,9 +17,11 @@ MFS_DEM_DEFAULTS_DIR = os.path.join(MFS_DEFAULTS_DIR, "dem")
17
17
  MFS_OSM_DEFAULTS_DIR = os.path.join(MFS_DEFAULTS_DIR, "osm")
18
18
  os.makedirs(MFS_OSM_DEFAULTS_DIR, exist_ok=True)
19
19
  os.makedirs(MFS_DEM_DEFAULTS_DIR, exist_ok=True)
20
+ logger.info("MFS_TEMPLATES_DIR: %s. MFS_DEFAULTS_DIR: %s.", MFS_TEMPLATES_DIR, MFS_DEFAULTS_DIR)
20
21
 
21
22
  DEFAULT_OSM_PATH = os.path.join(MFS_OSM_DEFAULTS_DIR, "custom_osm.osm")
22
23
  DEFAULT_DEM_PATH = os.path.join(MFS_DEM_DEFAULTS_DIR, "custom_dem.png")
24
+ logger.info("DEFAULT_OSM_PATH: %s. DEFAULT_DEM_PATH: %s.", DEFAULT_OSM_PATH, DEFAULT_DEM_PATH)
23
25
 
24
26
 
25
27
  def default_osm() -> str | None:
@@ -28,7 +30,9 @@ def default_osm() -> str | None:
28
30
  Returns:
29
31
  str | None: The path to the default OSM file, or None if it doesn't exist.
30
32
  """
31
- return DEFAULT_OSM_PATH if os.path.isfile(DEFAULT_OSM_PATH) else None
33
+ res = DEFAULT_OSM_PATH if os.path.isfile(DEFAULT_OSM_PATH) else None
34
+ logger.info("Default OSM in %s, result: %s", DEFAULT_OSM_PATH, res)
35
+ return res
32
36
 
33
37
 
34
38
  def default_dem() -> str | None:
@@ -37,7 +41,9 @@ def default_dem() -> str | None:
37
41
  Returns:
38
42
  str | None: The path to the default DEM file, or None if it doesn't exist.
39
43
  """
40
- return DEFAULT_DEM_PATH if os.path.isfile(DEFAULT_DEM_PATH) else None
44
+ res = DEFAULT_DEM_PATH if os.path.isfile(DEFAULT_DEM_PATH) else None
45
+ logger.info("Default DEM in %s, result: %s", DEFAULT_DEM_PATH, res)
46
+ return res
41
47
 
42
48
 
43
49
  def ensure_templates():
maps4fs/generator/map.py CHANGED
@@ -127,6 +127,7 @@ class Map:
127
127
  self.components: list[Component] = []
128
128
  custom_dem = kwargs.get("custom_background_path", None)
129
129
  self.custom_background_path = custom_dem or mfscfg.default_dem()
130
+ self.logger.info("Custom DEM path: %s", self.custom_background_path)
130
131
 
131
132
  def process_settings(self) -> None:
132
133
  """Checks the settings by predefined rules and updates them accordingly."""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: maps4fs
3
- Version: 2.5.4
3
+ Version: 2.6.0
4
4
  Summary: Generate map templates for Farming Simulator from real places.
5
5
  Author-email: iwatkot <iwatkot@gmail.com>
6
6
  License: GNU Affero General Public License v3.0
@@ -69,45 +69,32 @@ Dynamic: license-file
69
69
 
70
70
  </div>
71
71
 
72
- 🗺️ Supports 2x2, 4x4, 8x8, 16x16 and any custom size maps<br>
73
- 🔗 Generate maps using an [API](https://github.com/iwatkot/maps4fsapi)<br>
74
- ✂️ Supports map scaling<br>
75
- 🔄 Support map rotation<br>
76
- 🌐 Supports custom [DTM Providers](https://github.com/iwatkot/pydtmdl)<br>
77
- 🌾 Automatically generates fields<br>
78
- 🌽 Automatically generates farmlands<br>
79
- 🌿 Automatically generates decorative foliage<br>
80
- 🌲 Automatically generates forests<br>
81
- 🌊 Automatically generates water planes<br>
82
- 📈 Automatically generates splines<br>
83
- 🛰️ Automatically downloads high resolution satellite images<br>
84
- 🌍 Based on real-world data from OpenStreetMap<br>
85
- 🗺️ Supports [custom OSM maps](https://maps4fs.gitbook.io/docs/advanced-topics/custom_osm)<br>
86
- 🏞️ Generates height map using SRTM dataset<br>
87
- 📦 Provides a ready-to-use map template for the Giants Editor<br>
88
- 🚜 Supports Farming Simulator 22 and 25<br>
89
- 🔷 Generates \*.obj files for background terrain based on the real-world height map<br>
90
- 📕 Detailed [documentation](https://maps4fs.gitbook.io/docs) and tutorials <br>
72
+ 🚜 **Farming Simulator 22 & 25** - Generate maps for both game versions<br>
73
+ 🗺️ **Flexible Map Sizes** - 2x2, 4x4, 8x8, 16x16 km + custom sizes<br>
74
+ ✂️ **Map Scaling & Rotation** - Perfect positioning and sizing control<br>
75
+
76
+ 🌍 **Real-World Foundation** - Built from OpenStreetMap and satellite data<br>
77
+ 🏞️ **Accurate Terrain** - SRTM elevation data with custom DTM support<br>
78
+ 🛰️ **High-Resolution Imagery** - Automatic satellite texture downloads<br>
79
+
80
+ 🌾 **Smart Field Generation** - Automatic farmable area detection<br>
81
+ 🌳 **Intelligent Farmlands** - Property boundaries based on real data<br>
82
+ 🌲 **Natural Forests** - Tree placement with customizable density<br>
83
+ 🌊 **Water Systems** - Rivers, lakes, and water planes<br>
84
+ 🌿 **Decorative Foliage** - Realistic vegetation and grass areas<br>
85
+
86
+ 🚧 **Complete Spline Networks** - Roads and infrastructure<br>
87
+ 🔷 **Background Terrain** - 3D *.obj files for surrounding landscape<br>
88
+ 📦 **Giants Editor Ready** - Import and start building immediately<br>
89
+
90
+ 🗺️ **Advanced Customization** - [Custom OSM maps](https://maps4fs.gitbook.io/docs/advanced-topics/custom_osm) and elevation data<br>
91
+ 🔌 **API Integration** - Generate maps programmatically via [API](https://github.com/iwatkot/maps4fsapi)<br>
92
+ 📚 **Complete Documentation** - [Detailed guides](https://maps4fs.gitbook.io/docs) and video tutorials<br>
91
93
 
92
94
  <p align="center">
93
- <img src="https://github.com/user-attachments/assets/cf8f5752-9c69-4018-bead-290f59ba6976"><br>
94
- 🌎 Detailed terrain based on real-world data.<br><br>
95
- <img src="https://github.com/user-attachments/assets/dc40d0bb-c20b-411c-8833-9925d0389452"><br>
96
- 🛰️ Realistic background terrain with satellite images.<br><br>
97
- <img src="https://github.com/user-attachments/assets/6e3c0e99-2cce-46ac-82db-5cb60bba7a30"><br>
98
- 📐 Perfectly aligned background terrain.<br><br>
99
- <img src="https://github.com/user-attachments/assets/5764b2ec-e626-426f-9f5d-beb12ba95133"><br>
100
- 🌿 Automatically generates decorative foliage.<br><br>
101
- <img src="https://github.com/user-attachments/assets/27a5e541-a9f5-4504-b8d2-64aae9fb3e52"><br>
102
- 🌲 Automatically generates forests.<br><br>
103
- <img src="https://github.com/user-attachments/assets/cce7d4e0-cba2-4dd2-b22d-03137fb2e860"><br>
104
- 🌊 Automatically generates water planes.<br><br>
105
- <img src="https://github.com/user-attachments/assets/0b05b511-a595-48e7-a353-8298081314a4"><br>
106
- 📈 Automatically generates splines.<br><br>
107
- <img width="480" src="https://github.com/user-attachments/assets/1a8802d2-6a3b-4bfa-af2b-7c09478e199b"><br>
108
- 🌾 Field generation with one click.<br><br>
109
- <img width="480" src="https://github.com/user-attachments/assets/4d1fa879-5d60-438b-a84e-16883bcef0ec"><br>
110
- 🌽 Automatic farmlands generation based on the fields.<br><br>
95
+ <img src="https://github.com/iwatkot/maps4fsui/releases/download/0.0.2/mfstr.gif"><br>
96
+ <i>Example of map generated with Maps4FS with no manual edits.</i>
97
+ </p>
111
98
 
112
99
  ## Overview
113
100
 
@@ -1,9 +1,9 @@
1
1
  maps4fs/__init__.py,sha256=5ixsCA5vgcIV0OrF9EJBm91Mmc_KfMiDRM-QyifMAvo,386
2
2
  maps4fs/logger.py,sha256=6sem0aFKQqtVjQ_yNu9iGcc-hqzLQUhfxco05K6nqow,763
3
3
  maps4fs/generator/__init__.py,sha256=zZMLEkGzb4z0xql650gOtGSvcgX58DnJ2yN3vC2daRk,43
4
- maps4fs/generator/config.py,sha256=8eWdMTizo47aYVuOQbhxrgIBMsDtrDIZ01KCFI14UUM,6460
4
+ maps4fs/generator/config.py,sha256=vwaiJYONzeLzK65vwVcQJv5AnIeX6-O2I_BqwgA_Pcc,6824
5
5
  maps4fs/generator/game.py,sha256=nf6iuYNA5NJc-ir_WOgkw-MdJVgetVHeEtxbWJYt3Vo,14462
6
- maps4fs/generator/map.py,sha256=ZTkTlQhBcKB_sMapua_QfaD0moc2MJ-kQix2lWD6pUk,12885
6
+ maps4fs/generator/map.py,sha256=AMVB4W-r5HcMoUVKrp_WqcTN-DycH1fEfEUwSA2EeCU,12962
7
7
  maps4fs/generator/qgis.py,sha256=Es8hLuqN_KH8lDfnJE6He2rWYbAKJ3RGPn-o87S6CPI,6116
8
8
  maps4fs/generator/settings.py,sha256=WvuNe9-aqiEABjGP_ySsZi_HU6OnJFvBbMVhkm_cf4k,12923
9
9
  maps4fs/generator/statistics.py,sha256=Dp1-NS-DWv0l0UdmhOoXeQs_N-Hs7svYUnmziSW5Z9I,2098
@@ -22,8 +22,8 @@ maps4fs/generator/component/base/component.py,sha256=lf0V9CLUXMg88Nm2yI3rP5taVYY
22
22
  maps4fs/generator/component/base/component_image.py,sha256=WTGC6v1KuS5sLNCC95Z48nCspvATKKNOuhTNYzTWXr4,8315
23
23
  maps4fs/generator/component/base/component_mesh.py,sha256=3hC-qDT8Vde6SmRMqs9USAkrF-gL2dDTYW71ATpxUS4,9130
24
24
  maps4fs/generator/component/base/component_xml.py,sha256=MT-VhU2dEckLFxAgmxg6V3gnv11di_94Qq6atfpOLdc,5342
25
- maps4fs-2.5.4.dist-info/licenses/LICENSE.md,sha256=Ptw8AkqJ60c4tRts6yuqGP_8B0dxwOGmJsp6YJ8dKqM,34328
26
- maps4fs-2.5.4.dist-info/METADATA,sha256=cUIlIjfVwW0PV4Wm7An13RXBGR5xOvxsCv2qWa9cnKo,10113
27
- maps4fs-2.5.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
28
- maps4fs-2.5.4.dist-info/top_level.txt,sha256=Ue9DSRlejRQRCaJueB0uLcKrWwsEq9zezfv5dI5mV1M,8
29
- maps4fs-2.5.4.dist-info/RECORD,,
25
+ maps4fs-2.6.0.dist-info/licenses/LICENSE.md,sha256=Ptw8AkqJ60c4tRts6yuqGP_8B0dxwOGmJsp6YJ8dKqM,34328
26
+ maps4fs-2.6.0.dist-info/METADATA,sha256=Y9NY1KlWq8R5EG9b-glPBTHJT-IJ0JS5ptiNxZc9iRI,9193
27
+ maps4fs-2.6.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
28
+ maps4fs-2.6.0.dist-info/top_level.txt,sha256=Ue9DSRlejRQRCaJueB0uLcKrWwsEq9zezfv5dI5mV1M,8
29
+ maps4fs-2.6.0.dist-info/RECORD,,