It appears that the 2.4 patch goes live today. Cross your fingers and hope this still works.
Using the WoW_2.4_Data branch of Astrolabe until everything gets updated.
I don't know anything about the new zone. QuestHelper has a dummy route linking the existing world to it, but this is just to keep it from breaking, you shouldn't try to follow it.
Version 0.38 Uploaded 03/18/2009
Wrote a spider to copy quest data from www.wowguru.com, to suppliment the dwindling supply of non-English quest data.
Version 0.37 Uploaded 03/15/2008
Fixed the route through the Dark Portal. The pathing data got calculated before the player's level was set, and thus the route was set to take 24 hours, which was my solution to prevent QuestHelper from directing low level players from wandering into OutLands.
I think the previous version had all unknown flight times estimated as taking one minute, which I had done while debugging the lockups. It should now be back to reasonably accurate guessing.
Talking to a flightmaster QuestHelper didn't previously know of should now recalculate the pathing data. This mostly applies to non-English users, where QuestHelper hasn't learned them already.
Version 0.36e Uploaded 03/13/2008
Should now not lock up your computer.
Should no longer suggest getting the flight point in Moonglade if you're not a Druid.
Should hopefully not crash when trying to calculate flight times.
An interrupted flight timer should no longer reappear if you lose control of your player.
Added an approximation symbol to flight times that are just guesses. Although it won't show up for times that were guessed from taking a known path and reversing it, I didn't bother checking for that case.
Version 0.36 Uploaded 03/08/2008
Added ETA to flight node tooltips, requires the display of flight times to be enabled.
Fixed a problem preventing flight routes being looked up from the static data.
Includes jeskeca's patch to give undoable objectives (incomplete quests for example) grey backgrounds.
Version 0.35f Uploaded 03/05/2008
Added /qh ftime to toggle display of the flight timer. If you're already flying, it doesn't apply to the current flight.
Added /qh purge to delete all your collected data.
Removed some text I was using for debugging.
Fixed indexing a nil variable.
Hopefully fixed a little oopsie I made regarding factions and non enUS locales.
Version 0.35 Uploaded 03/05/2008
Nag command will now only provide information for your own faction.
Included the northern lifts in Thunder Bluff in pathing.
Altered linkage between Blade's Edge Mountains and Zangarmarsh.
Fixed bug with finding functions for processing localized text.
Rewrote most of the stuff dealing with flight points.
Previously collected data regarding flight routes has been deleted, I'm starting over.
Should be able to make good guesses as to the flight routes the WoW client would assign you for a specific flight master, by talking to any other flight master on the same continent.
When flying, calculates routes from where you're flying to instead of where you are.
While flying, displays an estimate of the remaining flight time. Will probably be inaccurate until all the data I deleted is recollected.
Version 0.34 Uploaded 03/03/2008
Added French localization.
Fixed pluralization of German words.
Added /qh version command.
Not appending verbs to objectives that didn't match the patterns they were supposed to.
Loading inside of an instance should no longer cause problems when interacting with NPCs and looting items.
Version 0.33e Uploaded 03/01/2008
Hopefully fixed the cartographer waypoints interface to work in non-english locales.
Added ability for translation strings to transform nested text.
Includes a German localization.
Changed the way localized strings are parsed.
Nagging was broken, fixed it.
Was printing 'HOME_CHANGED' when flight routes were updated.
Text displayed while searching was wrong.
Map overlays weren't hidden when starting if they were supposed to be.
Version 0.33 Uploaded 02/28/2008
Moved more of QuestHelper's strings into lang_enus.lua.
Missing translations are now marked using red backets containing the missing token and a fallback translation in English.
Fixed a problem with determining the users home in non-english locales.
Fixed a problem with sharing location objectives with peers.
Version 0.32 Uploaded 02/27/2008
Fixed some bugs related to locales, static data contains a few translations for items and npcs but no quests.
Version 0.31 Uploaded 02/24/2008
Fixed a problem with the peers you were sharing objectives with disappearing.
Fixed a problem asking Astrolabe about a non-existent zone when using Cartographer Waypoints and switching continents.
Started support for translations, although nothing has actually been translated.
Should hopefully load with locales other than enUS, but as the existing static data isn't compatible, you'll need to start from scratch.
Now tracks looted containers.
Version 0.29 Uploaded 02/08/2008
Fixed some issues with map behavior.
Version 0.26 Uploaded 01/24/2008
As might be expected, more updates to the static data.
Added /qh hide command, will hide the map icons and stop calculating routes, but continue to collect and share data.
Changed how the position weights in the static data were calculated, large values will decay, allowing less popular locations to catch up.
Should now not suggest that players under level 58 walk to Shattrath City and use the portals there.
Includes some changes based on a patch emailed to me to deal with AddOns that mangle quest names.
Version 0.25 Uploaded 01/15/2008
Added a bunch of emails.
Added /qh ants, will toggle the ant trails on and off.
Added some asserts when calculating the player's position, let me know if they trigger.
Version 0.24 Uploaded 01/10/2008
Removed the graph command. I suspect it caused some people some grief.
Won't attempt to communicate with party members from other realms, i.e., in battle grounds.
Version 0.23 Uploaded 01/06/2008
Menu positions now account for their effective scale.
Ignoring a user objective will now delete it instead.
Made dumped data more visually pleasing.
Version 0.22 Uploaded 01/05/2008
Will restore your original quest selection after scanning your quest log.
Will hopefully properly determine the faction of a vendor now, and not direct you toward someone that will kill you.
Added solo mode, /qh solo, will ignore everyone else in your party and pretend you're playing alone.
Version 0.21c Uploaded 01/02/2008
You can now disable filters from the hidden objective list.
Version 0.21b Uploaded 12/29/2007
Will try not to replace the waypoint to your corpse.
Will remove the waypoint when you have no objectives left.
Will try to keep menus from going off the bottom or top of the screen when making them appear under the cursor.
Will refuse to run if it doesn't recognize your saved data; the format is probably going to be changed in the future.
Menus have been switched over to use the new frame recycling API.
Some nice guy from the interwebs bought me a gamecard, so I got to play a little bit today, and spent a little time giving QuestHelper the ability to change its colours based on the current date. Now why on Earth might I have done that?
Working on moving the project over to git.
Version 0.20c Uploaded 12/21/2007
Tiny bit more data.
Fixed a bug that occured when you didn't know any flight instructors for your faction. Or compounded it further. Only time will tell.
Version 0.20b Uploaded 12/21/2007
Wrote a script to detect obsoleted input files, such as when somebody emails me a newer version of a file that they had already emailed to me. Should prevent weights in the generated data from getting biased.
Will delete references to quests and flight instructors that don't belong to your faction.
QuestHelper would do bad things if need an item, it knew the monsters that dropped that item, but had no idea where any of those monsters were.
Version 0.20 Uploaded 12/16/2007
Got quite a few emails on the weekend, so there should be a bunch of new quest information.
Just because I can't play Warcraft doesn't mean I can't still improve things. Reduced the RAM used by static.lua by about 270KB, by removing duplicate tables, and having everything reference the first instance. All that searching also increased the generation time by a few hundred fold, but all well. It's a one time thing for code most people aren't going to run.
Static data should no longer include monster that have been seen to drop an item, but had a probabilty so low that it wasn't actually included in the list of monsters that drop it.
Version 0.19e Uploaded 12/15/2007
Includes data from two more people, and fixed a bug with the nag command. At least I think I fixed it, can't really test it.
Version 0.19d Uploaded 12/14/2007
More changes to the static data, and the nag command is now aware that the static data filters improbable data, and shouldn't complain about things that aren't likely to be included.
This will probably be the last update until I return in January, aside from keeping the static data up to date with whatever people email me.
Version 0.19c Uploaded 12/14/2007
Objectives contained links to unconnected nodes, breaking path finding. I can't fix the problem right now, but I can try to hide the symptoms.
Accidently averaged the y components with the x components when combining positions in the static data. All the positions were wrong. This is probably the kind wierdness that happens when you give yourself a deadline.
Version 0.19b Uploaded 12/14/2007
Includes the staticmerge.lua script.
In the process of writing said script, I noticed two more bugs in my merging code and fixed them, so static.lua should hopefully contain more accurate locations than the previous upload.
Version 0.19; Uploaded 12/14/2007
The static data was missing the quest information for the additional quests with the same name. Oops!
Did some more work to get QuestHelper to use its memory more effectively.
Will delete references to data not intended for your locale and invoke the garbage collector on startup. If I actually supported multiple locales, this might have been a useful change. Maybe in the future.
Menus weren't getting recycled due to a bug. Fixed.
Will record where you've set your home to.
Calculates most of the information needed to include teleport spells and the hearthstone in routing, but I don't think I'll have time to actually get the pathfinding functions able to use it before my account expires.
When nodes are overlapping, they'll all glow, not just the one on top.
Will offer to set the priorities of any objectives that are preventing you from using the priority you asked for.
Version 0.18; Uploaded 12/12/2007
The portals in Shattrath City have been added to the world graph.
Objective sharing can now be turned on or off with /qh share.
Fixed an assertion error when objectives were removed while routing was still inserting them. Happened a lot with objective sharing, when a party member joined and then quickly left.
Shared objectives now set the quest they belong to, quest specific item objectives couldn't be seen by peers unless they were on the same quest.
The offset used by the level filter can now be adjusted with /qh level offset.
Fiddled with the math for calculating your effective level for group quests, when you don't have the matching number of people in your group. You can see your effective level with /qh level.
Using the find command without any arguments will now return your user objectives, so you can easily remove them.
Tried to improve memory usage:
Flight routes which nobody has flown yet have been removed.
Hashes were removed for quests for which only one quest by that name is known to exist.
The static database has been purged of monsters and items that haven't been seen to be used in any quests so far. Sure, there's a non-zero chance I removed something important, but that's what you get for complaining about the memory footprint.
Version 0.17; Uploaded 12/09/2007
If the following changes don't interest you, you might want to stick with 0.16, as this is a lot of new code and haven't spent a lot of time testing.
Started on working cooperatively with other party members.
Will automatically share your quest related objectives with your peers.
Quest progress is shown in the tooltips.
User created objectives can be shared using the right-click menu.
Objective priorities are shared between users.
Version 0.16; Uploaded 12/07/2007
New priority system for objectives.
Timed quests automatically get an above normal priority, so that they will get assigned before non-timed quests.
Right clicking on the objective on the minimap will now show a menu for that objective.
Did a little more work on the menus.
Can now hide objectives that aren't in your current zone, or objectives that aren't to turn in quests. Can turn filters on or off with /qh filter.
Version 0.15; Uploaded 12/06/2007
Fixed the problem with the failed assertions that happened after pathing information was reset.
Fixed a bug with my Astrolabe kludge.
Game no longer freezes while searching, and displays multiple results via a menu.
If you've discovered anything that I don't have in the supplied database, it will display a message when starting.
Won't hide objectives to turn in quests to due their level requirements.
Added some slash commands, try '/qh help'.
Version 0.14; Uploaded 12/05/2007
Fixed the missing tooltips with AddOns that scale the world map, such as Cartographer and Metamap.
Overlapping objectives in tooltips are now sorted by their estimated travel time.
Icons have been separated from their backgrounds, so I can easily change their colours without having separate images.
It seems the problem with the overly large menu items was caused by the menu being scaled at the time the size was calculated.
Routing should be much more responsive to objectives being added and removed.
The 'Make this objective first' option has been broken. It will probably be replaced by some kind of priority system later.
Version 0.13; Uploaded 12/03/2007
Fixed the problem with the minimap arrow jumping all over the place.
Minimap arrow will silently do nothing if it is changed to the same objective it's already pointing to (saves recalculating the waypoints to the objective.)
Created more icons for the various objective types.
Fixed yet another bug with missing quest items.
Now includes a horrible kludge to figure out the correct zone the player is in, when you're looking at a neighboring zone and your character is still visible. Astrolabe would declare you to be in the zone you were looking at.
Gave up on tracking zone transition locations. Too many special cases I don't want to deal with. They're now all hardcoded into pathfinding.lua.
Can deal with overlapping objectives. In most cases, anyway.
Menus seem to work better than before, it seems I wasn't changing the parents of the recycled items, and if their old parent was hidden, so too would they. Now the big problem with them is their size isn't getting calculated correctly. Probably something obvious that I'm too tired to see.
Version 0.12; Uploaded 12/01/2007
List of known positions for something could be erased when trying to add a location that wasn't valid, a function was returning nil instead of the old unchanged list in this case.
Created some icons. I'll customize the images for different objective types later.
Will only show one menu at a time, will automatically hide the old one.
Made the code for merging positions much more strict.
Will go through your saved data and remove any locations that don't seem to be possible.
Removed a whole lot of seemingly impossible locations from the static data.
Will take the time to calculate a route the first time it checks your quest log, at the risk of making already pretty sad loading times even more miserable.
Updating the route takes a stupidly long time to finish, so to keep you from having wait around for the objectives in the route to be updated, the arrow on the minimap will automatically point to the first objective on the route that isn't queued for removal.
Route calculations will now occur even when viewing the world map.
Recalculating the world graph will be deferred until such time as the routing co-routine is some place safe. If an objective wasn't in the route because it was being moved to another position, it would lose its pathing data, and bad stuff would happen.
Added a sanity check that will prevent QuestHelper from running and corrupting itself in the inevitable event that Blizzard adds/rearranges the zones in the game. Because somebody is bound to try running it anyway, even with the version mismatch. I know I would.
Version 0.11; Uploaded 12/01/2007
Wrote functions for creating menus. There seems to be some horrible bug related to recycling them, but I can't figure it out and I'm not going to worry about it for now. You can drag them around by their title or right click on their title to close them.
You can right click on an objective on the world map to create a menu for it, and from that menu you can request that it be ignored for forced to the beginning of the route.
For the people that couldn't zoom out of the map, that might have been fixed, too.
Version 0.10; Uploaded 11/30/2007
Will ignore quests you're probably not capable of doing.
Minimap arrow should now unhide itself when entering/leaving an instance or continent.
Asking for the same objective twice will remove it.
Route objectives contain an array of distances to nearby nodes, but they weren't being updated with the world graph. If new nodes were created, pathing would break when it tried to do math on a value that didn't exist.
Version 0.9; Uploaded 11/29/2007
If you put the mouse over the an objective on the world map, all known locations for it will be highlighted on the map.
Wrote a script to generate the zip file for me, which will save me from having to delete the unneeded bits each time, and also hopefully ensure that the directory structure remains sane.
The player's position wasn't being updated while flying. When the player landed, it would think you were still where you took off from, think that was where you flew to, and crash and burn when it discovered that that wasn't one of the possible flight routes you could have taken.
The routing co-routine will perform no more than 5 pathing operations per frame. Should prevent performance from degrading with lots of objectives.
Version 0.8; Uploaded 11/27/2007
User waypoints can be created by typing '/find <what you want>'. Begin with the word "item", "npc", or "loc" to only search for things in those categories. If you don't say what you want, it'll search everything it knows of. Locations can be prefixed with a zone name, to add the location in that zone instead of your current one. All text is compared using Levenshtein distance, so it should be able to handle typos and partial matches. It also makes it slow as hell. At the moment, you can't remove objectives or force them to be first, so this is almost useless.
If an item can be purchased, it will always suggest this. No more telling you to kill the people you talk to, just because they were on your route and killing them is faster than walking to the vendor.
Fixed bug with graph searching code, distance traveled was getting overwritten even when the fitness wasn't better.
Routing us now done using A* pathfinding instead of straight line distances. Actually, that's a lie, my herustic isn't working properly, so until I fix it, it's technically Dijkstra's algorithm. But the point is, it should be able make more intelligent decisions now.
The arrow on the minimap now points to the next place you should visit instead of directly at the next objective. So it might, for example, direct you towards a flight master.
Graph nodes that got merged due to their proximity sometimes didn't appear in all the zones they should have.
When a graph node was shared by more than one zone, and an objective could be completed in either of them, that node would be searched for twice, and couldn't be found the second time.
Most of the internals have been rewritten, so odds are good that if something was broken before, it will work now. Of course, the reverse is equally true. So, cross your fingers.
Version 0.7; Uploaded 11/21/2007
Started work on pathing, which is used on the world map display. Routing is still using straight line distance between objectives though, as I haven't programmed a proper heuristic for it yet, and I'm worried about performance.
Records information about flight masters, and keeps track of flight times between locations. Note that for a flight point to get considered in pathing, you need to talk to the flight master there.
Records the locations where two zones join together when you walk over the edge, for use in pathing.
Tooltips for objectives on the world map now include travel time estimates. Naturally, that doesn't include the time required for killing monsters and collecting items, or using mounts, swimming through water, obstacle avoidance, or anything else that'll affect your speed.
In the static data, quests without hashed objective text no longer get replaced by quests that do. Incomplete quests were hiding the imported quest data, so QuestHelper didn't know where to hand them in.
Version 0.6; Uploaded 11/18/2007
Due to a bug fallback quest information wasn't getting found. Now that it's fixed, it can now tell you where to hand quests in.
Fixed the bug with the vendor item objectives.
The dots on the world map are now spaced evenly.
Version 0.5; Uploaded 11/18/2007
Redid the routing.
Fix a bug with the unneeded red dots not getting hidden, and littering the world map.
Version 0.4; Uploaded 11/17/2007
Includes a lot more quest information, which was mostly imported from LightHeaded and EQL3.
Item gathering objectives should be working.
I think there's a bug in the routing, but I'll worry about that later.
Version 0.3; Uploaded 11/17/2007
Discovered that quest items are often returned to you, resulting in QuestHelper thinking you can acquire then from the same place you finish the quest.
Due to the above change, routing doesn't understand the way the data is organized now, so quests that involve gathering items are broken.
Version 0.2; Uploaded 11/16/2007
Now parse objectives involving reputation correctly, although I'm not tracking reputation changes from kills yet.
Keeping track of what vendors sell what items.
Hashed quest text, so I have some way to tell quests with the same name apart.
I think I fixed the bug with the empty item objectives.
Version 0.1; Uploaded 11/15/2007
Replaces the AddOn 'TravelingTomTom', and dropped TomTom as a dependency.