r20100308042213

Details

  • Filename
    AckisRecipeList-r20100308042213.zip
  • Uploaded by
  • Uploaded
    Mar 7, 2010
  • Size
    1.10 MB
  • Downloads
    45
  • MD5
    fc7a53328deba71dd0c6466c656077aa

Supported WoW Retail Versions

  • 3.3.0

Changelog

pompachomp:
    - 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 addon:InitQuest(): Added local function AddQuest(), which is a wrapper for addon:addLookupList(). Also removed all quest names, since those will be mined from the client. Replaced all calls to addon:addLookupList() with AddQuest().
    Re-formatted a comment.
pompachomp:
    - Fixed skill level for Goblin Rocket Boots
    - some cleanup.
    - Added missing acquire data to Flask of Distilled Wisdom.
    - Fixed the file paths to the database files in database.xml
    - Renamed the "RecipeDB" directory to "Database"
    DON'T USE THIS ALPHA.
torhal:
    - More cosmetic changes to the config options.
    - Hide the MainPanel after it's created, so it isn't automatically shown when opening a TradeSkill.
    Removed the "Scan" and "Text Dump" buttons from the config options since they were not actually usable from there and only served to confuse new users.
    Moved the "Reset Window Position" button from the main config section to the Display options section.
    Clarified the TomTom support code in the config.
    Minor code cleanups.
    - Added check to see if TomTom is loaded before displaying the tooltip hint for waypoint generation.
    - Fix pompy's "I'm going to bed now...right after I change the name of this folder and then commit to the repository" fuckup. :D
Ackis:
    - Nuke holiday message
Jim-Bim:
    - AckisRecipeList:
    - Removed specialization from Engineering Pets
pompachomp:
    - reworded a message printed to chat.
    - more cleanup
    - prevent a bunch of locale errors
    - "locals" to "locales", dunno why this wasn't renamed so long ago :P
    - some cleanup.
    - renamed the locale files
torhal:
    - Fixed the skill check for trainers in the tooltip hook.
pompachomp:
    - cleanup
torhal:
    - Re-fixed the previous commit. Yay.
    - Reverted last change to hopefully stop git-svn from being a bitch.
    - in addon:TRADE_SKILL_SHOW(): Fixed scan_button re-positioning if parented to TradeSkillFrame.
pompachomp:
    - some comment stuff.
    - Doc update.
    Minor comment updates.
    - Add specialty data to the two engineering recipes from the Ashen Verdict.
    - fixed little syntax error.
    - more doc updates
    - Some Doc updates.
    - turn it off
    - Added a missing F_VENDOR flag to the 3 Winter Veil cooking recipes.
    - Updated the localization doc page.
    - Updated the changelog
torhal:
    - Reverted pompy's "comment cleanup" so I don't have to fucking strangle him.
    - Fixed value bug in the tooltip hook: If a scan had not been performed, skill level data for the given profession would be a boolean instead of a number - now this is treated as 0 skill.
    In addon:Scan(): Added an is_refresh parameter and some state-saving/comparison for number of recipes known. This ensures that we only refresh the displayed list when a new recipe is learned. Previously, this was occurring every time TRADE_SKILL_UPDATE was fired, which appears to have the ability to be broadcast from other players.
pompachomp:
    - The esES translations have been copied over to esMX
    - cleaned up comments a bit in Frame.lua
    - Fixed a bug that was causing an error when trying to get a text dump of your Enchanting.
    - In 3.3: Added "Rune of the Nerubian Carapace" to the Runeforging database.
    Added "Smelt Enchanted Thorium" to the Smelting database as it is now crafted by Miners also.
    - Moved around some stuff in ARLs Interface Options
    - Reordered some of the option modules under Ackis Recipe List in the Interface Options.
    Reworded some phrases.
    Updated the Spanish translation for the description, on the main ARL page and the wowwiki page.
    - Apparently this addon hasn't been localized in Russian all this time??...fixes.
    - Brought back resetFilters() to prevent an error being produced if you reset filters within the interface options, fixes ticket 889
    - added some missing variables to some of the databases.
    - Clean up the Documentation.txt doc a bit.
    - Added, Larana Drome <Inscription Supplies>, to the vendor database.
    Added the acquire data to the 3 new glyphs added in 3.3.
    - Fixed a bug where nothing was showing up when you were expanding the new Ashen Verdict recipes.
    - more stupid changes.
    - Change some function calls.
torhal:
    - In addon:OnEnable(): Register for TRADE_SKILL_UPDATE
    Added addon:TRADE_SKILL_UPDATE() which re-scans (on a throttle so the client doesn't lock up) the recipes so the list automatically updates when you learn a new recipe. Only works if the tradeskill frame is open.
pompachomp:
    - update the database.xml file.
    - Cleaned up the comment block on the top of each recipe file.
    - Renamed the rest of the database files.
    - Renamed one of the database files.
    - Forgot about the Engineering database.
    Removed the 3.3 version check from the Engineering database.
    Added the Ashen Verdict Quartermaster to the acquire data for the new crafting recipes.
    Uncommented the acquire for each of those recipes, now something will show when you expand them.
    - Removed the 3.3 version checks.
    Added the Ashen Verdict Quartermaster to the acquire data for the new crafting recipes.
    Uncommented the acquire for each of those recipes, now something will show when you expand them.
    - Actually use the correct npcid for "Indu'le Fisherman"
Ackis:
    - No point in having a fucking API when you fucking expose the database to the outside world.
    - Fixes for ticket 601
    - Fixes for ticket 836 and more conversion to flags.
    - Update a bunch of alchemy data to use flags.
    - Add 3 missing glyphs and update angler
    - Add acquire info for enchant gloves - angler
torhal:
    - Changed the tooltip hook for mob drops to only show a drop if the character has the appropriate tradeskill.
pompachomp:
    - Added Alchemist Finklestein <Ashen Verdict Quartermaster>, will add the acquire data for the new 3.3 recipes soon.
Ackis:
    - Rename a bunch of files, making them shorter.
    - Move ARLFrame.lua to Frame.lua a few engineering things.
    - Add Enchant Gloves - Angler.  It's listed as a mob drop so it shows up but I don't know where it comes from yet.
Jim-Bim:
    - AckisRecipeList:
    - Added a decimal place to the progress bar % value
Ackis:
    - ToC Bump... 3.3 yay?
torhal:
    - Moved scan_button parenting/anchoring code from addon:OnInitialize() to addon:OnEnable().
    - In addon:Scan(): Check if the scan_button's parent is UIParent and, if so, inform the user that a tradeskill window must be opened before scanning.
    - In addon:TRADE_SKILL_SHOW(): If the scan_button doesn't have a parent or its parent is UIParent, no tradeskill AddOns were loaded - parent and anchor to the default TradeSkillFrame.
    - Scope errors when blindly moving code are inevitable. (If you're blind or sleep-deprived)
    - Moved some scan_button setting/parenting code from addon:TRADE_SKILL_SHOW() to addon:OnInitialize() where the other half of it already was (and belongs). This ensures that the scan_button has a parent other than UIParent when addon:Scan() is called.
    Added coordinates for, and corrected the continent of, the following instances: "Ahn'kahet: The Old Kingdom", "Azjol-Nerub", "Halls of Lightning", "Halls of Stone", "The Oculus", "The Nexus", "The Violet Hold", "Utgarde Keep", and "Utgarde Pinnacle".
    - In addon:addTradeAcquire(): Added location lookup for reputation vendors.
    Re-wrote CheckMapDisplay() for clarity, and added support for reputation vendors.
    In addon:SetupMap(): Changed maplist so its key is the acquire entry rather than the entry's ID, and its value is true rather than the acquire type - this allows reputation vendor support. Also changed some code for clarity/efficiency, changed concatenation to Printf(), and added support for instance coordinates.
    Added x and y coordinates (mostly 0,0 - save for Magister's Terrace which has proper coords and the correct continent) to the entries in INSTANCE_LOCATIONS.
    Added some debug prints (commented out) in LoadZones() and just before every call to it to help with assigning proper continents to instances.
    - ...again.
    - Updated the changelog.
    - Moved some frame creation out of a do block.
    In addon:Scan(): If the player knows the current profession (not linked), update the cached skill level.
    In the NPC tooltip hook: Check to see if the character has equal or greater skill level to that required by the recipe - if not, don't show it. Also added the required skill level next to the recipe name in the tooltip.
pompachomp:
    - Changed some jewelcrafting recipe filter flags from Recipe BoP->Recipe BoE.
    - Updated the German translation of the ARL description, on the main page and the wowwiki page of ARL.
    - Changed "Custom20" to "GOBLIN_ENG", and changed the string from "Goblin Transport" to "You need to be a Goblin Engineer to obtain and use this item."
    Changed "Custom21" to "GNOMISH_ENG", and changed the string from "Gnome Transport" to "You need to be a Gnomish Engineer to obtain and use this item."
    In the Engineering database, for "Dimensional Ripper - Everlook, fixed the specialty, it was relating to Gnomish Engineering instead of Goblin Engineering, and used the correct custom string.
    - Updated text of a custom string for the two engineering pet recipes that were still labeled that they were obtained by the renewal membership, which was disabled forever patches ago.
    - Use the correct ptr version number in the check.
    - Added more data into the Blacksmithing, Leatherworking and Tailoring databases about the Icecrown Citadel recipes.
    Added the two Engineering Schematics from Icecrown Citadel.
    If you use ARL on the PTR, nothing will show at the moment when you expand these recipes.
    - minor cleanup
torhal:
    - Moved all tooltip functions and most related data inside of a do block.
    Renamed arlSpellTooltip and arlTooltip to spell_tip and acquire_tip.
    Moved ColourSkillLevel() into the do block with MainPanel.scroll_frame:Update()
    Removed a second call to acquire_tip:ClearAllPoints() if the tooltip was configured to anchor to the mouse.
    Renamed more variables for clarity.
    Moved MainPanel.filter_menu.rep.Classic into the main file body.
    Moved MainPanel.filter_menu.rep.BC into the main file body.
    Moved MainPanel.filter_menu.rep.LK into the main file body.
pompachomp:
    - Added seasonal acquire data to the following recipes: Festive Red Pant Suit, Festival Dress, Green Winter Clothes, Red Winter Clothes.
    Added the Alliance flag to the "Green Winter Clothes" recipe because even though it's sold in Horde territory, the vendor is friendly to Alliance as well.  Added the "Seasonal" flag to "Green Winter Clothes" as well.
    - Updated the French translation of the ARL description.
    Updated the ARL description in the toc.
torhal:
    - In CreateExpansionButtons(): Removed the name parameter and added a tooltip_text parameter since the button will no longer have a name to decide which tooltip it will have.
    ARL_Rep_ClassicCB is now MainPanel.filter_menu.rep.toggle_originalwow
    ARL_Rep_BCCB is now MainPanel.filter_menu.rep.toggle_bc
    ARL_Rep_LKCB is now MainPanel.filter_menu.rep.toggle_wrath
    Added more filter flag constants.
    Wherever the code deals with acquire types in a loop: Replaced "k, v" with "index, acquire".
    Changed syntax in various places.
Ackis:
    - Remove dump recipe,  out dated at the very least.
torhal:
    - Added constants for binding flags, and the BINDING_FLAGS table.
    In GenerateTooltipContent(): Replaced individual flag/label checks with an iteration over the BINDING_FLAGS table.
    In the OnClick script for MainPanel.filter_menu.item.weapon_toggle Fixed a toggle value bug.
    Yanked repeated code in GenerateTooltipContent() and made GetTipFactionInfo() from it.
    Throughout the file: Renamed variables - clr1 = color_1, clr2 = color_2, cStr = coord_text, recStr = recipe_text, trnr = trainer, displaytt = display_tip, rplvl = rep_level, etc.
    - Re-worked the OnClick script for MainPanel.filter_toggle to iteratively show/hide the menu_toggle buttons rather than doing so individually.
    In ToggleFilterMenu(): Re-wrote for clarity, replacing 128 lines with 18.
    - ARL_ExpWhateverOptCB are all now MainPanel.menu_toggle_whatever
    ShowFilterMenu() has been completely re-written and now exists as MainPanel:HighlightCategory(), and now hides the filter menu if no parameter is given.
    ToggleFilterMenu() now uses category names instead of numbers.
    CreateFilterMenuButton() no longer has a button name parameter and will no longer name the textures it creates.
    Renamed ExpButtonText to CATEGORY_TEXT, and changed it to a dictionary table.
    Renamed ExpButtonTT to CATEGORY_TOOLTIP, and changed it to a dictionary table.
    Removed some unnecessary comments.
    - Renamed HideARL_ExpOptCB() to ShowFilterMenu(), and removed unnecessary calls to SetText().
    Cleaned up FilterValueMap a bit.
    Moved creation of the expansion buttons to the main file body, and move CreateExpansionButton() into the same do block.
    - Re-wrote the OnClick script for MainPanel.filter_menu.item.weapon_toggle for clarity/efficiency.
    Converted all of the weapon CheckButtons to the new format.
    Moved creation of MainPanel.filter_menu.player and its CheckButtons to the main file body, and converted them to the new format - deleting a few extra SetText() calls along the way.
    Moved creation of MainPanel.filter_menu.rep to the main file body.
    Updated all FilterValueMap references.
    - In GenerateTooltipContent(): Added local reference to addon.Frame as MainPanel.
    Further refined the OnClick script for the class_toggle.
    Moved creation of all the filter_menu.item stuff into the main file body. Changed the checkboxes to not be global.
    Re-wrote the armor_toggle OnClick for clarity/efficiency.
    Updated FilterValueMap references.
    - Renamed Generic_MakeCheckButton() to InitializeCheckButton()
    Moved creation of MainPanel.filter_menu.obtain and its CheckBoxes from addon:InitializeFrame() to the main file body.
    Moved creation of MainPanel.filter_menu.binding and its CheckBoxes from addon:InitializeFrame() to the main file body.
    Made the CheckBoxes for these two filter_menu sections members of the menu frame and removed them from the global namespace.
    Moved creation of MainPanel.filter_menu.item from addon:InitializeFrame() to the main file body.
    Updated references in FilterValueMap.
    - Set MainPanel to be clamped to the screen.
    Lowercased all of the MainPanel.filter_menu members (general, obtain, etc)
    Moved Generic_MakeCheckButton() to just after the creation of MainPanel.filter_menu
    Moved creation of MainPanel.filter_menu.general and its check-buttons to the main file body from addon:InitializeFrame()
    All of the CheckButtons for the General filter menu have been moved out of the global namespace and into MainPanel.filter_menu.general - they also no longer inherit from UICheckButtonTemplate.
    In Generic_MakecheckButton(): Create a FontString and Normal/Pushed/Highlight/Disabled/Checked textures for the CheckButton, since it will no longer inherit from UICheckButtonTemplate.
    Updated references to the General filter checkbuttons in FilterValueMap.
    Re-wrote the OnClick script for MainPanel.filter_menu.general.class_toggle for clarity/efficiency.
    - Re-anchored ARL_ExpGeneralOptCB to MainPanel.filter_reset from MainPanel.filter_toggle to match its physical location.
    Moved creation of the filter toggle buttons from addon:InitializeFrame() to the main file body.
    Moved CreateFilterMenuButton() to just before it's needed.
    Moved CreateExpansionButton() to just after the creation of MainPanel.filter_menu where it will be needed after further changes.
    In the ToC: Moved ARLFrame.lua to load after ARLColour.lua
    - The General and Obtain filter panels are now dual-column.
    Ripped code out of CreateFilterMenuButton() to make CreateExpansionButton()
    - Moved creation of MainPanel.scroll_frame to just above the creation of MainPanel.progress_bar
    Renamed MainPanel.close_button to MainPanel.xclose_button
    ARL_CloseButton is now MainPanel.close_button - its creation was moved to the main file body from addon:InitializeFrame()
    Moved ClosePopups() and ColourSkillLebel(), and all tooltip-related functions to just before the frame creation code.
    Moved the icons in the filter menu more to the left so the text would fit in the panel.
    Made various small syntax changes.
    - Moved the ExpButtonText to the Constants section.
    Added MAINPANEL_NORMAL_WIDTH and MAINPANEL_EXPANDED_WIDTH.
    Moved the acquire-type constants to the Constants section.
    Moved the StaticPopup definitions to the Constants section.
    Renamed factionHorde, factionAlliance, and factionNeutral to FACTION_HORDE, FACTION_ALLIANCE, and FACTION_NEUTRAL then moved them to the Constants section.
    Moved various commonly-used local functions toward the top of the file.
    addon.flyTexture is now MainPanel.filter_menu.texture
    Moved creation of MainPanel.progress_bar from addon:InitializeFrame() to the main file body.
    MainPanel:UpdateProgressBar() is now MainPanel.progress_bar:Update()
    ARL_ResetButton is now MainPanel.filter_reset and is created in the main file body instead of within addon:InitializeFrame()
pompachomp:
    - add the stuff removed last commit, back in.
    - testing package time.
torhal:
    - Moved SetTooltipScripts() and GenericCreateButton() toward the top of the file, just under the frame cache code.
    In GenericCreateButton(): Removed the setting of global frame names and removed anchoring parameters - everywhere this function was called now also has a :SetPoint() call for the returned button.
    Removed several button:SetText() calls, since the call to GenericCreateButton() directly above them took care of this.
    Renamed CreateExpandedPanelcheckButton() to CreateFilterMenuButton().
    ARL_FilterButton is now MainPanel.filter_toggle and is created in the main file body instead of addon:InitializeFrame().
    - Changed addon.Flyaway to MainPanel.filter_menu
    Changed addon.Fly_Rep_WHATEVER to MainPanel.filter_menu.Rep.WHATEVER
    Changed FLYAWAY_WHATEVER to FILTERMENU_WHATEVER
    DoFlyaway() is now ToggleFilterMenu()
    Moved the setting of the scroll frame's attributes to just after its creation - was in addon:InitializeFrame()
    Various other syntax and name changes for clarity.
pompachomp:
    - Some minor comment cleanup
torhal:
    - Doubled the width of the Obtain panel, and replaced the following localization strings with their counterparts in GlobalStrings.lua
    Replaced L["Display"] with _G.DISPLAY
    Replaced L["Ok"] with _G.OKAY
    Replaced L["Filter"] with _G.FILTER
    Replaced L["Filters"] with _G.FILTERS
    Replaced L["Version"] with _G.GAME_VERSION_LABEL
    Replaced L["Name"] with _G.NAME
    Replaced L["World Map"] with _G.WORLD_MAP
    Replaced L["Font Size"] with _G.FONT_SIZE
    Replaced L["Off"] with _G.OFF
    Replaced L["Mouse"] with _G.MOUSE_LABEL
    Replaced L["Reputation"] with _G.REPUTATION
    Replaced L["General"] with _G.GENERAL
    Replaced L["Player Type"] with _G.ROLE
    Replaced L["Misc"] and L["Miscellaneous"] with _G.MISCELLANEOUS
    Replaced L["Search"] with _G.SEARCH
    Replaced L["Reset"] with _G.RESET
    Replaced L["Skill"] with _G.SKILL
    Replaced L["Faction"] with _G.FACTION
    Replaced L["Instance"] with _G.INSTANCE
    Replaced L["Raid"] with _G.RAID
    Replaced L["PVP"] with _G.PVP
    Replaced L["Old World"] with _G.EXPANSION_NAME0
    Replaced L["Burning Crusade"] with _G.EXPANSION_NAME1
    Replaced L["Lich King"] with _G.EXPANSION_NAME2
    Replaced L["Armor"] with _G.ARMOR and _G.ARMOR_COLON
    Replaced L["Tanks"] with _G.TANK
    Replaced L["Melee DPS"] with _G.MELEE
    Replaced L["Caster DPS"] with _G.DAMAGER
    Replaced L["Healers"] with _G.HEALER
    Removed the unused localizations L["Apply"] and L["APPLY_DESC"], and L["Wrath of the Lich King"].
    - Moved creation of arlSpellTooltip from addon:InitializeFrame() into the main file body, and changed its parent from MainPanel to UIParent.
    In SetSpellTooltip(): Copy GameTooltip's main settings over to arlSpellTooltip so AddOns which modify GameTooltip will work on it.
    Moved the setting of arlSpellTooltip's scale from addon:DisplayFrame() to SetSpellTooltip(), where the config option will actually work.
    Moved the setting of arlTooltip's scale to after its anchor points have been cleared then set so the config option will actually work.
    Moved TipTac skinning of arlSpellTooltip from addon:InitializeFrame() to SetSpellTooltip().
    In giveDisplay(): Change L["UI Scale"] to _G.UI_SCALE, removed check for addon.Frame's existence, and removed the attempt to set the scale of arlTooltip and arlSpellTooltip.
    Removed "UI Scale" from the localization table.
    Removed some comments for which their code was obvious in function.
    Removed global references to arlTooltip and arlSpellTooltip.
    Added file-local arlTooltip, as there is no reason for it to be global.
pompachomp:
    - Since Blizzard made specific spellid's for a specific faction for the Thanksgiving food, fixed that.  You'll see the correct Thanksgiving food depending on your faction.  Previously only the Alliance ones were in the database.
torhal:
    - Removed all of the localized Blizzard API from ARLFrame.lua - none of it was needed.
    Added constants for the Flyaway frame's height and widths.
    Renamed addon.DoFlyaway() to DoFlyaway(), moved it into the do block with CreateExpandedPanelCheckButton(), and removed the calls to addon.Flyaway:SetHeight() as unnecessary.
    Moved recursiveReset() to just before addon:InitializeFrame().
    Moved ExpButtonTT into a do block with CreateExpandedPanelCheckButton().
    Moved ExpButtonText to just before HideARL_ExpOptCB().
    Moved the font code to just above the tooltip code, where it is used.
pompachomp:
    - changelog update.
torhal:
    - Moved some code out of the OnClick script for ARL_FilterButton, cleaned it up a bit, and turned it into MainPanel:ToggleState().
    Moved some of the frame creation/initialization out of addon:InitializeFrame() and into the main file body.
    - Meh. Actually commit the ScrollFrame fix this time.
    - In addon:Scan(): Change the existence/visibility check for TradeSkillFrame to be a a check on the scan button's parent instead - TradeSkillFrame will not be visible when using a replacement AddOn.
    The ScrollFrame will no longer refresh its contents when scrolling.
    - Removed addon:ToggleFrame() - its code is now the OnClick handler for the scan button, since that was its primary function - toggling the visibility of the frame was only a side-effect. Also, no longer set the player's profession here, since that is done in addon:Scan().
    Changed the OnClick handler for ARL_ArmorButton to toggle armor filters iteratively rather than individually.
    Changed the OnClick handler for ARL_WeaponButton to toggle weapon filters iteratively rather than individually.
    Renamed addon:GenericMakeCB() to Generic_MakeCheckButton().
    Renamed addon:CreateExpCB() to CreateExpandedPanelCheckButton().
pompachomp:
    - doc updates
torhal:
    - Removed some localized globals that didn't really need to be.
    In the OnClick script for ARL_ResetButton: Replaced individual class toggles with iterative toggles, and a call to UnitClass("player") with Player["Class"]. Also removed the setting of a non-existent filter.
    - Fixed the First Aid display by altering the number of lines to display in the FauxScrollFrame if the number of entries is less then NUM_RECIPE_LINES.
    ARL_ProgressBar is now MainPanel.progress_bar - yay for not polluting the global namespace!
    SetProgressBar() is now MainPanel:UpdateProgressBar()
    Renamed MainPanel:ResetTitle() to MainPanel:UpdateTitle()
    Re-worked ARL_ClassButton's OnClick script to iteratively toggle class filters rather than doing them individually, and replaced a call to UnitClass("player") with Player["Class"].
    Moved assignment of MainPanel to addon.Frame from addon:InitializeFrame() to the file body.
    - In MainPanel:ResetTitle() - Changed to use SetFormattedText() to help curb garbage-generation.
    In Player:SetProfessions() - Explicitly check for false, since a nil table entry will set spell names we don't care about.
    When generating a new entry for the ScrollFrame list, set its is_header member to true if it actually is a header, otherwise ignore it - nil > false
    Changed DEBUG() to addon:DEBUG().
    Made miscellaneous syntax changes and variable/member renames for clarity.
    - Added a debug function while I continue this overhaul - incidentally, last commit fixed the issue where clicking a list entry did not expand it.
    - Replaced all occurrences of recipeDB, and made GenerateTooltipContent() more clear in the process.
    - Moved DisplayStrings to MainPanel.scroll_frame.entries and changed expandEntry() to MainPanel.scroll_frame:ExpandEntry()
pompachomp:
    - Fixed bug where if you had a search filter set when you close ARL and open it up again the search box text wouldn't show the search filter still in progress.  Fixes ticket 833
    - changelog update
torhal:
    - Check to see if TradeSkillFrame exists before checking to see if it's visible.
    - ARL_RecipeScrollFrame is now MainPanel.scroll_frame and is created at the top of the file instead of in addon:InitializeFrame()
    RecipeList_Update() is now MainPanel.scroll_frame:Update() - it and all associated code has been re-factored for clarity/efficiency.
    Removed WipeDisplayStrings() and initDisplayStrings() - their code now resides in MainPanel.scroll_frame:Update()
    addon.RecipeItem_OnClick() is now RecipeItem_OnClick(), is defined within a do block in addon:InitializeFrame(), and now utilizes a "self" parameter so it no longer needs to be set as a script from a closure.
    RepFilterSwitch() is now a local function within a do block in addon:InitializeFrame().
    ARL_ProgressBarText now uses :SetFormattedText() rather than :SetText() to help reduce garbage generation.
    Removed the check for the old "Skill" sort type - certainly, nobody is still running a version of ARL that has it.
    Renamed most of the DisplayString members.
    Removed a plethora of whitespace.
    - Yanked some code from addon:DisplayFrame() and turned it into MainPanel:SetProfession().
    Removed a large portion of code from MainPanel.mode_button's OnClick script - everything it was doing is handled by the cascade of events initiated by addon:Scan().
    Removed SaveFramePosition() - its code now resides in MainPanel's OnMouseUp script.
    Moved faction_strings and CheckDisplayFaction() into a do block with expandEntry(), since they are both only used there.
    CheckDisplayFactions() now has one parameter, down from two.
    Removed file-local variable currentProfIndex - we now use MainPanel.profession
    Moved SortedProfessions and NUM_PROFESSIONS to the Constants section in the file.
    Removed MainPanel:Close() - calling MainPanel:Hide() does the same thing.
    - addon:DisplayFrame() no longer uses function parameters.
    Removed allSpecTable - it was never used.
    Removed sortedRecipeIndex - addon.sorted_recipes is used now.
    Renamed dungeonlocationlist to INSTANCE_LOCATIONS.
    Renamed SortMissingRecipes() to SortRecipeList() - it now has no return value nor parameter.
    Removed the function definitions from sortFuncs, making them their own do-block-local entities.
    Pulled the definition of sortFuncs out of SortRecipeList().
    Changed some comments, removing those for which their code was obvious.
    Altered some syntax throughout.
    - Removed the file-local variables customDB, mobDB, questDB, seasonDB, trainerDB, and vendorDB.
    Improved code clarity in various functions.
    Moved narrowFontObj and normalFontObj to just before their first use.
    - Fixed some accidental globals.
    In GenericCreateButton(): Removed some SetScript() calls which appear to have once been tied to LibRock (SubControl_OnEnter/Leave) but are now unused.
    - Moved addon:ResetGUI() fron ARLFrame.lua to ARLConfig.lua as a file-local function, since it is only used there from the config options.
    Moved the player profession-setting code from addon:OnEnable() to Player.lua as Player:SetProfessions() with a slight re-write - at some point this should be used when a player learns/unlearns professions.
    Added some TODO comments throughout the code for variables set on the Player table which have no current use, and for functions which should be used for more than their current context.
    - The "addon" table now has seven new sub-tables: custom_list, mob_list, quest_list, reputation_list, trainer_list, seasonal_list, and vendor_list - this was done in an effort to be rid of the practice of passing tables to other files via function parameters.
    New file: Player.lua - contains functions which were ripped from other files and re-worked or re-written to support the notion that the player is its own entity.
    addon:DisplayFrame() now only has one parameter, down from nine, due to no longer passing tables between files in that manner.
    Replaced all occurrences of "playerData" with "Player", and all of its subtables named "playerWhatever" are now simply "Whatever".
    Removed addon:SetRepDB() - it was never used anywhere and was only a wrapper function anyway.
    Tidied up CheckDisplayFaction() a bit.
    Removed some "local globals" and replaced them with per-use definitions where applicable.
    SetProgressBar() no longer has a parameter.
    In addon:DisplayFrame(): Removed a call to WipeDisplayStrings(), since initDisplayStrings() calls it itself.
    In AckisRecipeList.lua Renamed NUM_FLAGS to NUM_FILTER_FLAGS.
    - In ColourSkillLevel(): Re-worked to have three parameters rather than eight - the rest are derived from the new first parameter, which also allowed the removal of needless variables from initDisplayStrings().
    checkFactions() has been re-named to HasProperRepLevel() and was re-written for clarity/efficiency and to have one parameter rather than four.
    SetSortString() has been removed - its re-written code now resides in initDisplayStrings().
    Modified some comments throughout the file.
    - Changed addon:CloseWindow() to MainPanel:Close().
    Removed expandallDisplayStrings() - this function was a carbon-copy of initDisplayStrings(), except that it automatically expanded recipes which had an acquire type. The functionality is now in initDisplayStrings() itself, and is turned on if that function's "expand_acquires" parameter is true.
    - Re-worked addon:GetTextDump() to re-use the "text_table" and "acquire_list" tables between calls, and also to assign flag states using the ACQUIRE_NAMES table instead of an ifelse chain.
    In addon:OnInitialize(): Added some separators between the options tables.
    Removed addon:ResetSearch(): It was only ever used in the OnClick handler of ARL_ClearButton, so its code now resides there.
    Changed a plethora of syntax in ARLFrame.lua
pompachomp:
    - Don't print out a comma after the last item displayed.
Ackis:
    - Add a holiday message to the main page.
torhal:
    - Changed all ACQUIRE_WHATEVER to A_WHATEVER.
    Re-wrote the sort functions for clarity/efficiency. Sorting by location now works as intended, falling back to acquisition sort if no criteria are met.
    - In addon:TRADE_SKILL_SHOW(): Re-wrote alt-tradeskill code.
    Re-wrote addon:SearchRecipeDB() and moved it into addon:InitializeFrame() as the local function SearchRecipes() to be set as scripts for the search button and search entry box.
    Changed addon.RepFilterSwitch() to RepFilterSwitch()
pompachomp:
    - Removed an unused variable.
torhal:
    - Re-wrote addon:ToggleExcludeRecipe().
    Moved all of the "this API provided for external AddOns" functions to the end of the file.
    Removed GetIDFromLink() - its code is used directly in the only place it was ever called.
    Added NUM_FLAGS constant, and put it to use in the functions which were using a hard-coded number.
    Modified some syntax.
    Modified some comments.
    - Removed RepFilters - they were defined but never used.
    Moved profession_table out of the do block that contained it and InitializeRecipes(), and moved its initialization from that function to addon:OnInitialize() since there was no need to re-define its keys/values, and renamed it to PROFESSION_INITS.
    Renamed InitializeRecipes() to InitializeRecipe() since that is exactly what it does, and re-worked its code. It also no longer resides within a do block.
    Changed addon:AddRecipeData() to no longer check for the existence of RecipeList (it will always exist) and simply return InitializeRecipe() - so now it is merely a wrapper function (wondering if there is actually a reason it should exist)
    In addon:GetExclusions(): Re-worked to minimize table lookups and removed the RecipeDB parameter since it always uses RecipeList.
    - Changed addon:CheckDisplayRecipe() to CanDisplayRecipe() - it's only ever used as a helper function for addon:UpdateFilters().
    In CanDisplayRecipe(): removed function parameters - they were not needed since the information is all file-scope. Removed profession check since it is already performed in addon:UpdateFilters(). Renamed variables "generaldb" and "flags" to "general_filters" and "recipe_flags" for clarity. Added some local variables to reduce some table lookups. Fixed named flag numbering (fixes ticket 864).
    Moved addon:UpdateFilters() into the do block with CanDisplayRecipe() since it only needs to be accessible from that function.
    In addon:UpdateFilters(): Re-write for improved efficiency/readability, removed all parameters as unnecessary.
pompachomp:
    - Added a missing vendorid to some engineering recipes.
torhal:
    - CreateRepTable() and CheckReputationDisplay() are now merged into addon:CheckDisplayRecipe().
    addon:ClearRepTable() has been completely removed - I have no idea why it even existed...nuking the reputation filter table and rebuilding it after every scan is...*eyebrow*
    - Removed the TRADE_WINDOW_OPENED state flag, and it's associated toggling functions - we're using TradeSkillFrame:IsVisible() instead.
    Removed PopulateRepFilters() - its contents now reside within addon:Scan().
    - Hooray for incorrect table usage! Class filters work again.
    - Re-wrote addon:addTradeAcquire() based on code backported from Collectinator.
    Removed addon:GetRecipeLocations() - its functionality is now in addon:addTradeAcquire().
    Added tooltip display for unknown recipes on mobs who drop them, vendors who sell them, and trainers who train them.
    - Fixed the recipe ID for Heavy Golden Necklace of Battle. Something else is wrong with it, though, because it still isn't showing up in scans. Also fixed comma-delimiters.
    - In addon:CheckDisplayRecipe(): Moved the class filter and soft filter checks over to table iterations instead of a bajillion if statements.
BWMerlin:
    - Updated trainer glyph of claw
pompachomp:
    - The Text Dump now uses the correct csv syntax and will now look much cleaner in a spreadsheet.
    Update changelog.
torhal:
    - In addon:CheckDisplayRecipe(): Moved the profession check to the top of the function so we can bail out immediately, and replaced 34 "if" checks for filter flags with an iteratitive check over the new HardFilterMap table. Also, did some cleaning of the syntax.
    In CheckReputationDisplay(): Minor cleanup.
    - The following functions no longer exist, since they were only used in addon:Scan() and their code now resides there: addon:ScanForKnownRecipes(), ResetKnown(), and GetTradeSpecialty().
    Assigned spellIDs as the values in the specialty tables instead of "true". This allows the removal of GetSpellLink() and other sortid code when assigning the specialty during a scan.
    Removed various checks for the existence of addon.Frame since it will always exist now.
    - Changed OnClick script for the mode_button to automatically switch to and then scan the appropriate tradeskill. If the window was not visible before switching, hide it. No more annoying "You have not yet scanned this tradeskill" message.
    - SetFramePosition() is now MainPanel:SetPosition()
    Moved MainPanel methods out of InitializeFrame() and into the main file body.
    Moved creation of MainPanel out of InitializeFrame() and into the main file body.
    Removed "playerFaction" and "exclude" parameters from GenerateTooltipContent(), since that information is available from the file scope. Updated both places where it is used.
    ARL_SwitcherButton is now MainPanel.mode_button
    SetSwitcherTexture() has been re-written and is now mode_button:ChangeTexture().
    - Moved all of the database-related tables into file scope.
    Moved creation of the scan button from addon:OnEnable() to addon:OnInitialize().
    All player initialization is done from within addon:OnEnable() instead of addon:Scan(), and no longer has its own function.
    GetKnownProfessions() no longer exists - its code is done directly within the player initialization.
pompachomp:
    - Changed some flags around:
    Hard Khorium Battlefists to Recipe BoE->Recipe BoP
    Sunblessed Breastplate to Recipe BoP->Recipe BoE
    - Fixed a flag for Shrouding Potion in the Alchemy database, F_QUEST->F_VENDOR
    Fixed skill levels for: Glyph of Turn Evil, Glyph of Scourge Imprisonment, Glyph of Stormstrike, Glyph of Focus, Glyph of Claw.
    - Corrected skill level for Enchant Cloak - Minor Protection
    Added missing acquire data to Glyph of Claw
    - Fixed a flag for Sneaking Potion in the Alchemy database, F_QUEST->F_VENDOR
    - Added a missing vendor to the vendor database,
    Vharr <Superior Weaponsmith>
    Added missing acquire data to the Massive Iron Axe recipe in the Blacksmithing database.
    - some changes to wowwiki's arl page.
    - Removed some left behind references to LibBetterBlizzOptions
Ackis:
    - Manual changelog off.
    - Few minor doc update, removal of LBBO which I thought I took out a while ago, and change log update.
    - Fix a really old bug no one complained about.  You can now customize what types of entries get shown on the map dumps.
pompachomp:
    - Ticket 826, refining the blacksmithing database.
    Ticket 846, refining the jewelcrafting database.
    - Ticket 825, refining the enchanting database.
    Ticket 846, refining the jewelcrafting database.
    - actually fix the mana restoration check.
    - Added 'scan_data.tank = true' to the 'expertise' check
    Ticket 825, refining the enchanting database.
    Ticket 826, refining the blacksmithing database.
    Ticket 846, refining the jewelcrafting database.
    - Changed check from "mana every 5 seconds" to "mana per 5 sec."
    - Added missing acquire data for some engineering recipes from Timofey Oshenko, Ticket 575
    - Reword the description.
    - Fixed an item id in the SPELL_ITEM table.
    Added some more leatherworking item id's to the DO_NOT_SCAN table.
    Added Leatherworking, Alchemy, and Engineering to the NO_PLAYER_FLAG table.
    - added blacksmithing, inscription, enchanting, and tailoring ids to the NO_PLAYER_FLAG table.
    - Check for "Fist Weapon" not just "Fist"
    - Added jewelcrafting and cooking stuff to the NO_PLAYER_FLAG table.
    - changelog update.
    - Added all the wotlk epic gems to the SPELL_ITEM table in the dataminer.
    Fixed the item bind flag for the epic gems from BoP Item->BoE Item.
    - Ticket 825, refining the enchanting database.
    - I

Additional Files