Release Map Converter / MapTileSet

Lose

Banned
Banned
Aug 13, 2020
387
2
233
45
Years ago Paul Kerr released a project called MapTileSet, which was created to adjust map tile references. Unfortunately at some point that code broke and just became a relic of the past.

1676621361702.png

There's so much content available, but we just don't have the tools to use it, so here's a solution!
We've tweaked and fixed this into a working version that will happily work with the Crystal client.

Map Converter GitHub

Please contribute and help keep this project going! no need to work in silos!


Download:


How does it work?

Step 1. Select the map that you wish to convert.


1676622025930.png

An example map that I have here is a purchase from Taobao, which is referencing a Chinese/Shanda client.
1676622071002.png

All the lib references will then be populated with the .map file references, that you can change.
1676622152647.png

Step 2. Change the references to existing/new libs

You can choose any available lib that is indexed within the list.
1676622243227.png

The image offset is going to tell the map to move all references to start FROM 21511. This means you can add all your images at the end of the existing libs and set your image to the last image, before you add the images in.
1676622305747.png

Step 3. Click save and enjoy!

1676622414159.png
 

Shady

Golden Oldie
Golden Oldie
Aug 5, 2004
1,376
45
155
This looks like the one LCD updated for me, it helps a lot with the new HD maps as many of them use more than just 1 object file / tile which the original tool didn't support.
 
Last edited:

mir2pion

TL;DR
Veteran
Feb 21, 2013
3,093
502
175
Nice release
I was just looking at this last commit that extends the index range and the more I have seen of that commit, the less I understand it.

You have extended ShandaMir2 range into WemadeMir3 map range and while I am not sure now, I think all mir3 maps use this WemadeMir3 range and the last index range 300-399 is ShandaMir3 which is not used at all. If I am correct on this, then I'd be all for it to reuse this last range for ShandaMir2 libs. I think those Shanda Mir3 libs are identical to Wemade Mir3 ones. But perhaps they have some higher quality images?
1676658977351.png

It won't hurt anything I suppose since it is everybody's responsibility to choose the index that will work (or else he needs to make mir client and map editor adjustments). But in that commit you seem to have gone wild with those ranges LOL

What I don't understand is that reference to layers. IMO layers have nothing to do with this re-assignment of map's libraries use.

I loaded several maps that I believe use ShandaMir2 libs but they all list using WemadeMir2 libraries (never mind the layer references). I guess it doesn't matter really, if that re-assignment works (because who cares what it was originally, as long as it sets the use of new libs correctly).
 

Lose

Banned
Banned
Aug 13, 2020
387
2
233
45
Nice release
I was just looking at this last commit that extends the index range and the more I have seen of that commit, the less I understand it.

You have extended ShandaMir2 range into WemadeMir3 map range and while I am not sure now, I think all mir3 maps use this WemadeMir3 range and the last index range 300-399 is ShandaMir3 which is not used at all. If I am correct on this, then I'd be all for it to reuse this last range for ShandaMir2 libs. I think those Shanda Mir3 libs are identical to Wemade Mir3 ones. But perhaps they have some higher quality images?
View attachment 30636

It won't hurt anything I suppose since it is everybody's responsibility to choose the index that will work (or else he needs to make mir client and map editor adjustments). But in that commit you seem to have gone wild with those ranges LOL

What I don't understand is that reference to layers. IMO layers have nothing to do with this re-assignment of map's libraries use.

I loaded several maps that I believe use ShandaMir2 libs but they all list using WemadeMir2 libraries (never mind the layer references). I guess it doesn't matter really, if that re-assignment works (because who cares what it was originally, as long as it sets the use of new libs correctly).
Some foreign files are like objects50 and my change was so that it can read/open these map references. The range on foreign maps are allowed to extend upto objects98.. but that's just for reading, not saving.

You'll only be able to change them to the crystal indexes though.

Some of the better foreign maps will have tiles, objects and smtiles split so the different layers start to matter.
Post automatically merged:

Nice release
I was just looking at this last commit that extends the index range and the more I have seen of that commit, the less I understand it.

You have extended ShandaMir2 range into WemadeMir3 map range and while I am not sure now, I think all mir3 maps use this WemadeMir3 range and the last index range 300-399 is ShandaMir3 which is not used at all. If I am correct on this, then I'd be all for it to reuse this last range for ShandaMir2 libs. I think those Shanda Mir3 libs are identical to Wemade Mir3 ones. But perhaps they have some higher quality images?
View attachment 30636

It won't hurt anything I suppose since it is everybody's responsibility to choose the index that will work (or else he needs to make mir client and map editor adjustments). But in that commit you seem to have gone wild with those ranges LOL

What I don't understand is that reference to layers. IMO layers have nothing to do with this re-assignment of map's libraries use.

I loaded several maps that I believe use ShandaMir2 libs but they all list using WemadeMir2 libraries (never mind the layer references). I guess it doesn't matter really, if that re-assignment works (because who cares what it was originally, as long as it sets the use of new libs correctly).
Also feel free to push any changes or improvements that you come across 😁. This is just the first release.
 

mir2pion

TL;DR
Veteran
Feb 21, 2013
3,093
502
175
Also feel free to push any changes or improvements that you come across 😁. This is just the first release.
Do you have the original Paul Kerr source? I mean the source for the second release of the 'updated' version of the MapTileSet. Or did you base this release on the first version of his code that he released in that original release post? Or maybe you started from scratch?

If so, would the code to that second release help you in any way?
 

Lose

Banned
Banned
Aug 13, 2020
387
2
233
45
Do you have the original Paul Kerr source? I mean the source for the second release of the 'updated' version of the MapTileSet. Or did you base this release on the first version of his code that he released in that original release post? Or maybe you started from scratch?

If so, would the code to that second release help you in any way?
I'm not aware of a second release.. 👀
 

mir2pion

TL;DR
Veteran
Feb 21, 2013
3,093
502
175
That was just a few days later, on the same thread. Second 'updated' release
Not sure if the link on that post will work, the OP on that thread does download the updated version though.

The first release was limited, like the map needed to have max two object libs, or something like that. The second release, so called 'updated' would work for maps that used multiple tile, object libs. But that was just a binary release. Sometimes this winter Paul Kerr showed up here and I bugged him and got the code from him for this second release.

But checking it now, it looks like your release here (before that last commit) looks like that Paul Kerr updated one, at least in its lib selection it can map to, or in the 'layer' the libs are using (I mistakenly thought layers weren't listed in those two Paul Kerr releases).
1676673500237.png

1676673598286.png
 
Last edited: