maps4fs 2.5.1__tar.gz → 2.5.3__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.
- maps4fs-2.5.3/PKG-INFO +150 -0
- maps4fs-2.5.3/README.md +120 -0
- {maps4fs-2.5.1 → maps4fs-2.5.3}/maps4fs/generator/config.py +13 -0
- {maps4fs-2.5.1 → maps4fs-2.5.3}/maps4fs/generator/map.py +3 -2
- maps4fs-2.5.3/maps4fs.egg-info/PKG-INFO +150 -0
- {maps4fs-2.5.1 → maps4fs-2.5.3}/pyproject.toml +1 -1
- maps4fs-2.5.1/PKG-INFO +0 -627
- maps4fs-2.5.1/README.md +0 -597
- maps4fs-2.5.1/maps4fs.egg-info/PKG-INFO +0 -627
- {maps4fs-2.5.1 → maps4fs-2.5.3}/LICENSE.md +0 -0
- {maps4fs-2.5.1 → maps4fs-2.5.3}/maps4fs/__init__.py +0 -0
- {maps4fs-2.5.1 → maps4fs-2.5.3}/maps4fs/generator/__init__.py +0 -0
- {maps4fs-2.5.1 → maps4fs-2.5.3}/maps4fs/generator/component/__init__.py +0 -0
- {maps4fs-2.5.1 → maps4fs-2.5.3}/maps4fs/generator/component/background.py +0 -0
- {maps4fs-2.5.1 → maps4fs-2.5.3}/maps4fs/generator/component/base/__init__.py +0 -0
- {maps4fs-2.5.1 → maps4fs-2.5.3}/maps4fs/generator/component/base/component.py +0 -0
- {maps4fs-2.5.1 → maps4fs-2.5.3}/maps4fs/generator/component/base/component_image.py +0 -0
- {maps4fs-2.5.1 → maps4fs-2.5.3}/maps4fs/generator/component/base/component_mesh.py +0 -0
- {maps4fs-2.5.1 → maps4fs-2.5.3}/maps4fs/generator/component/base/component_xml.py +0 -0
- {maps4fs-2.5.1 → maps4fs-2.5.3}/maps4fs/generator/component/config.py +0 -0
- {maps4fs-2.5.1 → maps4fs-2.5.3}/maps4fs/generator/component/dem.py +0 -0
- {maps4fs-2.5.1 → maps4fs-2.5.3}/maps4fs/generator/component/grle.py +0 -0
- {maps4fs-2.5.1 → maps4fs-2.5.3}/maps4fs/generator/component/i3d.py +0 -0
- {maps4fs-2.5.1 → maps4fs-2.5.3}/maps4fs/generator/component/layer.py +0 -0
- {maps4fs-2.5.1 → maps4fs-2.5.3}/maps4fs/generator/component/satellite.py +0 -0
- {maps4fs-2.5.1 → maps4fs-2.5.3}/maps4fs/generator/component/texture.py +0 -0
- {maps4fs-2.5.1 → maps4fs-2.5.3}/maps4fs/generator/game.py +0 -0
- {maps4fs-2.5.1 → maps4fs-2.5.3}/maps4fs/generator/qgis.py +0 -0
- {maps4fs-2.5.1 → maps4fs-2.5.3}/maps4fs/generator/settings.py +0 -0
- {maps4fs-2.5.1 → maps4fs-2.5.3}/maps4fs/generator/statistics.py +0 -0
- {maps4fs-2.5.1 → maps4fs-2.5.3}/maps4fs/generator/utils.py +0 -0
- {maps4fs-2.5.1 → maps4fs-2.5.3}/maps4fs/logger.py +0 -0
- {maps4fs-2.5.1 → maps4fs-2.5.3}/maps4fs.egg-info/SOURCES.txt +0 -0
- {maps4fs-2.5.1 → maps4fs-2.5.3}/maps4fs.egg-info/dependency_links.txt +0 -0
- {maps4fs-2.5.1 → maps4fs-2.5.3}/maps4fs.egg-info/requires.txt +0 -0
- {maps4fs-2.5.1 → maps4fs-2.5.3}/maps4fs.egg-info/top_level.txt +0 -0
- {maps4fs-2.5.1 → maps4fs-2.5.3}/setup.cfg +0 -0
- {maps4fs-2.5.1 → maps4fs-2.5.3}/tests/test_generator.py +0 -0
maps4fs-2.5.3/PKG-INFO
ADDED
@@ -0,0 +1,150 @@
|
|
1
|
+
Metadata-Version: 2.4
|
2
|
+
Name: maps4fs
|
3
|
+
Version: 2.5.3
|
4
|
+
Summary: Generate map templates for Farming Simulator from real places.
|
5
|
+
Author-email: iwatkot <iwatkot@gmail.com>
|
6
|
+
License: GNU Affero General Public License v3.0
|
7
|
+
Project-URL: Homepage, https://github.com/iwatkot/maps4fs
|
8
|
+
Project-URL: Repository, https://github.com/iwatkot/maps4fs
|
9
|
+
Keywords: farmingsimulator,fs,farmingsimulator22,farmingsimulator25,fs22,fs25
|
10
|
+
Classifier: Programming Language :: Python :: 3.11
|
11
|
+
Classifier: Programming Language :: Python :: 3.12
|
12
|
+
Classifier: License :: OSI Approved :: GNU Affero General Public License v3
|
13
|
+
Classifier: Operating System :: OS Independent
|
14
|
+
Description-Content-Type: text/markdown
|
15
|
+
License-File: LICENSE.md
|
16
|
+
Requires-Dist: opencv-python
|
17
|
+
Requires-Dist: osmnx>=2.0.0
|
18
|
+
Requires-Dist: rasterio
|
19
|
+
Requires-Dist: geopy
|
20
|
+
Requires-Dist: trimesh
|
21
|
+
Requires-Dist: pydantic
|
22
|
+
Requires-Dist: pygmdl
|
23
|
+
Requires-Dist: owslib
|
24
|
+
Requires-Dist: tqdm
|
25
|
+
Requires-Dist: scipy
|
26
|
+
Requires-Dist: pydtmdl
|
27
|
+
Requires-Dist: manifold3d
|
28
|
+
Requires-Dist: fast-simplification
|
29
|
+
Dynamic: license-file
|
30
|
+
|
31
|
+
<p align="center">
|
32
|
+
<a href="https://github.com/iwatkot/maps4fs">maps4fs</a> •
|
33
|
+
<a href="https://github.com/iwatkot/maps4fsui">maps4fs UI</a> •
|
34
|
+
<a href="https://github.com/iwatkot/maps4fsdata">maps4fs Data</a> •
|
35
|
+
<a href="https://github.com/iwatkot/maps4fsapi">maps4fs API</a> •
|
36
|
+
<a href="https://github.com/iwatkot/maps4fsstats">maps4fs Stats</a> •
|
37
|
+
<a href="https://github.com/iwatkot/maps4fsbot">maps4fs Bot</a><br>
|
38
|
+
<a href="https://github.com/iwatkot/pygmdl">pygmdl</a> •
|
39
|
+
<a href="https://github.com/iwatkot/pydtmdl">pydtmdl</a>
|
40
|
+
</p>
|
41
|
+
|
42
|
+
<div align="center" markdown>
|
43
|
+
<a href="https://discord.gg/Sj5QKKyE42">
|
44
|
+
<img src="https://github.com/user-attachments/assets/37043333-d6ef-4ca3-9f3c-81323d9d0b71">
|
45
|
+
</a>
|
46
|
+
|
47
|
+
<p align="center">
|
48
|
+
<a href="#overview">Overview</a> •
|
49
|
+
<a href="https://maps4fs.gitbook.io/docs/getting-started/how_to_launch">How to Launch</a> •
|
50
|
+
<a href="https://maps4fs.gitbook.io/docs/getting-started/step_by_step_guide">Step-by-Step Guide</a> •
|
51
|
+
<a href="https://maps4fs.gitbook.io/docs/getting-started/workflow_optimizations">Workflow Optimizations</a><br>
|
52
|
+
<a href="https://maps4fs.gitbook.io/docs/getting-started/faq">FAQ</a> •
|
53
|
+
<a href="https://maps4fs.gitbook.io/docs/setup-and-installation/get_help">Get Help</a> •
|
54
|
+
<a href="#Resources">Resources</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
|
+
</p>
|
58
|
+
|
59
|
+
[](https://discord.gg/Sj5QKKyE42)
|
60
|
+
[](https://github.com/iwatkot/maps4fs/releases)
|
61
|
+
[](https://pypi.org/project/maps4fs)
|
62
|
+
[](https://hub.docker.com/repository/docker/iwatkot/maps4fs/general)
|
63
|
+
[](https://github.com/iwatkot/maps4fs/issues)<br>
|
64
|
+
[](https://pypi.org/project/maps4fs)
|
65
|
+
[](https://mypy-lang.org/)
|
66
|
+
[](https://github.com/iwatkot/maps4fs/actions)
|
67
|
+
[](https://codecov.io/gh/iwatkot/maps4fs)
|
68
|
+
[](https://github.com/iwatkot/maps4fs/stargazers)<br>
|
69
|
+
|
70
|
+
</div>
|
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>
|
91
|
+
|
92
|
+
<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>
|
111
|
+
|
112
|
+
## Overview
|
113
|
+
|
114
|
+
The core idea originates from the excellent [maps4cim](https://github.com/klamann/maps4cim) project.<br>
|
115
|
+
|
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:
|
119
|
+
|
120
|
+
1. Generate a map template using this tool.
|
121
|
+
2. Download the Giants Editor.
|
122
|
+
3. Open the generated template in Giants Editor.
|
123
|
+
4. Begin detailed map development (adding roads, fields, buildings, etc.).
|
124
|
+
|
125
|
+
## Resources
|
126
|
+
|
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>
|
129
|
+
|
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)
|
133
|
+
|
134
|
+
## Special thanks
|
135
|
+
|
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
|
maps4fs-2.5.3/README.md
ADDED
@@ -0,0 +1,120 @@
|
|
1
|
+
<p align="center">
|
2
|
+
<a href="https://github.com/iwatkot/maps4fs">maps4fs</a> •
|
3
|
+
<a href="https://github.com/iwatkot/maps4fsui">maps4fs UI</a> •
|
4
|
+
<a href="https://github.com/iwatkot/maps4fsdata">maps4fs Data</a> •
|
5
|
+
<a href="https://github.com/iwatkot/maps4fsapi">maps4fs API</a> •
|
6
|
+
<a href="https://github.com/iwatkot/maps4fsstats">maps4fs Stats</a> •
|
7
|
+
<a href="https://github.com/iwatkot/maps4fsbot">maps4fs Bot</a><br>
|
8
|
+
<a href="https://github.com/iwatkot/pygmdl">pygmdl</a> •
|
9
|
+
<a href="https://github.com/iwatkot/pydtmdl">pydtmdl</a>
|
10
|
+
</p>
|
11
|
+
|
12
|
+
<div align="center" markdown>
|
13
|
+
<a href="https://discord.gg/Sj5QKKyE42">
|
14
|
+
<img src="https://github.com/user-attachments/assets/37043333-d6ef-4ca3-9f3c-81323d9d0b71">
|
15
|
+
</a>
|
16
|
+
|
17
|
+
<p align="center">
|
18
|
+
<a href="#overview">Overview</a> •
|
19
|
+
<a href="https://maps4fs.gitbook.io/docs/getting-started/how_to_launch">How to Launch</a> •
|
20
|
+
<a href="https://maps4fs.gitbook.io/docs/getting-started/step_by_step_guide">Step-by-Step Guide</a> •
|
21
|
+
<a href="https://maps4fs.gitbook.io/docs/getting-started/workflow_optimizations">Workflow Optimizations</a><br>
|
22
|
+
<a href="https://maps4fs.gitbook.io/docs/getting-started/faq">FAQ</a> •
|
23
|
+
<a href="https://maps4fs.gitbook.io/docs/setup-and-installation/get_help">Get Help</a> •
|
24
|
+
<a href="#Resources">Resources</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
|
+
</p>
|
28
|
+
|
29
|
+
[](https://discord.gg/Sj5QKKyE42)
|
30
|
+
[](https://github.com/iwatkot/maps4fs/releases)
|
31
|
+
[](https://pypi.org/project/maps4fs)
|
32
|
+
[](https://hub.docker.com/repository/docker/iwatkot/maps4fs/general)
|
33
|
+
[](https://github.com/iwatkot/maps4fs/issues)<br>
|
34
|
+
[](https://pypi.org/project/maps4fs)
|
35
|
+
[](https://mypy-lang.org/)
|
36
|
+
[](https://github.com/iwatkot/maps4fs/actions)
|
37
|
+
[](https://codecov.io/gh/iwatkot/maps4fs)
|
38
|
+
[](https://github.com/iwatkot/maps4fs/stargazers)<br>
|
39
|
+
|
40
|
+
</div>
|
41
|
+
|
42
|
+
🗺️ Supports 2x2, 4x4, 8x8, 16x16 and any custom size maps<br>
|
43
|
+
🔗 Generate maps using an [API](https://github.com/iwatkot/maps4fsapi)<br>
|
44
|
+
✂️ Supports map scaling<br>
|
45
|
+
🔄 Support map rotation<br>
|
46
|
+
🌐 Supports custom [DTM Providers](https://github.com/iwatkot/pydtmdl)<br>
|
47
|
+
🌾 Automatically generates fields<br>
|
48
|
+
🌽 Automatically generates farmlands<br>
|
49
|
+
🌿 Automatically generates decorative foliage<br>
|
50
|
+
🌲 Automatically generates forests<br>
|
51
|
+
🌊 Automatically generates water planes<br>
|
52
|
+
📈 Automatically generates splines<br>
|
53
|
+
🛰️ Automatically downloads high resolution satellite images<br>
|
54
|
+
🌍 Based on real-world data from OpenStreetMap<br>
|
55
|
+
🗺️ Supports [custom OSM maps](https://maps4fs.gitbook.io/docs/advanced-topics/custom_osm)<br>
|
56
|
+
🏞️ Generates height map using SRTM dataset<br>
|
57
|
+
📦 Provides a ready-to-use map template for the Giants Editor<br>
|
58
|
+
🚜 Supports Farming Simulator 22 and 25<br>
|
59
|
+
🔷 Generates \*.obj files for background terrain based on the real-world height map<br>
|
60
|
+
📕 Detailed [documentation](https://maps4fs.gitbook.io/docs) and tutorials <br>
|
61
|
+
|
62
|
+
<p align="center">
|
63
|
+
<img src="https://github.com/user-attachments/assets/cf8f5752-9c69-4018-bead-290f59ba6976"><br>
|
64
|
+
🌎 Detailed terrain based on real-world data.<br><br>
|
65
|
+
<img src="https://github.com/user-attachments/assets/dc40d0bb-c20b-411c-8833-9925d0389452"><br>
|
66
|
+
🛰️ Realistic background terrain with satellite images.<br><br>
|
67
|
+
<img src="https://github.com/user-attachments/assets/6e3c0e99-2cce-46ac-82db-5cb60bba7a30"><br>
|
68
|
+
📐 Perfectly aligned background terrain.<br><br>
|
69
|
+
<img src="https://github.com/user-attachments/assets/5764b2ec-e626-426f-9f5d-beb12ba95133"><br>
|
70
|
+
🌿 Automatically generates decorative foliage.<br><br>
|
71
|
+
<img src="https://github.com/user-attachments/assets/27a5e541-a9f5-4504-b8d2-64aae9fb3e52"><br>
|
72
|
+
🌲 Automatically generates forests.<br><br>
|
73
|
+
<img src="https://github.com/user-attachments/assets/cce7d4e0-cba2-4dd2-b22d-03137fb2e860"><br>
|
74
|
+
🌊 Automatically generates water planes.<br><br>
|
75
|
+
<img src="https://github.com/user-attachments/assets/0b05b511-a595-48e7-a353-8298081314a4"><br>
|
76
|
+
📈 Automatically generates splines.<br><br>
|
77
|
+
<img width="480" src="https://github.com/user-attachments/assets/1a8802d2-6a3b-4bfa-af2b-7c09478e199b"><br>
|
78
|
+
🌾 Field generation with one click.<br><br>
|
79
|
+
<img width="480" src="https://github.com/user-attachments/assets/4d1fa879-5d60-438b-a84e-16883bcef0ec"><br>
|
80
|
+
🌽 Automatic farmlands generation based on the fields.<br><br>
|
81
|
+
|
82
|
+
## Overview
|
83
|
+
|
84
|
+
The core idea originates from the excellent [maps4cim](https://github.com/klamann/maps4cim) project.<br>
|
85
|
+
|
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:
|
89
|
+
|
90
|
+
1. Generate a map template using this tool.
|
91
|
+
2. Download the Giants Editor.
|
92
|
+
3. Open the generated template in Giants Editor.
|
93
|
+
4. Begin detailed map development (adding roads, fields, buildings, etc.).
|
94
|
+
|
95
|
+
## Resources
|
96
|
+
|
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>
|
99
|
+
|
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)
|
103
|
+
|
104
|
+
## Special thanks
|
105
|
+
|
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,19 @@ 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
|
+
DEFAULT_OSM = DEFAULT_OSM_PATH if os.path.isfile(DEFAULT_OSM_PATH) else None
|
25
|
+
DEFAULT_DEM = DEFAULT_DEM_PATH if os.path.isfile(DEFAULT_DEM_PATH) else None
|
26
|
+
logger.info("Default OSM: %s", DEFAULT_OSM)
|
27
|
+
logger.info("Default DEM: %s", DEFAULT_DEM)
|
15
28
|
|
16
29
|
|
17
30
|
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
|
-
|
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."""
|
@@ -0,0 +1,150 @@
|
|
1
|
+
Metadata-Version: 2.4
|
2
|
+
Name: maps4fs
|
3
|
+
Version: 2.5.3
|
4
|
+
Summary: Generate map templates for Farming Simulator from real places.
|
5
|
+
Author-email: iwatkot <iwatkot@gmail.com>
|
6
|
+
License: GNU Affero General Public License v3.0
|
7
|
+
Project-URL: Homepage, https://github.com/iwatkot/maps4fs
|
8
|
+
Project-URL: Repository, https://github.com/iwatkot/maps4fs
|
9
|
+
Keywords: farmingsimulator,fs,farmingsimulator22,farmingsimulator25,fs22,fs25
|
10
|
+
Classifier: Programming Language :: Python :: 3.11
|
11
|
+
Classifier: Programming Language :: Python :: 3.12
|
12
|
+
Classifier: License :: OSI Approved :: GNU Affero General Public License v3
|
13
|
+
Classifier: Operating System :: OS Independent
|
14
|
+
Description-Content-Type: text/markdown
|
15
|
+
License-File: LICENSE.md
|
16
|
+
Requires-Dist: opencv-python
|
17
|
+
Requires-Dist: osmnx>=2.0.0
|
18
|
+
Requires-Dist: rasterio
|
19
|
+
Requires-Dist: geopy
|
20
|
+
Requires-Dist: trimesh
|
21
|
+
Requires-Dist: pydantic
|
22
|
+
Requires-Dist: pygmdl
|
23
|
+
Requires-Dist: owslib
|
24
|
+
Requires-Dist: tqdm
|
25
|
+
Requires-Dist: scipy
|
26
|
+
Requires-Dist: pydtmdl
|
27
|
+
Requires-Dist: manifold3d
|
28
|
+
Requires-Dist: fast-simplification
|
29
|
+
Dynamic: license-file
|
30
|
+
|
31
|
+
<p align="center">
|
32
|
+
<a href="https://github.com/iwatkot/maps4fs">maps4fs</a> •
|
33
|
+
<a href="https://github.com/iwatkot/maps4fsui">maps4fs UI</a> •
|
34
|
+
<a href="https://github.com/iwatkot/maps4fsdata">maps4fs Data</a> •
|
35
|
+
<a href="https://github.com/iwatkot/maps4fsapi">maps4fs API</a> •
|
36
|
+
<a href="https://github.com/iwatkot/maps4fsstats">maps4fs Stats</a> •
|
37
|
+
<a href="https://github.com/iwatkot/maps4fsbot">maps4fs Bot</a><br>
|
38
|
+
<a href="https://github.com/iwatkot/pygmdl">pygmdl</a> •
|
39
|
+
<a href="https://github.com/iwatkot/pydtmdl">pydtmdl</a>
|
40
|
+
</p>
|
41
|
+
|
42
|
+
<div align="center" markdown>
|
43
|
+
<a href="https://discord.gg/Sj5QKKyE42">
|
44
|
+
<img src="https://github.com/user-attachments/assets/37043333-d6ef-4ca3-9f3c-81323d9d0b71">
|
45
|
+
</a>
|
46
|
+
|
47
|
+
<p align="center">
|
48
|
+
<a href="#overview">Overview</a> •
|
49
|
+
<a href="https://maps4fs.gitbook.io/docs/getting-started/how_to_launch">How to Launch</a> •
|
50
|
+
<a href="https://maps4fs.gitbook.io/docs/getting-started/step_by_step_guide">Step-by-Step Guide</a> •
|
51
|
+
<a href="https://maps4fs.gitbook.io/docs/getting-started/workflow_optimizations">Workflow Optimizations</a><br>
|
52
|
+
<a href="https://maps4fs.gitbook.io/docs/getting-started/faq">FAQ</a> •
|
53
|
+
<a href="https://maps4fs.gitbook.io/docs/setup-and-installation/get_help">Get Help</a> •
|
54
|
+
<a href="#Resources">Resources</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
|
+
</p>
|
58
|
+
|
59
|
+
[](https://discord.gg/Sj5QKKyE42)
|
60
|
+
[](https://github.com/iwatkot/maps4fs/releases)
|
61
|
+
[](https://pypi.org/project/maps4fs)
|
62
|
+
[](https://hub.docker.com/repository/docker/iwatkot/maps4fs/general)
|
63
|
+
[](https://github.com/iwatkot/maps4fs/issues)<br>
|
64
|
+
[](https://pypi.org/project/maps4fs)
|
65
|
+
[](https://mypy-lang.org/)
|
66
|
+
[](https://github.com/iwatkot/maps4fs/actions)
|
67
|
+
[](https://codecov.io/gh/iwatkot/maps4fs)
|
68
|
+
[](https://github.com/iwatkot/maps4fs/stargazers)<br>
|
69
|
+
|
70
|
+
</div>
|
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>
|
91
|
+
|
92
|
+
<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>
|
111
|
+
|
112
|
+
## Overview
|
113
|
+
|
114
|
+
The core idea originates from the excellent [maps4cim](https://github.com/klamann/maps4cim) project.<br>
|
115
|
+
|
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:
|
119
|
+
|
120
|
+
1. Generate a map template using this tool.
|
121
|
+
2. Download the Giants Editor.
|
122
|
+
3. Open the generated template in Giants Editor.
|
123
|
+
4. Begin detailed map development (adding roads, fields, buildings, etc.).
|
124
|
+
|
125
|
+
## Resources
|
126
|
+
|
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>
|
129
|
+
|
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)
|
133
|
+
|
134
|
+
## Special thanks
|
135
|
+
|
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.
|
7
|
+
version = "2.5.3"
|
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"}
|