Position filtering rocks!

Friday, March 30. 2007
I finally implemented the first version of position filtering in the database builder software, something I wanted to do since I've released MobMap to the public, but I first needed a decent number of people uploading data on a regular basis (which I've got now - big thanks to all you guys uploading data to the database!!!) to make this work.

Basically this filtering does two things. On one side, mobs/NPCs which are noted to be in two or three zones, but in reality are only present in one zone are now being filtered - or, better said, these "ghost" positions in the other zones should be excluded from the database. On the other hand, the wild "scattering" of position dots around the fixed position of an NPC should now be filtered too, with just the true position of the NPC being included in the final database.

Because this filtering stuff is fully automated, it might not work perfectly well for all mobs and NPCs. I did some random inspection ingame after I set the filtering parameters to reasonable values, and for me everything looked good, but the next days will probably show if this works out as desired. The filtering is implemented in a "non-destructive" way, meaning no single position entry in the backend database is being deleted when the filtering is applied, so if it turns out that this thing needs some serious retuning at least no valuable data would be lost.


However, time to see what's gained with this new "feature": the position database needs around 510 kbytes less memory ingame (measured with the german database version, but should be similar for the english version), and many NPCs that weren't clearly locatable because of too many scattered positions are now much easier to pinpoint :-) definitely an improvement!

You'll just have to download a new copy of the database to profit from the now much cleaner position database. There's no addon update needed for this.


While I wrote all this filtering stuff I stumbled over a tiny bug in the MobMapUpdater that caused it to upload erroneous data to the database in some special cases. I fixed this bug and cleaned the database of the erroneous data already uploaded. And because that was just a good opportunity to include proxy authentication support in the Updater, I also added that functionality before releasing MobMapUpdater 1.21. If you need this feature: add the command-line arguments "--proxyUser [username]" and "--proxyPass [password]" to the MobMapUpdater command line to enable proxy authentication and supply the necessary credentials.

MobMap v1.20

Saturday, March 24. 2007
Just released MobMap v1.20.

The focus in this update was mainly on performance/memory optimizations. The MobMap addon with its now almost 4000 lines of code had just went through its first code refactoring phase, in which I modularized the addon much more than it was before. The code and UI parts for the individual databases were taken out of the main addon and placed into separate files which get loaded together with the according database on demand. In addition to that, I changed a few things in the database format to support this modularization.

All this does result in two improvements:
- The MobMap core addon (the one which is always loaded on startup) memory use dropped to 190 kilobytes from 627 kilobytes before the refactoring. The loading time at startup also improved from 0.164 seconds to 0.093 seconds.
- The biggest database part, the position database, had to be loaded at the first use of MobMap before v1.20. This was necessary because this database contained some information that all the other databases relied upon. The new database format now splits out those parts from the raw position data, which now only gets loaded the first time you really want to display a position. So if you just search for a recipe, a quest or a merchant, the position data won't get loaded anymore.

In addition to this code refactoring, the data export routines were optimized to be much faster (especially with bigger amounts of data).

Besides those performance-related changes, another "functionality" has been added to 1.20 - though you won't see much of it right now: MobMap now also collects loot data. I plan to use this data in several ways: on one hand, I want to provide a database that contains the positions of quest items you get from chests, boxes and similar objects in the WoW world. On the other hand, I might one day add a loot table database to MobMap, however this is not definitely sure yet because I first have to see if and how these big amounts of data can be compressed to fit nicely into the limited amount of WoW addon memory.

Corrupt database

Monday, March 19. 2007
I'm sorry, due to a bug in the database builder software a corrupted version of the MobMap database was online for download during the last 4 hours. The bug has been fixed, however if you downloaded a copy just in that timeframe you will have to re-download it again.

The error manifests itself in the MobMap addon in a big error frame that pops up the moment you try to open the quest tab.

MobMap v1.14 released

Sunday, March 18. 2007
MobMap v1.14 is out! This one brings some nice new features and fixes an incompatibility problem with Macintosh systems.

v1.14:
- changed: DATABASE FORMAT CHANGE! You will need to get an updated database copy!
- added: a new item name helper database that enables the user to search for item names in the quest and merchant tab
- added: a new slash command /mobmap clear to wipe all collected data without having to open the data export frame
- added: an option to turn off the MobMap world map tooltips
- added: information about where to get buyable recipes and recipes from quest rewards - you can have MobMap search for the merchant or quest with just one click at the recipe tab
- fixed: MobMap should now work correctly on Macintosh systems.

Due to the database format changes you will need to download a new copy of the MobMap database either manually or using the Updater (which has also been updated to v1.13, by the way). If you forget about that (or download the database update but don't upgrade the addon) you will get an ingame warning screen as soon as you try to use MobMap.

[edit] shit, a typo in the MobMapUpdater source code fucked up v1.13 :-( had to fix that and release v1.14. The only good thing about this is: now version numbers are finally synchronized again ;-)

MobMapUpdater got updated

Thursday, March 15. 2007
I did some changes in the internals of the MobMapUpdater tool. Most importantly: the MobMapUpdater now has http proxy support!

The Updater will automatically use the Windows proxy settings (those you can configure in the Internet Explorer). If you want to use the MobMapUpdater behind a proxy you will have to download the newest Installer executable and install the Updater, even if the tool is already installed on your machine. This is necessary because the automatic update procedure cannot update the 'selfupdate.exe', so you wouldn't be able to download new MobMapUpdater versions using the proxy if you don't reinstall the whole program.

Besides that, I switched from gzip to bzip2 compression for the database download, which saves a few hundred kilobytes of traffic on each database update due to the much better compression ratio of the bzip2 algorithm. I also introduced bzip2 compression in the addon update procedure (these lua and xml text files can be compressed really well!).

Some error with the german database

Wednesday, March 14. 2007
For some reason the german database rebuild does fail since 17:00 PST. I'm on it to get this up and running again...

[edit - 10 minutes later]: Don't worry, everything is running smoothly again. It was actually a pretty simple error - for the techies out there: the Java Virtual Machine that hosts the database builder program did hit its former heap size limit because I somehow underestimated the rate at which the database has grown during the last week ;-)

MobMap v1.13

Wednesday, March 14. 2007
I did just put MobMap v1.13 online for download.

First of all, the changelog:
- fixed: token icons on merchant items which are bought in exchange for tokens are now correctly displayed
- added: support for Extended Questlog
- added: partial support for UberQuest
- added: item tooltips for the recipe list entries
- fixed: tooltips in various MobMap menus are now correctly displayed whether the world map is shown or not
- fixed: the quest detail frame is now displayed correctly whether the world map is shown or not
- added: another alternative position for the MobMap button on the world map frame (below the actual map)
- added: the option to completely hide the MobMap button

Originally I wanted to add full support for MonkeyQuest, Extended Questlog and UberQuest ("support" in this case means that the little questionmark-buttons which allow to quickly search for quest titles or quest mobs also appear when using these mods instead of the Blizzard default UI). MonkeyQuest and the UberQuest quest watch frame however are internally constructed in a way that makes it somewhat impossible for me to get MobMab to add those buttons to their frames. So v1.13 will now add full support for Extended Questlog and support for the UberQuest quest log frame (but not for the quest watch frame).

MobMapUpdater.BugCount--

Monday, March 12. 2007
Another error in the MobMapUpdater has been fixed. This one could cause the updater to get stuck in an endless loop at the initialization phase if specific data was collected by the MobMap addon in the SavedVariables file.

The new version 1.11 is online and should be automatically downloaded the next time you start the updater.

The tiny little bugs now start to emerge...

Sunday, March 11. 2007
Just uploaded MobMap v1.12 which corrects an error that caused the quest and merchant tab to not display any quests/merchants if no zone name was entered in the zone filter box.

Forgotten files are a pain in the ass

Saturday, March 10. 2007
Damn, I seem to have forgotten to upload some new files necessary for the load-on-demand database. All the people who have updated their MobMap installation in the last 6 hours using the MobMapUpdater will probably have a broken installation now (the missing files were included in the 1.10 installer package and the zip file for manual download, so this only affects those who tried to update using the updater).

I just uploaded those missing files and created MobMap v1.11 - there is nothing new in this version, I just had to increment the version number so all the people who got the broken 1.10 version via the MobMapUpdater will be able to download the brand-new, now-including-all-files-version 1.11. I'm sorry for this mistake.