promotional bannermobile promotional banner

QuestHelper2

Abandoned
QuestHelper2

File Details

0.7

  • B
  • Dec 7, 2010
  • 1.28 MB
  • 259
  • 4.0.3a
  • Retail

File Name

QuestHelper2-0.7.zip

Supported Versions

  • 4.0.3a

tag 0.7
7a00a69d7e4fc92a0b63dc74a75a155f8a8ca75b
smariot <smariot@gmail.com>
2010-12-07 05:13:38 +0000

0.7 beta

--------------------

smariot:
    - Made typing /qh2 display the configuration panel.
    - Damn, the templated sliders have freaking huge hit boxes. Going back to creating them manually, so that trying to change one doesn't alter the one above it.
    - Manually arranged the settings, rather than displaying them in alphabetical order.
    - Added options for displaying quest levels, and colouring quests by difficulty.
    - Added database statistics to the database configuration panel, and a button to erase everything.
    - The configuration panels should (hopefully) properly resize themselves when switching locales.
    - Replaced UNIT_QUEST_LOG_CHANGED with QUEST_LOG_UPDATE, the event wasn't being raised in some places where I needed it to.
    - Fixed a bug in quests involving reputation.
    - Might possibly have fixed the assertion failures when using QuestGuru.
    - Fixed a failed assertion when handing in quests, though not the one I was actually looking for.
    - Attempted to make the autoquest buttons stand out more. This would look nicer if I could set the colours of individual verticies independently, so that I could have the sides completely transparent.
    - List the number of filtered quests and their names below the options for filtering quests.
    - Added some methods of filtering quests.
    - Fixed a minor bug when the routing code tries to add an objective that had since became disabled since it began.
    - Added values to slider tooltips, and added an 'integer' setting type, for use by the level offset filter setting.
    - Added settings for filtering quests, but they don't do anything yet.
    - Allowed the objective text under the arrow to be disabled, or its width customized. Also added magenta region previews when adjusting the size of the arrow text and tracker.
    - Remove the references to a selected objective from the routing code, as this is now handled elsewhere.
    - Objectives on the tracker can now be selected to force them to maximum priority.
    - Try to prevent map objective blips from overlapping too much.
    - Always show root objectives with gold text in the tracker, even if they can't be completed yet... unless the tracker isn't set to group objectives by quest, in which case they're treated exactly as regular objectives.
    - Drew an texture specifically to represent the player, rather than recycling the ant arrow texture.
    - Fixed a bug which might have been the cause of that intramap assertion error, but I can't see anyway for it to get triggered until there are dynamic changes to map linkages, and they should be static right now, so I'm not holding my breath.
    - Recompiled the quest database.
    - Added distances to the objective arrow.
    - Slightly saner pathfinding check to see if two entrances belong to the same building.
    - Oops, I didn't mean to commit that.
    - Only register updateBlipTargets to be called if there is actually a map being displayed.
    - Rewrote the configuration panel.
    - Keep track of the order players complete their quests in, so that I might eventually infer the dependencies between them.
    - Draw the player on the tooltip minimaps.
    - When displaying multiple objectives on a single map, merge similar positions until there are no more than 8, so that it doesn't get too noisy.
    - Added little spinning things around the location blips to make them easier to locate; and made maps for locations inside buildings zoomed in with green blips marking the entrance.
    - Added shadows under the tooltip map names to make them more readable, and fallback to using map names in place of the names of instances; as the game strangely doesn't seem to provide the names of instances. Unfortunately, the map names aren't localized, and in fact don't even always match the English name of the instance, but it's probably better than nothing.
    - Made an objective tooltip function that accepts a list of objectives; the map of is handled in that case by merging all their locations into a single list and displaying it as if it were a single objective.
    - Temporarly enable the 'questPOI' console variable if it isn't already when scanning for quest POIs, because for some brain damaged reason Blizzard's POI functions don't seem to return anything when it's disabled.
    - Added shadows to the objective location blips; they're hard to see over snow.
    - Added zone names to the tooltip maps.
    - Fixed some bugs with routing, and made routing take objective priorities into account (not that there's any way to set objective priorities, yet.)
    - Make tooltips listing multiple objectives colour unobtainable objectives grey; and desaturate objective buttons that aren't referencing any obtainable objectives.
    - Don't explode when asked to calculate a path with no possible starting positions... though this is probably a symptom of a bug in extramap.lua I don't believe it should be making such requests.
    - Missed some textures.
    - Added little mini-maps to the objective tooltips, and added some buttons to the world map.
    - Started objective tooltips.
    - Made whereAmI() guess where the entrance of the building you're in is if it doesn't know, so that it can return a position; this function isn't used for data collection, so guessing incorrectly isn't a huge problem.
    - Modified the objective arrow to use the path finding code to choose the direction you should travel; currently depends on some quirks that needs to be fixed later.
    - Changed the fallback path finding code to take building entrances into account.
    - Allow transforming coordinates to area -1, so that objectives and paths can be visible on the world map; the reverse transformation however isn't supported, and the cosmic map needs some kind of work around.
    - Finished the script for compiling the quest database.
    - Fixed a bug with LocationList:nearestLocation().
    - Added the ability to assign weights to the added locations in LocationList objects, and to retrieve the weights when iterating through them.
    - Sort table keys before serializing them; will probably help the markov chains correctly predict what's supposed to come next.
    - Started work on the compiled databases; not yet finished.
    - Added a setting for tracker height, and added some tooltips.
    - The routing code should now properly handle objectives with no location, clear the cached distances from the player to various objective locations when the player moves, preserve the cached distances and pheromones when regenerating the routing nodes, and only propose new routes if they're actually better.
    - Added links to the classic instances.
    - Started the code for the actual routing; which isn't quite finished yet.
    - Fixed a bug with autoquest quests, the primary objective not getting updated when disabled and updated within the same frame, POI locations getting discarded when missing objective text get updated, and made the Autosort button enabled and disable the routing thread (which does nothing at the moment.)
    - This is what happens when you have too many open windows on your screen.
    - Added a function named 'addOverlayToFrame' to be used by AddOns such as AlphaMap. The passed frame is added to a pool, and the overlay will chose a visible frame from the pool when its current parent becomes invisible.
    - Added priorities to objectives.
    - Replaced that magenta map overlay I forgot about with the ever-so-missed ant trails.
    - Okay, I'm pretty confident that the code for generating the UID is now getting called at a time when the functions it uses for entropy will return something other than nil.
    - Put some work into getting the path finding code to function. Extra-map pathing seems to be working, if you ignore the missing instance linkages. Intra-map pathing is using straight-line distance until I get around to finishing it.
    - Added a 'nearestLocation' function to location lists and objectives; returns the nearest 'center of mass' to passed location, or the location with the most weight if no location was given.
    - Made whereAmI() remember the last location the player was seen at, so that it can return that if the world map is opened to a location that the player can't be seen from.
    - Made tracker width adjustible, and sorted the configuration options by their translation keys.
    - Hold references to unserialized objects for a short time to prevent them from being reclaimed by the garbage collector, to save cpu cycles if the object is requested again in the near future.
    - Let's see if we can fix the UID never getting set.
    - Should now correctly handle quests that are turned in or acquired from world objects.
    - Oh no, a missing TOC file\!
    - Made callbacks assignable to objective objects; clicking on objectives on the tracker activates the assigned callbacks. Used to open the associated achivement or quest window.
    - Removed the debug messages from QuestHelper2_Collection.
    - Renamed QuestCollector to QuestHelper2_Collection to avoid conflict with another AddOn.
    - Added a filter for which achievement types QuestCollector will record locations for, so it won't try to remember every location you looted gold for example.
    - Added settings related to the flight timer, and replaced 'xxx_hidden' with 'xxx_shown', since it looks more natural on the configuration page.
    - Another stupid mapping related bug.
    - Added a configuration panel.
    - Watch in horror as I commit all of my broken code.
    - Added estimated travel time to the node tooltips of the flight map.
    - Wow, I sure didn't think that through very well.
    - Removed debug messages from polydecomp.cpp it hasn't done anything horribly wrong recently.
    - Commiting the navigation information I've completed so far: Stormwind City, Elwynn Forest, Redridge, Westfall, Duskwood, Azuremyst Isle, Bloodmyst Isle, Exodar, and Dead Mines.
    - Fixed some bugs with mesh generator, and made it dump non-simple polygons in red instead of dying with an error to make it easier to find and fix them.
    - Started the MapLink object interface, which will be used to represent flight paths, boats, zeppelins, and portals to the pathfinding system I've yet to write.
    - Added the ability to assign polygons to specific area levels, to help find the correct one when levels overlap, and added one-way links between polygons, to represent ledges that can only be transversed in one direction.
    - Did some work on the generation of the navigation mesh.
    - Renamed the StormLua module qh2aux, since it does more than just interface with StormLib now.
    - Hide the scrollbar on the tracker until I get around to actually making it usable.
    - Add quests that have missing objective text to a list, and recheck the quests in that list every 0.2 seconds until the game gives us our data.
    - Added a flight timer.
    - Reworked quest event handling.
    - Added a way to unregister event callbacks, which turned out to be quite involved for the case of removing something from a list that invokeCallbackList is currently using; i.e., when an executing callback tries to remove itself.
    - Fixed a bug when the data manager tries to cancel the active serialization task because it was marked dirty, and there were no remaining tasks to take its place.
    - Wrote some code for reading the paths from SVG files.
    - Wrote some code for dumping Lua tables.
    - And lets remove the files I deleted as well.
    - Commiting what what I've got done on my scripts today.
    - Wrote a support AddOn to help me collect the games flight points. Don't worry, it's not intended for end users.
    - Commiting the changes so far to the dev scripts.
    - Better error messages for open/read errors. (Reading lines and numbers still treat errors as EOF, though.)
    - Manually linked the dungeons to their areas, because be damned if I could figure out how to automate the process.
    - Added a function for iterating through the files in a directory to StormLua.
    - Forgot to make the converted tables start with index 1 instead of 0. Curse you, one based counting system.
    - Made a Lua module called StormLua, providing a Lua interface to StormLib and parts of wowcat.
    - I'm beginning to question the wisdom of coding at 5 in the morning.
    - I neglected to assign quest items to objectives in that placeholder code I added a few commits back.
    - Make QuestHelper2.onLoad accept extra parameters the same way as QuestCollector.onLoad does.
    - Eew, bugs.
    - Rewrote part of the data manager, the data from all the created managers should now be considered as a whole when choosing the next bit of dirty data to clean, not try to start on the next bit of data until the previous one is finished, and cancel an already started serialization task if the data is made dirty again while we're in the middle of cleaning it.
    - Added an interface to allow other AddOns to create session only overrides to QuestHelper2's configuration, in case they'd like to disable some feature and replace it with their own.
    - Used the new quest events, and added some placeholder code for creating the objective objects for quests. Tracker now displays quest objectives instead of just the POIs for them.
    - Combined onQuestAcquire, onQuestAbandon, onQuestExisting, onQuestTurnin into onQuestAdd and onQuestRemove, which includes the reason the quest was added or removed after the quest id.
    - Let's apply our super awesome building entrance guessing powers to Blizzards POI objects.
    - Let's check for quests started by NPCs, and do it correctly this time.
    - Anyone that that thinks they can trust me with boolean algebra is sorely mistaken.
    - Let's try a second time to fix dying inside buildings, because I don't think my first attempt worked.
    - Added a function for guessing if a point on the map is inside a building, and if so, where its nearest entrance is.
    - Added a function to convert map coordinates to area coordinates.
    - Added functions for calculating the area and centriod of polygons.
    - Fiddled around with the the quad trees again.
    - Apparently I don't know my left from my right.
    - Fixed range indicator on item buttons.
    - Make dying, teleporting to the graveyard, and cinematic sequences count as teleporting.
    - Added some support for automatic quests.
    - Huh, found a new objective type: "spell".
    - Fixed some quest event oopsies.
    - Making dirtying already dirty data move it to the end of the dirty list, to make data that is constantly being made dirty less likely to be selected for cleaning.
    - Actually passing the event parameters to callbacks would be helpful.
    - We have working item buttons again. Huzza.
    - Delay showing/hiding/minimizing the tracker while in combat, to prevent taint related explodies.
    - Some extra assertions, and detect failed coordinate conversions when calculating room perimeters. (Shouldn't happen, but Orgrimmar appears to span two seperate maps because my data is out of date.)
    - Here's my attempt at attempting to properly parse quest objectives.
    - Fixed a bug on buildings with multiple entrances.
    - Fixed a problem with logging out while stuff was being serialized, and changed the colour of status icon depending on whether it is compressing or decompressing.
    - Fixed a problem with encoding boolean values.
    - Changed all (I think) of the functions in QuestCollector that do stuff with callbacks to use the helper functions I made.
    - Let's actually return the the values returned by a callback.
    - Created some helper functions to allow passing arguments to callbacks, and to prevent errors in callbacks from destroying the universe.
    - Nested achievement objectives, fake criteria for achievements with no criteria, fallback to achievement description for criteria with no description.
    - Created function callOnce, schedules a callback to be invoked only if it isn't already scheduled.
    - Fixed the broken objective sorting.
    - Broke a bunch of stuff. Will fix it later. Maybe.
    - Oh no, I forgot the warlocks.
    - Missed adding some files to the archive.
    - Fixed an explody in quad-tree subdivison.
    - Record realm names, as I expect it will help me catch submissions by people on private servers.
    - Fixed a few bugs and added support for recording information about buildings.
    - Fixed some typos, missing Content-Type header, and added a copyright notice.
    - Made a web page for accepting collected data.
    - Made the GPL notice more opaque.
    - Changed the floating serializer/unserializer to use math.ldexp and math.frexp and increased its precision to 24 bits.
    - Generate unique identifiers for a users submitted data, so I can version it.
    - Rewrote the code dealing with collected quest and achievement data.
    - Added a spinning icon which is shown when QuestCollector is busy compressing or decompressing data.
    - Make sure stuff gets encoded/decoded in the same order the requests were made.
    - Rearranged some files.
    - The encoders/decoders are now complete, barring any unforseen bugs.
    - I'll rename my functions if I want to.
    - Did more work on the encoder; and wrote a script to help test it.
    - I was only out by 4 orders of magnitude, could have happened to anyone. :/
    - Started an arithmetic encoder, which will hopefully eventually be used for serializing the collected data.
    - Started collecting data for achievements.
    - Now with secure quest item buttons that don't implode the universe when entering combat.
    - Less spam for unknown area regions, and try to be less disruptive to the map when WorldMapFrame is visible.
    - Started the quest arrow; and using Blizzard's quest POIs for quests with no data.
    - Moved the insertion arrow out of the scroll frame; it gets cut off at the edges of the tracker.
    - The quest tracker seems to be reasonably complete, I hope.
    - Implemented scrolling and manual sorting to the tracker, but the scrolling is kind of cumbersome, so I'll probably add a scrollbar.
    - Tracker objectives are now animated.
    - Objectives are actually being displayed now; not quite correct yet, but it's showing hits of becoming a usable product.
    - A bunch of fixes for resizing/anchoring/moving/hiding the tracker.
    - Redid the art for the tracker... again... and made it look correct at various sizes.
    - Broke TrackerEdges.tga into individual parts; I'll place them manually.
    - Redesigned the textures for the tracker with dynamic resizing in mind.
    - Implemented the functions for adding, removing, and iterating through dependencies.
    - Added onPrimaryObjectiveChanged.
    - Some new art and code for the tracker. Despite expectations, it's still nowhere near finished.
    - Drew some icons.
    - Rendered a 3D arrow with Blender in 64 directions.
    - Rewrote convertCoords, but didn't verify it works properly.
    - Include the minimap tiles from virtual maps.
    - Started script for converting Warcraft maps to SVG for eventual editing in Inkscape.
    - Wasted my day trying to see if I could figure out DungeonMap.dbc I hate that file so much.
    - Started a script for extracting zone locations from WoW.
    - Fixed all the obvious problems with LocationList.
    - Implemented LocationList API. I expect it to be quite broken, as I can't test it at the moment.
    - Let's see if translations work...
    - A little more work on objectives.
    - The callbacks passed to onDelay may return a number, indicating that they want to be invoked again in that many seconds.
    - I mean, who doesn't love reading legalese?
    - Started implementing objective API.
    - Started graphics for the new tracker window.
    - Prevent loading on the live realms.
    - Started support code for settings and locales.
    - Added a copy of the GPL3 license.
    - Round 2 versus the .pkgmeta file.
    - A journey of a thousand miles starts with a single step. -- Laozi