1.8.57-78-g66666f8

Details

  • Filename
    Archy-1.8.57-78-g66666f8.zip
  • Uploaded by
  • Uploaded
    Feb 7, 2015
  • Size
    509.96 KB
  • Downloads
    1,385
  • MD5
    70f433302f5b5c6a8405b866eba1415b

Supported WoW Retail Versions

  • 6.0.3

Changelog

James D. Callahan III:
    - Naming cleanup.
    - Massive reduction in table lookups during frame updates.
    - Moved InitializeFrames() from Archy.lua to Interface.lua
    - Whoops. Draenor actually has 9 fragment finds per dig site.
    - Rewrote handling of dig sites for the BattlefieldMinimap, and ensured that they are shown/hidden alongside the WorldMapArchaeologyDigSites
    - Replaced the evil ContinentRaces() function with the CONTINENT_RACES table.
    - Show the proper number of available survey finds (8 in Draenor, 6 everywhere else).
    - Based on a hunch, I looked at TomTom's code and determined that there's no fathomable reason to require a UI reload when disabling its "Enable automatic quest objective waypoints" setting. So why the hell were we doing so?
    - Moved most of the code dealing with the frames to Interface.lua - this brings Archy.lua down to a still-insanely-huge 2446 lines of code.
    - Removed check for FramesShouldBeHidden() when using mouse-survey functionality. Whether or not the frames are shown shouldn't fucking matter.
    - private.dig_sites => private.DIG_SITES
    - Renamed Archy.xml to Interface.xml (at least until I get rid of the XML altogether. Bleh.)
    - So...if LibStub doesn't find LibSharedMedia-3.0, we force load it and then ask LibStub for it again? No. This isn't how that shit is done. Begone!
    - Dead code removal.
    - Minor cleanups, and removed useless comments.
    - Logic cleanup.
    - SortSitesByName => SortSitesByZoneNameAndName
    - Changed a bunch of Archy.something to self.something
    - Moved the slash command handling, took its initialization out of :OnEnable(), and put it in the main chunk.
    - Refined TomTom error dialog a bit.
    - Cleanup.
    - Complete rewrite of TomTom handling.
    - Moved some constants to Constants.lua
    - Changed frame lock/unlock notification to use the configured announcement output, rather than defaulting to the chat frame, and improved the localized wording. ("Locked: No" instead of "Unlock"...)
    - Added confirmation dialog to theme-changing. Addresses ticket #402
    - Reassign tomtomExists whenever the  TomTom config is updated. Supposedly fixes ticket #490, but I don't run Carbonite so I can't say for certain.
    - Added TODO so I'll remember to rewrite ContinentRaces() into a static table, because creating throwaway tables with the intent of iterating over them to perform name matches is not cool.
    - Removed ClearAllPOIs() - it was a three-line loop that was only ever called from UpdateMinimapPOIs().
    - Moved the code for GetContinentSiteIDs() into ClearInvalidPOIs(), since that's the only place it was ever called.
    - Moved MatchFormat() and ParseLootMessage() into a do-block with Archy:CHAT_MSG_LOOT().
    - Changed HasArchaeology() to return true or false, instead of the profession index.
    - Comment fixes.
    - Removed the completely batshit IsFishingPoleEquipped() function: Calling select() twice on the values of calling GetAuctionItemSubClasses(1) twice, every time we need to check for a fishing pole being equipped... Replaced with calling IsEquippedItemType() on FISHING_POLE_NAME, which is assigned at load time.
    - Removed IncrementDigCounter() - it was only ever used in one place, and it...increments a dig counter. What the actual...
    - Formatting fixes, and added a TODO so I can investigate why the hell the comment "for now let's just avoid the error" was added, instead of fixing the actual cause of whatever the error was.
    - Moved the code for UpdateSite() directly into UpdateAllSites() since that's the only place it was ever called.
    - Logic cleanup.
    - Refactored UpdateSite() - variable renames for sanity, rearranged some things, and removed a completely useless call to GetArchaeologyRaceInfo().
    - Added data-mining code, courtesy of sidji.
    - Moved body of GetContinentSites() into UpdateSites() - no idea why they were separate functions, since the former was only ever used in the latter.
    - Renamed DIG_LOCATION_TEXTURE to DIG_LOCATION_TEXTURE_INDEX
    - Utilized the new releaseHandler parameter for LibQTip-1.0:SetAutoHideDelay() so Archy isn't clobbering another AddOn's tooltip.
    - Added IsInInstance check to PLAYER_ENTERING_WORLD; calls HideFrames if true, ShowFrames if false.
    - Added HideFrames and ShowFrames functions.
    - Renamed ShouldBeHidden() to FramesShouldBeHidden()
    - Changed PointsOfInterest to store only active POIs (as a key instead of a value), and removed the .active field from the POIs.
    - Renamed allPois to PointsOfInterest.
    - Combined ClearSitePOI() and ClearSurveyPOI() into ClearPOI()
    - Dead code removal.
    - Cleanup.
    - Moved the event handlers to the bottom of the file, pending relocation to their own file.
    - Comment  fix.
    - Moved initialization of CRATE_USE_STRING and digsitesTrackingID into :OnEnable() and greatly simplified the code required to do so.
    - Alphabetized RegesterEvent calls by event name for ease of skimming.
    - Do not perform tooltip scanning to get CRATE_USE_STRING if it's already set. Don't iterate through tracking types if digsitesTrackingID is already set...
    - Added LibTextDump-1.0 so the debug code will actually work.
    - Guard against nil artifactIndex.
    - Added RAD_135 and SQUARE_HALF constants. These should NOT have been constantly re-calculated in a damn OnUpdate.
    - Replaced convoluted StateDriver code with straightforward Show/Hide semantics for combat. Now it Just Works (™). Fixes ticket #494.
    - Added debug frame.
    - Changed subcommand handler into a table lookup, instead of an insanely long if-else chain.
    - Ensure that there is a value for distance, 0, in case Astrolabe does not return one. Fixes ticket #529
    - Don't just check if artifactSolved.raceId is greater than zero before announcing what was solved; make sure it matches the ID of the current race in the iteration so we announce the correct one...
    - Cleanup.
    - Corrected variable naming.
    - Replaced GetArtifactStats() with Race:GetArtifactCompletionDataByName() - uses name to index mapping table instead of iterating over indices to check for name matches.
    - Map artifact names to indices upon race creation, to do away with iterating the indices for stats lookups.
    - Dead code removal.
    - Severely reduced the number of table lookups in Archy:ScanBags()
    - Re-added assignment of keystone inventory value...whoops...
    - Logic simplification.
    - Removed artifact_data table in favor of each race entry containing its own artifact information, and replaced UpdateRaceArtifact() with Race:UpdateArtifact()
    - Don't check for the Races table being empty before initializing - it will be at this point.
    - Moved DB files into Database dir.
    - Removed useless/outdated comment.
    - Began revamp on race-handling: Initialize a race explicitly by ID when the AddOn is enabled, instead of upon an index attempt on the list table (initialization was happening on UpdatePlayerPosition, if the list table was empty, FFS), and moved the keystone cache-processing queue to Race.lua
    - Variable renames for clarification of purpose.
    - Cleanups and reformatting.

Additional Files