maps4fs 2.5.2__tar.gz → 2.5.4__tar.gz

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.
Files changed (35) hide show
  1. {maps4fs-2.5.2 → maps4fs-2.5.4}/PKG-INFO +31 -41
  2. {maps4fs-2.5.2 → maps4fs-2.5.4}/README.md +30 -40
  3. {maps4fs-2.5.2 → maps4fs-2.5.4}/maps4fs/generator/config.py +26 -0
  4. {maps4fs-2.5.2 → maps4fs-2.5.4}/maps4fs/generator/map.py +3 -2
  5. {maps4fs-2.5.2 → maps4fs-2.5.4}/maps4fs.egg-info/PKG-INFO +31 -41
  6. {maps4fs-2.5.2 → maps4fs-2.5.4}/pyproject.toml +1 -1
  7. {maps4fs-2.5.2 → maps4fs-2.5.4}/LICENSE.md +0 -0
  8. {maps4fs-2.5.2 → maps4fs-2.5.4}/maps4fs/__init__.py +0 -0
  9. {maps4fs-2.5.2 → maps4fs-2.5.4}/maps4fs/generator/__init__.py +0 -0
  10. {maps4fs-2.5.2 → maps4fs-2.5.4}/maps4fs/generator/component/__init__.py +0 -0
  11. {maps4fs-2.5.2 → maps4fs-2.5.4}/maps4fs/generator/component/background.py +0 -0
  12. {maps4fs-2.5.2 → maps4fs-2.5.4}/maps4fs/generator/component/base/__init__.py +0 -0
  13. {maps4fs-2.5.2 → maps4fs-2.5.4}/maps4fs/generator/component/base/component.py +0 -0
  14. {maps4fs-2.5.2 → maps4fs-2.5.4}/maps4fs/generator/component/base/component_image.py +0 -0
  15. {maps4fs-2.5.2 → maps4fs-2.5.4}/maps4fs/generator/component/base/component_mesh.py +0 -0
  16. {maps4fs-2.5.2 → maps4fs-2.5.4}/maps4fs/generator/component/base/component_xml.py +0 -0
  17. {maps4fs-2.5.2 → maps4fs-2.5.4}/maps4fs/generator/component/config.py +0 -0
  18. {maps4fs-2.5.2 → maps4fs-2.5.4}/maps4fs/generator/component/dem.py +0 -0
  19. {maps4fs-2.5.2 → maps4fs-2.5.4}/maps4fs/generator/component/grle.py +0 -0
  20. {maps4fs-2.5.2 → maps4fs-2.5.4}/maps4fs/generator/component/i3d.py +0 -0
  21. {maps4fs-2.5.2 → maps4fs-2.5.4}/maps4fs/generator/component/layer.py +0 -0
  22. {maps4fs-2.5.2 → maps4fs-2.5.4}/maps4fs/generator/component/satellite.py +0 -0
  23. {maps4fs-2.5.2 → maps4fs-2.5.4}/maps4fs/generator/component/texture.py +0 -0
  24. {maps4fs-2.5.2 → maps4fs-2.5.4}/maps4fs/generator/game.py +0 -0
  25. {maps4fs-2.5.2 → maps4fs-2.5.4}/maps4fs/generator/qgis.py +0 -0
  26. {maps4fs-2.5.2 → maps4fs-2.5.4}/maps4fs/generator/settings.py +0 -0
  27. {maps4fs-2.5.2 → maps4fs-2.5.4}/maps4fs/generator/statistics.py +0 -0
  28. {maps4fs-2.5.2 → maps4fs-2.5.4}/maps4fs/generator/utils.py +0 -0
  29. {maps4fs-2.5.2 → maps4fs-2.5.4}/maps4fs/logger.py +0 -0
  30. {maps4fs-2.5.2 → maps4fs-2.5.4}/maps4fs.egg-info/SOURCES.txt +0 -0
  31. {maps4fs-2.5.2 → maps4fs-2.5.4}/maps4fs.egg-info/dependency_links.txt +0 -0
  32. {maps4fs-2.5.2 → maps4fs-2.5.4}/maps4fs.egg-info/requires.txt +0 -0
  33. {maps4fs-2.5.2 → maps4fs-2.5.4}/maps4fs.egg-info/top_level.txt +0 -0
  34. {maps4fs-2.5.2 → maps4fs-2.5.4}/setup.cfg +0 -0
  35. {maps4fs-2.5.2 → maps4fs-2.5.4}/tests/test_generator.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: maps4fs
3
- Version: 2.5.2
3
+ Version: 2.5.4
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
@@ -52,8 +52,8 @@ Dynamic: license-file
52
52
  <a href="https://maps4fs.gitbook.io/docs/getting-started/faq">FAQ</a> •
53
53
  <a href="https://maps4fs.gitbook.io/docs/setup-and-installation/get_help">Get Help</a> •
54
54
  <a href="#Resources">Resources</a> •
55
- <a href="#Bugs-and-feature-requests">Bugs and feature requests</a><br>
56
- <a href="#Special-thanks">Special thanks</a>
55
+ <a href="#Special-thanks">Special thanks</a>
56
+ <a href="https://www.youtube.com/watch?v=hPbJZ0HoiDE&list=PLug0g7UYHX8D1Jik6NkJjQhdxqS-NOtB9">Video Tutorials</a>
57
57
  </p>
58
58
 
59
59
  [![Join Discord](https://img.shields.io/badge/join-discord-blue)](https://discord.gg/Sj5QKKyE42)
@@ -82,13 +82,12 @@ Dynamic: license-file
82
82
  📈 Automatically generates splines<br>
83
83
  🛰️ Automatically downloads high resolution satellite images<br>
84
84
  🌍 Based on real-world data from OpenStreetMap<br>
85
- 🗺️ Supports [custom OSM maps](/docs/008_customosm.md)<br>
85
+ 🗺️ Supports [custom OSM maps](https://maps4fs.gitbook.io/docs/advanced-topics/custom_osm)<br>
86
86
  🏞️ Generates height map using SRTM dataset<br>
87
87
  📦 Provides a ready-to-use map template for the Giants Editor<br>
88
88
  🚜 Supports Farming Simulator 22 and 25<br>
89
89
  🔷 Generates \*.obj files for background terrain based on the real-world height map<br>
90
- 📄 Generates scripts to download high-resolution satellite images from [QGIS](https://qgis.org/download/) in one click<br>
91
- 📕 Detailed [documentation](/docs) and tutorials <br>
90
+ 📕 Detailed [documentation](https://maps4fs.gitbook.io/docs) and tutorials <br>
92
91
 
93
92
  <p align="center">
94
93
  <img src="https://github.com/user-attachments/assets/cf8f5752-9c69-4018-bead-290f59ba6976"><br>
@@ -110,51 +109,42 @@ Dynamic: license-file
110
109
  <img width="480" src="https://github.com/user-attachments/assets/4d1fa879-5d60-438b-a84e-16883bcef0ec"><br>
111
110
  🌽 Automatic farmlands generation based on the fields.<br><br>
112
111
 
113
- 📹 Check out the complete playlist of video turorials on [YouTube](https://www.youtube.com/watch?v=hPbJZ0HoiDE&list=PLug0g7UYHX8D1Jik6NkJjQhdxqS-NOtB9). 🆕<br>
114
-
115
- ![Map example](https://github.com/user-attachments/assets/c46a3581-dd17-462f-b815-e36d4f724947)
116
-
117
- <p align="center"><i>Map example generated with maps4fs.</i></p>
118
-
119
112
  ## Overview
120
113
 
121
- The core idea is coming from the awesome [maps4cim](https://github.com/klamann/maps4cim) project.<br>
114
+ The core idea originates from the excellent [maps4cim](https://github.com/klamann/maps4cim) project.<br>
122
115
 
123
- The main goal of this project is to generate map templates, based on real-world data, for the Farming Simulator. It's important to mention that **templates are not maps**. They are just a starting point for creating a map. This tool just uses built-in textures to highlight different types of terrain and buildings with correct shapes and scales and to generate a height map. The rest of the work is up to you. So if you thought that you could just run this tool and get a playable map, then I'm sorry to disappoint you. But if you are a map maker, then this tool will save you a lot of time.<br>
124
- So, if you're new to map making, here's a quick overview of the process:
116
+ The main goal of this project is to generate map templates based on real-world data for Farming Simulator. It's important to understand that **templates are not finished maps**. They serve as a foundation for map creation, using built-in textures to represent different terrain types and structures with accurate shapes and scales, along with generating realistic height maps. The detailed work of creating a complete, playable map remains with you. If you expected to simply run this tool and receive a ready-to-play map, this may not meet those expectations. However, if you're a map creator, this tool will significantly reduce your development time.<br>
117
+
118
+ For newcomers to map creation, here's the typical workflow:
125
119
 
126
120
  1. Generate a map template using this tool.
127
121
  2. Download the Giants Editor.
128
- 3. Open the map template in the Giants Editor.
129
- 4. Now you can start creating your map (adding roads, fields, buildings, etc.).
122
+ 3. Open the generated template in Giants Editor.
123
+ 4. Begin detailed map development (adding roads, fields, buildings, etc.).
130
124
 
131
125
  ## Resources
132
126
 
133
- In this section, you'll find a list of the resources that you need to create a map for the Farming Simulator.<br>
134
- To create a basic map, you only need the Giants Editor. But if you want to create a background terrain - the world around the map, so it won't look like it's floating in the void - you also need Blender and the Blender Exporter Plugins. To create realistic textures for the background terrain, the QGIS is required to obtain high-resolution satellite images.<br>
135
-
136
- 1. [Giants Editor](https://gdn.giants-software.com/downloads.php) - the official tool for creating maps for the Farming Simulator.
137
- 2. [Blender](https://www.blender.org/download/) - the open-source 3D modeling software that you can use to create models for the Farming Simulator.
138
- 3. [Blender Exporter Plugins](https://gdn.giants-software.com/downloads.php) - the official plugins for exporting models from Blender to i3d format (the format used in the Farming Simulator).
139
-
140
- ## Bugs and feature requests
127
+ This section lists essential tools required for Farming Simulator map creation.<br>
128
+ For basic map development, you only need Giants Editor. However, creating background terrain—the surrounding world that prevents your map from appearing to float in empty space—requires additional tools: Blender with the official exporter plugins. For realistic background terrain textures, QGIS is needed to obtain high-resolution satellite imagery.<br>
141
129
 
142
- ➡️ Please, before creating an issue or asking some questions, check the [FAQ](docs/FAQ.md) section and the follow the [docs/get_help.md](Get Help) instructions.
130
+ 1. [Giants Editor](https://gdn.giants-software.com/downloads.php) - Official map creation tool for Farming Simulator
131
+ 2. [Blender](https://www.blender.org/download/) - Open-source 3D modeling software for creating Farming Simulator assets
132
+ 3. [Blender Exporter Plugins](https://gdn.giants-software.com/downloads.php) - Official plugins for exporting models from Blender to i3d format (Farming Simulator's native format)
143
133
 
144
134
  ## Special thanks
145
135
 
146
- Of course, first of all, thanks to the direct [contributors](https://github.com/iwatkot/maps4fs/graphs/contributors) of the project.
147
-
148
- But also, I want to thank the people who helped me with the project in some way, even if they didn't contribute directly. Here's the list of them:
149
-
150
- - [Ka5tis](https://github.com/Ka5tis) - for investigating the issue with a "spiky terrain" and finding a solution - changing the `DisplacementLayer` size to a higher value.
151
- - [Kalderone](https://www.youtube.com/@Kalderone_FS22) - for useful feedback, suggestions, expert advice on the map-making process and highlihting some important settings in the Giants Editor.
152
- - [OneSunnySunday](https://www.artstation.com/onesunnysunday) - for expert advice on Blender, help in processing background terrain, and compiling detailed tutorials on how to prepare the OBJ files for use in Giants Editor.
153
- - [BFernaesds](https://github.com/BFernaesds) - for the manual tests of the app.
154
- - [gamerdesigns](https://github.com/gamerdesigns) - for the manual tests of the app.
155
- - [Tox3](https://github.com/Tox3) - for the manual tests of the app.
156
- - [Lucandia](https://github.com/Lucandia) - for the awesome StreamLit [widget to preview STL files](https://github.com/Lucandia/streamlit_stl).
157
- - [H4rdB4se](https://github.com/H4rdB4se) - for investigating the issue with custom OSM files and finding a proper way to work with the files in JOSM.
158
- - [kbrandwijk](https://github.com/kbrandwijk) - for providing [awesome tool](https://github.com/Paint-a-Farm/satmap_downloader) to download the satellite images from the Google Maps and giving a permission to modify it and create a Python Package.
159
- - [Maaslandmods](https://github.com/Maaslandmods) - for the awesome idea to edit the tree schema in UI, images and code snippets on how to do it.
160
- - [StrauntMaunt](https://gitlab.com/StrauntMaunt) - for developing procedural generation scripts, providing with the required updates for maps4fs and preparing the docs on how to use procedural generation.
136
+ First and foremost, thanks to our direct [contributors](https://github.com/iwatkot/maps4fs/graphs/contributors) who have made code contributions to the project.
137
+
138
+ Additionally, we extend gratitude to community members who have supported the project through feedback, testing, and expertise, even without direct code contributions:
139
+
140
+ - [Ka5tis](https://github.com/Ka5tis) - Investigated the "spiky terrain" issue and discovered the solution: increasing `DisplacementLayer` size values
141
+ - [Kalderone](https://www.youtube.com/@Kalderone_FS22) - Provided valuable feedback, suggestions, and expert guidance on map-making processes, highlighting crucial Giants Editor settings
142
+ - [kirasolda](https://github.com/kirasolda) - Offered expert Blender advice, assisted with background terrain processing, and created detailed tutorials for preparing OBJ files for Giants Editor
143
+ - [BFernaesds](https://github.com/BFernaesds) - Conducted comprehensive manual application testing
144
+ - [gamerdesigns](https://github.com/gamerdesigns) - Performed thorough manual application testing
145
+ - [Tox3](https://github.com/Tox3) - Contributed extensive manual application testing
146
+ - [Lucandia](https://github.com/Lucandia) - Developed the excellent StreamLit [STL file preview widget](https://github.com/Lucandia/streamlit_stl)
147
+ - [H4rdB4se](https://github.com/H4rdB4se) - Investigated custom OSM file compatibility issues and established proper JOSM workflow procedures
148
+ - [kbrandwijk](https://github.com/kbrandwijk) - Created the [satellite image downloader tool](https://github.com/Paint-a-Farm/satmap_downloader) for Google Maps and granted permission for modification and Python package creation
149
+ - [Maaslandmods](https://github.com/Maaslandmods) - Conceived the UI tree schema editing feature and provided implementation images and code examples
150
+ - [StrauntMaunt](https://gitlab.com/StrauntMaunt) - Developed procedural generation scripts, provided essential Maps4FS updates, and authored procedural generation documentation
@@ -22,8 +22,8 @@
22
22
  <a href="https://maps4fs.gitbook.io/docs/getting-started/faq">FAQ</a> •
23
23
  <a href="https://maps4fs.gitbook.io/docs/setup-and-installation/get_help">Get Help</a> •
24
24
  <a href="#Resources">Resources</a> •
25
- <a href="#Bugs-and-feature-requests">Bugs and feature requests</a><br>
26
- <a href="#Special-thanks">Special thanks</a>
25
+ <a href="#Special-thanks">Special thanks</a>
26
+ <a href="https://www.youtube.com/watch?v=hPbJZ0HoiDE&list=PLug0g7UYHX8D1Jik6NkJjQhdxqS-NOtB9">Video Tutorials</a>
27
27
  </p>
28
28
 
29
29
  [![Join Discord](https://img.shields.io/badge/join-discord-blue)](https://discord.gg/Sj5QKKyE42)
@@ -52,13 +52,12 @@
52
52
  📈 Automatically generates splines<br>
53
53
  🛰️ Automatically downloads high resolution satellite images<br>
54
54
  🌍 Based on real-world data from OpenStreetMap<br>
55
- 🗺️ Supports [custom OSM maps](/docs/008_customosm.md)<br>
55
+ 🗺️ Supports [custom OSM maps](https://maps4fs.gitbook.io/docs/advanced-topics/custom_osm)<br>
56
56
  🏞️ Generates height map using SRTM dataset<br>
57
57
  📦 Provides a ready-to-use map template for the Giants Editor<br>
58
58
  🚜 Supports Farming Simulator 22 and 25<br>
59
59
  🔷 Generates \*.obj files for background terrain based on the real-world height map<br>
60
- 📄 Generates scripts to download high-resolution satellite images from [QGIS](https://qgis.org/download/) in one click<br>
61
- 📕 Detailed [documentation](/docs) and tutorials <br>
60
+ 📕 Detailed [documentation](https://maps4fs.gitbook.io/docs) and tutorials <br>
62
61
 
63
62
  <p align="center">
64
63
  <img src="https://github.com/user-attachments/assets/cf8f5752-9c69-4018-bead-290f59ba6976"><br>
@@ -80,51 +79,42 @@
80
79
  <img width="480" src="https://github.com/user-attachments/assets/4d1fa879-5d60-438b-a84e-16883bcef0ec"><br>
81
80
  🌽 Automatic farmlands generation based on the fields.<br><br>
82
81
 
83
- 📹 Check out the complete playlist of video turorials on [YouTube](https://www.youtube.com/watch?v=hPbJZ0HoiDE&list=PLug0g7UYHX8D1Jik6NkJjQhdxqS-NOtB9). 🆕<br>
84
-
85
- ![Map example](https://github.com/user-attachments/assets/c46a3581-dd17-462f-b815-e36d4f724947)
86
-
87
- <p align="center"><i>Map example generated with maps4fs.</i></p>
88
-
89
82
  ## Overview
90
83
 
91
- The core idea is coming from the awesome [maps4cim](https://github.com/klamann/maps4cim) project.<br>
84
+ The core idea originates from the excellent [maps4cim](https://github.com/klamann/maps4cim) project.<br>
92
85
 
93
- The main goal of this project is to generate map templates, based on real-world data, for the Farming Simulator. It's important to mention that **templates are not maps**. They are just a starting point for creating a map. This tool just uses built-in textures to highlight different types of terrain and buildings with correct shapes and scales and to generate a height map. The rest of the work is up to you. So if you thought that you could just run this tool and get a playable map, then I'm sorry to disappoint you. But if you are a map maker, then this tool will save you a lot of time.<br>
94
- So, if you're new to map making, here's a quick overview of the process:
86
+ The main goal of this project is to generate map templates based on real-world data for Farming Simulator. It's important to understand that **templates are not finished maps**. They serve as a foundation for map creation, using built-in textures to represent different terrain types and structures with accurate shapes and scales, along with generating realistic height maps. The detailed work of creating a complete, playable map remains with you. If you expected to simply run this tool and receive a ready-to-play map, this may not meet those expectations. However, if you're a map creator, this tool will significantly reduce your development time.<br>
87
+
88
+ For newcomers to map creation, here's the typical workflow:
95
89
 
96
90
  1. Generate a map template using this tool.
97
91
  2. Download the Giants Editor.
98
- 3. Open the map template in the Giants Editor.
99
- 4. Now you can start creating your map (adding roads, fields, buildings, etc.).
92
+ 3. Open the generated template in Giants Editor.
93
+ 4. Begin detailed map development (adding roads, fields, buildings, etc.).
100
94
 
101
95
  ## Resources
102
96
 
103
- In this section, you'll find a list of the resources that you need to create a map for the Farming Simulator.<br>
104
- To create a basic map, you only need the Giants Editor. But if you want to create a background terrain - the world around the map, so it won't look like it's floating in the void - you also need Blender and the Blender Exporter Plugins. To create realistic textures for the background terrain, the QGIS is required to obtain high-resolution satellite images.<br>
105
-
106
- 1. [Giants Editor](https://gdn.giants-software.com/downloads.php) - the official tool for creating maps for the Farming Simulator.
107
- 2. [Blender](https://www.blender.org/download/) - the open-source 3D modeling software that you can use to create models for the Farming Simulator.
108
- 3. [Blender Exporter Plugins](https://gdn.giants-software.com/downloads.php) - the official plugins for exporting models from Blender to i3d format (the format used in the Farming Simulator).
109
-
110
- ## Bugs and feature requests
97
+ This section lists essential tools required for Farming Simulator map creation.<br>
98
+ For basic map development, you only need Giants Editor. However, creating background terrain—the surrounding world that prevents your map from appearing to float in empty space—requires additional tools: Blender with the official exporter plugins. For realistic background terrain textures, QGIS is needed to obtain high-resolution satellite imagery.<br>
111
99
 
112
- ➡️ Please, before creating an issue or asking some questions, check the [FAQ](docs/FAQ.md) section and the follow the [docs/get_help.md](Get Help) instructions.
100
+ 1. [Giants Editor](https://gdn.giants-software.com/downloads.php) - Official map creation tool for Farming Simulator
101
+ 2. [Blender](https://www.blender.org/download/) - Open-source 3D modeling software for creating Farming Simulator assets
102
+ 3. [Blender Exporter Plugins](https://gdn.giants-software.com/downloads.php) - Official plugins for exporting models from Blender to i3d format (Farming Simulator's native format)
113
103
 
114
104
  ## Special thanks
115
105
 
116
- Of course, first of all, thanks to the direct [contributors](https://github.com/iwatkot/maps4fs/graphs/contributors) of the project.
117
-
118
- But also, I want to thank the people who helped me with the project in some way, even if they didn't contribute directly. Here's the list of them:
119
-
120
- - [Ka5tis](https://github.com/Ka5tis) - for investigating the issue with a "spiky terrain" and finding a solution - changing the `DisplacementLayer` size to a higher value.
121
- - [Kalderone](https://www.youtube.com/@Kalderone_FS22) - for useful feedback, suggestions, expert advice on the map-making process and highlihting some important settings in the Giants Editor.
122
- - [OneSunnySunday](https://www.artstation.com/onesunnysunday) - for expert advice on Blender, help in processing background terrain, and compiling detailed tutorials on how to prepare the OBJ files for use in Giants Editor.
123
- - [BFernaesds](https://github.com/BFernaesds) - for the manual tests of the app.
124
- - [gamerdesigns](https://github.com/gamerdesigns) - for the manual tests of the app.
125
- - [Tox3](https://github.com/Tox3) - for the manual tests of the app.
126
- - [Lucandia](https://github.com/Lucandia) - for the awesome StreamLit [widget to preview STL files](https://github.com/Lucandia/streamlit_stl).
127
- - [H4rdB4se](https://github.com/H4rdB4se) - for investigating the issue with custom OSM files and finding a proper way to work with the files in JOSM.
128
- - [kbrandwijk](https://github.com/kbrandwijk) - for providing [awesome tool](https://github.com/Paint-a-Farm/satmap_downloader) to download the satellite images from the Google Maps and giving a permission to modify it and create a Python Package.
129
- - [Maaslandmods](https://github.com/Maaslandmods) - for the awesome idea to edit the tree schema in UI, images and code snippets on how to do it.
130
- - [StrauntMaunt](https://gitlab.com/StrauntMaunt) - for developing procedural generation scripts, providing with the required updates for maps4fs and preparing the docs on how to use procedural generation.
106
+ First and foremost, thanks to our direct [contributors](https://github.com/iwatkot/maps4fs/graphs/contributors) who have made code contributions to the project.
107
+
108
+ Additionally, we extend gratitude to community members who have supported the project through feedback, testing, and expertise, even without direct code contributions:
109
+
110
+ - [Ka5tis](https://github.com/Ka5tis) - Investigated the "spiky terrain" issue and discovered the solution: increasing `DisplacementLayer` size values
111
+ - [Kalderone](https://www.youtube.com/@Kalderone_FS22) - Provided valuable feedback, suggestions, and expert guidance on map-making processes, highlighting crucial Giants Editor settings
112
+ - [kirasolda](https://github.com/kirasolda) - Offered expert Blender advice, assisted with background terrain processing, and created detailed tutorials for preparing OBJ files for Giants Editor
113
+ - [BFernaesds](https://github.com/BFernaesds) - Conducted comprehensive manual application testing
114
+ - [gamerdesigns](https://github.com/gamerdesigns) - Performed thorough manual application testing
115
+ - [Tox3](https://github.com/Tox3) - Contributed extensive manual application testing
116
+ - [Lucandia](https://github.com/Lucandia) - Developed the excellent StreamLit [STL file preview widget](https://github.com/Lucandia/streamlit_stl)
117
+ - [H4rdB4se](https://github.com/H4rdB4se) - Investigated custom OSM file compatibility issues and established proper JOSM workflow procedures
118
+ - [kbrandwijk](https://github.com/kbrandwijk) - Created the [satellite image downloader tool](https://github.com/Paint-a-Farm/satmap_downloader) for Google Maps and granted permission for modification and Python package creation
119
+ - [Maaslandmods](https://github.com/Maaslandmods) - Conceived the UI tree schema editing feature and provided implementation images and code examples
120
+ - [StrauntMaunt](https://gitlab.com/StrauntMaunt) - Developed procedural generation scripts, provided essential Maps4FS updates, and authored procedural generation documentation
@@ -12,6 +12,32 @@ from maps4fs.logger import Logger
12
12
  logger = Logger()
13
13
 
14
14
  MFS_TEMPLATES_DIR = os.path.join(os.getcwd(), "templates")
15
+ MFS_DEFAULTS_DIR = os.path.join(os.getcwd(), "defaults")
16
+ MFS_DEM_DEFAULTS_DIR = os.path.join(MFS_DEFAULTS_DIR, "dem")
17
+ MFS_OSM_DEFAULTS_DIR = os.path.join(MFS_DEFAULTS_DIR, "osm")
18
+ os.makedirs(MFS_OSM_DEFAULTS_DIR, exist_ok=True)
19
+ os.makedirs(MFS_DEM_DEFAULTS_DIR, exist_ok=True)
20
+
21
+ DEFAULT_OSM_PATH = os.path.join(MFS_OSM_DEFAULTS_DIR, "custom_osm.osm")
22
+ DEFAULT_DEM_PATH = os.path.join(MFS_DEM_DEFAULTS_DIR, "custom_dem.png")
23
+
24
+
25
+ def default_osm() -> str | None:
26
+ """Get the path to the default OSM file if it exists.
27
+
28
+ Returns:
29
+ str | None: The path to the default OSM file, or None if it doesn't exist.
30
+ """
31
+ return DEFAULT_OSM_PATH if os.path.isfile(DEFAULT_OSM_PATH) else None
32
+
33
+
34
+ def default_dem() -> str | None:
35
+ """Get the path to the default DEM file if it exists.
36
+
37
+ Returns:
38
+ str | None: The path to the default DEM file, or None if it doesn't exist.
39
+ """
40
+ return DEFAULT_DEM_PATH if os.path.isfile(DEFAULT_DEM_PATH) else None
15
41
 
16
42
 
17
43
  def ensure_templates():
@@ -66,7 +66,7 @@ class Map:
66
66
  # endregion
67
67
 
68
68
  # region custom OSM properties
69
- self.custom_osm = custom_osm
69
+ self.custom_osm = custom_osm or mfscfg.default_osm()
70
70
  if custom_osm and not os.path.isfile(custom_osm):
71
71
  raise FileNotFoundError(f"Custom OSM file {custom_osm} does not exist.")
72
72
  mfsutils.check_and_fix_osm(self.custom_osm, save_directory=self.map_directory)
@@ -125,7 +125,8 @@ class Map:
125
125
 
126
126
  self.shared_settings = SharedSettings()
127
127
  self.components: list[Component] = []
128
- self.custom_background_path = kwargs.get("custom_background_path", None)
128
+ custom_dem = kwargs.get("custom_background_path", None)
129
+ self.custom_background_path = custom_dem or mfscfg.default_dem()
129
130
 
130
131
  def process_settings(self) -> None:
131
132
  """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.2
3
+ Version: 2.5.4
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
@@ -52,8 +52,8 @@ Dynamic: license-file
52
52
  <a href="https://maps4fs.gitbook.io/docs/getting-started/faq">FAQ</a> •
53
53
  <a href="https://maps4fs.gitbook.io/docs/setup-and-installation/get_help">Get Help</a> •
54
54
  <a href="#Resources">Resources</a> •
55
- <a href="#Bugs-and-feature-requests">Bugs and feature requests</a><br>
56
- <a href="#Special-thanks">Special thanks</a>
55
+ <a href="#Special-thanks">Special thanks</a>
56
+ <a href="https://www.youtube.com/watch?v=hPbJZ0HoiDE&list=PLug0g7UYHX8D1Jik6NkJjQhdxqS-NOtB9">Video Tutorials</a>
57
57
  </p>
58
58
 
59
59
  [![Join Discord](https://img.shields.io/badge/join-discord-blue)](https://discord.gg/Sj5QKKyE42)
@@ -82,13 +82,12 @@ Dynamic: license-file
82
82
  📈 Automatically generates splines<br>
83
83
  🛰️ Automatically downloads high resolution satellite images<br>
84
84
  🌍 Based on real-world data from OpenStreetMap<br>
85
- 🗺️ Supports [custom OSM maps](/docs/008_customosm.md)<br>
85
+ 🗺️ Supports [custom OSM maps](https://maps4fs.gitbook.io/docs/advanced-topics/custom_osm)<br>
86
86
  🏞️ Generates height map using SRTM dataset<br>
87
87
  📦 Provides a ready-to-use map template for the Giants Editor<br>
88
88
  🚜 Supports Farming Simulator 22 and 25<br>
89
89
  🔷 Generates \*.obj files for background terrain based on the real-world height map<br>
90
- 📄 Generates scripts to download high-resolution satellite images from [QGIS](https://qgis.org/download/) in one click<br>
91
- 📕 Detailed [documentation](/docs) and tutorials <br>
90
+ 📕 Detailed [documentation](https://maps4fs.gitbook.io/docs) and tutorials <br>
92
91
 
93
92
  <p align="center">
94
93
  <img src="https://github.com/user-attachments/assets/cf8f5752-9c69-4018-bead-290f59ba6976"><br>
@@ -110,51 +109,42 @@ Dynamic: license-file
110
109
  <img width="480" src="https://github.com/user-attachments/assets/4d1fa879-5d60-438b-a84e-16883bcef0ec"><br>
111
110
  🌽 Automatic farmlands generation based on the fields.<br><br>
112
111
 
113
- 📹 Check out the complete playlist of video turorials on [YouTube](https://www.youtube.com/watch?v=hPbJZ0HoiDE&list=PLug0g7UYHX8D1Jik6NkJjQhdxqS-NOtB9). 🆕<br>
114
-
115
- ![Map example](https://github.com/user-attachments/assets/c46a3581-dd17-462f-b815-e36d4f724947)
116
-
117
- <p align="center"><i>Map example generated with maps4fs.</i></p>
118
-
119
112
  ## Overview
120
113
 
121
- The core idea is coming from the awesome [maps4cim](https://github.com/klamann/maps4cim) project.<br>
114
+ The core idea originates from the excellent [maps4cim](https://github.com/klamann/maps4cim) project.<br>
122
115
 
123
- The main goal of this project is to generate map templates, based on real-world data, for the Farming Simulator. It's important to mention that **templates are not maps**. They are just a starting point for creating a map. This tool just uses built-in textures to highlight different types of terrain and buildings with correct shapes and scales and to generate a height map. The rest of the work is up to you. So if you thought that you could just run this tool and get a playable map, then I'm sorry to disappoint you. But if you are a map maker, then this tool will save you a lot of time.<br>
124
- So, if you're new to map making, here's a quick overview of the process:
116
+ The main goal of this project is to generate map templates based on real-world data for Farming Simulator. It's important to understand that **templates are not finished maps**. They serve as a foundation for map creation, using built-in textures to represent different terrain types and structures with accurate shapes and scales, along with generating realistic height maps. The detailed work of creating a complete, playable map remains with you. If you expected to simply run this tool and receive a ready-to-play map, this may not meet those expectations. However, if you're a map creator, this tool will significantly reduce your development time.<br>
117
+
118
+ For newcomers to map creation, here's the typical workflow:
125
119
 
126
120
  1. Generate a map template using this tool.
127
121
  2. Download the Giants Editor.
128
- 3. Open the map template in the Giants Editor.
129
- 4. Now you can start creating your map (adding roads, fields, buildings, etc.).
122
+ 3. Open the generated template in Giants Editor.
123
+ 4. Begin detailed map development (adding roads, fields, buildings, etc.).
130
124
 
131
125
  ## Resources
132
126
 
133
- In this section, you'll find a list of the resources that you need to create a map for the Farming Simulator.<br>
134
- To create a basic map, you only need the Giants Editor. But if you want to create a background terrain - the world around the map, so it won't look like it's floating in the void - you also need Blender and the Blender Exporter Plugins. To create realistic textures for the background terrain, the QGIS is required to obtain high-resolution satellite images.<br>
135
-
136
- 1. [Giants Editor](https://gdn.giants-software.com/downloads.php) - the official tool for creating maps for the Farming Simulator.
137
- 2. [Blender](https://www.blender.org/download/) - the open-source 3D modeling software that you can use to create models for the Farming Simulator.
138
- 3. [Blender Exporter Plugins](https://gdn.giants-software.com/downloads.php) - the official plugins for exporting models from Blender to i3d format (the format used in the Farming Simulator).
139
-
140
- ## Bugs and feature requests
127
+ This section lists essential tools required for Farming Simulator map creation.<br>
128
+ For basic map development, you only need Giants Editor. However, creating background terrain—the surrounding world that prevents your map from appearing to float in empty space—requires additional tools: Blender with the official exporter plugins. For realistic background terrain textures, QGIS is needed to obtain high-resolution satellite imagery.<br>
141
129
 
142
- ➡️ Please, before creating an issue or asking some questions, check the [FAQ](docs/FAQ.md) section and the follow the [docs/get_help.md](Get Help) instructions.
130
+ 1. [Giants Editor](https://gdn.giants-software.com/downloads.php) - Official map creation tool for Farming Simulator
131
+ 2. [Blender](https://www.blender.org/download/) - Open-source 3D modeling software for creating Farming Simulator assets
132
+ 3. [Blender Exporter Plugins](https://gdn.giants-software.com/downloads.php) - Official plugins for exporting models from Blender to i3d format (Farming Simulator's native format)
143
133
 
144
134
  ## Special thanks
145
135
 
146
- Of course, first of all, thanks to the direct [contributors](https://github.com/iwatkot/maps4fs/graphs/contributors) of the project.
147
-
148
- But also, I want to thank the people who helped me with the project in some way, even if they didn't contribute directly. Here's the list of them:
149
-
150
- - [Ka5tis](https://github.com/Ka5tis) - for investigating the issue with a "spiky terrain" and finding a solution - changing the `DisplacementLayer` size to a higher value.
151
- - [Kalderone](https://www.youtube.com/@Kalderone_FS22) - for useful feedback, suggestions, expert advice on the map-making process and highlihting some important settings in the Giants Editor.
152
- - [OneSunnySunday](https://www.artstation.com/onesunnysunday) - for expert advice on Blender, help in processing background terrain, and compiling detailed tutorials on how to prepare the OBJ files for use in Giants Editor.
153
- - [BFernaesds](https://github.com/BFernaesds) - for the manual tests of the app.
154
- - [gamerdesigns](https://github.com/gamerdesigns) - for the manual tests of the app.
155
- - [Tox3](https://github.com/Tox3) - for the manual tests of the app.
156
- - [Lucandia](https://github.com/Lucandia) - for the awesome StreamLit [widget to preview STL files](https://github.com/Lucandia/streamlit_stl).
157
- - [H4rdB4se](https://github.com/H4rdB4se) - for investigating the issue with custom OSM files and finding a proper way to work with the files in JOSM.
158
- - [kbrandwijk](https://github.com/kbrandwijk) - for providing [awesome tool](https://github.com/Paint-a-Farm/satmap_downloader) to download the satellite images from the Google Maps and giving a permission to modify it and create a Python Package.
159
- - [Maaslandmods](https://github.com/Maaslandmods) - for the awesome idea to edit the tree schema in UI, images and code snippets on how to do it.
160
- - [StrauntMaunt](https://gitlab.com/StrauntMaunt) - for developing procedural generation scripts, providing with the required updates for maps4fs and preparing the docs on how to use procedural generation.
136
+ First and foremost, thanks to our direct [contributors](https://github.com/iwatkot/maps4fs/graphs/contributors) who have made code contributions to the project.
137
+
138
+ Additionally, we extend gratitude to community members who have supported the project through feedback, testing, and expertise, even without direct code contributions:
139
+
140
+ - [Ka5tis](https://github.com/Ka5tis) - Investigated the "spiky terrain" issue and discovered the solution: increasing `DisplacementLayer` size values
141
+ - [Kalderone](https://www.youtube.com/@Kalderone_FS22) - Provided valuable feedback, suggestions, and expert guidance on map-making processes, highlighting crucial Giants Editor settings
142
+ - [kirasolda](https://github.com/kirasolda) - Offered expert Blender advice, assisted with background terrain processing, and created detailed tutorials for preparing OBJ files for Giants Editor
143
+ - [BFernaesds](https://github.com/BFernaesds) - Conducted comprehensive manual application testing
144
+ - [gamerdesigns](https://github.com/gamerdesigns) - Performed thorough manual application testing
145
+ - [Tox3](https://github.com/Tox3) - Contributed extensive manual application testing
146
+ - [Lucandia](https://github.com/Lucandia) - Developed the excellent StreamLit [STL file preview widget](https://github.com/Lucandia/streamlit_stl)
147
+ - [H4rdB4se](https://github.com/H4rdB4se) - Investigated custom OSM file compatibility issues and established proper JOSM workflow procedures
148
+ - [kbrandwijk](https://github.com/kbrandwijk) - Created the [satellite image downloader tool](https://github.com/Paint-a-Farm/satmap_downloader) for Google Maps and granted permission for modification and Python package creation
149
+ - [Maaslandmods](https://github.com/Maaslandmods) - Conceived the UI tree schema editing feature and provided implementation images and code examples
150
+ - [StrauntMaunt](https://gitlab.com/StrauntMaunt) - Developed procedural generation scripts, provided essential Maps4FS updates, and authored procedural generation documentation
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "maps4fs"
7
- version = "2.5.2"
7
+ version = "2.5.4"
8
8
  description = "Generate map templates for Farming Simulator from real places."
9
9
  authors = [{name = "iwatkot", email = "iwatkot@gmail.com"}]
10
10
  license = {text = "GNU Affero General Public License v3.0"}
File without changes
File without changes
File without changes
File without changes
File without changes