Compiling maps larger than 24x24? (solved)

Compiling maps larger than 24x24? (solved)

Discuss your problems with the latest release of the engine here. Problems with games, maps or other utilities belong in their respective forums.

Moderator: Moderators

Post Reply
User avatar
Silentwings
Posts: 3720
Joined: 25 Oct 2008, 00:23

Compiling maps larger than 24x24? (solved)

Post by Silentwings »

My toolchain for making Spring maps limits me to 24x24 maps, because they version of mapconv that I use (an exe that came from Behe about 7 years ago) crashes when I try to compile a bigger map. I don't know how many other mapconvs are infected by this, and I don't fancy testing several of them to find out.

So, does any mapper have a mapconv that they know works for maps of size 28x28 or even 32x32? If so please point me to it, amongst https://springrts.com/wiki/Mapdev:Main#Resources or otherwise. For Windows, if it matters.

edit: Success! viewtopic.php?f=11&t=36765#p585323

I can offer some eye-candy for why I want it. Here is a wip map; the texture is just a placeholder & many other things still need work. I want to make a bigger playable sea area around the island, without making the island smaller.
Attachments
screen00943.png
screen00943.png (167.44 KiB) Viewed 2516 times
Kloot
Spring Developer
Posts: 1867
Joined: 08 Oct 2006, 16:58

Re: Compiling maps larger than 24x24?

Post by Kloot »

Probably none of the 32bit mapconv .exe's are large-address aware so Windows (in either bitness variant) restricts them to 2GB.

PyMapConv can allocate 3GB on win32 (and 4GB on win64) if you have a LAA32 Python interpreter, and should be capable of grabbing at least 8TB with a LAA64 Python.
User avatar
Silentwings
Posts: 3720
Joined: 25 Oct 2008, 00:23

Re: Compiling maps larger than 24x24?

Post by Silentwings »

Thanks! I had wondered if it was that.
abma
Spring Developer
Posts: 3798
Joined: 01 Jun 2009, 00:08

Re: Compiling maps larger than 24x24?

Post by abma »

for MapConvNG a 64 bit windows executable exists.

not sure if it has some bugs / drawbacks in comparison to MapConv.

(it sucks that we have like 10 of MapConv's: all with different bugs / drawbacks)
User avatar
Silentwings
Posts: 3720
Joined: 25 Oct 2008, 00:23

Re: Compiling maps larger than 24x24?

Post by Silentwings »

abma, I think MapConvNG needs to be (re-)compiled with -static-libgcc. I only tried the 64 bit one.

At the moment (at least on Windows) when run it asks that libgcc_s_sjlj-1.dll be externally present, which it isn't in the current wiki dl. I tried manually placing a version of that dll next to the exe, which resulted in the new error "The application was unable to start correctly (0xc000007b). Click OK to close the application", see screenshot - perhaps differing versons of libgcc_s_sjlj-1are to blame, but I thought there was only one even semi-recent version.
Attachments
mcng.png
(84.75 KiB) Not downloaded yet
User avatar
PicassoCT
Journeywar Developer & Mapper
Posts: 10450
Joined: 24 Jan 2006, 21:12

Re: Compiling maps larger than 24x24?

Post by PicassoCT »

Have you tried using large jpegs as base texture source?`
The problem is after all running out of memory while loading the texture..
User avatar
Silentwings
Posts: 3720
Joined: 25 Oct 2008, 00:23

Re: Compiling maps larger than 24x24?

Post by Silentwings »

@kloot: from readme.md of https://github.com/Beherith/springrts_smf_compiler

Code: Select all

Under Windows, you will need the following to make this work:
Requires python 2.7 - (no surprise there) 32bit https://www.python.org/downloads/
So, I'll try with LAA32, but https://bugs.python.org/issue1449496 means I'm not sure yet how to get started. If I'm really lucky, pymapconv won't even need as much mem as the original. I know Behe made 28x28 maps, so he must have had a way...
PicassoCT wrote:Have you tried using large jpegs as base texture source?`
No, because of lossy compression inside the jpg. However, I think the crash in my mapconv is after its loaded the texture - it comes near the end, after the bit with nvdxt. In any case, its unlikely that changing the input file format will change how mapconv internally stores the image.
User avatar
PicassoCT
Journeywar Developer & Mapper
Posts: 10450
Joined: 24 Jan 2006, 21:12

Re: Compiling maps larger than 24x24?

Post by PicassoCT »

Well it worked for me.

I compiled several 64x16 and even a 80x12 map-
http://zero-k.info/Maps/Detail/12527

One is of course free to pursuit the other angle- losless compression before the compression with the tile manager sounds like a great goal.
User avatar
Silentwings
Posts: 3720
Joined: 25 Oct 2008, 00:23

Re: Compiling maps larger than 24x24?

Post by Silentwings »

Well it worked for me.
What worked ... which mapconv, which OS... ? I'm not at all keen on jpg though.
User avatar
PicassoCT
Journeywar Developer & Mapper
Posts: 10450
Joined: 24 Jan 2006, 21:12

Re: Compiling maps larger than 24x24?

Post by PicassoCT »

Sy-arg.
The fine art of open source info-warfare- if you do not like a direction of discussion- demand all information written down explicitly, in chisseled detail down to the atom.

If the opposing view author is lazy, this will silence him/her.
Even though its quite obvious from the context, the environment and from previous discussions.
Even though the information can be gathered by some searching with known terms.
Okay, you want to solve the problem - by developing a new map-converter. Great.
Just say that, and all non-map-converter devs can stop wasting theire time.

You know my setup, im on Windows, back then XP, you know the map-converter i used back then, its the same old mapconverter everyone used back then- mothers mapconverter.
I used the programm quantum recommended to stitch the huge jpegs together.
http://www.imagemagick.org/
Kloot
Spring Developer
Posts: 1867
Joined: 08 Oct 2006, 16:58

Re: Compiling maps larger than 24x24?

Post by Kloot »

Silentwings wrote:@kloot: from readme.md of https://github.com/Beherith/springrts_smf_compiler

Code: Select all

Under Windows, you will need the following to make this work:
Requires python 2.7 - (no surprise there) 32bit https://www.python.org/downloads/
While I haven't verified it, this might not be a hard requirement since the compiler code (including struct {un}packs) looks platform-agnostic.

The PyQt4 dependency and bundled (win32, but editbin-able) nvdxt could throw a small spanner in the works though.
Last edited by Kloot on 14 Mar 2018, 16:09, edited 1 time in total.
abma
Spring Developer
Posts: 3798
Joined: 01 Jun 2009, 00:08

Re: Compiling maps larger than 24x24?

Post by abma »

Silentwings wrote:abma, I think MapConvNG needs to be (re-)compiled with -static-libgcc. I only tried the 64 bit one.

At the moment (at least on Windows) when run it asks that libgcc_s_sjlj-1.dll be externally present, which it isn't in the current wiki dl. I tried manually placing a version of that dll next to the exe, which resulted in the new error "The application was unable to start correctly (0xc000007b). Click OK to close the application", see screenshot - perhaps differing versons of libgcc_s_sjlj-1are to blame, but I thought there was only one even semi-recent version.

very likely you need to use the same version which was used when compiling this executable. IMHO its easier to recompile when you have linux... why is there no bug report about that the executable is not working? :-P
User avatar
Silentwings
Posts: 3720
Joined: 25 Oct 2008, 00:23

Re: Compiling maps larger than 24x24?

Post by Silentwings »

You know my setup, im on Windows, back then XP, you know the map-converter i used back then, its the same old mapconverter everyone used back then- mothers mapconverter.
Presumably "back then" was before my time. I have never come across "mothers" mapconv - the only mapconv I'd used before today was one I got 7 years ago, from Behe (his own self-compiled one). Also I hope you update your OS ;)
why is there no bug report about that the executable is not working?
There will be.
User avatar
Silentwings
Posts: 3720
Joined: 25 Oct 2008, 00:23

Re: Compiling maps larger than 24x24?

Post by Silentwings »

Good news everyone

Running pymapconv with a (non-LAA) 32-bit python intepreter is able to compile 28x28 maps. Better still, it does so using ~1Gb of RAM, so its likely to do up to 40x40, at least.

Having now played with a few mapconvs, pymapconv wins by a mile.

See https://github.com/Beherith/springrts_smf_compiler for the python code and/or Windows binaries.
Post Reply

Return to “Help & Bugs”