r20100330160911

Details

  • Filename
    AckisRecipeList-r20100330160911.zip
  • Uploaded by
  • Uploaded
    Mar 30, 2010
  • Size
    1.12 MB
  • Downloads
    46
  • MD5
    fc73492d3d25bef736aec357378416af

Supported WoW Retail Versions

  • 3.3.3

Changelog

James D. Callahan III:
    - In ListFrame:Update(): Re-arranged the ordering of some logic.
    - In addon:InitCustom() - removed comments (they were unnecessary - the entries are of obvious usage) and placed the entries in numeric order.
    - In ListFrame:Update(): Only reset the buttons/lines if there are entries in the list.
    - Moved recipe_registry to just before the definition of ListFrame:Initialize()
    - Moved code from ListFrame:Update() to make ListFrame:Initialize().
    - Added a newline after the first sentence in ALT_TRADESKILL_DESC.
    - In addon.resetFilters(): Set "retired" to false.
    - In addon:InitializeRecipe(): If the profession passed is Smelting, look up Mining instead.
    - Revert the changes for "Include Excluded", "Display Exclusions" - they're config options, not actions. /headslap pompy
pompachomp:
    - Disabled "View Exclusion List", "Include Excluded", "Display Exclusions" if there aren't any
    - More work on refining the Enchanting database.
    - converted smelting database to the new structure
    - Fixed up the skill levels of smelting recipes.
James D. Callahan III:
    - Fixed the percentage display in the status bar.
    - The Smelting profession can now be scanned/dumped.
    - In addon:DisplayTextDump(): If text is "", do nothing.
    - Replaced SORTED_PROFESSIONS by private.ordered_professions and ripped the "texture" portion out of it to make PROFESSION_TEXTURES.
    - Removed SEASONAL_CATEGORY - private.acquire_names[A.SEASONAL] has taken its place.
    - Added private.mining_name for the Smelting kludge.
    - Renamed RECIPE_NAMES to RECIPE_TYPES.
    - In addon:ScanProfession() and addon:DumpProfession(): Lowercased the name result from private.ordered_professions as it is now unmodified in the table.
    - Moved the PROFESSIONS and ORDERED_PROFESSIONS tables from Datamine.lua to constants.lua as lowercased members of the private table.
    - In Datamine.lua Moved upvalues above AddOn namespace.
pompachomp:
    - Fix plenty of missing/incorrect flags in the Engineering and Tailoring databases.
James D. Callahan III:
    - Reverted the status bar back to its previous behavior - list results are now shown at the end.
    - Changed checking of the editbox text when there are no entries.
    - Remove the scrollbar if there aren't enough entries for scrolling.
    - Disabled the "Clear Exclusion List" button if there are no exclusions.
    - Disabled scrolling in the list frame unless the number of entries exceeds the maximum displayable entries.
    - Selections in the sort-type dropdown box are now properly localized.
    - Added "Hold the Shift key to expand sub-entries." to the tooltip for the expand all button.
    - When expanding a World Drop entry, the location name (if it exists) will be displayed.
    - Added the ability to search by location name.
    - Changed "SVN" to "Devel" and "Development".
    - Added a Quality filter menu to allow inclusion/exclusion of certain recipe item qualities.
    - Changed the icon for the Reputation menu.
    - Changed the icon for the Obtain menu button.
    - Reduced the size of the text for the filter categories - "Miscellaneous" was writing outside the panel.
    - For the search box: Replaced the custom string "Enter search text" with _G.SEARCH.
    - Added WORLD_DROP locations to the seven Cooking recipes which had the acquire type.
    - Added WORLD_DROP locations to 38 more Blacksmithing recipes - all done.
    - Added WORLD_DROP locations to 39 Blacksmithing recipes.
pompachomp:
    - Make the dataminer provide a wowhead link directly to the recipe spell id, to make my life a tad bit easier with working on the databases.
James D. Callahan III:
    - Added the RETIRED flag to Polar Tunic/Gloves/Bracers and Icy Scale Breastplate/Gauntlets/Bracers.
    - Added the RETIRED flag to Icebane Breastplate/Gauntlets/Bracers.
    - Added the RETIRED flag to Glacial Gloves/Vest/Cloak/Wrists.
    - Added support for showing/hiding retired recipes and removed "Show" from "Show Known" and "Show Unknown".
pompachomp:
    - Get the recipe databases to support the two new functions AddRecipeWorldDrop() and AddRecipeQuest()
James D. Callahan III:
    - New database function: addon:AddRecipeQuest()
    - Fixed a couple of small issues with Tooltip_AddWorldDrop()
    - New database function: addon:AddRecipeWorldDrop()
    - Renamed GenerateTooltipContent() to ListItem_ShowTooltip()
    - Gutted GenerateTooltipContent() to make acquire-specific functions.
    - In GetTipFactionInfo(): Display opposing faction if the faction filter is toggled on.
pompachomp:
    - Added the Cooking and Fishing daily quests from Burning Crusade.
    - More work on Tickets 950, 952 -- refining the Jewelcrafting and Cooking databases
    - Changed wording of some strings
James D. Callahan III:
    - In GenerateTooltipContent(): Fixed logic for displaying TRAINER acquire-type.
    - Every Alchemy recipe that is a World Drop now has a location entry.
    - GenerateTooltipContent() will now ignore entries which do not match the list_entry's location_id or acquire_id, if applicable.
    - Changed the second parameter of GenerateTooltipContent() to be a list entry instead of a recipe spell ID.
    - Renamed acquire-type "MOB" to "MOB_DROP" for consistency.
    - Changed colors for "mobdrop", "reputation", and "trainer".
    - In addon:AccRecipeAcquire(): Added a Debug() for WORLD_DROP acquires with no location.
    - In addon:AccRecipeAcquire(): Changed 9 Print/f() calls to Debug() calls.
    - Changed the colors for "custom" and "quest".
    - In RecipeDump(): Added support for WORLD_DROP locations.
    - In ListFrame:Update() and ListFrame:ExpandEntry(): Added support for WORLD_DROP locations.
    - In GenerateTooltipContent(): Added support for WORLD_DROP locations.
    - In addon:AddRecipeAcquire(): Added support for WORLD_DROP locations.
pompachomp:
    - Converted the recipe databases to the new structure
James D. Callahan III:
    - Removed the "Sort:" prefix from the sort-type name in the sort box - fixes truncation issue, plus its function was obvious.
    - Holding Shift while clicking the expand all button will now also expand subheaders.
    - In ListFrame:Update(): For for Location/Acquisition sorts, color the headers appropriately.
    - In ExpandSeasonalData(): Use the "seasonal" color.
    - Acquire types of WORLD_DROP, SEASONAL, and CUSTOM will no longer have a false location (some CUSTOM entries have actual locations).
    - MainPanel.scroll_frame is now created as and referred to in most of the code as ListFrame.
    - Moved the check for the mouse being over a different list entry from ListItem_OnClick() to MainPanel.scroll_frame:Update() so that the highlight texture and tooltip will be generated both on mouse clicks and when scrolling.
    - In addon:PrintScanResults(): Added checking of flags against acquire types.
    - Changed hex color codes for "quest", "trainer", and "vendor".
    - Replaced the rest of the calls to color functions with lookups in BASIC_COLORS and CATEGORY_COLORS.
    - Removed Colour.lua
    - Removed almost everything from Colour.lua - time to put it to rest.
    - In addon:Scan(): Removed a call to addon:White()
    - Changed all of the tooltip and list texts to use private.category_colors so they are consistent with one another and cleaned up code in the process.
    - Replaced all calls to hexcolor() with lookups in BASIC_COLORS or CATEGORY_COLORS. Removed all "|cff" from other strings, since ttAdd() handles this.
    - In ttAdd(): Prepended the color strings with "|cff" due to the impending demise of hexcolor().
    - Renamed the category color "season" to "seasonal".
    - Added CATEGORY_COLORS and BASIC_COLORS - upvalues for the lowercase private members.
    - Moved NUM_RECIPE_LINES into the do-block with MainPanel.scroll_frame:Update() and kin.
    - Moved NUM_PROFESSIONS into the OnClick script for MainPanel.mode_button
    - Added private.basic_colors and private.category_colors - also slightly modified RGBtoHEX().
    - In ttAdd(): Small cleanup, and fixed bug with truncated zone names by ensuring that both sides of the tooltip are of equal size.
    - In Frame.lua Moved SetTextColor() further up the file.
    - In ExpandEntry(): For location subheaders, added support for CUSTOM entries. Also fixed incorrect parameters for reputation entries.
    - In ExpandTrainerData(), ExpandVendorData(), ExpandMobData(), and ExpandQuestData(): Fixed problem where an empty line would appear in the list if the coordinates were an empty string and hide_location was true.
    - In ListItem_OnClick(): Fixed an out-of-bounds error.
    - For the OnTooltipSetUnit hook: Re-wrote to use "unit" instead of "mob", "trainer", and "vendor" making the code three times smaller. Instead of prefacing the recipe name with "Drops", "Sells", or "Trains", the recipe's profession is used.
    - In Colour.lua Removed 13 constants and functions that were not being used.
    - In GenerateTooltipContent(): Used a color code directly to replace addon:hexcolor("RED")
    - In FormatRecipeText(): Convert a color I missed last time.
    - In addon:Scan(): Changed a call to addon:Print() to be addon:Debug().
    - In GenerateTooltipContent(): Changed to use private.difficulty_colors for recipe difficulties.
    - In FormatRecipeText(): Modified to use SetTextColor() in conjunction with private.difficulty_colors
    - In Constants.lua Added private.difficulty_colors for profession skills.
    - In GenerateTooltipContent(): For MOB_DROP, color the mob name by the "hostile" color.
    - In GetTipFactionInfo(): Rewrite. Ditched faction return value since it was always the same as the faction parameter. The color returned is "neutral" for neutral faction, "exalted" for same faction, and "hated" for opposing faction.
    - In ExpandMobData(): Changed the mob name to use the "hostile" color.
    - In ColorNameByFaction(): Changed to color neutral factions by the "neutral" color, same factions by the "exalted" color, and opposing factions by the "hated" color.
    - Changed private.reputation_colors to pull from FACTION_BAR_COLORS instead of from QuestDifficultyColors, and added entries for "hated", "hostile", and "unfriendly".
    - In ExpandTrainerData(), ExpandVendorData(), ExpandMobData(), and ExpandQuestData(): Changed behavior of "hide_location" parameter to display the coordinates on their own line.
    - In MainPanel.scroll_frame:ExpandAcquireData() Replaced the for loop within every acquire type with a single for loop that wraps them all.
    - In ExpandEntry(): For location sort, recipes with CUSTOM acquire type will be added as entries instead of subheaders.
    - Took more code from ExpandAcquireData() to make ExpandWorldDropData() and ExpandCustomData().
    - In ListItem_OnClick(): Added code to check if the mouse is over a new entry (it should be). If so, attach the highlight texture to it and generate its tooltip.
    - Moved Button_OnEnter(), Button_OnLeave(), Bar_OnEnter(), and Bar_OnLeave() to be above ListItem_OnClick().
    - Yanked more code from ExpandAcquireData() to make ExpandReputationData() and added support for it to the location entry of ExpandEntry().
pompachomp:
    - Fixed a flag for Elixir of Empowerment and added the world drop acquire to it
James D. Callahan III:
    - In GenerateTooltipContent() and MainPanel.scroll_frame:ExpandAcquireData() Removed sections for A.PVP - no such acquire flag exists.
    - In ExpandEntry(): Added support for QUEST and SEASONAL to the location sort entries, and more commenting.
    - Further cannibalization of ExpandAcquireData() to yield ExpandQuestData() and ExpandSeasonalData().
    - Added comments to ExpandEntry()
    - Renamed CheckDisplayFaction() to CanDisplayFaction()
    - Moved several instances of duplicate code into ColorNameByFaction().
    - Cannibalized more code from ExpandAcquireData() to make ExpandMobData() - added support to location acquire types in ExpandEntry().
pompachomp:
    - Corrected a typo of a recipe item id in the SPELL_TO_RECIPE_MAP table and added a bunch of Blacksmithing item ids to the DO_NOT_SCAN table
James D. Callahan III:
    - In MainPanel.scroll_frame:Update() For Location entries, started work on displaying only the acquire types relevant to that location - at the moment it's using ExpandTrainerData() and ExpandVendorData().
    - Added "hide_location" parameter to MainPanel.scroll_frame:ExpandAcquireData() yanked some code out of it to make GetParentEntry(), ExpandTrainerData(), and ExpandVendorData().
    - In ExpandEntry(): For Location sort, if the location is "World Drop", insert as an "entry" instead of a "subheader".
    - In ListItem_OnEnter(): For expanded entry/subentry lines, use the entry's parent's children list for removals.
    - In ListItem_OnEnter(): Subheaders can be removed, but headers are forever.
    - In ExpandEntry(): Updated calls to InsertEntry() and added support for acquire-type sub-entries to the Location sort.
    - Updated InsertEntry() calls in ExpandAcquireData() to assign parent entries.
    - In MainPanel.scroll_frame:Update() Updated InsertEntry() calls - no parent entry, since they're headers.
    - In MainPanel.scroll_frame:InsertEntry() Added "parent_entry" parameter - assigns the parent to the new entry, and assigns the entry as a child.
    - In MainPanel.scroll_frame:ExpandEntry() For Acquisition entries, check the recipe's faction against filters so that opposing faction recipes don't show up if you tell them not to.
    - In ListItem_OnClick(): When clicking on an expanded entry/subentry, check for headers AND subheaders - checking for one or the other will delete things it shouldn't.
    - In ListEntry_OnClick(): Check for "header" or "subheader" based on the type of the line being clicked ("entry" or "subentry")
    - In MainPanel.scroll_frame.Update(): Changed the while loop to actually check the values rather than relying on "stayInLoop".
    - In MainPanel.scroll_frame:ExpandAcquireData() Clarified some code and increased padding from two spaces to four.
    - In addon:DisplayTextDump(): Set the cursor to the top of the frame instead of the bottom.
    - Removed upvalues "tremove" and "tinsert".
    - In MainPanel.scroll_frame:Update() Re-wrote anchoring code for the state_buttons to take the button_containers into account. Scrolling now works properly with expanded subheaders.
    - Added MainPanel.scroll_frame.button_containers - the state_buttons are anchored to these so they can be moved around easily.
    - In MainPanel.scroll_frame:ExpandEntry() Re-wrote to use InsertEntry() and modified the use of ExpandAcquireData().
    - In MainPanel.scroll_frame:ExpandAcquireData() Added "entry_type" paramater, and re-wrote to use InsertEntry().
    - In MainPanel.scroll_frame:Update() Updated the InsertEntry() calls.
    - In MainPanel.scroll_frame:InsertEntry() Added "entry_type" and "entry_expanded" parameters.
pompachomp:
    - added a bunch of item ids to the DO_NOT_SCAN table
James D. Callahan III:
    - In addon:UpdateFilters(): Set the recipe's "is_visible" member to nil instead of false.
    - In ListItem_OnClick(): Hide/unparent the highlight texture and kill the tooltips - both were getting stuck when closing expanded entries.
    - Changed many global function calls to the upvalued versions in the local _G.
    - In MainPanel.scroll_frame:ExpandEntry() For acquisition and location entries, added a check for whether or not the recipe is visible or relevant - fixes the problem for wrong profession recipes showing up.
    - Moved call to SetSortName() from addon:InitializeFrame() to MainPanel.scroll_frame:Update()
    - In MainPanel.scroll_frame:Update() Removed the profession check again - that wasn't the issue.
    - In addon:AddRecipe(): Removed entry for "is_visible", since this will be handled by addon:UpdateFilters().
    - In MainPanel.scroll_frame:Update() Re-added the profession checks for Acquisition and Location sort, since vendor scanning will dump every profession into the recipe list.
    - Moved ListItem_OnClick() and the initialization of the entry/state buttons into the same do-block as the other button scripts.
    - For the list entries: Replaced "is_header" and "is_subheader" members with "type".
pompachomp:
    - Any recipes that drop in a raid will no longer also have the mob drop flag along with it unless the recipe drops from a specific mob in the raid
    - More work on tickets 949,950,953,954 refining the databases
    - Fixed the qualities of many jewelcrafting and enchanting recipes.
    - Don't localize something that the client will localize
    - Fixed some recipe binding flags F.RBOE->F.RBOP and added itemids to two enchanting recipes
James D. Callahan III:
    - Moved ListItem_OnClick() and the initialization of the state_buttons and entry_buttons for MainPanel.scroll_frame from addon:InitializeFrame() to the main file body, just after the declaration/definition of MainPanel.scroll_frame itself.
pompachomp:
    - Added "Frosty Flying Carpet" to the Tailoring database
    - Added "Frozo the Renowned" to the Vendor database
James D. Callahan III:
    - Added support for subheaders in MainPanel.scroll_frame:Update() - scrolling is broken when a sub-section is expanded.
    - Added support for subheaders in ListItem_OnClick()
    - Gutted MainPanel.scroll_frame:ExpandEntry() to make MainPanel.scroll_frame:ExpandAcquireData() to facilitate subtables for Acquisition sorting - added support here.
    - Moved anchoring of state and entry buttons from addon:InitializeFrame() to MainPanel.scroll_button:Update()
    - In MainPanel.scroll_frame:Update() Moved some more variables around.
    - In addon:InitializeFrame(): Renamed some variables and changed anchor points for list entries.
    - Renamed some variables, changed a few comments, and moved a few things around.
    - Fixed faction checks for Location and Acquisition sorting - it helps to check for "boolean" rather than "bool" for a type.
    - In addon:addLookupList(): No longer assign L["Unknown Zone"] if none is supplied - leave it as nil. If no faction is supplied, the default is Neutral. Added/modified some debug prints.
    - Acquire types and locations will no longer be prevented from being assigned due to faction conflicts - instead, those of the opposing faction can be shown by toggling the Faction filter in the General Filter section.
    - In Mob.lua Tab-formatted and replaced all addLookupList() will AddMob().
    - When clicking the search button, highlight the current text and add it to the editbox history.
    - Fixed issue with the editbox's history not being updated when losing focus.
    - For the search_box: Highlight the text in the box when pressing enter, gaining focus, or having non-default text set so users can start typing over the previous entry immediately.
    - Changed text for the world events entry in private.acquire_strings from _G.EVENTS_LABEL to _G.GetCategoryInfo(155) to be consistent.
    - In Custom.lua Removed all locations of the name "N/A" - a nil location is the appropriate choice.
    - Renamed NO_PLAYER_FLAG to NO_ROLE_FLAG.
    - In SearchRecipes(): Allow partial matching on acquire-type names.
pompachomp:
    - Start work on ticket 952, refining the Cooking database
    - Start work on ticket 956, refining the Inscription database
    - added 3 inscription recipes to the NO_PLAYER_FLAG table
James D. Callahan III:
    - Modified the search editbox to have a 10-line history (accessible by up/down keys) and to search as you type.
    - More small tweaks.
    - Actually fix ticket 962 - for real this time.
    - In addon:AddRecipeAcquire(): Try to retrieve a location for CUSTOM acquire types before using _G.MISCELLANEOUS.
    - Changed ARL_SearchText to MainPanel.search_editbox and ARL_LastSearchedText to MainPanel.search_editbox.prev_search
    - In addon:DisplayFrame(): If MainPanel.profession is different from MainPanel.prev_profession clear the search box. Closes ticket 962.
    - in MainPanel:SetProfession(): Added assignment of previous profession if the current one is different.
    - Moved a few hundred lines of code out of addon:InitializeFrame() and into the main file body.
    - More minor tweaks.
    - Moved some duplicate code from MainPanel.scroll_frame:Update() to MainPanel.scroll_frame:InsertEntry()
    - Merged MainPanel.progress_bar:Update() into MainPanel.scroll_frame:Update()
    - Minor tweaks.
    - In fullOptions(): Don't scan unless the frame is visible.
    - In MainPanel.progress_bar:Update() Removed subtraction of Player.excluded_recipes_unknown from pbCur, since the method of updating the progress bar has changed and that value disregarded any filtering. Also changed the percentage to have two places after the decimal.
    - In MainPanel.progress_bar:Update() Set pbCur regardless of filter status - the same value is used in both cases.
    - In Player:MarkExclusions(): Just use recipe.profession - calling GetSpellInfo(recipe.profession was retardedly broken.
    - In Player:MarkExclusions(): Ignore the recipe's visibility - it's handled in CanDisplayRecipe() now.
    - In CanDisplayRecipe(): Handle the visibility of excluded recipes here.
    - In addon:AddRecipe(): Don't set a default value for recipe.is_known - if a scan shows that it's known, it will be marked as such.
    - In fullOptions(): When toggling "Display Exclusions", call addon:Scan() if the frame is visible.
    - In MainPanel.scroll_frame:Update() When sorting by Location or Acquisition, keep track of recipes so they are not counted more than once.
    - Added support for tekDebug and converted all existing debug statements.
    - In MainPanel.scroll_frame:Update() Only call MainPanel.progress_bar:Update() if not refreshing or scrolling.
    - In Player:MarkExclusions(): Changed self["Profession"] to self.current_prof so the function will actually work.
    - In FormatRecipeText(): Made the showing of exclusions work again.
    - When wiping exclusions from the config panel, re-scan the tradeskill.
    - In MainPanel.progress_bar:Update() Ignore Player.recipes_known and Player.recipes_known_filtered - use MainPanel.scroll_frame.recipes_displayed instead.
    - In MainPanel.scroll_frame:Update() Keep a tally of how many recipes are displayed in the list, saved as self.recipes_displayed
    - Removed calls to MainPanel.progress_bar:Update() from addon:DisplayFrame() and ReDisplay() in favor of calling it at the end of MainPanel.scroll_frame:Update()
pompachomp:
    - Print out the characters name in the header of the text dump of the profession scanned.
James D. Callahan III:
    - In Colour.lua Removed all un-used constants and functions.
    - Throughout Frame.lua Converted all applicable faction/reputation strings to use private.reputation_colors
    - Added SetTextColor().
    - Added private.reputation_colors - for now, ripped straight from QuestDifficultyColors.
    - Removed a forgotten debug print.
    - Changed hex codes for ORANGE, GREEN, and MIDGREY to be identical to the skill level codes in the default UI.
    - In addon:AddRecipeAcquire(), addon:AddRecipeRepVendor(), and GenericAddRecipeAcquire(): Prevent addition of locations for the opposite faction - for example: Alliance players will not see Orgrimmar, and Horde players will not see Stormwind.
    - In FormatRecipeText(): Strip "Enchant " from any recipes leading with that prefix - may or may not work in languages other than English due to grammatical constructs.
    - In Player:HasProperRepLevel(): Make sure a given rep isn't nil.
pompachomp:
    - i hate you torhal
James D. Callahan III:
    - In SearchRecipes(): Iterate over private.acquire_names - allows for search criteria such as "world drop" or "reputation".
    - In FormatRecipeText(): Removed [Reputation] prefix in favor of coloring the skill level red if the player doesn't have high enough rep.
    - In Player:HasProperRepLevel(): If rep_data is nil, return true. Added return value at the end of the function. Oops.
    - Removed toRGB() - unused function.
    - In SortRecipeList(): If there is no matching sort function in RECIPE_SORT_FUNCS, default to Sort_Name().
    - Removed calls to SortAcquireList(), SortLocationList(), and SortRecipeList() from addon:DisplayFrame() and ReDisplay(). These functions will now only be called when needed from MainPanel.scroll_frame:Update()
    - In MainPanel.scroll_frame:Update() and MainPanel.scroll_frame:ExpandEntry() Check the player's current profession (the one the list is opened with) rather than if the player knows the profession. This allows linked professions to work with Location/Acquisition sort.
pompachomp:
    - Removed GOBLIN_ENG and GNOMISH_ENG phrases and added the the names to the 4 trainers to the localization app
James D. Callahan III:
    - In MainPanel.scroll_frame:Update() For Acquisition and Location views, show the number of recipes next to the category name.
pompachomp:
    - Changed the acquire for the transporter recipes to show the trainer that teaches it
    - Fixed skill levels for Smelt Fel Iron
    - Added 4 npcs to the trainer database that teach an engineer the transporter recipes.
James D. Callahan III:
    - Added proper support for sorting by acquire type. The old "Acquisitions" sort was beyond broken.
    - Moved ACQUIRE_NAMES from ARL.lua to Constants.lua as private.acquire_names
pompachomp:
    - More work on ticket 946, fixing some incorrect Blacksmithing recipe flags.
James D. Callahan III:
    - Merged some same-use code into PaintRecipeText() and renamed the function to FormatRecipeText() since not only was the old name stupid, but the new name more aptly describes what it does - in the process, the way recipes are colored in the list has changed drastically.
    - In GenerateTooltipContent(): Removed a call to select() in favor of throwaway variables.
pompachomp:
    - Fixed game version for Enchant Cloak- Steelweave.. WOTLK->TBC
James D. Callahan III:
    - Changed a concat to a format.
    - In MainPanel.scroll_frame:ExpandEntry() Only show relevant recipes - format and color them appropriately.
    - In MainPanel.scroll_frame:ExpandEntry() Check to see if the location has any recipes which are relevant to the filters/search criteria - if not, don't show the location.
    - Re-instated ColourSkillLevel(), renamed as PaintRecipeText() - its functionality was required in a second location.
    - Re-instated Player:HasProperRepLevel(), though not exactly as it was before - the functionality was required in a second location.
    - In addon:AddRecipeAcquire(): Added proper locations for SEASONAL and CUSTOM acquire types, and future-proofed by making all un-handled acquire types attempt to use their flag string or UNKNOWN.
    - In MainPanel.scroll_frame:Update() and MainPanel.scroll_frame:ExpandEntry() Added rudimentary support for location sorting.
    - In GenerateTooltipContent(): If recipe_entry is nil, abort immediately.
    - Finished recipe_buttons to entry_buttons renaming.
    - In ListItem_OnClick(): Only check for a modifier key if the clicked line has a recipe_id
    - Renamed RecipeItem_OnClick() to ListItem_OnClick(), and recipe_buttons to entry_buttons.
    - Added SortLocationList()
    - Re-wrote Sort_Location() for private.location_list
    - Renamed sortFuncs to RECIPE_SORT_FUNCS, removed "Location" from it, and updated SortRecipeList() to check for a nil sort function.
    - Added a "name" member and "recipes" table member to private.location_list
    - Modified addon:AddRecipeAcquire(), GenericAddRecipeAcquire(), and addon:AddRecipeRepVendor() to insert the spell IDs in the appropriate section of private.location_list
    - Added private.location_list
    - In addon:ScanVendor(): Moved assignment of "added = true" so the scan frame will not appear if there are no results.
    - Removed some unnecessary upvalues.
    - Moved incorrect item quality check from addon:TooltipScanRecipe() to addon:PrintScanResults() - fixed some other output along the way.
    - In addon:ScanVendor(): Check to see if ttscantext is "" - if so, don't add it to output. Fixes extraneous newlines in vendor scans.
    - In addon:ScanVendor(): Utilize ItemLinkToID() in conjunction with RECIPE_TO_SPELL_MAP to get an accurate spell_id - fixes ticket 944.
    - Added ItemLinkToID() - does exactly what it says.
    - Added RECIPE_TO_SPELL_MAP - generated in reverse key/pair order from SPELL_TO_RECIPE_MAP.
pompachomp:
    - More work on ticket 946, correcting flags for many recipes.. and also removed the custom acquire about "World Dragons" from various recipes.
    - Removed a custom string from ARL and a dup entry in devel-enUS.lua
    - Renamed local.xml->locale.xml and changed the the name in the .toc
James D. Callahan III:
    - in ProfessionScan(): Sort the recipe list by ID, ascending.
    - In addon:PrintScanResults(): Print the recipe name and ID number whenever any problem is found, not just when there are missing/extra flags.
    - Updated local.xml for devel-enUS.lua
    - Renamed testenUS.lua to devel-enUS.lua and renamed the Dataminer dir to Tools.
    - Removed one of the two definitions for TEXT_DUMP_DESC in testenUS.lua
    - Fixed indentation of the missing item type string in addon:PrintScanResults()
    - Removed some unnecessary comments.
    - Completely changed output of the addon:TooltipScanRecipe()/addon:PrintScanResults() pair to be more concise and to display the spell name and ID when no item ID is available.
    - Renamed SPELL_ITEM to SPELL_TO_RECIPE_MAP.
    - In addon:ScanToolTip(): Removed some completely unnecessary false assignments.
    - Renamed CreateReverseLookup() to GetReverseLookup().
    - In LoadRecipe(): Removed some dead code.
    - For the filter_flags: Replaced RESERVED_13 with RETIRED.
    - Re-factored the logic for recipe state checks - profession scanning is now vastly more accurate.
    - Renamed some variables and changed some print calls.
pompachomp:
    - Fixed the logic from my previous commit
    - added the ability to print out a plain list of the recipe names for the profession that you are scanning.  Fixed a faction name: "Violet Eye"->"The  Violet Eye"
James D. Callahan III:
    - In addon:GetTextDump(): Fixed a loop dealing with a recipe's acquire_data.
    - In addon:GetTextDump(): Changed an occurrence of "entry" to "recipe".
    - Added GenericAddRecipeAcquire() - addon:AddRecipeTrainer() and addon:AddRecipeVendor() are now simply wrappers for this function. Added addon:AddRecipeMobDrop() using this interface.
    - Replaced table members "drop_list" (mob_list), "sells" (vendor_list), and "teaches" (trainer_list) with the type-generic "item_list" member.
John Pasula:
    - Add options to choose between CSV/BBC for text dump.  100% dry-coded while whacked on flu medicine.
James D. Callahan III:
    - In addon:AddRecipeAcquire(): Fixed the setting of the acquire_id so that multiple reputation vendors will work. Also re-named a variable for clarity of purpose.
pompachomp:
    - Ticket 946, started work on it, fixing a bunch of incorrect flags for Blacksmithing recipes.
    - Ticket 942, fixed some more Blacksmithing recipes with incorrect filter flags
James D. Callahan III:
    - In RecipeDump(): Removed insertion of extra newline for reputation vendors.
    - Added addon:AddRecipeVendor()
    - Re-wrote RecipeDump() for the new acquire_data system, and also to output AddRecipeTrainer(), AddRecipeVendor(), and AddRecipeRepVendor()
    - Modified addon:PrintScanResults() to work with the new acquire_data system.
    - Modified addon:ScanVendor() to work with the new acquire_data system.
    - Modified addon:ScanTrainerData() to work with the new acquire_data system.
    - Added private.acquire_types to the constants references in Datamine.lua
    - Added addon:AddRecipeRepVendor(spell_id, faction_id, rep_level, ...) - args after rep_level are vendor NPC ID numbers.
    - Added addon:AddRecipeTrainer(spell_id, ...) - args after spell_id are trainer NPC ID numbers.
    - In addon:AddRecipeAcquire(): Fix longstanding (and yet somehow unreported) bug - the last acquire type/data in the list was never added. Fix was changing check from "i < numvars" to "i <= numvars".
    - Datamine.lua - Changed spellid to spell_id throughout.
    - Added definition for FACTION_NEUTRAL to Waypoint.lua
    - Re-worked addon:SetupMap() and all associated code to work with the new acquire_data system and moved it all to its own file - Waypoint.lua
    - In GenerateTooltipContent(): Fixed display_tip logic for reputation entries.
    - In GenerateTooltipContent(): Removed display_tip from the outer loop and added it to the inner loops where appropriate.
    - In MainPanel.scroll_frame:Update() Simplified the reputation code.
    - Re-wrote MainPanel.scroll_frame:ExpandEntry() to work with the new acquire_data system.
    - Changed addon:SetupMap() to return before executing anything pending a re-write to work with the new acquire_data system.
    - Modified MainPanel.scroll_frame:Update() for the new acquire_data design.
    - Modified GenerateTooltipContent() to work with the new acquire_data design.
    - Commented most of Sort_Acquisition() until it can be re-written for the new acquire_data design.
    - In addon:AddRecipeFlags(): SpellID is now spell_id.
    - Re-wrote addon:AddRecipeAcquire() to use a re-designed table heirarchy for recipe acquire data - the root keys are now acquire types rather than sequential numbers, and the values are idnums of the appropriate mob/vendor/trainer (in the case of reputations, the values are tables keyed by rep ID which are further nested by reputation level and finally vendor ID).
    - For recipe entries, the "Acquire" member is now "acquire_data".
pompachomp:
    - Ticket 942  Fix filter flags of some Blacksmithing recipes to include the world drop flag
    - Changed quality of some enhanting recipes
James D. Callahan III:
    - Revert last commit. It helps to have context before making a change.
    - Fixed a typo.
    - In addon:ScanVendor(): Added spellID to output when an item is not found.
pompachomp:
    - Fixed some jewelcrafting recipes showing extra acquire data
    - Fixed two recipes with incorrect filter and acquire data
    - Fixed a bunch of recipes missing the world drop flag and seasonal flag
    - Fixed the quality for Jeeves COMMON->RARE
    - Removed the discovery filter flag from 3 death knight glyphs
    - Cleaned up the Alchemy database a bit where recipes that were from vendors had the quest filter flag.
    - Fixed an incorrect filter flag of the alchemist stones from SSO in the alchemy database, F.QUEST->F.VENDOR
    - fixed the quality of an enchanting recipe
James D. Callahan III:
    - Removed code in addon:Scan() which would set the is_known state for every recipe to false before setting the recipes known for that profession to true. Instead, when a recipe is initialized its is_known state will be set to false. Fixes tooltip issue with vendors selling items from two professions that the character knows.
    - Fixed a typo.
pompachomp:
    - CustomDB->DB,  RepDB->DB, SeasonalDB->DB
    - Trim trailing space
    - Some database cleanup.
    - Added some entries to the SPELL_ITEM table
James D. Callahan III:
    - Changed to use private.filter_flags and private.acquire_types instead of numbers.
    - Changed upvalues a bit.
pompachomp:
    - Added some item ids to the DO_NOT_SCAN table in the dataminer
    - Updated more of the bitmaps for all but the engineering profession
James D. Callahan III:
    - Removed an errant debug print.
    - In MainPanel:SetProfession(): Added a short-circuit - if Player.current_prof is Mining, set MainPanel.profession to 11 (smelting).
    - In addon:OnEnable(): Replaced assignment of Mining in Player.professions with assignment of Smelting.
    - Renamed SortedProfessions to SORTED_PROFESSIONS and fixed the spell ID for Smelting - it was set to that of Mining.
    - In Player:SetProfessions(): Get rid of the check for smelting/mining - there is no mining tradeskill UI, so we just ignore it and add smelting like any other tradeskill.
    - Runeforging.lua In AddRecipe(): Changed call to self:AddRecipe() to addon:AddRecipe()
pompachomp:
    - Added a bitmap for blacksmithing to GenerateLinks()
    - MobDB->DB
    - grr
    - stupid docs
    - test this crap
    - update datamining docs
John Pasula:
    - Minor change to documentation.txt to see if the documenter will fix it.
pompachomp:
    - trying to get the docs updated
    - Update the luadoc, still needs some work
    - Don't package testenUS.lua
    - long overdue change, forgot to change the file names in the input-file field when we renamed some files.  Luadoc will correctly update now.
James D. Callahan III:
    - In RecipeDump(): Updated to output self:AddRecipeFlags() and self:AddRecipeAdquire()
    - For all profession Init functions: Moved wrapper function outside to the main file body since it no longer needs to be aware of a RecipeDB, and updated all occurrences of addTrade* to the new names/usages.
    - In addon:Scan(): Removed double declaration of local recipe_list
    - Updated addon:InitializeRecipe() to reflect the changes in addon:AddRecipe()
    - Renamed addon:addTradeAcquire() to addon:AddRecipeAcquire() and removed the DB parameter in favor of using private.recipe_list
    - Renamed addon:addTradeFlags() to addon:AddRecipeFlags() and removed the RecipeDB parameter in favor of using private.recipe_list
    - Renamed addon:addTradeSkill() to addon:AddRecipe(), removed the RecipeDB parameter in favor of using private.recipe_list and cleaned the function up a bit.
    - In addon:GetTextDump(): Cleaned up a bit, and removed the unnecessary "RecipeDB" parameter.
    - Removed addon:ClearSavedSkills() since it was never used.
    - Localized FILTER_NAMES table, added GetFilterNames() so that it can be initialized when required (and when the player's faction is available).
    - Localized the ACQUIRE_NAMES table.
    - Removed a comment that is no longer required.
    - Merged addon:ViewExclusionList() and addon:ClearExclusionList() into fullOptions() since they were only ever used there.
    - Merged addon:ToggleExcludeRecipe() into RecipeItem_OnClick() since it was only ever used there.
    - Added spaces after commas.
    - Fixed whitespace because pompy is awesome and uses spaces instead of tabs. Also removed un-used upvalues.
    - For recipe entries, changed "Search" to "is_relevant".
    - For recipe entries, replaced "Display" with "is_visible".
    - Merged Player:HasProperRepLevel() into MainPanel.scroll_frame:Update() since it was only ever used there.
    - Merged ColourSkillLevel() into MainPanel.scroll_frame:Update() since it was only ever used there.
    - In ColourSkillLevel(): Change wrong faction string back to red, but prepend with [_G.REPUTATION].
    - Remove the code for the UPDATE_FACTION event - it is no longer needed.
pompachomp:
    - Update changelog
James D. Callahan III:
    - Moved assignment of reputation levels from addon:OnEnable() to addon:Scan() - fixes tickets 920 and 933.
    - Remove an obvious comment.
    - In ColourSkillLevel() - Meh. The color for reputation is the same as the color for optimal_level. Use purple instead - there should be no conflict there.
    - In ColourSkillLevel(): If the player doesn't have correct faction level, don't use addon:Red() for coloration, use addon:Rep() instead.
    - Fixed some whitespace issues.
pompachomp:
    - Fixed some incorrect flags for some alchemy recipes
    - Added a working Inscription bitmap
    - Removed F.WORLD_DROP from some recipes and instead added F.RAID.
    - Included a string to give more information how "Wispcloak" and "Deathchill Cloak" is acquired and added Charles Worth to the acquire for those two recipes
    - Added two new custom strings to the custom database.
James D. Callahan III:
    - Use table.wipe() instead of twipe()
    - Use WOTLK instead of 3 for the version check.
    - Fixed some whitespace.
pompachomp:
    - Added a missing trainer to the acquire for the Glyph of Claw entry
    - Fix ticket 883, all ICC recipes have the appropriate filter flags now.
    - fixed the game version check.
    - Clean up the docs a bit
James D. Callahan III:
    - In CanDisplayRecipe(): Simplified the reputation filter lookup.
    - Changed the missing library warning to say "development version" instead of "repository version".
pompachomp:
    - More changes to the bbcode formatting
John Pasula:
    - Fix some bbcode formatting
    - Add flag/acquire to bbcode output.  Format is now hardcoded as bbcode output.  Will change once this works.
    - Add header info for BBCode support for text dump.
    - I for one welcome my new grammar overlord Pompy.
    - Add some throttling to the rep updates. Number pulled out of my ass is 10.
    - Comment out registering the event.  Last time I did this, it caused an infinite loop and I need Pompy to test. :D
    - Add in support for dynamic faction changes.
    - Update no-lib error message.
    - Fix some spacing)
James D. Callahan III:
    - I fucking love typos.
    - In CanDisplayRecipe(): Reference the proper table.
    - In CanDisplayRecipe(): Stop assigning current flag values to RepFilterFlags - assign the name of the filter to LOOK UP. Changed the reputation filters check to do so.
pompachomp:
    - Fixed the dump to output the correct syntax for the qualities.
    - Added private.game_version_names table
    - Changed all the GAME_* to V.*
    - Added private.game_versions table
James D. Callahan III:
    - In CanDisplayRecipe(): Clean up some code, and make reputation filters behave the same as class filters - every flag must be toggled off for the recipe to not show.
pompachomp:
    - cleanup from last commit
    - Changed all the R_* to Q.* for the qualities.
    - Fix some variable names
    - Added some missing reputation filter flags
    - Fixed skill levels for Glyph of Corpse Explosion, Glyph of Death's Embrace, Glyph of Pestilence, Glyph of Raise Dead.. fixes ticket 936
    - testing commit with this new git client
    - Fixed the ruckus by Ackis ;p
John Pasula:
    - Forgot to declare private. lulz
    - Convert some of the acquire types in ARL.lua to use the constants.
pompachomp:
    - have the dataminer print out the name of the quality instead of the number
torhal:
    - Added private.item_quality_names table.
    - Added private.item_qualities table.
pompachomp:
    - have it print out the name of the recipe when it says there's a quality discrepancy.
torhal:
    - In addon:TooltipScanRecipe(): Renamed "spell_info" to "recipe" and added quality level checking.
pompachomp:
    - Fixed rarity for a bunch of enchanting recipes
    - Fixed rarity for some enchanting recipes
torhal:
    - in MainPanel.scroll_frame:Update() - check to see if num_entries equals display_lines; if so, halve display_lines - fixes empty list issue.
pompachomp:
    - Fixed "Wonderheal XT68 Shades" showing the wrong custom string.
Ackis:
    - All the BT zone drops got flagged as world drops.  No idea how that happened, but they're back to being marked as BT drops. Fixes ticket 929
torhal:
    - Moved last remnants of "F_WHATEVER" to "F.WHATEVER".
pompachomp:
    - Fixed "Mekgineer's Chopper" Acquire
    - add some itemid's to some enchanting recipes
    - Fixed skill levels for some Inscription recipes.
    - added some item ids to the DO_NOT_SCAN table.
torhal:
    - In GenerateTooltipContent(): Changed skill colorization to be based on comparing the player's skill level with the recipe's optimal, medium, easy, and trivial levels rather than using the optimal only and a comparison of 20, 30, and 40 - yields correct results and is in-line with the recipe difficulty colors in the list.
pompachomp:
    - Fixed rarity for "Enchant Bracers-Major Stamina", "Enchant Weapon-Blade Ward", " Enchant Weapon-Blood Draining"
torhal:
    - In GenerateTooltipContents(): Colorize the recipe name by quality.
    - Re-wrote addon:hexcolor() to use a table, with its values prepended by "|cff", instead of a large if-else chain.
    In ttAdd(): Removed "|cff" since it's now automatically included in the color codes which are passed to it.
    In GenerateTooltipContent() and MainPanel.scroll_frame:Update() - in the WORLD_DROP acquire type section - replaced colorizing by the acquire ID with colorizing by the recipe's quality. The acquire ID in this case was also the rarity, and should be replaced by something more useful. This also fixes an inconsistency between how the two functions handled the colorizing.
pompachomp:
    - Fixed filter flags for some Enchanting recipes.
torhal:
    - In ColoutSkillLevel(): Separated faction check from level check.
pompachomp:
    - Fixed some skill levels of recipes in the Leatherworking and Alchemy databases.
Jim-Bim:
    - AckisRecipeList:
    - fixed some wrong skill levels (Tickets: 921,922)
pompachomp:
    - Removed the rep level variables from the database files.
torhal:
    - Added "ALLIANCE_VANGUARD" to faction_ids and faction_strings.
pompachomp:
    - Sorted some of the recipes in the database.
torhal:
    - Added definition for FAC in Enchanting.lua
    - Added addon:DumpRecipe() - used for single recipes, by spellID.
pompachomp:
    - Updated the database with the new names for the reputation entries.
torhal:
    - Added "SHATAR", "CENARION_EXPEDITION", "VIOLETEYE", "KEEPERS_OF_TIME", "SCALE_OF_SANDS", "HORDE_EXPEDITION", "SHATTEREDSUN", "FRENZYHEART", and "ORACLES" to private.faction_ids and private.faction_strings
    - In ARL.lua Removed all upvalued F_WHATEVER constants, replaced usage with private.filter_flags
    Renamed private.acquire_flags to private.acquire_types
    Added new table members to the private namespace: rep_levels, faction_ids, and faction_strings.
    In ProfessionDump(): Recipes with no specialty will no longer print "nil". Recipes with reputation acquires will now print the faction name.
    Added "local REP = private.rep_levels" and "local FAC = private.faction_ids" to all database files to accommodate the new dump output - retained the current reputation level constants until the databases are updated.
    In Player:HasProperRepLevel() and Player:IsCorrectFaction(): Replaced local faction values with lookups in private.faction_ids
pompachomp:
    - Fixed rarity for some recipes in the Tailoring database.
    Some formatting changes.
    - Fixed issue with some profession scans not expanding.  Still gotta work on the coloring.
    - Fixed some errors when trying to expand all.  Still a problem with enchanting though.
    - Removed the nil's for the specialties.
    Fixed the replevel names instead of numbers.
torhal:
    - Fixed an issue with the profession dump where reputation levels after the first were not converted to a human-readable form.
pompachomp:
    - Convert all the recipe databases to the new format, thanks to Torhal's skillz.
torhal:
    - Hand-updated most of the Smelting database - still things to be done.
    Added support for specialties and reputation vendors to the profession dump.
    - New file: Constants.lua - at the moment this only contains filter and acquire flags and their strings.
    Re-worked every profession file to use the new flag tables.
    - In the FILTER_STRINGS table for the profession dumps, fixed indices 39 through 43.
pompachomp:
    - spaces!
torhal:
    - Fixed a bunch of formatting fuck-ups in the SPELL_ITEM table, then gave up on the NO_PLAYER_FLAG table. I'm not that self-destructive.
    Changed a bunch of numbers in the Enchanting DB to constants.
    Added a veritible fuckton of code which allows the dumping of a profession to the copy/paste buffer so that it can be pasted back into the database files in more of a human-readable format. Usage: /script ARL:DumpProfession("alchemy") (for example).
    In addon:addTradeSkill(): Add the spell_id to the table for sorting purposes (profession dumps).
pompachomp:
    - Fixed some variable declarations
    - Added some spell ids to the NO_PLAYER_FLAG table.
    Add the ammo flag to the Shatter Rounds recipe.
torhal:
    - Minor logic changes and removed some unnecessary comments.
pompachomp:
    - Add/remove some entries in the SPELL_ITEM table.
    Add an entry to the DO_NOT_SCAN table.
    Fix skill levels for various recipes throughout the database.
torhal:
    - In addon:TooltipScanRecipe(): If results == nil, don't terminate - instead, don't add the empty results and print what we have.
    Removed extra newlines from the datamine dump.
    Re-formatted some code.
    Removed dead code.
pompachomp:
    - add some debug code
    - Fixed skill levels for Flying Carpet
    - fixed a typo in one of the vendors coordinates
torhal:
    - Fixed a variable that was missed during renaming.
    - Renamed and changed the usage of more table members.
    - Utilized the private AddOn "namespace" made available in 3.3 and named it "private" - now I'll have to write a proper API for AddOns which want data since direct access is now impossible.
    Moved addon.WHATEVER_list to private.WHATEVER_list
    Removed file-local RecipeList, CustomList, etc - now using the private lists only where absolutely needed.
    Re-named and changed the usage for many more table members: vendor["SellList"] became vendor.sells acquire[index]["Type"] became acquire[index].type, etc.
    - Renamed almost every member of a recipe table for clarity of purpose and changed all occurrences from recipe["Level"] to recipe.skill_level (for example). Retained original naming and usage of "Display", "Search", "Flags", and "Acquire" until I decide what to do with them.
    - In addon:OnEnable(): Added a "Scanned" table member to the Player table, set all keys to the profession names and all values to false.
    In addon:Scan(): Set the player's scanned value for the current profession to true.
    In the GameTooltip hook for OnSetUnit: Check to see if the player has scanned the given profession before checking to see if the recipes are known so as to not print false positives.
pompachomp:
    - removed an unused variable.
    - more cleanup
    - Fixed some formatting stuff.
    - turn off changelog
    - Update changelog and turn it on.
    - Fixed some of the names for the filter flags.
    Modified the search box phrases a little.
    - The filter flag output in the text dump is prettier now.
    - Fixed some incorrect skill levels
    - Added the skill levels for the rest of the jewelcrafting recipes
    - Added skill levels for some of the jewelcrafting recipes.
    Fixed the skill levels of the LK Epic Gem recipes.
    - Added a bunch of the ICC patterns to the SPELL_ITEM table.
    Added two item IDs to the DO_NOT_SCAN table.
Jim-Bim:
    - AckisRecipeList:
    - fixed emtpy search text bug (pompy included that in r2677)
    - AckisRecipeList:
    - fixed ARL.scan_button placement (yeah torhal messed it up)
    - AckisRecipeList:
    - replaced G.ARMOR_COLON (nil) with G.ARMOR .. ":"
pompachomp:
    - cleanup
    - Corrected skill level for Smelt Thorium
    - Removed all the phrases for the quest titles.
torhal:
    - In addon:addLookupList(): Added code to grab the localized quest name from its tooltip.
    In Quest.lua Added NEUTRAL, ALLIANCE, and HORDE constants.
    In

Additional Files