Please, if you like this project, share your experience.
Changelog
v1.2 - Stable :
Notes : I focused mainly on bugs correction and made it more user friendly.
Quite a good version IMO. Don't hesitate to try it out.
- Bug fixed : when moving your character around the program would crash because of bad function call.
- Much more talkative program : you now know what's going on.
- Much more stable, lots of optimizations, less leaks.
- Tile size now configurable (default : 80x80 pixels -> a bit zoomed out)
- No more black screen of death
- Number of folders included replaced by max_number_of_tiles (default : 2000)
- Added a map max loading time (default : 20 seconds)
What's coming next :
- Indexer : You'd first have to run a script which would index all your tiles and build a map based on it).
=> Will require lots of time at first usage (specially for old players) but will then generate a nice map very quickly.
=> An indexed map would allow the tool to save markers' positions effectively.
- Big tiles : Generate big tiles so there are less objects on the canvas thus better overall performances.
Known bugs :
- Thicket areas (fucking thicket) appearing black.
v1.2a - Laggy
Notes : Still some work to do (optimization greatly required), but the results are awesome in my opinion! Hope you like it.
- Configuration made easier (in the first lines of the function __init__, there are variables and comments...) - but still quite dirty => need to make config file.
- Loads last map folder + older folders (number of folders to set in "self.number_of_folders_to_show" variable.
- @TODO : View optimization (moving canvas is way too laggy with more than 50 folders). - FIXED in 1.2 - Stable
- @TODO : Optimization of the refresher (when new tiles are shown in the session), reloading the whole map is very very dirty

- @TODO : Craft something cleaner than a black screen when current folder is empty. - FIXED in 1.2 - Stable
- @TODO : Find some curios and get some sleep.


v1.1a
- Now loads your last map folder (based on currentsession.js)
- Everytime a tile appears in the folder, draws it, and tries to center on it (buggy, needs client informations, pending question to Ender.) - Awesome for dual screen users.
- Hotfix : crash when nothing in last map folder corrected.
v1
- The program finds your biggest map folder, and show its content.
- Map draggable (if it's too fast for you, change the "gain" value line 61 to something lower)
Installation notes
It's a python script.
Windows :
From Binary :
- Download this file : https://drive.google.com/file/d/0BzKNp_JzxbpYejZnU0NPSHEweTQ/edit?usp=sharing
- Rename it removing ".fugoogle" so its name becomes : BIN.zip
- Unzip it in your Ender's client map folder.
- Launch the mapper[version here].exe
- Enjoy !
From sources :
To use it you need python 2.7
And the Python Image Library (PIL)
You need to place the script in your ender's map folder ([Ender's installation folder]/map)
And then right click on it, select "open with..." and chose "python.exe"
Linux : [not tested]
[FEDORA] yum install python tkinter python-pillow-tk (thanks romovs)
In a terminal, run : [apt-get / yum / whatever you use...} install python python-imaging
Then : cd /your/map/directory && python mapper.py
Improvement ideas
- add markers for water/soil/clay nodes, caves, homes, friendly places, hostile places, (saveable to config file which could be shared)...
- instead of just showing the bigger map folder, compile all folders to show every place one have visited!
- in game map replaced with this one **
- [your idea here...]
Hope you like it!
Feedback greatly appreciated.
* As it is shipped as a source file, you can edit it with your favorite text editor and check out the code (66 lines atm).
You'll see that it's harmless and hopefully, some hnh wizards will tell you that in this thread posts.
** Replacing in game map would require the game to ask this program for the map instead of hnh map server.
This program would open a socket to listen to the client and act as a proxy between hnh map server and the game client.
Tiles coming from hnh server would be compared to the local library, and once they match, the program could send ender's client the whole map saved by the user (with the markers in the images).