Jump to content

Atlas-Tools, a package combining Mercator and post-Atlas


Recommended Posts

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

 

 

520266504_Atlastools-Mercator-entityplacertab.thumb.jpg.82429e21c130dcc588ec3e3dcfe63496.jpg1841245274_Atlastools-Mercator-terraintab.thumb.jpg.c4d3478a42cab18e302fcaf7e85f38ab.jpg1508246998_Atlastools-Mercator.thumb.jpg.17e85a7be42a1519b26d3fd330247b70.jpg1955437424_Atlastools-post-Atlas.thumb.jpg.6663f7089a2c3c57b242f054c1945cae.jpg

 

 

 

README.md CHANGELOG.md atlas-tools-0.23.0.zip Mercator.spec PostAtlas.spec

Edited by Grautvornix
Updated to version 0.23.0 and adding pyinstaller spec files
  • Like 1
Link to comment
Share on other sites

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 by Grautvornix
added the pyinstaller calls, updated the specs
Link to comment
Share on other sites

13 minutes 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" ?)

29 minutes 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) 

image.pngimage.thumb.png.7745e729e55db9c1bf869e1f56f3b243.png

Edited by Grautvornix
  • Like 1
Link to comment
Share on other sites

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...