*** 2007/01/29

v2.6 Changes:
- Complete code rewrite. Scanning, tooltip generation, G/S/C coloring code are optimized for performance and reduced garbage generation with lazy calculations and caching of results. UI generation creates menus only once and keeps them instead of trashing old copies every time. Core bag scanning no longer saves all the data it can find on item on every scan, but now stores only 3 elements: price and bag/slot location - everything else is retrieved as necessary. Bag scanning - both core and new "combine all" function - reuse all generated tables, since they all happen to be fixed 3-elements width.
- New items database. Itemized Deductions now have dependency on "ItemDataCache". It is a new ID-based (and thus, locale-independent, unlike old one) database of item data and dynamic data scanner that I wrote to replace old database. This database will make Itemized Deductions work on any language of client, always have up-to-date prices and use less memory for price data. Old database is still here, but all items that are present in new database are removed from old one, leaving only 1/5 of items in it. Old database will be shrinked every time new one grows and eventually will be removed completely.
- Locked items support. The items are now correctly ignored when they are locked (grayed out in your bag when it is about to sell, be moved or anything like). This will make you see results of selling or dropping immediately when you click command and not when action is complete.
- Added "combine all" command. It appears in menu when you have at least two incomplete stacks of some item in inventory (which most often happens when you clear your mailbox) and clicking on it will cause all found stacks to be combined together. Since WoW locks items you move until server responds with "move successful" message, it does not move all items in one go, but finds the best moves until all items are locked, so if you inventory have many incomplete stacks, you may have to click it several times to combine all of them. Items are combined towards last slot of bag because when you use item from hotbar or as ammo, you use first found item in your inventory, so if they were combined towards first slot, you would have new incomplete stack on first use. Another similar command appears for banked items if you have bank window open. BTW, I said "finds the best moves", but current version sometimes fails to find best move and performs less optimal move instead. This is minor, as you can just click combine again, so I postponed fix to next release.
- Threshold levels are moved to submenu and their names are now automagically localized.
- New options for ignore added: "Ignore item class" submenu that lists some classes of items that are often carried around for use and not for sale. Those will appear localized in your client language as well. This feature depends on experimental support of item class/subclass IDs in new version of "ItemDataCache". Please read notes about possible problems with this feature in "ItemDataCache" documentation. If everything works well, next versions will have support for more classes requested by users.
- Tooltip with items available for sale now lists total price for all items.
- New option "Show item price in panel" allow you to turn on display of price for cheapest item in panel near its name. This allows you to immediately see if you should thrash cheapest item in favor of new loot or not without looking at tooltip for current cheapest item price.
- Minor improvement: "item deleted" message now lists number of items in deleted stack and G/S/C colors its worth.

Some features in this release are experimental and didn't had extensive testing on all languages of client. If you have any problems, especially on non-English client, please report them as soon as possible. Mention if you have any errors displayed and if free slot count is updated correctly on panel even if items are not displayed.

Since Itemized Deductions now have all major features I planed and with new database it should always be compatible with any language of client, it is time for localization. If you interested in translating Itemized Deductions' interface to your native language, feel free to post message on ui.worldofwar.net or Curse Gaming page about that.

*** 2007/01/16

Changes:
- Removed some more old dead code.
- Added "sell all listed" command that appears in menu when you have vendor panel open. It is similar to old "sell all junk" command, but instead of all gray items it sells all items listed in ItemDed, taking in account your threshold and ignore settings. Additionally, it won't sell item if it has custom price set (for example from Auctioneer).
- Fixed misnamed string, "always ignore" now works correctly with chat feedback on.
- Internal support for setting custom price for item that can be obtained from another source dynamically (like from Auctioneer) or just be set by player. There's no access to manual override from UI yet. All items set to custom price will have corresponding tag in list that is displayed when you hover over ItemDed button. If price cannot be fetched (for example when you request Auctioneer price and item was never seen at auction) tag will have "N/A" before it and normal vendor price will be used.
- Auctioneer support. You can set any item to use Auctioneer suggested price (tag: buyout).
- Always droppable/sellable items: you can mark any item to be always eligible for drop/sale, no matter what quality it have and what threshold is set in your option right now. You may want to use this feature to mark as sellable junk food that does not give bonuses or cheap shaman spell reagents, etc. You can mark item from ItemDed button right click menu, but since you can normally only change options for cheapest listed item this will only be of use for removing this setting from item. To add/remove any item to list you can use a new slash command: "/itemded alwaysdrop add [Item Link]". Item links, as always, can be inserted in command line by shift-clicking any item. If you don't have item at hand but know its ID, you can use that too. "/tid" is synonym to "/itemded". "alwaysdrop" can be shortened to "ad". To remove item from list, replace "add" with "remove" or "del" or, as already mentioned, just uncheck this option in ItemDed right-click menu. Note that "ignore/always ignore" have higher precedence. If you have some item in both "always drop" and "ignore/always ignore" list, it won't appear in ItemDed list of droppable items.

*** 2007/01/10

Changes:
- Updated TOC version.
- Added check before calling ContainerIDToInventoryID to insure it is only called on bags.

***

Changes:
- Removed all hardcoded item rarity colors, table is now generated with GetItemQualityColor.
- Item rarity index now simply queried from GetItemInfo instead of parsing it from link color.
- Moved all UI text strings to Localization.lua. TitanItemDed is now ready for localization.
- Replaced English-only ammo bag detection by name with item type query to GetItemInfo.
- Ignored items list now stores IDs instead of names to be language independent (and use less memory).
- Added optional dependency on "Informant". TitanItemDed built-in database is name based and only usable on english client. If Informant is installed, prices will be retrieved from Infomant by ID, making TitanItemDed work on non-English client.

