Skip to content

Latest commit

 

History

History
251 lines (209 loc) · 10.8 KB

CHANGELOG.md

File metadata and controls

251 lines (209 loc) · 10.8 KB

cargBags Changelog

Releases are normally not backwards-compatible, although changes are kept to a minimum! In most cases the version tagging follows the scheme Rewrite.Feature.Bugfix

2.2

  • cargBags forces embedding, no standalone framework anymore
  • merged cargBags and Implementation -> Core
  • more intelligent updating: should reduce cpu usage greatly
  • file structure- and API-overhaul for more simplicity
  • Data Sources: a small, important step towards Anywhere bags, guild bank and/or stack compression
  • simple dependency tracking and extension database
  • Sorry, the list of API changes is too big, see cargBags_Simplicity
  • You can now switch between Sieves at runtime
  • removed tags: shards, ammo
  • removed layout: circle
  • dynamic generation of bagStrings

2.1.2

  • bank now updates correctly again (sorry for that!)
  • mostly bagBar changes and equipSets bugfixes
  • .HighlightFunction changed to .highlightFunction (small 'H', consistency FTW)
  • bagBar now supports highlightFunctions
  • bagBar can be global for all containers (.isGlobal = true)
  • new function: Implementation:GetBagButtonClass()
  • fixed bagButton onClick not toggling its bag
  • fixed typo in equipSets-itemkey
  • equipSets now update all open bags when changed
  • introducing cargBags:FireEvent(force, event, ...)

2.1.1

  • bugfix update, you need this if you have 2.1!
  • fixed searchbar, extended filters and bags-sieve
  • item.bindOn now supports soulbound items ("soul")
  • new itemKey: item.bagType
  • removed item.clink
  • .toc bumped to Cataclysm

2.1

  • The wiki was updated! http://github.com/xconstruct/cargBags/wiki
  • Sieves! Replace the filters with another system
  • Scaffolds! Provide your own templates for item buttons
  • Extended filters: pass arguments to them!
  • Localization tables for auction house item classes
  • File structure overhaul
  • new Sieve: by bagID - lightweight enthusiasts, get rid of this filter clutter :P
  • Moved the ItemButton-UpdateX functions to their own scaffold, "Default"
  • Callbacks are now correctly named events (RegisterCallback -> RegisterEvent, HasCallback -> IsEventRegistered)
  • the SearchBar now needs a .HighlightFunction to work

2.0-beta

  • COMPLETE REWRITE
  • Don't ever think about fixing your old layout, build a new one =)
  • Beta-version, please note the "Planned features"- / ToDo-List
  • and please write a comment for bug-reports, feedback, thank-you's and flaming
  • object-oriented approach
  • bags initialize on first open instead of in loading screen
  • new plugin: TagDisplay
  • a lot more modular than before!

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"
  • 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

  • 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

  • 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

  • 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

  • fixed the button.bagID-errors

1.0.5

  • 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

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

1.0.3

  • 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

  • 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

  • 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:UpdateButton(button, item)
  • new callback function: object:UpdateButtonLock(button, item)
  • new callback function: object:UpdateButtonCooldown(button, item)

0.4.4

  • removed oGlow optional dependancy, glow by default enabled
  • set 'object.NoGlow = true' to disable glow (default = nil)
  • new callback function: object:UpdateButtonGlow(button, quality) - for writing custom glow functions

0.4.3

  • button positioning is now handled by the layout, please update yours!
  • new callback function object.UpdateButtonPositions() - fired if the buttons' position need to be updated
  • item buttons should now be placed in "object" rather than "object.Container", object.Container is still supported for backwards compatibility

0.4.2

  • corrected bag button positioning
  • new callback function: object:PostCreateBagButton(button, i) - fired after a bag button was created
  • new callback function: object:PostUpdateBagButton(button, i) - fired after a bag button was updated
  • reimplemented callback: object:PostUpdateButton(button) - called after an item button was updated
  • new callback function: object:PostUpdateBankStatus() - fired after a bank status update
  • new callback function: object:PostHandlerInit(handler, ...) - fired after the handler was changed
  • removed old TBC code

0.4.1

  • fixed bug which disabled bag switching
  • bag buttons are draggable once again
  • close bank frame after all bank objects are closed

0.4

  • Almost complete code rewrite
    • elements are now really independent from each other
    • let the layout handle more things
  • WotLK ready (probably)
  • Handlers implemented (experimental)
    • new sub-routine: object.Handler("function" [, arguments]) - this will fetch all inventory information based on the selected handler
    • new handler: cargBags.Handler.Standard - Fetches data from player's bags
    • changed function: object:Spawn(name, bags [, handler]) - arg #3 sets the handler for the object
  • updating is less CPU intensive and there is a different way to handle it
    • included cargBags.bagUpdaters: an array ( [attrName] = func ) for updating the subframes of the object on BAG_UPDATE
  • more callbacks
    • new callback function: object:PostCreateButton(button, bag) - called after an item button was created
    • new callback function: object:PostUpdateButton(button, bag) - called after an item button was updated
    • new callback function: object:UpdateDimensions() - called after the height of object.Container was changed

0.3.4

  • made function getBagPosition() member of cargBags
  • fixed object:BAG_UPDATE creating slots if unnecessary
  • added slot border coloring by bag type (ammo bag / professions bag)
  • new property function: self:OverrideColorSlotBorder(button, bagType)

0.3.3

  • new property: object.space.countAll = false (true counts also not used slots of the defined bags)
  • changed function: object:UpdateSpace(free, total) - returns number of free instead of used slots

0.3.2b

  • bug fixed that appeared when changing bags
  • not purchased bank slots are now colored red and display their slot icon properly
  • when hovering a bagslot, the inventory slots of other bags are faded out
    • new property: object.FadeAlpha = 0.2 (the alpha of the faded slots)
    • new property: object.NoFading = nil (true = disables fading)
  • removed the two placeholder lua files "search" and "sell" from the .toc and the elements-directory
  • Closes bank frame when cargBags-bank frame is hidden
  • add "Purchase Slots"-button in bank, display cost
  • initial version (bug-fixing beta :P )

0.3.1b

  • object:BAG_UPDATE moved from elements/bags.lua to core.lua
  • new function: object:updateFrameSize() (updates the object-size based on size of object.Container and object.Width / object.Height)
  • reaching semi-open beta status (main features are added)

0.3a

  • elements/bagbuttons.lua added
  • you can now create the buttons for the bag slots by adding a self.BagButtons-frame

0.2.1a

  • elements/space.lua removed, calculations are done in bags.lua
  • object initializes correctly on PLAYER_ENTERING_WORLD
  • cooldowns added
  • new property: object.noGlow = nil (true disables oGlow support)

0.2a

  • bank functionality added
  • allowing use of "X-Y" to add mutiple bags in the Spawn()-function
  • oGlow supported

0.1a

  • initial alpha version