UploadedJan 30, 2010
Supported WoW Versions
James D. Callahan III <email@example.com>
2010-01-30 01:03:47 -0500
Tagging as 3.3.0-1.0.0
James D. Callahan III:
- Renamed the "sources" member for players and channels to "addons" for clarity.
- In DrawTooltip(): Use tooltip:EnableMouse(true) to stop things under the tooltip from popping up.
- If a user changes the default UI's channel colors, Spamalyzer will do the same.
Added event-function Spamalyzer:UPDATE_CHAT_COLOR() which populates (and updates) the channel colors.
- Byte values above 1024 will now be displayed using the IEC binary unit symbols.
Added BtyeStr() function for calculating KiB/MiB values.
Re-formatted some comments.
- Added the prefix for Antiarc's MarySue (lol) AddOn, and cleaned up some tab formatting.
- In Spamalyzer:StoreMessage(): If an addon doesn't have an entry for a player, insert that player's name into its sorted list. Yoshimo was right - I tagged a beta then found a bug.
- In DrawTooltip(): Only sort sub-sections when the main section is open.
- When wiping data, also wipe addons and channels.
- Removed COLOR_YELLOW since it isn't used, and upvalued some globals.
- Channel names in the tooltip and the ChatFrame output are now localized.
- Fixed message counts in channel view.
- Sorting by category will now also sort sub-sections.
- Moved Debug() above all other code.
- Added Channel-view tooltip mode. The tooltip now displays the mode name in the header.
- Fixed debug declaration/definition - properly reference tekDebug.
- Fixed issue with players sometimes not being colored by class, and just for the hell of it colorized realm names by channel color.
- Re-formatted the output text for human-readability, and added channel color support.
- Added channel colors.
- Added tekDebug support and localized some globals.
- Fixed an accidental global.
- There is now an AddOn-centric tooltip mode - Middle-click to toggle.
- In Spamalyzer:UpdateTooltip(): Cancel timers.tooltip_update then nil it out instead of simply calling CancelAllTimers(). Also, in the case of a nil tooltip, set LDB_anchor and elapsed_line to nil.
- In Spamalyzer:StoreMessage(): If not tracking this message type, and there is no output_frame, abort immediately.
- In Spamalyzer:StoreMessage(): Don't try to assign a class to a player who is already known.
- In data_obj.OnEnter(): Check for timers.tooltip_update before drawing the tooltip or scheduling the tooltip update timer.
- Changed/added some comments.
- Renamed SetElapsedLine() to Spamalyzer:UpdateElapsed(), made it abort if the tooltip is nil, and replaced its use in Spamalyzer:UpdateTooltip() with a one-second repeating timer in the data_obj's OnEnter.
- Renamed Spamalyzer:UpdateGuildInfo() to Spamalyzer:GUILD_ROSTER_UPDATE() - also, added nilling of timers on Spamalyzer:OnDisable().
- Renamed StoreMessage() to Spamalyzer:StoreMessage().
- Added "track_cache" table so as to not call string.lower() for every call of StoreMessage()
- Moved all timers to the new "timers" table and changed firing time for Spamalyzer:OnMessageUpdate() from 0.5 seconds to 1.5 seconds.
- Renamed "guild_members" to "guild_classes", and changed GetPlayerClass() to do a guild lookup before calling UnitClass().
- Moved defaults table into Spamalyzer:OnInitialize()
- added Battleground General
James D. Callahan III:
- Added "addons" and "sorted_addons" tables for future use. Added some comments.
- In Spamalyzer:OnMessageUpdate() - nil out message_updater so this function will be called again.
- GetPlayerClass() no longer polls the user's guild for names/classes - instead, that information is looked up in the guild_members table, which is populated in Spamalyzer:OnEnable() and also after GUILD_ROSTER_UPDATE fires.
- New function - Spamalyzer:OnMessageUpdate(): Updates the LDB feed and the tooltip (if exists and is visible). Fires 0.5 seconds after a call to StoreMessage(), if not already scheduled.
- Renamed "sorted_data" to "sorted_players".
- Yanked the homebrew OnUpdate timer in favor of AceTimer-3.0 since this bastard grew up to require a more proper scheduler. Re-organized some code in the process of the re-write.
- Tweaked tooltip throttle.
- Added 0.25 second throttle to tooltip refreshes in order to stop massive CPU churn when in large raids or AV.
- The sorted_data table now uses player names rather than a player's table, and is now automatically sorted whenever the tooltip is drawn.
- Made the data-wiping functionality be more thorough about its cleanup.
- UpdateDataFeed() no longer takes a parameter.
- Re-wrote the sort functions to check for ascending/descending - clicking a column in the tooltip now toggles between the two.
- In StoreMessage(): Clean up the player sources definition and related code.
- Strip the realms from cross-realm folks before stuffing them into the players table - Name-Realm will still show in the tooltip.
- Pre-define values as 0 for the activity table in order to simplify its handler code.
- - Fixed Typo in dG Killshot Notifier
- Added Ovale
James D. Callahan III:
- Added new localizations and removed those which are un-used.
- Re-worked coloring for ChatFrame output - if the prefix is unknown, display "Unknown" in red, else display the AddOn name in green.
- In StoreMessage(): If we're not tracking a certain type of AddOn message, don't collect data for it.
- Some optimization.
- Added tooltip scrolling and also an option to show detailed traffic statistics in the tooltip - defaults to off.
- Show the time elapsed in the tooltip even when we have no data.
- Changed configuration formatting and removed Datafeed tab and sorting/display type since these can be done from the tooltip/LDB icon.
- Added options to filter out known/unknown AddOns when sending output to a ChatFrame.
- Moved some variables to more apt locations and added some comments.
- Removed some un-used color constants.
- In DrawTooltip(): Added the ability to select sort type by clicking on the appropriate column header in the tooltip.
- In DrawTooltip(): Handle clicks on the player name line, instead of on the plus/minus icon.
- No longer sort sorted_data when receiving a message - instead, mark "new_activity" as true and handle sorting when applicable in DrawTooltip().
- Added coloring of player names by class.
- Added tooltip hint for unmodified left-click on the data_obj.
- Modified left-click on data_obj so an unmodified left-click cycles through the display types. A shift-click now wipes the activity table and resets the epoch.
- Added UpdateDataFeed().
- Added activity table, and assign values to it in StoreMessage().
- Added DISPLAY_VALUES table for datafeed/config interoperation.
- Renamed DISPLAY_VALUES to DISPLAY_NAMES and added new names.
- Changed localization strings "Bytes In" to "Input" and "Bytes Out" to "Output".
- Fixed race condition with the tooltip timer by caching the previous value between updates.
- Fixed the broken data-clear feature.
- Added ability to clear data from the LDB icon - currently broken.
- When changing the sorting type from the config menu, the list will be automatically sorted.
- Fixed an issue where having a prefix be the same as the AddOn's name would display the AddOn as unknown.
- Per yoshimo's request, made the tooltip more resemble that of ASFu, and added the tooltip hint (with the check on whether or not to display it)
- Changed the localization string for the options menu tooltip hint.
- Re-wrote TimeStr() and tweaked CPU-usage when updating the tooltip to an acceptable level.
- Tweaked the updater to use no CPU while there is no tooltip, and to use less while there is.
- Upvalued some globals.
- Removed AddonLoader support - we want to capture AddOn messages as soon as possible.
- StoreMessage() will now re-draw the tooltip if it exists and is visible.
- The LDB icon now has a tooltip. Needs some tweaking but it mostly works as intended.
- Added the LDB data object's OnEnter/OnLeave/OnClick.
- In StoreMessage(): Fixed detection of known prefixes.
- Moved some variables around.
- Removed some un-used debug prints.
- Removed localization entry for "Name", since Blizzard provides NAME.
- In StoreMessage(): Added logic for storing and sorting players and their AddOn message sources.
- In StoreMessage(): Renamed the "name" variable to "addon_name" for clarity - fixed its usage in the ChatFrameX output.
- Added players, sorted_data, and SORT_FUNCS tables.
- Moved some variables from the AddOn namespace section to the Variables section.
- Upvalued _G.table
- Pull ChatFrame1-7 from the local _G
- Changed event registry for CHAT_MSG_ADDON - call StoreMessage() directly from there using the correct parameters.
- Removed TRACKING_CHECKS - found a cleaner way to do what I wanted.
- Added code for StoreMessage() - at present all it does is look for the prefix in the database and add it if not found, and if output_frame is non-nil sends the information to the designated frame colored by whether or not tooltip-tracking is enabled for the message type. Fixed variable names in Spamalyzer:SendAddonMessage()
- Added output_frame for displaying AddOn message information. Uses CHAT_FRAME_MAP for assignment.
- Hooked SendAddonMessage() - calls StoreMessage() if the type is "WHISPER".
- Re-named Spamalyzer:AddMessage() to StoreMessage().
- Removed some unneeded code.
- Utilized the AddOn-wide namespace to pull in the KNOWN_PREFIXES from Prefixes.lua and embedded AceHook-3.0
- New file: Prefixes.lua - contains all of the known AddonMessage prefixes from FuBar_AddonSpamFu.
- Added AceHook-3.0 to .pkgmeta and embeds.xml
- Added plus/minus icons for the tooltip.
- Populated embeds.xml so the packaged AddOn will load properly.
- Updated DISPLAY_VALUES with new strings.
- Added four more localization strings.
- Added SORT_VALUES and DISPLAY_VALUES. DISPLAY_VALUES will be used for the LDB text.
- Added config toggles for message-type tracking.
- Added two new localization strings.
- Mostly the skeleton of an AddOn, though configuration and localization layout is mostly complete and working.