Page 1 of 1

mapconv, mapconv & mapconv

Posted: 14 Mar 2018, 16:59
by gajop
Split from viewtopic.php?f=11&t=36765#p585323 (Silentwings).
Silentwings wrote:Having now played with a few mapconvs, pymapconv wins by a mile, and for those without python+libs it has a Windows binary thanks to turboss (build system already inside https://github.com/Beherith/springrts_smf_compiler). I suggest we deprecate all other mapconvs and make pymapconv "the" mapconv. Any objections?
Needs better Linux support (e.g. cross-platform setup.py) and should be registered on pip. Would then have to check if I can distribute this using package freezing (otherwise complicated distribution of Python programs limits usability)

Re: Compiling maps larger than 24x24? (solved)

Posted: 14 Mar 2018, 17:02
by Silentwings
For linux:
Python 2.7 Pillow (sudo pip install Pillow)
PyQt4 (sudo apt-get install python-Qt4)
ImageMagick (sudo apt-get install imagemagick)
What's the problem with that?

I can understand Windows users wanting binaries, although they are not really needed - I installed python+libs as instructed and ran the .py file without trouble (I speak no python). For linux users getting python+libs set up looks super easy.

Re: Compiling maps larger than 24x24? (solved)

Posted: 14 Mar 2018, 17:06
by gajop
1. You should never install Python packages globally.
2. It should be registered on pip, so you could install it with a single command, something like: pip install springrts_smf_compiler
3. Then it needs to be tested if it can be properly frozen with pyinstaller (https://www.pyinstaller.org/). This would allow me to distribute it to SpringBoard users, so they can compile using the SB GUI, without having to know *anything* about what tools, packages or languages are used to compile maps - *this* would make compilation finally more accessible.

Re: Compiling maps larger than 24x24? (solved)

Posted: 14 Mar 2018, 17:08
by Silentwings
1. User who cares can easily modify.

On the rest, sounds like a shedload of effort for no gain - count me out.

Re: Compiling maps larger than 24x24? (solved)

Posted: 14 Mar 2018, 17:14
by gajop
You asked if we could deprecate all other compilers. I'm simply telling you why I cannot (as distribution matters most for me).

It's still pretty good for people who want to install it themselves, but it's still out of reach if you want to make the process invisible to the user.

Re: Compiling maps larger than 24x24? (solved)

Posted: 14 Mar 2018, 17:18
by Silentwings
To make it clearer - since my point seems to have been missed:

Your objection sounds to me like smth to worry about for the future. There is currently no mapconv that does what you've asked for, and none are even close.

Your distribution "feature requests" are not a reason to avoid designating pymapconv as "the" mapconv and get ourselves and anyone currently trying to read wiki out of multi-mapconv hell. They are simply something for someone to bear in mind when working on mapconv(s) in future.

Re: Compiling maps larger than 24x24? (solved)

Posted: 14 Mar 2018, 17:22
by abma
Silentwings wrote: I suggest we deprecate all other mapconvs and make pymapconv "the" mapconv. Any objections?
IMHO all mapconvs expect MapConvNG should be deprecated because its the only mapconv which can be easily added to the existing infrastructure / distribution methods:

- works (?) on linux / windows / osx
- gpl2+
- written in c++ as most other stuff in spring universe
- only DevIL as dependency

Re: Compiling maps larger than 24x24? (solved)

Posted: 14 Mar 2018, 17:28
by gajop
@Silentwings:
Well, I haven't tested it as extensively as you have, but https://github.com/spring/SpringMapConvNG works for me for Linux, and if my memory serves me right (bit fuzzy), I did manage to statically compile it for Linux, on Linux, resulting in a single file that's easy to distribute: this WIP Linux-only setup

So for me, using the Python tool with SpringBoard (my use goal) would right now be a step back => No clear winner.

Re: mapconv, mapconv & mapconv

Posted: 14 Mar 2018, 17:32
by Silentwings
K, suit yourselves - I've made my choice, it wasn't a difficult one, and I won't be trying any further to sort this mess out.

My advice to current map makers with the usual external tool-chains: use pymapconv, its awesome.
https://github.com/Beherith/springrts_smf_compiler

Re: mapconv, mapconv & mapconv

Posted: 15 Mar 2018, 11:08
by gajop
@abma: fwiw, I think Python is a better language choice for many tools, as it's so much easier to focus on the core of the problem, without having to spend time reinventing the wheel.

The problem is distribution to end-users. Nothing beats native (staticly linked) programs in their ease of use. I'm working on setting up a "build" (freeze) and distribution system right now, aimed to be used with Python (at least for now). This might make these kind of Python utils more usable.

Re: mapconv, mapconv & mapconv

Posted: 21 Mar 2019, 11:20
by Beherith
I know its not fully cross-platform, but a windows binary for pymapconv is now available at the github repo.
pymapconv.exe

https://github.com/Beherith/springrts_s ... 456397156e

Edit, since its 64bit, it now supports very very large maps (tested 60*40 and worked fine )