/AdiBags

WoW addon: Adirelle's Bag addon

Primary LanguageLuaGNU General Public License v3.0GPL-3.0

AdiBags displays the content of your bags in one view, distributed into several sections using smart filters.

It is heavily inspired by Nargiddley’s Baggins.

Configuration is available through Blizzard addon panel, /adibags chat command or right-clicking on the LDB plugin.

Important note about localized filters: some filters rely on translations from LibBabble-Inventory-3.0 so if some of them behave strangely in your locale, please take a look at the library translation status.

News

Upcoming 1.8.0

These changes are coming in 1.8.0:

  • A new bag layout, which should be more readable and avoid the “section dancing” effect and works as follows:
    • Sections are dispatched in fixed-width columns.
    • Section width is either half or the same as the column width, i.e. at most two sections on the same column row.
    • Sections are not updated while the bag is open: new items go to a special section titled “recent items”, which is separated from the normal sections.
    • The “recent items” is flushed manually by clicking the “N” button or automatically when massive bag changes happen.
  • The “new” flag is sticky and is only reset by clicking on the “N” button.
  • Issue tracking will move from Wowace to github.
  • Curse and Wowace comment sections will be closed.
  • AdiBags gets licensed with the GPL v3.0, a fully open-source license.

You can test these changes by installing the latest alpha, which may contain bugs.

About patch 6.0.2

Blizzard has introduced a lot of new inventory features with the patch 6.0.2. I (Adirelle, AdiBags’ author) have absolutely no control over the way these built-in features work. It is all or nothing: either AdiBags uses a feature as is, either I have to code it myself. I had some of these features built into AdiBags in the past, but this was clumsy, using the API in a way that it was not meant to, and ultimately buggy for some users. So I decided to remove my code in favor of the built-in ones, even if it meant a minor degration of the original feature. If Blizzard improves some of these features in the future, AdiBags will automatically benefit from these improvements.

So, in short:

  • AdiBags now uses the built-in “new itemAPI, though it only detects looted/crafted/reward items. I added another module to highlight you what moves in bags to compensate for the loss of full item detection.
  • AdiBags now uses the built-in “sort bags” feature. It may cause a spike of lag but works very quickly and does the job right.
  • AdiBags fully supports the reagent bank, including the built-in “deposit all reagents” feature. I know it moves enchanters’ velum to the reagent tab, but hopefully Blizzard will fix this.

Features

Most of these features may be configured. Check out the configuration panel ! (using the /adibags chat command or clicking on the bag icon, you have any LDB display)

  • Smart filters are used to distribute items into several sections, including:
    • Item sets of the Blizzard’s gear manager (one section per set),
    • Junk items (whitelist and blacklist available),
    • Quest items,
    • Equipment (items your character can wear),
    • Sections based on item category: trade goods, consumables, recipes, …
    • Manual filtering (drag and drop items on section header, or add new section from the configuration panel),
    • Free space.
  • Smart item sorting inside each section.
  • Smart section layout.
  • Track new items; use the [N] button resets the “new” flag.
  • Display slot type.
  • Bag sorting: left-click on the [S] button; right-click toggles auto-sorting, which sorts the bag on close (may freeze the game for a few seconds).
  • Hide some sections, using the [V] button.
  • Name-based search.
  • Equipped bags (click on the bag icon in the top left corner),
  • Display character money in the backpack.
  • Display character tokens in the backpack.
  • LDB data source, displaying free space.
  • Two bag placement modes (choose one in the configuration panel):
    • Anchored: the bags expand from an anchor towards the center of the screen. The anchor can be unlocked and moved.
    • Manual: move the bags by dragging their title.

Separate modules

I have written two separate modules for AdiBags:

Tips & tricks

  • you can create your own sections using the “manual filter” in filter configuration. You can then drag and drop items on section titles to reassign them ; this works for any section.
  • if you want to highlight new items without putting them into a specific section, edit the “new items” filter priority to put it at the end of the filter list.

Known issues

  • New items detection does not work like it did before 1.8: Ihis is normal. I switched to the NewItems API that Blizzard has added in patch 6.0. This API does not work for bank nor items coming from the bank or the mailbox, but it does not having the timing issue my code had.
  • Opening the bank or closing my bag cause lag spike: this is an know issue with Blizzard bag sorting. For now, it is called every time you close your bag with auto-sorting enabled. I am working on a solution to sort bags only if their content actually changed.
  • Protected action/addon blocked error: they sometimes happen with AdiBags. Even though my effort, I can not reproduce these. Blizzard taint reports are very buggy, often blaming the wrong addon. As such they are pretty much useless.

Things that likely will not be implemented

Anything else than the existing “all-in-one” views

AdiBags has been built around, and optimized for, the idea of the “all-in-one” view. Doing anything would require to redesign big parts of the addons, especially the layout code that is quite complex at the first place.

Anything that requires to scan item tooltips

Tooltip scanning is quite CPU-consuming and above all requires asynchronous programming, since item tooltips would not always be available at the time AdiBags should use them. This would raise the complexity of bag filtering be an order of magnitude and turn AdiBags into a CPU hog.

Some examples what requires to scan the item tooltips:

  • detecting the kind and state of binding: unbound, soulbound, bind-on-pickup, bind-on-equip…
  • detecting already known spells/pets/recipes or faction/race/level/skill/class restrictions ; basically any “red text” in the tooltip.

Guild bank

AdiBags presents you a nice view of your bags but actually they are in a complete mess. With AdiBags, there is no need and no way to tidy up the items in the actual bags. Guilds usually try to keep their bank tidy. What would happen if some people in a guild used AdiBags for the guild bank ? Well, they would mess up the guild bank content and people NOT using AdiBags would have to deal with that mess. I can hear the screams from there. So that is why I will not implement guild bank.

Alt bags and bank

AdiBags is not an alt bags/bank viewer. If you want to keep track of what your alt owns, I suggest using an addon like BagSync.

Full bag skinning

Basic skinning is available using LibSharedMedia-1.0: you can choose the bag font, background and border, as well as the color.

Comprehensive in-game filter/section editor

According to my experience with Baggins, comprehensive editor is awful to write as an author and awful to use as an user. Hence I focus on creating filters that have a smart built-in behavior and only a few options. I try to avoid the 20% of features that would require 80% of development effort.

Feedback

Important notice: since v1.6.12-beta-1, AdiBags embeds BugGrabber, an error catching addon. Please check the error is really about AdiBags before reporting them here. I suggest installing BugSack to catch the errors.

Some words about submitting bug reports:

  • I do not care about “it doesn’t work, fix it!” messages. I need to know how it failed and a way to reproduce the bug so I can test it and make sure I fix it.
  • Bug reports are not in the “fire and forget” kind of things. I may have to ask you some details.
  • Please check all existing tickets and the “known issues” section above before submitting new ones. Duplicate reports will be rejected on sight.

Please report any bug or error using the bug tracker

License

AdiButtonAuras is licensed under the GNU General Public License version 3.