Addon Information
Download Latest Version.
To add favorites please register for a free account. If you already have one you need to login. How do I install this? (FAQ)
Author:
Version:
1.3
Date:
07-18-2009 08:54 PM
Size:
31.91 Kb
Downloads:
45,968
Favorites:
367
MD5:
Pictures
Click to enlarge
cargBags_Aurora
Click to enlarge
cargBags_Nivaya
Click to enlarge
cargBags_Pernobilis
cargBags   Popular! (More than 5000 hits)
cargBags is a lightweight and modular bag framework. It is designed that you can completely focus on how your items are displayed and sorted rather than caring about getting item info, updating your bags or handle interaction with items. You can define how many virtual bags you'd like to have and what items should go into it.

The core addon only moves and sorts information between the handler and the layout - it's up to your layout how to present the items to the user!

So, to see something going on, you need a layout! See below or on the "Optional Files"-tab for additonal resources.


Filtering
cargBags can react on special rules or filters to check if an item goes into that bag, but it's completely optional. So there's the possibility to make a complete all-in-one bag or separate small bags which hide gray items or show only keys, for example.

Modular
There's the possibility to add/modify parts of cargBags on all sides. You could write a custom layout - or just a small different money display which other layouts can easily spawn in their code. Or just hook into the backend, the item data, and manipulate it, e.g. writing a handler which displays the contents of some sort of database rather than your inventory.

Lightweight
cargBags tries to be efficient in both terms of CPU- and memory usage and there are thoughts on optimization before almost every update.

But aren't item filters in conflict with the term 'lightweight'?
Well, it depends on which features you'd like to have, but the default configuration is about only 50-60 kb including the layout. The CPU-usage is of course a bit higher because of the item filters, but it tries to only do the work which is needed to be done.
Item buttons which are not used will be recycled for later use, so there are no extra frames generated which are not needed.


Default features
  • item filters
  • modular: custom layouts, plugins or handlers
  • lightweight: strip out features you don't need
  • comes with money display, space indicator and bag button bar


Additional resources and help
Planned features for 2.0
  • stack compression
  • include GetInventoryItemCount()
  • guild bank support
  • additional default plugins (e.g. search)

cargBags is licensed under the GPL 3.

And of course, please drop a comment for bugs. For feature requests, help or discussion which do not relate to the core, please use the mentioned thread above!
  Change Log - cargBags
Changes to the core prior to version 1.0 are located in the changelog.txt.
In most cases the version tagging follows the scheme rewrite.feature.bugfix.

cargBags (core)
1.3
* licensed as GPL 3
* fixed background texture of empty bag buttons
* hovering over a bag button can now fade different bag objects
* fixed tooltip-parsing not working correctly
* and now the usual developer-stuff:

- BagBar new property: BagBar.BackgroundTexture - texture path if no icon was found
- new function: object:Fire(callback, ...) - fires a callback with the defined arguments
- new function cargBags.C2I(id) - translates a ContainerID into an InventoryID
- new function cargBags.I2C(id) - translates an InventoryID into a ContainerID
- function changed: cargBags.ParseBags(bagString or bagID or table) - now returns a table every time
- new property: cargBags.BagStrings[] - holds tables of the bagID's for the different bagStrings
- :PreCheckFilters() now also fires on :GetItemInfo()

1.2
* first tooltip-scanning code, if you have wishes for more parsed infos than bindOn,
* please let me know =)

- updated for 3.2
- fixed item.id not working properly
- new item data: item.bindOn - returns "equip", "pickup", "account", "quest", "use" or nil
- 3.2 only: new item data: item.stats - returns a table of all stats of the item (see GetItemStats() for info)
- 3.2 only: new item data: item.sellValue - returns the sellValue in copper of an item
- new plugin: DataBroker - displays a databroker-object, the addon cargoShip is needed for that

1.1 r431
* completely rewritten item-data fetching (should go faster now)
* handlers before version 1.1 are not compatible

- new item data: item.id - returns the item id extracted from the link
- new item data: item.bagType - returns the type of the item's bag
- you can now add your own data to the item-table by adding a function in cargBags.ItemKeys["keyName"]
- new function: object:GetItemInfo(bagID, slotID) - returns the item table for the specified slot
- debug-mode included, see top of core.lua for details

1.0.8 r426
- new property: object.PositionEveryTime - set to true to call UpdateButtonPositions every update
- new pipe function: handler.GetContainerItemLink(bagID, slotID)
- new pipe function: handler.GetContainerItemInfo(bagID, slotID)

1.0.7 r424
- fixed keyring not initializing
- rewritten iterator-function, you can now supplement a table-sort-function in cargBags:IterateBags()
- object's buttons are now available as table-keys in object.Buttons
- fixed a typo when using the bagstring "backpack+bags"
- plugins can now be spawned outside of objects by using cargBags.SpawnPlugin(...)

1.0.6 r413
- fixed the button.bagID-errors

1.0.5 r410
- fixed problem with hidden bags
- fixed plugins not updating on login
- lots of comments in the files added
- fixed bagType not being stored in cargBags.Bags[bagID]

1.0.4 r402
- pass arguments to Update-callbacks
- timed events to reduce updating
- new callback function: cargBags:PreCheckFilters(item, updateType)

1.0.3 r398
- silent mode for setting active handler and style (set #arg2 to 'true'), returns true on success
- update bags only after init
- new callback function: object:PreUpdateBags() - fired before an object is updated
- new callback function: object:PostUpdateBags() - fired after an object is updated

1.0.2 r387
- space indicator can now fetch information of defined bags (like BagBar)
- new function cargBags:ParseBags(bags) - returns id's of bag-strings like "bags" or "bank"
- some changes on showing/hiding buttons (hopefully fixes the appearing of unused buttons)
- style-arguments changed: style(settings, self, name, ...)

1.0.1 r383
* updated .toc for patch 3.1
* removed property: cargBags.FreezeButtons - don't think it's really needed
* fixed cooldowns not updating on item move
* new callback function: object:PostCreateBag(bag, bagID) - fired after a bag was created in the object

1.0
* COMPLETE REWRITE
* your old layout won't work with this new version without major changes!
* be aware that most previous callback functions for the layout are removed / modified due to the changes
- cargBags now supports filters for item-based placing!
- unused buttons are now recycled to save memory and cpu time
- item quality glow removed, it is now handled by the layout
- additional elements are now spawned with the new plugin system
- see object:RegisterPlugin(name, func)
- and object:SpawnPlugin(name, ...)
- new callback function: object: object:UpdateButton(button, item)
- new callback function: object: object:UpdateButtonLock(button, item)
- new callback function: object: object:UpdateButtonCooldown(button, item)
  Optional Files - cargBags
File Name
Version
Size
Author
Date
Type
r20
21kB
02-23-2010 08:55 AM
Addon
1.1
6kB
07-19-2009 10:43 AM
Addon
1.3
4kB
07-18-2009 08:54 PM
Addon
r29
13kB
06-25-2009 04:59 PM
Addon
2.0
7kB
06-01-2009 06:12 AM
Addon
  Archived Versions - cargBags
File Name
Version
Size
Author
Date
1.2
16kB
Cargor
07-02-2009 10:31 AM
1.1
14kB
Cargor
06-25-2009 12:27 PM
1.0.8
14kB
Cargor
06-01-2009 06:28 AM
1.0.7
14kB
Cargor
06-01-2009 06:06 AM
  Comments - cargBags
Post A Reply Comment Options
Old 02-21-2010, 07:16 AM  
Cargor
A Flamescale Wyrmkin
 
Cargor's Avatar
Interface Author - Click to view interfaces

Forum posts: 145
File comments: 273
Uploads: 17
I'm progressing really well and Bagrealis is somehow usable at the moment, but there are 1-2 important features missing to make it so 'smooth' and 'intuitive' I like. I'm going to upload it in a few days (maybe today if things working well) to my GitHub repos, so some people can test it.
A real beta will follow when I think it is easy enough for people to get into this new concept.

... aaaand I'm looking for a good name at the moment, Bagrealis is more of a placeholder
__________________
« Homepage | Git »

Oh hai!

Last edited by Cargor : 02-21-2010 at 07:16 AM.
Cargor is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 02-20-2010, 11:43 PM  
cag_dk
A Deviate Faerie Dragon
 
cag_dk's Avatar

Forum posts: 14
File comments: 22
Uploads: 0
Bagrealis..

Sorry to hear CargBags won't be updated any more, but if starting from scratch is better then go for it

Anyhow.. any idea when we'll get to see the first beta of BagRealis?

/Cag
__________________
King for a Day, Fool for a Lifetime
cag_dk is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 02-18-2010, 12:34 PM  
Cargor
A Flamescale Wyrmkin
 
Cargor's Avatar
Interface Author - Click to view interfaces

Forum posts: 145
File comments: 273
Uploads: 17
Okay, important message, people! After long thinking about this (several months actually), I came to the conclusion, that

I'm going to discontinue cargBags.

There were a lot of problems with cargBags which cannot be so easily solved and I do not like the direction I would need to take with it. I will concentrate on yet another rewrite, but it will be a completely different inventory addon which has nothing in common with cargBags.
You can find both the reasons of my decision and the new addon in my blog entry (or cluttered below in my last comments).

cargBags will retain its status-quo. That means, no new features and big changes - only some bug fixes to make the transition to other inventory addons until the release of my new Bagrealis-addon. I'm going to inform the other layout authors about this and with some luck they decide to integrate cargBags into their layouts, making a full addon out of it.

Thanks for all the support which made cargBags so good as it is today. It is not a real end, I just try to improve things with taking another direction.
If all goes perfect, the layouts of cargBags are just splitted into separate addons.
__________________
« Homepage | Git »

Oh hai!

Last edited by Cargor : 02-18-2010 at 12:53 PM.
Cargor is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 02-17-2010, 05:05 PM  
Berb
A Murloc Raider
 
Berb's Avatar

Forum posts: 5
File comments: 53
Uploads: 0
Quote:
Originally posted by Trollinou
After reading this, I take a look at the quicksort function because this bug affect me and I use Nivaya too.
I rewrite the Quicksort function and the bug seen to be gone for me, I put here my code, if some people want to test it :
http://rapidshare.com/files/35110659...ivaya.zip.html
I did a quick test by deleting my Cache folder and logging in. I was able to log in just fine!

Thanks Troll.
Berb is online now Report comment to moderator   Edit/Delete Message Reply With Quote
Old 02-16-2010, 01:15 PM  
Skylinee
A Kobold Labourer

Forum posts: 0
File comments: 235
Uploads: 0
Ok, i have a fairly nasty report. I just ran AddonProfiler during a normal ToC25H beasts attempt and this is what i saw:

http://img25.imageshack.us/img25/1759/saddadsads.jpg


cargBags cpu usage spiked up to around 80/sec whenever i dpsed (i'm a hunter, so the spikes in CPU could be caused whenever i use an item from my bags, in my case arrows). When i stopped dpsing, there was nearly no cpu usage. I'm thinking the spike in CPU happens whenever something changes in your bags, and as a hunter, that happens very often with arrows. Is this common with other bag addons aswell?


Edit: Ok, Stuffing (http://www.wowinterface.com/download...fing.html#info) have no issues, barely 2 cpu sec in combat.

Last edited by Skylinee : 02-16-2010 at 01:35 PM.
Skylinee is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 02-15-2010, 04:03 PM  
Trollinou
A Kobold Labourer
Premium Member

Forum posts: 0
File comments: 8
Uploads: 0
Quote:
Originally posted by Vaad
First, i'd like to say i've been using cargbags and nivaya's layout for some time and they're really great
But i've been having the disconnect problem lately, so i've done a little investigating.

A few things i discovered about this problem:
- when wow gets stuck during login, you just have to wait to get disconnected or you kill wow (using the task manager).
- with cb_nivaya, it occurs only if you have sortbags enabled (no problems if you enable sort bank only).
After reading this, I take a look at the quicksort function because this bug affect me and I use Nivaya too.
I rewrite the Quicksort function and the bug seen to be gone for me, I put here my code, if some people want to test it :
http://rapidshare.com/files/35110659...ivaya.zip.html
Trollinou is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 02-12-2010, 10:22 AM  
Cargor
A Flamescale Wyrmkin
 
Cargor's Avatar
Interface Author - Click to view interfaces

Forum posts: 145
File comments: 273
Uploads: 17
Ah, I see.
Well, this really depends on the layout you use, because cargBags itself does not provide additional mechanisms for blocks of empty space, it just enables all of them.
I know that _Nivaya hides all the empty slots and places this single empty block there, but it's basically a fake one and handled solely by the _Nivaya-layout.
_Pernobilis shows all empty slots, it's an all-in-one inventory after all.
_Aurora hides all empty buttons (well, I've got an unreleased version with an AIO-tab to help with this problem) and I don't know how _Gnomed handles this.

But it is really dependent on the layout.
__________________
« Homepage | Git »

Oh hai!
Cargor is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 02-11-2010, 08:49 PM  
GofG
A Kobold Labourer

Forum posts: 0
File comments: 2
Uploads: 0
Quote:
Originally posted by Cargor
Nope. As far as I know, it's a limitation on Blizzard's side. You would have to do it the same without inventory addons.
That's not what I meant, though. With cargBags and any ordinary skin, there's just one block of empty space that you can drop things into, so you can't organise things all into one bag; cargbags automatically drops it in the furthest down slot (I believe, not sure) and you have to hope that it works without being able to see the actual bags.
GofG is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 02-07-2010, 03:23 PM  
Rammoth
A Kobold Labourer
 
Rammoth's Avatar

Forum posts: 0
File comments: 106
Uploads: 0
Well maybe we can work together on the project. If you send me a message with your contacts outside of this site, like a chat program, so it's easier to stay in touch. I'll show you some mock-ups I have.

Quote:
Originally posted by Cargor
That would be great! I'm always looking for new ideas for bag layouts.
I'm rather bad at graphics - I'm trying, but it seems I don't have enough patience to get talented in there
Seems like there are two kinds of people: Designers and Coders. I never met one who can do both things together very good

I'm currently thinking about a completely new approach to the inventory frame, to solve some drawbacks I noticed in both all-in-one- and categorized bag frames. Here's a concept and my current alpha-quality implementation. The idea is that each and every item icon is scalable and movable, and you can drop them into different bags to your own liking. You could select multiple ones at once and apply an action to all of them.
Imagine, you are questing and already sorting the new items you gain: Trash would be scaled down in some small place - and if you're back in town, you would select all icons at once and sell them altogether to the merchant.

Other features would be:
- Aggregates: Spawnable buttons which can pull specified types of items around them, like magnets. Should help in filtering and searching.
- Layouts: Select a group of buttons and then order them - in a grid, radial etc
- Skins: different skins for bags / item buttons. Maybe (optional) ButtonFacade-integration.
__________________
Rammoth is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 02-06-2010, 08:16 AM  
Cargor
A Flamescale Wyrmkin
 
Cargor's Avatar
Interface Author - Click to view interfaces

Forum posts: 145
File comments: 273
Uploads: 17
That would be great! I'm always looking for new ideas for bag layouts.
I'm rather bad at graphics - I'm trying, but it seems I don't have enough patience to get talented in there
Seems like there are two kinds of people: Designers and Coders. I never met one who can do both things together very good

I'm currently thinking about a completely new approach to the inventory frame, to solve some drawbacks I noticed in both all-in-one- and categorized bag frames. Here's a concept and my current alpha-quality implementation. The idea is that each and every item icon is scalable and movable, and you can drop them into different bags to your own liking. You could select multiple ones at once and apply an action to all of them.
Imagine, you are questing and already sorting the new items you gain: Trash would be scaled down in some small place - and if you're back in town, you would select all icons at once and sell them altogether to the merchant.

Other features would be:
- Aggregates: Spawnable buttons which can pull specified types of items around them, like magnets. Should help in filtering and searching.
- Layouts: Select a group of buttons and then order them - in a grid, radial etc
- Skins: different skins for bags / item buttons. Maybe (optional) ButtonFacade-integration.
__________________
« Homepage | Git »

Oh hai!

Last edited by Cargor : 02-06-2010 at 08:20 AM.
Cargor is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 02-06-2010, 12:01 AM  
Rammoth
A Kobold Labourer
 
Rammoth's Avatar

Forum posts: 0
File comments: 106
Uploads: 0
You're welcome Cargor. I'm always up for helping out. I'm pretty good with graphics too, and I noticed that you are trying to build a theme list, am I getting this right? Like for the OpenConfig in game?

If so, I'd love to help with making more themes, but I cannot code anything for the life of me. I can make some mockups of ideas I have for bag themes, and send them to you, and you can just make them into working themes if you want? I just enjoy doing graphics, it's fun to me.

Quote:
Originally posted by Cargor
Wow, thanks for your investigation. That makes a lot of sense!

I'm already planning to delay all the login-setup until you open the bags for the first time (did this with some experimental, simplified non-modifiable version of cargBags). Well, but this requires an update of the layouts and I don't think that _Nivaya is supported at the moment.

But at the moment, my WoW goes on crashing my linux system on login, so I cannot really do anything at the moment :O

------

By the way, I'm currently thinking to change the overall design of cargBags 2.0 into another direction. I want to push it more to the 'mainstream' of users by incorporating all the existing layouts into cargBags and providing an intelligent ingame-config.

At the moment, there is the problem that there are too less layouts/modules from other people to keep an open API justified. And this kind of API really slows things down.
You can already see it in the Nivaya-sorting algorithm which really hacked into the layout with the API provided by cargBags. It would make much more sense to incorporate this into the core.

This also makes maintaining cB a lot easier. You can see the problem now: _Nivaya is the most popular layout of cB, but the author seems to be inactive. So it blocks future progression of cB, because I need to provide backwards compatibility.

If all goes well, cB should still be modular, but there is more emphasis on the core than on the layout. I'm trying to reduce CPU usage with this by spending more on memory usage.
In addition, I may release a very simple one-bag addon for the _Pernobilis users. But no worries, I still want to stay loyal to the core features of cargBags: Its flexibility and 'lightweightness'.
__________________
Rammoth is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 02-04-2010, 02:41 AM  
Cargor
A Flamescale Wyrmkin
 
Cargor's Avatar
Interface Author - Click to view interfaces

Forum posts: 145
File comments: 273
Uploads: 17
Nope. As far as I know, it's a limitation on Blizzard's side. You would have to do it the same without inventory addons.
__________________
« Homepage | Git »

Oh hai!
Cargor is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 02-03-2010, 04:34 PM  
GofG
A Kobold Labourer

Forum posts: 0
File comments: 2
Uploads: 0
Hey, this is probably a dumb question but I can't for the life of me figure it out.

I got the onyxia backpack last night and realised that I had no idea how to equip it. Right clicking, "no slot available for this item." Showing bags and dragging it, "cannot put non-empty container in container". I eventually just dragged all the items in my inventory into the "empty" slot, which put them all into the lowest slot available (starting with the top of my backpack, etc), and that worked such that I ended up with the last bag being empty, but there really aught to be a better way to do this.

is there?
GofG is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 01-30-2010, 11:16 AM  
Cargor
A Flamescale Wyrmkin
 
Cargor's Avatar
Interface Author - Click to view interfaces

Forum posts: 145
File comments: 273
Uploads: 17
Wow, thanks for your investigation. That makes a lot of sense!

I'm already planning to delay all the login-setup until you open the bags for the first time (did this with some experimental, simplified non-modifiable version of cargBags). Well, but this requires an update of the layouts and I don't think that _Nivaya is supported at the moment.

But at the moment, my WoW goes on crashing my linux system on login, so I cannot really do anything at the moment :O

------

By the way, I'm currently thinking to change the overall design of cargBags 2.0 into another direction. I want to push it more to the 'mainstream' of users by incorporating all the existing layouts into cargBags and providing an intelligent ingame-config.

At the moment, there is the problem that there are too less layouts/modules from other people to keep an open API justified. And this kind of API really slows things down.
You can already see it in the Nivaya-sorting algorithm which really hacked into the layout with the API provided by cargBags. It would make much more sense to incorporate this into the core.

This also makes maintaining cB a lot easier. You can see the problem now: _Nivaya is the most popular layout of cB, but the author seems to be inactive. So it blocks future progression of cB, because I need to provide backwards compatibility.

If all goes well, cB should still be modular, but there is more emphasis on the core than on the layout. I'm trying to reduce CPU usage with this by spending more on memory usage.
In addition, I may release a very simple one-bag addon for the _Pernobilis users. But no worries, I still want to stay loyal to the core features of cargBags: Its flexibility and 'lightweightness'.
__________________
« Homepage | Git »

Oh hai!
Cargor is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Old 01-30-2010, 10:33 AM  
Vaad
A Kobold Labourer

Forum posts: 0
File comments: 1
Uploads: 0
Hello,

First, i'd like to say i've been using cargbags and nivaya's layout for some time and they're really great
But i've been having the disconnect problem lately, so i've done a little investigating.

A few things i discovered about this problem:
- when wow gets stuck during login, you just have to wait to get disconnected or you kill wow (using the task manager).
- with cb_nivaya, it occurs only if you have sortbags enabled (no problems if you enable sort bank only).
- the problem can easily be reproduced by erasing the Cache directory in wow (cb_nivaya)
- seems to occur everytime after a new patch (could be related to the cache being partially invalidated after a patch).
- occurs when starting in a crowded/laggy area (dalaran), no problem in an empty area.


Sadly, i couldn't reproduce the problem using aurora or gnomed (even erasing the cache and saved variables).

My long-shot guess is :
- cargbag's layout request infos about every objects at player login.
- wow's cache does not work very well.
- if the server takes too much time to give objects infos (because the cache didn't give it), you are in a crowded area (and worse if your connection is slow) you get stuck.
- cb_niv's sorting algorithm request even more infos than other layouts to sort the objects. I'm suspecting that when the server takes too much time to give object's infos, nivaya's recursive algorithm never ends and you get either a stack overflow or a disconnect.

I tried removing the "player_login" event in cargbags core but i still get stuck after erasing the cache.
Anyway, i think delaying most of the process until the bags are displayed for the first time could help.

I hope my little investigation will help

Last edited by Vaad : 01-30-2010 at 10:41 AM.
Vaad is offline Report comment to moderator   Edit/Delete Message Reply With Quote
Post A Reply



Category Jump:

Support AddOn Development!

You have just downloaded by the author . If you like this AddOn why not consider supporting the author? This author has set up a donation account. Donations ensure that authors can continue to develop useful tools for everyone.




The Network:
EQInterface | EQ2Interface | LoTROInterface | MMOInterface | War.MMOUI | WoWInterface | VGInterface | Allakhazam | Thottbot | Wowhead | Zam


©2009 MMOUI / ZAM Network
vBulletin - Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.