s2maCache Manager
Cache -> Maps tool.
r6
Default: Prints cachefolder path.
Option 1: Prints mapnames and locations from local cachefiles
- Find all *.s2ma files from the cachefolder.
- Using MpqLib to open the s2ma files.
- Get mapname without using locale ( ugly hack read from MapScript.galaxy autogenerated comments )
- Print Mapnames plus location
- repeat 4 until all valid maps have been printed.
also has an option to sort by Creation date.
Option 2: Copy cache maps to .\Maps and renaming them to <mapname>+<Creation date>.sc2map
- Find all *.s2ma files from the cachefolder.
- Get mapnames without using locale using MpqLib.
- Copy the .s2ma files to .\Maps and rename them to mapname.sc2map.
Option 3:
Same as Option 1, but does not print the mapnames( only locations ). Also has an option to print raw locations.
What may be coming:
- Save locations to file.
- Smaller size of application by integrating a new mpqlib made by myself.
By Borgen
If you can get the maps out manually, then you're not doing anything wrong by hosting this program, simply automating a tedious process.
Getting an error when I run option 1:
92 maps in cache found in C:\ProgramData\cache\*! Processing names...
Namelister cound not find cachefolder! Is starcraft 2 installed?
Option 2 just makes an empty Maps folder and says "Files successfully copied".
Ive had some complains to that this helps people to steal others maps. This was not my intention and i really think that the maps should be protected. I see that the post from the main site was removed probably from this reason.
From a pm: The reason i made this program was that i wanted to play a small map from US that wasnt published at EU. It was too tedious to explain where the random folder may be, so i made a small program so i can send it to a person using a US account. I really support locked maps, its just that i want to play maps also and the only way to do this is to publish ( or use some mapswapper - but it needs a friend ). Also sometimes you want to play a singleplayer map without internet, you can extract played map here.
Please comment on this.
No need to exclude Blizzard maps imo, :P.
And they changed the cache directory once. But yeah, I doubt it'll change again, now that the game has been released.
@vjeunx
Sure, i can modify my program to lets say, copy all the maps in the cache to a folder in the workingdirectory and rename them to mapname.sc2map. Though because im not using locale at the moment we will lose prefixes as number of players per map etc. I will make a simple menu for my two options. Expect it to be up soon. Should i exclude Blizzard maps ?
Keep the suggestions coming.
Edit: Also since this does not check fileversion/crc yet, its first-come, first-served for the map with the same names. It wont overwrite maps with the same name atm. I may change it to just add an number after if it finds the same name. Maybe a date identifier after?
Edit2: New version uploaded.
Could you copy all the files in the current directory and named <Map Name>.sc2map?
This would make it less boring to get the map you want :)
@sixen
It was written in c# .net 3.5 ( as MpqLib required 3.5 ). As long as the files stay somewhere in the cache folder this will list them. I doubt that blizzard will change the cache workdirectory.
Just wondering, since this is automated, will it break with new patches, since the cache paths change if maps are updated.
And what language did you write it in? =).