Grautvornix Posted 14 hours ago Share Posted 14 hours ago (edited) Mercator and post-Atlas are now one package with one version number: Atlas Tools 0.20.0. It holds everything of Mercator 0.17.0 and post-Atlas 1.19.0, the last separate releases. They stay two programs, because the two jobs are different, but what you install is now what was tested together and they share the same codebase. The tools are also closeley linked so that you can start editing in mercator and then handover to post-Atlas for verification or conversion, and back. Mercator is a tool to create maps either from scratch or from digital elevation models, sculpt the terrain add features and textures. It however does not replace Atlas, the games's map editor. Mercator's sole purpose is to ease some of the pains the powerful but complex atlas tool creates to users like myself. In fact, Mercator allows handing over its data to the actual Atlas tool for refinement and can then take the map back for the final touch creating a mod or an installation. post-Atlas is a map checking and conversion tool that can be used to process maps and map collections in differnt formats an convert them into R28 and R29 game format. I also verifies map propserties and provides support to correct issues. post-Atlas also works with mercator and Atlas allowing to handover to these tools and take the result back afterwards. Maps can be tested in-game (headless) to verify there is no blocking issue left. The package is still delivered as python souce code (see Readme.md for installation instructions) and should run on Windows 11, Linux and MacOS. While I can only test it on Windows currently, @lilypoppy has kindly tested it extensively on Linux and @Asher used it on MacOS. I am keen to receive any feedback, criticism, ideas, suggestions, error reports etc. Please let me know! As per @Asher's suggestion, here are also specfiles that can be used with pyinstaller to create two executables (each > 110MB). Call them by: pyinstaller Mercator.spec pyinstaller PostAtlas.spec README.md CHANGELOG.md atlas-tools-0.23.0.zip Mercator.spec PostAtlas.spec Edited 12 hours ago by Grautvornix Updated to version 0.23.0 and adding pyinstaller spec files 1 Link to comment Share on other sites More sharing options...
Asher Posted 13 hours ago Share Posted 13 hours ago build.sh Just made a build script to make this into an executable. (Should work across systems). Maybe you'd want to add this @Grautvornix? Also, does it just need pyqt6 and scipy to also be installed, or are there more? Link to comment Share on other sites More sharing options...
lilypoppy Posted 13 hours ago Share Posted 13 hours ago @Grautvornix @Asher 2 Link to comment Share on other sites More sharing options...
Grautvornix Posted 13 hours ago Author Share Posted 13 hours ago (edited) Hi @Asher thanks for the quick reaction -and the good idea! The tool needs PyQt6, Pillow, numpy, scipy, and pyqtgraph/PyOpenGL. Your script is great, but there are actually two tools in the package (Mercator and post-Atlas) and they need to have their specific environment. My intention was to keep it open as editable python code so anyone can inspect and modify it as needed. But you are certainly right - not everyone has python installed or would like to look into the code. Here are the two pyinstaller spec files Mercator.spec and post-Atlas.spec . A plain pyinstaller --onefile Mercator.py only follows Python imports. It misses non-code resources that get loaded relative to the installed files — docs/ (Help, User Manual, Design notes, Credits), CREDITS.md/LICENSE, and most of all mercator/world/*.json.gz (the real-elevation-data feature). Attached are pyinstaller spec files that can be called by pyinstaller Mercator.spec pyinstaller PostAtlas.spec This would work as a standalone double-click exe, however: The hand-over between the two tools will not work as built: Check or convert in post-Atlas... and Convert > Edit in Mercator launch the sibling tool via sys.executable -m <module> (atlas_ui/other_tool.py). Inside a frozen exe, sys.executable is that exe, which doesn’t understand -m — and worse, the check for “is the other tool installed” (importlib.util.find_spec) will always say no, since each exe only bundles its own tool. So the button offering the hand-over won’t even appear. That’s a significant regression for frozen builds specifically. I ask my coding buddy (Claude) to find a solution for this as I believe the linking o fhte two tools is an important aspect. @lilypoppy suggested to create a single tool but that would make the GUI even more complex than it is today, I am afraid. But he does have point here. Size: Mercator.exe is ~140 MB, Post-Atlas.exe ~116 MB on windows. They are bundling PyQt6 + NumPy + SciPy + Pillow + pyqtgraph/PyOpenGL for the 3D views). Versus the ~6 MB release zip, this is a very different distribution. This would clearly call for a single exe only. @Asher @lilypoppy Claude just implemented a fix in version 0.23.0, see initial post of this thread. So the only remaining issue is size. Still unsure if we should dare going for a single tool. Mercator.spec PostAtlas.spec Edited 12 hours ago by Grautvornix added the pyinstaller calls, updated the specs Link to comment Share on other sites More sharing options...
Asher Posted 12 hours ago Share Posted 12 hours ago (edited) Do you have icons for these, @Grautvornix? And here is the update build script build.zip (I included the files @Grautvornix posted above) Edited 12 hours ago by Asher me must work on grammers Link to comment Share on other sites More sharing options...
Asher Posted 12 hours ago Share Posted 12 hours ago build.zip (remove --onefile from build script so it doesn't take as long to run the program) Link to comment Share on other sites More sharing options...
Grautvornix Posted 12 hours ago Author Share Posted 12 hours ago (edited) 11 hours ago, Asher said: build.zip (remove --onefile from build script so it doesn't take as long to run the program) Cool! But does that script work? (shouldn't it be e.g. "pyinstaller mercator.spec" instead of "pyinstaller mercator.py" ?) Embarassingly stupid remark, apologies for that!. 11 hours ago, Asher said: Do you have icons for these, @Grautvornix? And here is the update build script build.zip (I include the files @Grautvornix posted above) Now that is a challenge! No, I don't have any yet, possibly something like the attached (still ugly with the tongue hanging out) Edited 51 minutes ago by Grautvornix 1 Link to comment Share on other sites More sharing options...
Asher Posted 11 hours ago Share Posted 11 hours ago I saw that you cannot use the -w flag with using the .spec files @Grautvornix, so I think just building from the .py files will be ok. Was there a specific reason you did the .spec files? Here is an update version of the build script: build-1.0.1.zip Link to comment Share on other sites More sharing options...
lilypoppy Posted 11 hours ago Share Posted 11 hours ago I'm going to test an existing mod to observe its behavior; indeed, I've noticed that the Atlas Tools Kit seems designed for mods built with the most recent versions. So I'd like to check whether it still works with an older mod or if it needs adjustments. I also have my own mod (made up of 20 files); @Grautvornix how will the output process work with my mod ? Link to comment Share on other sites More sharing options...
Grautvornix Posted 1 hour ago Author Share Posted 1 hour ago 10 hours ago, Asher said: I saw that you cannot use the -w flag with using the .spec files @Grautvornix, so I think just building from the .py files will be ok. Was there a specific reason you did the .spec files? Here is an update version of the build script: build-1.0.1.zip Oh, you are right, of course! The reason I asked Claude to provide spec files was that I wanted ensure all documents and the additonal data set for mercator's world map (forms a possible basis for selecting terrain tiles from public DEM sources) are included. the result is ratehr complex and unpleasant to read while your script is straightforward and understandable. I prefer yours actually. 1 Link to comment Share on other sites More sharing options...
Asher Posted 17 minutes ago Share Posted 17 minutes ago 42 minutes ago, Grautvornix said: Oh, you are right, of course! The reason I asked Claude to provide spec files was that I wanted ensure all documents and the additonal data set for mercator's world map (forms a possible basis for selecting terrain tiles from public DEM sources) are included. the result is ratehr complex and unpleasant to read while your script is straightforward and understandable. I prefer yours actually. Is the .spec file like the build file, so everytime you build it, it runs that? Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now