<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="2.0">
	<channel>
		<title>WoWInterface - AddOns by AnduinLothar</title>
		<link>http://www.wowinterface.com</link>
		<description>World of Warcraft Addons, Interfaces, Skins, Mods &amp; Community.</description>
		<language>en</language>
		<generator>WoWInterface</generator>
		<ttl>30</ttl>
		<copyright>Copyright 2006, WoWInterface</copyright>
		<image>
			<url>http://cdn.wow.mmoui.com/images/style_mmoi_wowi2/misc/rss.jpg</url>
			<title>WoWInterface</title>
			<link>http://www.wowinterface.com</link>
		</image>
		<webMaster>no-reply@WoWInterface</webMaster>
				<item>
			<title><![CDATA[ChatBar (3.7.50200)]]></title>
			<link>http://www.wowinterface.com/downloads/info4422-3.7.50200.html</link>
			<description>Change Log:&lt;br /&gt;--------------------&lt;br /&gt;Change Log:&lt;br /&gt;v3.7 (yarko)&lt;br /&gt;- Updated Russian localization file&lt;br /&gt;- toc to 50200&lt;br /&gt;&lt;br /&gt;v3.6 (yarko)&lt;br /&gt;- Chatbar now clears text the user might have typed before clicking on whisper buttons and puts it back when clicking elsewhere&lt;br /&gt;&lt;br /&gt;v3.5 (yarko)&lt;br /&gt;- Whisper now defaults to the name last whispered if  no whisper has been received&lt;br /&gt;- Adjusted for new raid and group API functions&lt;br /&gt;- Adjusted for new instance chat features&lt;br /&gt;- toc to 50100&lt;br /&gt;&lt;br /&gt;v3.4&lt;br /&gt;-Fixed 'show text' and 'large buttons' settings to correctly save between sessions&lt;br /&gt;&lt;br /&gt;v3.3&lt;br /&gt;-Fixed nil error&lt;br /&gt;-Sped up the bar animation a bit&lt;br /&gt;&lt;br /&gt;v3.2&lt;br /&gt;-Removed 'this' usage&lt;br /&gt;-Buttons are now created on demand for less memory usage&lt;br /&gt;-Fixed to work with latest chat changes&lt;br /&gt;-Added BNet Whisper Button&lt;br /&gt;-Added BNet Conversation Button&lt;br /&gt;-toc to 40000&lt;br /&gt;&lt;br /&gt;v3.1 (yarko)&lt;br /&gt;-Added larger buttons option to options menu&lt;br /&gt;-Added channel blocking capability to channel buttons right-click menu&lt;br /&gt;-&quot;/w&quot; is now removed if the user first clicks the whisper button then another button without entering a whisper&lt;br /&gt;-toc to 30300&lt;br /&gt;&lt;br /&gt;v3.0&lt;br /&gt;-Added a fix for parsing the first character of a chinese channel (3 chars)&lt;br /&gt;-Fixed battleground chat button not showing up (thanks &#29378;&#39129;)&lt;br /&gt;-Fixed Show Channel ID on Buttons not working&lt;br /&gt;&lt;br /&gt;v2.9&lt;br /&gt;-Fixed a channel bug&lt;br /&gt;&lt;br /&gt;v2.8&lt;br /&gt;-Added Chat Type Bindings&lt;br /&gt;-Added Channel Bindings by Number&lt;br /&gt;-Channel Bindings can be overridden to save by name&lt;br /&gt;-Updated a lot of old code&lt;br /&gt;-toc to 30200&lt;br /&gt;&lt;br /&gt;v2.7&lt;br /&gt;-Added Simplified Chinese Localization (thanks IceChen)&lt;br /&gt;-Added new Squares skin (thanks Chianti/&#1050;&#1100;&#1103;&#1085;&#1090;&#1080;)&lt;br /&gt;-Added new skin dropdown (Solid, Glass, Squares)&lt;br /&gt;&lt;br /&gt;v2.6&lt;br /&gt;-Added Traditional Chinese Localization&lt;br /&gt;-Fixed a bug with Russian Localization&lt;br /&gt;&lt;br /&gt;v2.5&lt;br /&gt;- toc to 20400&lt;br /&gt;- Fixed Sea dep&lt;br /&gt;&lt;br /&gt;v2.4&lt;br /&gt;-Removed SeaPrint usage&lt;br /&gt;-Made Chronos optional: Reorder Channels is disabled w/o Chronos installed.&lt;br /&gt;-Added english TBC/WotLK capitol cities to the reorder management&lt;br /&gt;(Best results if in a capitol city and...&lt;br /&gt;&lt;br /&gt;Description:&lt;br /&gt;--------------------&lt;br /&gt;ChatBar - Button Bar for opening chat messages of each type.&lt;br /&gt;&lt;br /&gt;A little acsii art for demonstration: &lt;br /&gt;o - Buttons, colored the color of a chat type, left click to open editbox of that type, right click for type specific options.  Initial letter of the type on or above the button&lt;br /&gt; - Ends of the bar, left click to drag, right click for options&lt;br /&gt;&lt;br /&gt;Feedback &amp; Support&lt;br /&gt;If you have bugs or feature requests please use the buttons on the right.&lt;br /&gt;For other feedback, use the comments. &lt;br /&gt;If you'd like to donate to show your support, that can be done through paypal with a paypal account or by credit card. Remember donations are much appreciated but non-contractual. Thank you!&lt;br /&gt;4165450&lt;br /&gt;&lt;br /&gt;Button / ChatType Options:&lt;br /&gt;Block (channel) - Toggles filtering of chat channels related to selected button without leaving channel.&lt;br /&gt;Leave (Channel)&lt;br /&gt;Print Channel User List - List prints to the default chat frame. Same as &quot;/list #&quot;. (At this time, Blizzard does not support the listing of players from other realms in chat channels. When Blizzard allows this, this addon will support it.)&lt;br /&gt;Hide This Button - Hide the button for that chat type or channel by name.&lt;br /&gt;Reply (Whisper) - Open whisper to the last person that whispered you.&lt;br /&gt;Retell (Whisper) - Open whisper to the last person you whispered.&lt;br /&gt;Set Binding By Name (Channel) - Select one of the 10 channel bindings to use for this channel (saved by name instead of by index).&lt;br /&gt;Sticky - http://www.wowwiki.com/Chat#Advanced_Chat_Terminology.2FDetails Note: Channels are all or none, other types can be stickied individually.&lt;br /&gt;&lt;br /&gt;ChatBar Options:&lt;br /&gt;Large Buttons - Toggles larger size buttons.&lt;br /&gt;Vertical Orienation - Toggles vertical/horrizontal bar via sliding.&lt;br /&gt;Reverse Button Orienation - Toggles button order reversal via sliding&lt;br /&gt;Text On Buttons - Toggles chattype abrev on/next to the buttons&lt;br /&gt;Show Button Text - Toggles chattype abrev visibility&lt;br /&gt;Use Channel ID O...</description>
			<author>AnduinLothar</author>
			<category domain="http://www.wowinterface.com">Chat Mods</category>
			<guid>http://www.wowinterface.com/downloads/info4422-3.7.50200.html</guid>
			
			<pubDate>Wed, 06 Mar 2013 01:16:37 +0000</pubDate>
		</item>		<item>
			<title><![CDATA[ChatEdit (3.1.40000)]]></title>
			<link>http://www.wowinterface.com/downloads/info5438-3.1.40000.html</link>
			<description>Change Log:&lt;br /&gt;--------------------&lt;br /&gt;v3.1.40000&lt;br /&gt;-Disabled color debug (oops!)&lt;br /&gt;&lt;br /&gt;v3.0.40000&lt;br /&gt;-Updated to work with the new chat system and Cataclysm changes&lt;br /&gt;-Replaced 'this' usage with 'self'&lt;br /&gt;-Replaced getglobal() with _G&lt;br /&gt;-Replaced MouseIsOver(frame) with frame:IsMouseOver()&lt;br /&gt;-Fixed auto-scroll up and down when selecting text now that the old resize top/bottom bars were removed&lt;br /&gt;-Fixed update reversion (so you can't change the text, only select it)&lt;br /&gt;-Now starts storing chat messages as soon as the addon loads instead of waiting until PLAYER_ENTERING_WORLD required by the old chat system&lt;br /&gt;-Added support for copying from the combat log which populates in reverse&lt;br /&gt;-Added support to update the editable text when Clear and SetMaxLines are called on the chat frame&lt;br /&gt;&lt;br /&gt;v2.0.30100&lt;br /&gt;- Updated toc to 30100&lt;br /&gt;&lt;br /&gt;v2.0.30000&lt;br /&gt;- Updated toc to 30000&lt;br /&gt;&lt;br /&gt;v2.0&lt;br /&gt;- Updated toc to 20400&lt;br /&gt;- No longer uses Sea or SeaHooks&lt;br /&gt;- Fixed recording of numbers passed to AddMessage&lt;br /&gt;&lt;br /&gt;v1.2&lt;br /&gt;- Updated toc to 20300&lt;br /&gt;- Updated SetScrollFromBottom to SetScrollOffset &lt;br /&gt;&lt;br /&gt;v1.1&lt;br /&gt;- Selectable chat text is no longer trailed by two empty lines&lt;br /&gt;- Selectable chat now has the correct scroll bounds and is scrolled to the bottom every time it's shown&lt;br /&gt;- Auto-scroll now only triggers when highlighting text&lt;br /&gt;- Showing selectable chat is now over twice as fast&lt;br /&gt;- Updated toc metadata&lt;br /&gt;- Uses SeaHooks v1.3 &lt;br /&gt;&lt;br /&gt;v1.0&lt;br /&gt;- Enabled editbox auto-focus.&lt;br /&gt;- Added auto-scrolling hot zones at the top and bottom of the chat frame when you are selecting text.&lt;br /&gt;- Uses SeaHooks v0.9&lt;br /&gt;&lt;br /&gt;Description:&lt;br /&gt;--------------------&lt;br /&gt;ChatEdit is another complicated mod to do something simple: allow you to select your chat text for copying.  Simply shift-click a chat frame to enter 'edit mode'.  &lt;br /&gt;&lt;br /&gt;Edit mode is basically an editbox in which the text won't let you change it. The editbox directly overlaps the chat frame and is scrollable and resizable by the normal methods, as well as a scroll bar that pops up to the right.  To make copying less painful no text will be added to the editbox while in edit mode, but it will appear in the chat frame when you leave edit mode.  &lt;br /&gt;&lt;br /&gt;To exit edit mode click anywhere on the WorldFrame or hit escape.&lt;br /&gt;&lt;br /&gt;ChatEdit also increases the default chat frame memory from 128 lines to 500.&lt;br /&gt;&lt;br /&gt;Note: For reasons of auto-line wrapping and non-standard width fonts it is nearly impossible to figure out what scroll position the chat frame is at. For this reason when you enter edit mode it will always scroll down to the bottom. Also be aware that the editbox has smooth scrolling as opposed to the chat frame's line by line scrolling.&lt;br /&gt;&lt;br /&gt;Note: Thankfully the text string length editbox bug was fixed in a past WoW patch. If you ever run into a repeatable case where the selectable text is empty, let me know!</description>
			<author>AnduinLothar</author>
			<category domain="http://www.wowinterface.com">Chat Mods</category>
			<guid>http://www.wowinterface.com/downloads/info5438-3.1.40000.html</guid>
			
			<pubDate>Fri, 14 Jan 2011 04:49:02 +0000</pubDate>
		</item>		<item>
			<title><![CDATA[FluidFrames (2.4.40000)]]></title>
			<link>http://www.wowinterface.com/downloads/info7080-2.4.40000.html</link>
			<description>Change Log:&lt;br /&gt;--------------------&lt;br /&gt;v2.4 (Dridzt)&lt;br /&gt;- Replaced 'this' with 'self' '(this' is deprecated)&lt;br /&gt;- Replaced getglobal() with direct _G lookups (getglobal is deprecated)&lt;br /&gt;- Workaround for EnumerateFrames() bug (thanks to Tayedaen)&lt;br /&gt;- Prevent taint when opening the spellbook and a couple other frames in combat.&lt;br /&gt;- TOC to 40000&lt;br /&gt;&lt;br /&gt;v2.3.30100&lt;br /&gt;- toc bump to 30100&lt;br /&gt;&lt;br /&gt;v2.3&lt;br /&gt;- Added out of combat delays to re-hide and re-position secure frames that were moved in combat.&lt;br /&gt;- Added dependent sibling frame detection to scale/resize/hide frames that had the same parent and whose position is exclusively dependent on the frame being scaled/resized/hidden or one of its other dependent sibling frames.&lt;br /&gt;- Delayed SetParent and Show hooks to undo on the next OnUpdate so as to also catch dependent siblings parented or shown at the same time.&lt;br /&gt;- Delayed SetPoint, SetParent and Show hooks to undo when you leave combat for secure frames.&lt;br /&gt;- Refactored code to a number of files to make updating easier.&lt;br /&gt;&lt;br /&gt;v2.2&lt;br /&gt;- Enabled SendMailFrame, TokenFrame, and the PetPaperDollFrameCompanionFrame for dragging their parent frame&lt;br /&gt;- Found a bug that was breaking UIChildWindows dragging, but then decided to just disable it by design, since those frames are all anchored to their parent frame, which are draggable.&lt;br /&gt;&lt;br /&gt;v2.1&lt;br /&gt;- Changed distribution to distribute FluidFrames with Portfolio unembedded.&lt;br /&gt;- Fixed bug that caused LoD UI Panels to not be temporarily draggable&lt;br /&gt;- TOC to 30000&lt;br /&gt;&lt;br /&gt;v2.0&lt;br /&gt;- Embedded Interface Config Option Panel (Using Portfolio instead of Khaos)&lt;br /&gt;- Added Re-show All option, to show all hidden frames without resetting position.&lt;br /&gt;- Fixed temporary dragging&lt;br /&gt;&lt;br /&gt;Description:&lt;br /&gt;--------------------&lt;br /&gt;Move, hide, scale, and resize frames with independent x&amp;y axes.&lt;br /&gt;&lt;br /&gt;Usage Instructions:&lt;br /&gt;&lt;br /&gt;Unsaved Movement&lt;br /&gt;&lt;br /&gt;Drag almost any normal UI Panel (e.g. CharacterFrame, SpellbookFrame, TalentFrame, QuestLogFrame, FriendsFrame, etc.) from any open space on the frame. This movement is intended to be for temporary changes and does not store location in the FluidFrames database. &lt;br /&gt;However, this movement registers the frame as user placed.  The position will be remembered by the WoW client and restored on subsequent login/reloadui if not overridden by placement code (e.g. CharacterFrame, Minimap). Most of these draggable frames reset if you hide and re-show them. &lt;br /&gt;Some frames will not reset automatically (e.g. GameMenuFrame, BattlefieldFrame). To reset these, highlight the frame, right click to reset and then reloadui/relog.&lt;br /&gt;The MinimapCluster is an added exception case and can be dragged by the top bar.&lt;br /&gt;Temporary dragging can be disabled using the checkbox in the Khoas options.&lt;br /&gt;&lt;br /&gt;Saved Movement&lt;br /&gt;&lt;br /&gt;Assign a key-binding  to select, highlight and cycle through frames under the cursor. (The &quot;Highlight All Mouse Frames&quot; binding cycles through all frames under the cursor, including unnamed ones.)&lt;br /&gt;Put your cursor over the frame you want to move and use the key-binding.  It will select the frame the furthest underneath. Consecutively using the key-binding will highlight frames closer to the front. Hold shift while using the key-binding to cycle backwards through the frames.&lt;br /&gt;Drag the highlighted frame to relocate it permanently. It will disable movement from other code sources and save across sessions.&lt;br /&gt;Hold shift and drag from the sides or corners to resize.&lt;br /&gt;Hold shift and drag the bottom right re-scale icon to re-scale.&lt;br /&gt;Right-click to reset a mov...</description>
			<author>AnduinLothar</author>
			<category domain="http://www.wowinterface.com">Miscellaneous</category>
			<guid>http://www.wowinterface.com/downloads/info7080-2.4.40000.html</guid>
			
			<pubDate>Fri, 07 Jan 2011 21:04:36 +0000</pubDate>
		</item>		<item>
			<title><![CDATA[ChatScroll (3.4.40000)]]></title>
			<link>http://www.wowinterface.com/downloads/info5359-3.4.40000.html</link>
			<description>Change Log:&lt;br /&gt;--------------------&lt;br /&gt;v3.4 (Kharthus)&lt;br /&gt;- Updates for WoW 4.0.1&lt;br /&gt;&lt;br /&gt;v3.3&lt;br /&gt;- Added a Scroll Speed slider&lt;br /&gt;(If you're not using Portfolio manually set ChatScroll_SavedVars.ScrollSpeed to a number &gt; 0)&lt;br /&gt;- Portfolio v0.7 included (GUI Options)&lt;br /&gt;&lt;br /&gt;v3.2&lt;br /&gt;- Fixed Portfolio not being optional&lt;br /&gt;&lt;br /&gt;v3.1&lt;br /&gt;- More aggressive button hiding&lt;br /&gt;- Now uses LibDefaults for variable initialization&lt;br /&gt;&lt;br /&gt;v3.0&lt;br /&gt;- Updated for WoW 3.0&lt;br /&gt;- Added Portfolio Options, Removed Khaos Options&lt;br /&gt;&lt;br /&gt;v2.2&lt;br /&gt;- Added &quot;Hide Chat Frame Scroll Buttons&quot; Option&lt;br /&gt;- Cleaned up the code&lt;br /&gt;&lt;br /&gt;v2.1&lt;br /&gt;- Prepared for Lua 5.1&lt;br /&gt;- Removed Localization usage&lt;br /&gt;&lt;br /&gt;v2.0&lt;br /&gt;- No longer uses hidden frames, now uses script element hooks&lt;br /&gt;- No longer supports PopUI or TransUI, I recomend using VisibilityOptions to hide the buttons.&lt;br /&gt;- Added Shift-MouseWheelUp to to to the top of the chat window&lt;br /&gt;- Added Shift-MouseWheelDown to to to the bottom of the chat window&lt;br /&gt;- Added Scroll to Top Binding&lt;br /&gt;&lt;br /&gt;v1.1&lt;br /&gt;- Fixed negative framelevel bug in new patch&lt;br /&gt;- Updated the TOC to 1300.&lt;br /&gt;&lt;br /&gt;v1.1&lt;br /&gt;- Initial Release&lt;br /&gt;&lt;br /&gt;Description:&lt;br /&gt;--------------------&lt;br /&gt;ChatScroll makes chat windows scrollable with the mouse wheel.&lt;br /&gt;&lt;br /&gt;    Shift-ScrollUp: Scroll To Top &lt;br /&gt;    Shift-ScrollDown: Scroll To Bottom &lt;br /&gt;&lt;br /&gt;Also adds a keybinding to scroll to top. (scroll to bottom already default)&lt;br /&gt;&lt;br /&gt;Also has a Scroll Speed option.&lt;br /&gt;&lt;br /&gt;Uses Portfolio for GUI options if you've got it.&lt;br /&gt;Otherwise the following macro will enable button hiding:&lt;br /&gt;/run ChatScroll_SavedVars.EnableScrolling=&quot;1&quot;&lt;br /&gt;Or Scroll Speed (change 1 to your speed #):&lt;br /&gt;/run ChatScroll_SavedVars.ScrollSpeed=1&lt;br /&gt;&lt;br /&gt;Note: Blizzard added its own chat scroll option with 4.0, but without this addon you wont be able to adjust scroll speed or shift-scroll to top or bottom.</description>
			<author>AnduinLothar</author>
			<category domain="http://www.wowinterface.com">Chat Mods</category>
			<guid>http://www.wowinterface.com/downloads/info5359-3.4.40000.html</guid>
			
			<pubDate>Sun, 28 Nov 2010 23:08:08 +0000</pubDate>
		</item>		<item>
			<title><![CDATA[Gymnast Tooltips (4.0.40000)]]></title>
			<link>http://www.wowinterface.com/downloads/info5460-4.0.40000.html</link>
			<description>Change Log:&lt;br /&gt;--------------------&lt;br /&gt;v4.0&lt;br /&gt;-Enhanced GUI&lt;br /&gt;-Checkboxes for anchor selection&lt;br /&gt;-Checkboxes for Uber and Owner togglable options&lt;br /&gt;-Buttons to select Here or Mouse anchoring&lt;br /&gt;-Draggable tooltip no longer hides when you stop dragging it. Click Here or Mouse.&lt;br /&gt;-Removed /gtanchor (use gui)&lt;br /&gt;&lt;br /&gt;v3.3&lt;br /&gt;-Converted to use hooksecurefunc instead of manual hooks to fix taint issues&lt;br /&gt;-Removed unused SmartSetOwner hook&lt;br /&gt;-Removed obsolete Cosmos and Khaos code&lt;br /&gt;&lt;br /&gt;v3.2&lt;br /&gt;-Changed VARIABLES_LOADED to ADDON_LOADED&lt;br /&gt;-Fixed last instances of 'this'&lt;br /&gt;&lt;br /&gt;v3.1&lt;br /&gt;-Updated for WoW 4.0.1&lt;br /&gt;&lt;br /&gt;v3.0&lt;br /&gt;- Updated for lua 5.1&lt;br /&gt;- Updated TOC to 20000&lt;br /&gt;- Anchor to MOUSE mode now correctly dissables if you set another mode.&lt;br /&gt;- OO'd the code&lt;br /&gt;- Removed Chronos Dep&lt;br /&gt;&lt;br /&gt;v2.7&lt;br /&gt;- Added an option to relocate normal tooltips to be by their parent, like Uber Tooltips were.  Using this option will fix things such as Buff tooltips showing up off screen when you move the buffs to the left of the screen.&lt;br /&gt;- Fixed bug with the position by owner option, needed GetEffectiveScale&lt;br /&gt;- Updated to not use RegisterForSave&lt;br /&gt;- Updated TOC to 11000&lt;br /&gt;&lt;br /&gt;v2.6&lt;br /&gt;- Updated TOC to 1700&lt;br /&gt;- Fixed issues not accounting for Screen Scaling&lt;br /&gt;- Fixed compatibility with CosmosLegacy.&lt;br /&gt;&lt;br /&gt;v2.5&lt;br /&gt;- Updated TOC to 1600&lt;br /&gt;- Added Khaos Options.&lt;br /&gt;- Fixed the Smart Anchor option to be under advanced options.&lt;br /&gt;- Raised advanced options to Master difficulty.&lt;br /&gt;- Made feedback localizable.&lt;br /&gt;- Clarified Uber tooltip relocation in the mouse-over info.&lt;br /&gt;&lt;br /&gt;v2.42&lt;br /&gt;- Extra options now save correctly when not using cosmos.&lt;br /&gt;&lt;br /&gt;v2.41&lt;br /&gt;- Updated TOC to 1300&lt;br /&gt;- Fixed a Cosmos dependency to be truely optional&lt;br /&gt;&lt;br /&gt;v2.4&lt;br /&gt;- French localization updated by Sasmira&lt;br /&gt;&lt;br /&gt;v2.3&lt;br /&gt;- Added smart anchoring and center anchoring&lt;br /&gt;- Added a button to move to the old cosmos position top center.&lt;br /&gt;&lt;br /&gt;v2.2&lt;br /&gt;- Added Mouse and Uber tooltip relocations&lt;br /&gt;&lt;br /&gt;v2.1&lt;br /&gt;- Added Anchoring&lt;br /&gt;- Modified instructions in the tooltip.&lt;br /&gt;&lt;br /&gt;v2.0&lt;br /&gt;- Completely redesigned... now it plays nicely with TooltipsBase.&lt;br /&gt;&lt;br /&gt;v1.0&lt;br /&gt;- Replaced tooltip...&lt;br /&gt;&lt;br /&gt;Description:&lt;br /&gt;--------------------&lt;br /&gt;Bending over backwards to please. Make your Tooltip as flexible as you are.&lt;br /&gt;&lt;br /&gt;Slash Commands:&lt;br /&gt;&lt;br /&gt;&quot;/gtshow&quot; - Makes the Game Tooltip visible for you to drag to your preferred position.&lt;br /&gt;&quot;/gtreset&quot; - Moves the Game Tooltip back to its original position.&lt;br /&gt;&quot;/gttopcenter&quot; - Moves the Game Tooltip to the alternate top center position.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Usage:&lt;br /&gt;&lt;br /&gt;Type /gtshow into chat.&lt;br /&gt;Drag the tooltip to where you want it to be anchored.&lt;br /&gt;Put your mouse over the tooltip to show the anchor checkboxes.&lt;br /&gt;Check one of the anchor checkboxes to select which side/corner to anchor in place. (&quot;TOPLEFT&quot;, &quot;TOPRIGHT&quot;, &quot;BOTTOMLEFT&quot;, &quot;BOTTOMRIGHT&quot;, &quot;LEFT&quot;, &quot;TOP&quot;, &quot;RIGHT&quot;, &quot;BOTTOM&quot;)&lt;br /&gt;Check the UBER checkbox to position &quot;Enhanced Tooltips&quot; near their parent frame.&lt;br /&gt;Check the OWNER checkbox to position normal tooltips near their parent frame.&lt;br /&gt;Click &quot;Here&quot; to set GameTooltip to show where the tooltip currently is. Or click &quot;Mouse&quot; to show the GameTooltip where ever the mouse is.&lt;br /&gt;</description>
			<author>AnduinLothar</author>
			<category domain="http://www.wowinterface.com">ToolTip</category>
			<guid>http://www.wowinterface.com/downloads/info5460-4.0.40000.html</guid>
			
			<pubDate>Sun, 28 Nov 2010 11:23:58 +0000</pubDate>
		</item>		<item>
			<title><![CDATA[UnitFrameTweaks (1.4.40000)]]></title>
			<link>http://www.wowinterface.com/downloads/info11742-1.4.40000.html</link>
			<description>Change Log:&lt;br /&gt;--------------------&lt;br /&gt;v1.4.40000&lt;br /&gt;- Fixed Class Portraits&lt;br /&gt;&lt;br /&gt;v1.3.40000&lt;br /&gt;- Portfolio Update to 1.23&lt;br /&gt;- Removal of getglobal and 'this'&lt;br /&gt;&lt;br /&gt;v1.2.30100&lt;br /&gt;- 30100 bump&lt;br /&gt;- Portfolio Update&lt;br /&gt;&lt;br /&gt;Description:&lt;br /&gt;--------------------&lt;br /&gt;Modify the default blizzard unit frames with the following options:&lt;br /&gt;&lt;br /&gt;- Class Specific Icons&lt;br /&gt;- Class Specific Portraits&lt;br /&gt;- Health Color Changing (Green to Red)&lt;br /&gt;- Hit Indicators over the portrait</description>
			<author>AnduinLothar</author>
			<category domain="http://www.wowinterface.com">Unit Mods</category>
			<guid>http://www.wowinterface.com/downloads/info11742-1.4.40000.html</guid>
			
			<pubDate>Thu, 04 Nov 2010 05:24:00 +0000</pubDate>
		</item>		<item>
			<title><![CDATA[ReURL (2.1.40000)]]></title>
			<link>http://www.wowinterface.com/downloads/info5181-2.1.40000.html</link>
			<description>Change Log:&lt;br /&gt;--------------------&lt;br /&gt;v2.1&lt;br /&gt;-Updates for the ChatFrame edit box.&lt;br /&gt;&lt;br /&gt;v2.0&lt;br /&gt;-ChatFrame_OnEvent hook removed in favor of ChatFrame#.AddMessage hooks&lt;br /&gt;&lt;br /&gt;v1.0&lt;br /&gt;-Initial Release&lt;br /&gt;&lt;br /&gt;Description:&lt;br /&gt;--------------------&lt;br /&gt;Simple addon that highlights links in chat. Click it to put it in the chat frame edit box for easy copying, no extra frames needed! :D</description>
			<author>AnduinLothar</author>
			<category domain="http://www.wowinterface.com">Chat Mods</category>
			<guid>http://www.wowinterface.com/downloads/info5181-2.1.40000.html</guid>
			
			<pubDate>Thu, 28 Oct 2010 03:07:55 +0000</pubDate>
		</item>		<item>
			<title><![CDATA[Portfolio (1.23)]]></title>
			<link>http://www.wowinterface.com/downloads/info11749-1.23.html</link>
			<description>Change Log:&lt;br /&gt;--------------------&lt;br /&gt;v1.23&lt;br /&gt;- Added static 'width' option for Dropwdown controls&lt;br /&gt;&lt;br /&gt;v1.22&lt;br /&gt;-Fixed a bug where disabling the about panel also disabled initial loading callbacks&lt;br /&gt;&lt;br /&gt;v1.21&lt;br /&gt;- Fixed text value insertion&lt;br /&gt;- toc bump to 30100&lt;br /&gt;&lt;br /&gt;v1.2&lt;br /&gt;- Fixed bug with empty Windows&lt;br /&gt;- Added more robust text value insertion, handling %.2f for example&lt;br /&gt;- Added optionSetTable.about = false to opt out of the about panel&lt;br /&gt;- Added ChangeLog.txt&lt;br /&gt;&lt;br /&gt;v1.1&lt;br /&gt;- Added CONTROLTYPE_WINDOW for child frame control windows (optionally scrollable)&lt;br /&gt;- Modified Scrollbars to be inside the window, have a border, and still be scrollable while moused over&lt;br /&gt;Window width is now modified depending on the visibility of the scrollbar.&lt;br /&gt;- Renamed UpdateTextWrap to UpdateBox and it is now called on child controls when the window scroll box is changed&lt;br /&gt;- Fixed an error with dropdown entry selection&lt;br /&gt;- Modified SetRelativePoint for better extensibility:&lt;br /&gt;Added xOffset and yOffset fields for modifying the default offset from the anchor control.&lt;br /&gt;Added xOffsetRelative and yOffsetRelative fields for modifying the default offset of relatively anchored controls.&lt;br /&gt;xOffset and xOffsetRelative are also used in calculating the default width for windows.&lt;br /&gt;&lt;br /&gt;v1.0&lt;br /&gt;- Added CONTROLTYPE_EDITBOX&lt;br /&gt;- Removed isTemp  and replaced it with isGUI which is only a passthrough value to the callback; text and saved var are still updated. &lt;br /&gt;It is now: callback(value, isGUI, isUpdate)&lt;br /&gt;isGUI is now passed as true for all GUI control interactions (but not for the Okay, Cancel and Default blizzard option panel buttons). &lt;br /&gt;- Added control:Refresh() called when the blizzard options frame is shown&lt;br /&gt;- Added control:Okay(), control:Cancel() and control:Reset() that are called for each control that has them when you click the blizzard interface buttons&lt;br /&gt;- Fixed Cancel to correctly revert values/controls to their previous state. Doesn't pass isGUI.&lt;br /&gt;&lt;br /&gt;v0.94&lt;br /&gt;- Added CONTROLTYPE_COLORPICKER&lt;br /&gt;- Added Portfolio.Round&lt;br /&gt;&lt;br /&gt;v0.93&lt;br /&gt;- Refactored some code/files&lt;br /&gt;- Added...&lt;br /&gt;&lt;br /&gt;Description:&lt;br /&gt;--------------------&lt;br /&gt;Interface Option Creation Utility&lt;br /&gt;Library to register Blizzard Option Panels with an option table syntax.&lt;br /&gt;&lt;br /&gt;Purpose&lt;br /&gt;Portfolio was made to act as a bridge to accept a recognizable option table format (similar to Khaos and Ace) and convert it into a fully functional Blizzard Options Panel. Any Ace or Khaos registration should be fairly painless for an author to convert to use Portfolio, and new option sets should be easy to understand and construct without having to make any frames or manually manage controls.&lt;br /&gt;&lt;br /&gt;LuaDocs&lt;br /&gt;http://www.karlkfi.com/PortfolioDocs/&lt;br /&gt;PortfolioDocs are also included in the download, but is not inside the addon folder itself to save space when embedding.&lt;br /&gt;&lt;br /&gt;Feedback &amp; Support&lt;br /&gt;The best way you can help would be to try and write your own Portfolio config options and see if it behaves the way you'd expect. Report any bugs or confusing implementation using the Report Bugs button or Comments. I'm also always open to suggestions and code donations via the Feature Request link.&lt;br /&gt;If you'd like to donate to show your support, that can be done through paypal with a paypal account or by credit card. Remember donations are much appreciated but non-contractual. Thank you!&lt;br /&gt;4165540&lt;br /&gt;&lt;br /&gt;Implemented Option Types&lt;br /&gt;Header - CONTROLTYPE_HEADER&lt;br /&gt;Text - CONTROLTYPE_TEXT&lt;br /&gt;Checkbox - CONTROLTYPE_CHECKBOX&lt;br /&gt;Slider - CONTROLTYPE_SLIDER&lt;br /&gt;Button - CONTROLTYPE_BUTTON&lt;br /&gt;DropDown - CONTROLTYPE_DROPDOWN&lt;br /&gt;ColorPicker - CONTROLTYPE_COLORPICKER&lt;br /&gt;EditBox - CONTROLTYPE_EDITBOX&lt;br /&gt;Window - CONTROLTYPE_WINDOW&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Option Attributes&lt;br /&gt;&lt;br /&gt;Common Option Table Attribute Descriptions&lt;br /&gt;id - Unique option id. Used to create...</description>
			<author>AnduinLothar</author>
			<category domain="http://www.wowinterface.com">Libraries</category>
			<guid>http://www.wowinterface.com/downloads/info11749-1.23.html</guid>
			
			<pubDate>Tue, 28 Jul 2009 02:21:50 +0000</pubDate>
		</item>		<item>
			<title><![CDATA[LibDefaults (2.1)]]></title>
			<link>http://www.wowinterface.com/downloads/info11419-2.1.html</link>
			<description>Change Log:&lt;br /&gt;--------------------&lt;br /&gt;v2.1&lt;br /&gt;- Fixed a bug that broke non-table defaults&lt;br /&gt;&lt;br /&gt;v2.0&lt;br /&gt;- Added Meta-Indexing&lt;br /&gt;Defaults are only saved in the default storage, not in the main table, &lt;br /&gt;but still allows you to get them from the main table. Saves on run-time memory!&lt;br /&gt;Defaults wont be accessable via pairs() from the main table, &lt;br /&gt;unless you set the value to a non-default and then back to a default.&lt;br /&gt;- Added Default Unloading&lt;br /&gt;Removes defaults from the saved variables so that they aren't saved to disk. Speed up load time, yay!&lt;br /&gt;- Added lib:Reset(addonName, varName) to reset an addons variable to default (and all table values to default)&lt;br /&gt;&lt;br /&gt;v1.0&lt;br /&gt;- Hopefully one version is enough!&lt;br /&gt;&lt;br /&gt;Description:&lt;br /&gt;--------------------&lt;br /&gt;This small library lets you register saved variable defaults which it sets only if the variable is nil when it loads. You can also register functions to fire after the variables of an addon have been loaded and initialized.&lt;br /&gt;&lt;br /&gt;For advanced usage, you can also set n-deep table value defaults. If the containing tables don't exist they will be automatically created.&lt;br /&gt;&lt;br /&gt;lib:SetDefault(addonName, varName, ...)&lt;br /&gt;Register a saved variable's default value. &lt;br /&gt;For non-tables:&lt;br /&gt;if the variable is nil once the addon's saved variables are loaded, it will be set to the default value.&lt;br /&gt;For tables:&lt;br /&gt;The variable will be set to an empty table which is meta-index-linked to the stored default table.&lt;br /&gt;Any time you access keys in the table the default will be returned, unless you set that key to a non-default value.&lt;br /&gt;This saves space in live memory because the defaults only reside in one place. &lt;br /&gt;With the drawback that #, pairs and ipairs will not count the default values.&lt;br /&gt;&lt;br /&gt;SetDefault also gives you the option to build your defaults on the fly without creating the containing tables.&lt;br /&gt;It can handle N-depth table values by providing any number of keys. ex: _G = value&lt;br /&gt;&lt;br /&gt;The addon saved variable defaults will be initialized at the addon's ADDON_LOADED event, &lt;br /&gt;or they can be forced to load using lib:InitAddOn(addonName).&lt;br /&gt;&lt;br /&gt;Usage:&lt;br /&gt;lib:SetDefault(&quot;MyAddOn&quot;, &quot;SavedVar(Table)Name&quot;,  ] ], value)&lt;br /&gt;Example Usage: &lt;br /&gt;local lib = LibStub(&quot;LibDefaults&quot;)&lt;br /&gt;lib:SetDefault(&quot;MyAddOn&quot;, &quot;SavedVarName&quot;, SavedVarValue)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;lib:SetScript(addonName, func)&lt;br /&gt;Register a function to be executed once an addon's variables have been loaded. &lt;br /&gt;Fires after addon defaults have been initialized.&lt;br /&gt;&lt;br /&gt;Usage:&lt;br /&gt;lib:SetScript(&quot;MyAddOn&quot;, function)&lt;br /&gt;Example Usage: &lt;br /&gt;local lib = LibStub(&quot;LibDefaults&quot;)&lt;br /&gt;lib:SetScript(&quot;MyAddOn&quot;, function(addonNa...</description>
			<author>AnduinLothar</author>
			<category domain="http://www.wowinterface.com">Libraries</category>
			<guid>http://www.wowinterface.com/downloads/info11419-2.1.html</guid>
			
			<pubDate>Fri, 17 Apr 2009 01:16:26 +0000</pubDate>
		</item>		<item>
			<title><![CDATA[Chronos (2.12.30000)]]></title>
			<link>http://www.wowinterface.com/downloads/info4328-2.12.30000.html</link>
			<description>Change Log:&lt;br /&gt;--------------------&lt;br /&gt;v2.12.30000&lt;br /&gt; - Updated toc to 30000&lt;br /&gt;&lt;br /&gt;v2.12&lt;br /&gt;- Updated toc to 20400&lt;br /&gt;- Added Spanish localization&lt;br /&gt;&lt;br /&gt;v2.11&lt;br /&gt;- Fixed table recycling so that it isn't nilling passed argument values (only does a shallow recycle on known safe tables)&lt;br /&gt;- Fixed t.arg typo that was causing some events not to fire&lt;br /&gt;&lt;br /&gt;v2.10&lt;br /&gt;- Updated for Lua 5.1&lt;br /&gt;- Converted all a1-a20 args to ... usages since it now does not create a table.&lt;br /&gt;&lt;br /&gt;v2.01&lt;br /&gt;- Embeddable/Standalone version, reverse compatible as always.&lt;br /&gt;- Rearanged code to be more organized, no version change.&lt;br /&gt;&lt;br /&gt;v2.0 (Embeddable)&lt;br /&gt;- Embedable!&lt;br /&gt;- Cleaned up OO code&lt;br /&gt;- Removed completely unused threading (performTask) and global onupdate (everyFrame) - Backwards compatible with all other calls. If someone actually used those, let me know! I might make them optional if registered.&lt;br /&gt;- Increased execution speed with less OnUpdate code&lt;br /&gt;- Moved afterInit to after the chat channels have spammed their color changing.&lt;br /&gt;&lt;br /&gt;Intermediate changes&lt;br /&gt;- Updated toc to 11000&lt;br /&gt;&lt;br /&gt;Rev: 2789&lt;br /&gt;- REALLY fixed 'next' error. For future refrence it was incurred by removing the current key/value pair from a table while itterating over it with a for loop. Unfortunetly no one wrote this down before, so the sam problem someone else fixed was recreated on accident in an attempt to make more efficient. '''(CORRECT)'''&lt;br /&gt;&lt;br /&gt;Rev: 2789&lt;br /&gt;- Merged the repeating and byName lists for OnUpdate efficiency. (Note: this also means scheduleByName and scheduleRepeating can no longer have the same names)&lt;br /&gt;- Added Chronos.flushByName(name, when) - Updates the ByName or Repeating event to flush at the time specified. If no time is specified flush will be immediate. If it is a Repeating event the timer will be reset.&lt;br /&gt;- Added Chronos.debug(booleanEnable) for debugging. This also means that the normal OnUpdate function has been shortened and is now slimmer/quicker.&lt;br /&gt;- unscheduleRepeating and isScheduledRepeating now mirror unscheduleByName and isScheduledByName for backwards compatibility.&lt;br /&gt;- F...&lt;br /&gt;&lt;br /&gt;Description:&lt;br /&gt;--------------------&lt;br /&gt;Chronos manages time. You can schedule a function to be called in X seconds, with or without an id. You can request a timer, which tracks the elapsed duration since the timer was started.&lt;br /&gt;&lt;br /&gt;Chronos provides functionality that makes tracking timed tasks and distributed tasks easier. This addon is a function library. This means that it doesn't have any UI on it's own, but rather provides functionality for other addons. If you are an addon user and not an addon developer all you need to do is to leave this addon turned on if you have any other addons that depend on it. &lt;br /&gt;&lt;br /&gt;Example&lt;br /&gt; Chronos.schedule(10, foo, &quot;a&quot;); &lt;br /&gt;&lt;br /&gt;Will call foo(&quot;a&quot;) in 10 seconds. &lt;br /&gt;&lt;br /&gt;----&lt;br /&gt;Note: Do not include () after your function name, which coders tend do to often like Chronos.schedule(10, foo'''()''', &quot;a&quot;); this causes your function to be called immediately and Chronos will try to &quot;call&quot; the return value of your function after the specified interval (which is not neccesarily bad if your function returns a function...)&lt;br /&gt;----&lt;br /&gt;&lt;br /&gt; Chronos.startTimer(&quot;SomeID&quot;);&lt;br /&gt; foo()&lt;br /&gt; delta = Chronos.endTimer(&quot;SomeID&quot;);&lt;br /&gt;&lt;br /&gt;Will return the amount of time needed to run foo.&lt;br /&gt;&lt;br /&gt;Chronos Functions&lt;br /&gt;&lt;br /&gt;afterInit - runs a function after the game starts. &lt;br /&gt;schedule - schedules a function to be called after a delay&lt;br /&gt;scheduleByName - schedules a function to be called after a delay by name&lt;br /&gt;scheduleRepeating - schedules a function to be called repetedly every X seconds&lt;br /&gt;|unscheduleByName - unschedules a function created by scheduleByName or scheduleRepeating&lt;br /&gt;isScheduledByName - determines if a function is scheduled already by scheduleByName or scheduleRepeating&lt;br /&gt;startTimer - starts a timer&lt;br /&gt;getTimer - returns the amount of time since the timer was started&lt;br /&gt;endTimer - ends a timer and returns the amount of time since the timer was started&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;----&lt;br /&gt;&lt;br /&gt;Chronos Examples&lt;br /&gt; Chronos.scheduleByName(&quot;TEST&quot;, 120, bar, &quot;a&quot;);&lt;br /&gt; Chronos.scheduleByName(&quot;TEST&quot;, 12, bar, &quot;a&quot;...</description>
			<author>AnduinLothar</author>
			<category domain="http://www.wowinterface.com">Libraries</category>
			<guid>http://www.wowinterface.com/downloads/info4328-2.12.30000.html</guid>
			
			<pubDate>Fri, 17 Oct 2008 04:20:10 +0000</pubDate>
		</item>		<item>
			<title><![CDATA[MobileMinimapButtons (2.4)]]></title>
			<link>http://www.wowinterface.com/downloads/info4269-2.4.html</link>
			<description>Change Log:&lt;br /&gt;--------------------&lt;br /&gt;v2.4&lt;br /&gt;- Added mobility to MiniMapRecordingButton, MiniMapVoiceChatFrame, DBMMinimapButton&lt;br /&gt;- Added radius offset dragging, control-shift-drag&lt;br /&gt;- Optimized the dragging radius, angle and offset code. Special thanks to Iriel and Cide for trigonometric help.&lt;br /&gt;&lt;br /&gt;v2.3&lt;br /&gt;- TOC to 20300&lt;br /&gt;- Added mobility to MiniMapTracking, MI2_MinimapButton&lt;br /&gt;- Updated localization format so that they are easier to update and not independant.&lt;br /&gt;&lt;br /&gt;v2.2&lt;br /&gt;- Now uses GetMinimapShape() to determine minimap shape from supporting addons. http://wowwiki.com/GetMinimapShape&lt;br /&gt;- Added MobileMinimapButtons_ButtonSizeModifiers for slight radius adjustment relative to the button size&lt;br /&gt;- Cleaned up the click code a bit&lt;br /&gt;- Added mobility to FeatureFrameMinimapButton and Gatherer_MinimapOptionsButton&lt;br /&gt;&lt;br /&gt;v2.1&lt;br /&gt;- Fixed Error with nil MOBILE_MINIMAP_BUTTONS_LIST_VERSION on first load&lt;br /&gt;&lt;br /&gt;v2.0&lt;br /&gt;- TOC to 20003&lt;br /&gt;- Fixed issue with buttons not being registered if called before Variables were loaded&lt;br /&gt;&lt;br /&gt;v1.9&lt;br /&gt;- Added Mobility to the Atlas Loot Button&lt;br /&gt;&lt;br /&gt;v1.81&lt;br /&gt;- Fixed nil errors&lt;br /&gt;&lt;br /&gt;v1.8&lt;br /&gt;- Added Mobility to the World Map Button and the Feedback UI Button.&lt;br /&gt;- Updated for WoW 2.0&lt;br /&gt;&lt;br /&gt;v1.71&lt;br /&gt;- Changed the radius calculation to make compatible with AddOns that allow changes to the radius setting of their buttons e.g. Gatherer, AlphaMap&lt;br /&gt;- Updated the API.txt&lt;br /&gt;&lt;br /&gt;v1.7&lt;br /&gt;- Now automaticly makes mobile the following addon buttons: Soundtrack, Cirk's Blessings, CritLine, AlphaMap, and Natur EnemyCastBar.&lt;br /&gt;&lt;br /&gt;v1.6&lt;br /&gt;- Changed dragging and reset menu to control click to avoid conflict with battlegrounds button&lt;br /&gt;- Fixed bug that wasn't saving posistions of icons unless you tapped them&lt;br /&gt;&lt;br /&gt;v1.52&lt;br /&gt;- Updated TOC to 11100&lt;br /&gt;- Fixed Census button mask.&lt;br /&gt;&lt;br /&gt;v1.51&lt;br /&gt;- New Buttons are now Anchored when first made mobile. (Fixed OnLoad error with Atlas)&lt;br /&gt;- Updated German Localization&lt;br /&gt;&lt;br /&gt;v1.5 (1/15/06)&lt;br /&gt;- Fixed Shift-OnClick option overridding to still work for clicks under half a second. (Fixes battleground minimap)&lt;br /&gt;- Now automaticly makes mobil...&lt;br /&gt;&lt;br /&gt;Description:&lt;br /&gt;--------------------&lt;br /&gt;Makes the Minimap Buttons draggable around the minimap with adjustable angle.&lt;br /&gt;Control-Drag to change angle.&lt;br /&gt;Control-Shift-Drag to change radius.&lt;br /&gt;Control-Right-Click to bring up menu.&lt;br /&gt;Menu: Reset, Reset All.&lt;br /&gt;&lt;br /&gt;Now Works with different shaped minimaps that implement http://www.wowwiki.com/GetMinimapShape&lt;br /&gt;&lt;br /&gt;This version is standalone with embedded SeaHooks and SeaPrint.&lt;br /&gt;&lt;br /&gt;Localized for English, French and German.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;GUI Options - Optionally uses Khaos for GUI. &lt;br /&gt;Khaos Options available to enable/disable for different players and a button to reset all.&lt;br /&gt;&lt;br /&gt;Making Your Custom Minimap Button Mobile&lt;br /&gt;To Make your third party addon use MobileMinimapButtons to optionally mobilize you minimap button:&lt;br /&gt;&lt;br /&gt;Add MobileMinimapButtons to your optional deps in the toc&lt;br /&gt;Call MobileMinimapButtons_AddButton(frameName, localizedFrameName) to add the button to the list of mobile minimap buttons. It will store the reset position when this function is called or when the variables are loaded, whichever comes last.&lt;br /&gt;In the XML or before the function call, position the button frame to its reset position, preferably relative to Minimap frame. Optimal Button size is 32x32.&lt;br /&gt;&lt;br /&gt;NOTE: The button/frame, MUST have the same effective scale as the Minimap. The best way to guarantee this is to make sure that the Minimap (or MinimapCluster) frame is the Parent of your button. Or if the Minimap scale has not been changed independantly of the UIScale, then the UIParent can be the button's Parent. This is important for calculating the correct radius.</description>
			<author>AnduinLothar</author>
			<category domain="http://www.wowinterface.com">Map, Coords, Compasses</category>
			<guid>http://www.wowinterface.com/downloads/info4269-2.4.html</guid>
			
			<pubDate>Tue, 27 Nov 2007 07:41:05 +0000</pubDate>
		</item>		<item>
			<title><![CDATA[Sea (1.35)]]></title>
			<link>http://www.wowinterface.com/downloads/info4327-1.35.html</link>
			<description>Change Log:&lt;br /&gt;--------------------&lt;br /&gt;v1.35 (1/9/06)&lt;br /&gt;- Moved embedded libs to the Libs/ folder and added X-Embeds toc tag&lt;br /&gt;- Added a lot of toc metadata&lt;br /&gt;- Updated toc files to 20300&lt;br /&gt;- Fixed a reagent typo&lt;br /&gt;*Sea.wow.questlog v 0.4&lt;br /&gt;- stringToColor requires Sea.math&lt;br /&gt;&lt;br /&gt;v1.34 (7/14/07)&lt;br /&gt;- Updates for PartyQuests to return all quest data in one function call.  It is less likely to have issues this way.  Also reformats quest data to make it easier to read and maintain.&lt;br /&gt;&lt;br /&gt;v1.33 (6/1/07)&lt;br /&gt;*Sea.wow.questlog&lt;br /&gt;- QUESTLOG_MAX bumped to 25 to match current actual number of max quests.&lt;br /&gt;- Changes made to cut down on number of erroneously triggered QUEST_LOG_UPDATE events.&lt;br /&gt;- Suggested group and daily changes.&lt;br /&gt;- Tooltip when mousing over reward icon in quest log should now display.&lt;br /&gt;&lt;br /&gt;v1.32 (2/22/07)&lt;br /&gt;- Added Cooking Reagent - Crunchy Spider Leg&lt;br /&gt;&lt;br /&gt;v1.31 (1/9/06)&lt;br /&gt;- Updated toc files to 20003&lt;br /&gt;*Sea.wow.questlog&lt;br /&gt;- Updated GetQuestLogTitle usage with additional 4th argument &quot;suggestedGroup&quot;&lt;br /&gt;&lt;br /&gt;v1.30 (1/6/06)&lt;br /&gt;- Added SeaTable (embeddable version of Sea.table - By Gryphon)&lt;br /&gt;- Added SeaMath (embeddable version of Sea.math - By Gryphon)&lt;br /&gt;*Sea.util (SeaHooks v1.3)&lt;br /&gt;- Due to complaints about memory usage, the hook handler has been rewritten back to the old 20 argument method, it now has zero memory overhead other than the stack variables deleted after execution. This was not a revert of code, so new features such as passReturnArgs should still work.&lt;br /&gt;- Added an exceptional hook handler for OnUpdate scripts and functions with OnUpdate in the name. It only passes 1 argument and zero returns.&lt;br /&gt;*Sea.wow.spellbook (SeaSpellbook v1.8)&lt;br /&gt;- Tooltip no longer refrences itself&lt;br /&gt;&lt;br /&gt;v1.29 (12/17/06)&lt;br /&gt;*Sea.wow.questlog&lt;br /&gt;- removed quest debug.&lt;br /&gt;*Sea.util (SeaHooks v1.2)&lt;br /&gt;- Rewrote hook handler to use a more table intensive method. This may use more memory, but executes much less code and should use overall less processor time. This allows for the removal of all of the table recycling code: SeaHooks_assignArgs, SeaHooks_inverseAssignA...&lt;br /&gt;&lt;br /&gt;Description:&lt;br /&gt;--------------------&lt;br /&gt;Sea is a set of function libraries designed to make the process of writing new World of Warcraft UI mods faster and simpler. It is designed to reflect a Java like library style. This addon is a function library. This means that it doesn't have any UI on its own, but rather provides functionality for other addons. If you are an addon user and not an addon developer all you need to do is to leave this addon turned on if you have any other addons that depend on it.&lt;br /&gt;&lt;br /&gt;Documentation: WoW Wiki &lt;br /&gt;&lt;br /&gt;Localizations:&lt;br /&gt;Core functionality should work on any client. The item list is currently English only, but we take code donations. If you would like to contribute please post on the Cosmos Forums.&lt;br /&gt;&lt;br /&gt;Example&lt;br /&gt;Sea.IO.print(&quot;Hello World!&quot;); &lt;br /&gt;&lt;br /&gt;Sea Libraries&lt;br /&gt;&lt;br /&gt;data - information tables useful to the game&lt;br /&gt;IO - input/output functions (mostly output)&lt;br /&gt;lang - localization and language formatting functions&lt;br /&gt;math - mathematical functions and constants not in lua's Math&lt;br /&gt;string - string manipulation and formatting functions&lt;br /&gt;table - table manipulation functions&lt;br /&gt;util - common utilities, such as hooking functions&lt;br /&gt;wow - World of Warcraft game object functions (like tooltip.scan)&lt;br /&gt;</description>
			<author>AnduinLothar</author>
			<category domain="http://www.wowinterface.com">Libraries</category>
			<guid>http://www.wowinterface.com/downloads/info4327-1.35.html</guid>
			
			<pubDate>Wed, 21 Nov 2007 08:08:27 +0000</pubDate>
		</item>		<item>
			<title><![CDATA[SeaHooks (1.2)]]></title>
			<link>http://www.wowinterface.com/downloads/info4349-1.2.html</link>
			<description>Always wanted to use standard hooking and unhooking methods that are safe, felxible, compatible with other hooks and easy to debug but didn't want to require your users to down load all of the Sea Library?  Well now you can embed that functionality into your addon as easily as modifying your TOC! Not only that but if multiple Sea/SeaHook libraries are loaded a simple versioning system with keep the live copy up to date without extranious loading and having multiple copies in memory.&lt;br /&gt;&lt;br /&gt;This is the most flexible hooking system you've ever seen; plus it's optimized to create the least gc possible!&lt;br /&gt;&lt;br /&gt;The calls you'll use the most:&lt;br /&gt;&lt;br /&gt;Sea.util.hook( &quot;origFunctionName&quot;, &quot;hookFunctionName&quot;, &quot;hide/before/replace/after&quot;)&lt;br /&gt;Sea.util.unhook( &quot;origFunctionName&quot;, &quot;hookFunctionName&quot;, &quot;hide/before/replace/after&quot;)&lt;br /&gt;&lt;br /&gt;Hook types :&lt;br /&gt;&quot;hide&quot; - called instead of the orig function. If you return true, subsequent hooks will be called afterwards, otherwise no further non-hide hooks nor the orig function will be called.&lt;br /&gt;&quot;before&quot; - called before the orig function. If you return true, the subsequent args will be fed into the calls of the orig function as well as any other functions that hook the same orig function.&lt;br /&gt;&quot;replace&quot; - called instead of the orig function. If you return true, the orig function will be called afterwards. Subsequent args will be returned by the hooked function call.&lt;br /&gt;&quot;after&quot; - called after the orig function. If you return true, the subsequent args will be returned by the hooked function call.&lt;br /&gt;&lt;br /&gt;Sea.util.getReturnArgs() - Get the current return values of a hooked function from within an 'after' hook. (So that you don't have to duplicate logic and/or can simply modify the return arguments.)&lt;br /&gt;&lt;br /&gt;==Frame Script Element Hooking==&lt;br /&gt;Sea.util.hook( &quot;frameName&quot;, &quot;hookFunctionName&quot;, &quot;before/after/replace/hide&quot;, &quot;scriptElementName&quot;)&lt;br /&gt;Sea.util.unhook( &quot;frameName&quot;, &quot;hookFunctionName&quot;, &quot;before/after/replace/hide&quot;, &quot;scriptElementName&quot;)&lt;br /&gt;&lt;br /&gt;==Indexed Variables==&lt;br /&gt;The variables for origFunctionName/frameName/hookFunctionName may all be tabled index strings. Thus &quot;myTable.key&quot; works as a valid function definition if you would normally call it by doing myTable.key() or myTable()&lt;br /&gt;This is made possible by the following functions (which can by themselves as well):&lt;br /&gt;Sea.util.split( &quot;text&quot;, &quot;separator&quot;] )&lt;br /&gt;Sea.util.getValue(&quot;indexed.variablename&quot;)&lt;br /&gt;Sea.util.setValue(&quot;indexed.variablename&quot;, value)&lt;br /&gt;&lt;br /&gt;==Installation/Utilization==&lt;br /&gt;&lt;br /&gt;Embedding:&lt;br /&gt;- Drop the SeaHooks folder into your Interface\AddOns\YourAddon\ folder&lt;br /&gt;- Add Sea and SeaHooks as optional dependancies&lt;br /&gt;- Add the following line to the end of your TOC file, before your addon files:&lt;br /&gt;SeaHooks\SeaHooks.lua&lt;br /&gt;&lt;br /&gt;Standard:&lt;br /&gt;- Drop the SeaHooks folder into your Interface\AddOns\ directory&lt;br /&gt;- Add SeaHooks a required dependancy&lt;br /&gt;&lt;br /&gt;==Debugging==&lt;br /&gt;Another nice thing about Sea hooks is that you can look in one place to find all your hooking conflicts.  If there's a problem just look in the Sea.util.Hooks table.  Hooks are listed by the name of the orig function, or by &quot;frameName.scriptElementName&quot;.  If all your addons are usign this method it makes them infinitely easier to debug conflicts.  Plus it's simple to replace a manual hook with a Sea hook, usually just a couple of lines.  In the rare case that a manual hook calls the orig function in the middle you can usually split it into a &quot;before&quot; and &quot;after&quot; hook and make life easier for everyone.  This standardized hooking is cleaner to code with, simpler to read and understand, flexible enough to handle any hook type and now doesn't require your users to download a dependancy!  If you can think of ANY reason why it would be better to use another hooking method please let us know.  We'd love to make SeaHooks the primere method preferred by addon developers.&lt;br /&gt;&lt;br /&gt;Sea.util.debugHooks( enable , &quot;verboseFunctionName&quot; ) - Enable standard or verbose error logging.&lt;br /&gt;(Prints to the default chat frame)&lt;br /&gt;Examples:&lt;br /&gt;--On: Sea.util.debugHooks(1);&lt;br /&gt;--Verbose: Sea.util.debugHooks(1, &quot;ChatFrame_OnLoad&quot;);&lt;br /&gt;--Off: Sea.util.debugHooks(); &lt;br /&gt;&lt;br /&gt;Change Log :&lt;br /&gt;v1.2&lt;br /&gt;- Rewrote hook handler to use a more table intensive method. This may use more memory, but executes much less code and should use overall less processor time. This allows for the removal of all of the table recycling code: SeaHooks_assignArgs, SeaHooks_inverseAssignArgs, SeaHooks_getTables, SeaHooks_releaseTables and Sea.util.argStack. This also fixes two serious issues that were cropping up:&lt;br /&gt;- Args and return args no longer stop after the first nil&lt;br /&gt;- The number of arguments and return arguments allowable to hook is now unlimited&lt;br /&gt;v1.1&lt;br /&gt;- Fixed bug with hooked functions only returning a single value&lt;br /&gt;- Added SeaHooks_inverseAssignArgs for replace hooks, so that it now correctly passes return arguments when fully replacing the function&lt;br /&gt;v1.0&lt;br /&gt;- Removed Sea.util.returnArgs completely. Use the new passReturnArgs, 4th arg to Sea.util.hook &lt;br /&gt;v0.9&lt;br /&gt;- Added a check to make sure GetScript returned a function (since there's an issue with it returning a number)&lt;br /&gt;- Added another argument to hook: needsRetArgs. This boolean will allow 'after' hooks to be passed a table of args and a table of return args. All other hooks will pass unpacked args like v0.7 and earlier&lt;br /&gt;v0.81&lt;br /&gt;- Removed Sea.util.topReturnArgs&lt;br /&gt;- Fixed a bug with local functions being out of scope&lt;br /&gt;v0.8&lt;br /&gt;- Prepared for Lua 5.1&lt;br /&gt;- Removed Sea.string.split and Sea.string.explode aliases. use Sea.util.split&lt;br /&gt;- Added Sea.util.join (removed from Sea.io)&lt;br /&gt;- Completely revamped the hook handler.&lt;br /&gt;-- Hooks now use recycled tables to store passed arguments and return arguments (now that Lua 5.1 handles table garbage better)&lt;br /&gt;-- Now hook function are passed a single table of arguments passed to the parent function.&lt;br /&gt;-- 'after' hooks are also passed a second table containing the current return values&lt;br /&gt;-- DO NOT MODIFY PASSED TABLES. Assign them to local variables and use the 'return true, ...' construct to pass new arguments as specified for each typ of hook.&lt;br /&gt;-- 'return true, ...' from all hooks (other than 'after' hooks) uses the passed arguments as the return arguments from the parent function.&lt;br /&gt;-- 'return true, ...' from 'before' hooks passes those arguments (instead of the orig ones) to all subsequent hook functions and the orig function&lt;br /&gt;-- Debug mode is temporarily dissabled, awaiting rewrite for new procedures&lt;br /&gt;&lt;br /&gt;v0.7&lt;br /&gt;- Added an inclusive argument to split to catch empty strings&lt;br /&gt;- Changed lua file name&lt;br /&gt;(Included in v1.20)&lt;br /&gt;&lt;br /&gt;v0.6&lt;br /&gt;- Fixed bug preventing propper unhooking&lt;br /&gt;- Synced with Sea v1.11&lt;br /&gt;&lt;br /&gt;v0.5&lt;br /&gt;- Only one replace hook is now called for each hook call, unless it returns true as arg1&lt;br /&gt;- Old style table passing of return arguments as a table is again honored, but not encouraged. All other return value must be nil except fro arg1 (non-nil) and arg2 (argument table)&lt;br /&gt;&lt;br /&gt;v0.4&lt;br /&gt;- Optimized split, getValue and setValue for speed and GC (thanks Iriel and krka)&lt;br /&gt;- Removed cleanArgs. Slow and pointless.&lt;br /&gt;- Changed internal SeaHooks_debugErrorPrint syntax to match Sea.io.dprintfc syntax for easy conversion to Sea&lt;br /&gt;- Code Synced with Sea 1.07&lt;br /&gt;&lt;br /&gt;v0.3&lt;br /&gt;- Fixed Bug: causing no return from hooked functions where no return replacement was supplied&lt;br /&gt;- Fixed Oversight: causing a return to Frame Script Elements (which don't take any)&lt;br /&gt;- Fixed Oversight: sloppy Sea.util.unhook mirroring&lt;br /&gt;- Hook definitions now use an object refrence rather than a name to save on indexing (Thanks Iriel for suggestion)&lt;br /&gt;- Added Feature: You can now modify return values from either a 'replace' that hides the orig func or an 'after' hook&lt;br /&gt;- Added Feature: Added Error Debug and Vebose Debug by hook function name&lt;br /&gt;/script Sea.util.debugHooks(enabled, verboseHookName)&lt;br /&gt;enabled - boolean, verboseHookName - string equal to 'orig' passed to hook function (nil to disable)&lt;br /&gt;Note: enabling debug usually incurs a heavier proc load and can cause slow down when used with OnUpdate hooks.&lt;br /&gt;- Added Feature: current return values from a hooked function are availible to 'after' hooks via global return variables: Sea.util.returnArgs&lt;br /&gt;Note: These arguments are only availible for the durration of the 'after' hook call.&lt;br /&gt;Also, if you call any function within the 'after' hook that would lead to the call of another 'after' hook call then the global Sea.util.returnArgs would most likely change.&lt;br /&gt;Thus it is highly recommend you grab whatever return arguments you need at the beginning of the function call and assign them to local variables.&lt;br /&gt;This method preserves reverse compatibility as well as avoids table creation and thus does not effect GC.&lt;br /&gt;You can also use Sea.util.getReturnArgs() to unpack them for you.  Ex: local arg1, arg2 = Sea.util.getReturnArgs();&lt;br /&gt;- Cleaned up comments and code readability&lt;br /&gt;- Added Feature: Sea.util.cleanArgs eliminates trailing nils in a list of arguments. Used in the hook functions to mask the 20 arguments utilized to avoid GC.&lt;br /&gt;Ex: Sea.util.cleanArgs(&quot;a&quot;, nil, &quot;b&quot;, nil, nil) == &quot;a&quot;, nil, &quot;b&quot;&lt;br /&gt;- Now stores a refrence of the hooked function handler in the database to facilitate future overhook recognition&lt;br /&gt;&lt;br /&gt;v0.2&lt;br /&gt;- Added input argument modification using a 'before' hook. &lt;br /&gt;If you return true as the the first arg from a before hook function&lt;br /&gt;the subsequent arguments will be the arguments fed to each hook function called afterwards as well as the orig function.&lt;br /&gt;EX: if your before hook returned (true, nil, 10) then the next hook would be called as func(nil, 10), as would the orig(nil, 10)&lt;br /&gt;This allows you to modify a function output without destroying or hiding the orig function, allowing additional hooks to be called without conflicting functionality.&lt;br /&gt;&lt;br /&gt;v0.1 (Alpha)&lt;br /&gt;- SeaHooks Forked into Mini-Library from the main Sea. Still backwards compatible.</description>
			<author>AnduinLothar</author>
			<category domain="http://www.wowinterface.com">Libraries</category>
			<guid>http://www.wowinterface.com/downloads/info4349-1.2.html</guid>
			
			<pubDate>Mon, 18 Dec 2006 04:52:56 +0000</pubDate>
		</item>
	</channel>
</rss>