Compiling maps larger than 24x24? (solved)
Moderator: Moderators
- Silentwings
- Posts: 3720
- Joined: 25 Oct 2008, 00:23
Compiling maps larger than 24x24? (solved)
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.
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 (167.44 KiB) Viewed 2516 times
Re: Compiling maps larger than 24x24?
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.
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.
- Silentwings
- Posts: 3720
- Joined: 25 Oct 2008, 00:23
Re: Compiling maps larger than 24x24?
Thanks! I had wondered if it was that.
Re: Compiling maps larger than 24x24?
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)
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)
- Silentwings
- Posts: 3720
- Joined: 25 Oct 2008, 00:23
Re: Compiling maps larger than 24x24?
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.
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
Re: Compiling maps larger than 24x24?
Have you tried using large jpegs as base texture source?`
The problem is after all running out of memory while loading the texture..
The problem is after all running out of memory while loading the texture..
- Silentwings
- Posts: 3720
- Joined: 25 Oct 2008, 00:23
Re: Compiling maps larger than 24x24?
@kloot: from readme.md of https://github.com/Beherith/springrts_smf_compiler
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...
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/
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.PicassoCT wrote:Have you tried using large jpegs as base texture source?`
Re: Compiling maps larger than 24x24?
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.
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.
- Silentwings
- Posts: 3720
- Joined: 25 Oct 2008, 00:23
Re: Compiling maps larger than 24x24?
What worked ... which mapconv, which OS... ? I'm not at all keen on jpg though.Well it worked for me.
Re: Compiling maps larger than 24x24?
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/
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/
Re: Compiling maps larger than 24x24?
While I haven't verified it, this might not be a hard requirement since the compiler code (including struct {un}packs) looks platform-agnostic.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/
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.
Re: Compiling maps larger than 24x24?
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?
- Silentwings
- Posts: 3720
- Joined: 25 Oct 2008, 00:23
Re: Compiling maps larger than 24x24?
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 OSYou 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.
There will be.why is there no bug report about that the executable is not working?
- Silentwings
- Posts: 3720
- Joined: 25 Oct 2008, 00:23
Re: Compiling maps larger than 24x24?
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.
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.