Profile

Cover photo
11 followers|5,758 views
AboutPostsPhotosVideos

Stream

Reagent Restocker

Shared publicly  - 
 
== v8.2 ==
* Updated TOC.
* Minor UI tweaks.

Apologies for not getting much done. There's some mixed news as far as the future of Reagent Restocker goes: On one hand - I'm actually working for Zygor Guides! Working on Lua full time now. Which means I'm learning a lot, and that could potentially help out Reagent Restocker. There's a few things I'd like to change going forward.

On the other hand - I'm pretty burned out after a hard day's work, and I generally don't want to be in World of Warcraft for the rest of the day, much less doing more programming for it. Perhaps during the holiday season I'll see if I can do more work. But for now, I'm just updating the TOC and fixing occasional bugs.
1
Add a comment...

Reagent Restocker

Shared publicly  - 
 
== v8.1 ==
* Updated TOC.
* Sorry for the infrequent updates. This is a volunteer thing, it's hard to give it a lot of time.
1
Add a comment...

Reagent Restocker

Shared publicly  - 
 
== v7.0 ==
* Updated TOC.
* Relaxed the restriction on guild bank withdrawls. Reagent Restocker will now use all except the last withdrawl for automatic processing. 
* Various optimizations.
* Changes made to event processing in an attempt to make overstocking more reliable.
1
Add a comment...

Reagent Restocker

Shared publicly  - 
 
Profile support is here! Long requested (too long, in fact), but it's here. Enjoy.
== v6.0 ==
* Profile support added! Now you can save, load, and remove profiles that are shared between characters!
* Updated database to use names instead of numbers everywhere.
* Added Facebook to "About" section.
1
Add a comment...

Reagent Restocker

Shared publicly  - 
 
I've also started a Google+ community for Reagent Restocker. Comments and discussion welcome.
1
Add a comment...

Reagent Restocker

Shared publicly  - 
 
I'll be trying to get a weekend update out. There doesn't seem to be much to fix, so it may be just an update to indicate it's not out of date anymore - WoW just released a new patch which marked all addons out of date. Reagent Restocker doesn't seem to be affected by the changes.

No guarantees, however, as I'm in the middle of a move.
1
Add a comment...

Reagent Restocker

Shared publicly  - 
 
== v5.0 ==
* Found a computer to test WoW with, so I can still code in a limited capacity.
* Hopefully fixed database upgrade bugs.
* Fixed cache bugs.
1
Add a comment...
In their circles
1 person
Have them in circles
11 people

Reagent Restocker

Shared publicly  - 
 
== v8.0 ==
* The ability to keep Soulbound and Bind on Equip items is BACK!! After a rather lengthy debugging session and the help of the Blizzard forums, I was finally able to track down and fix the bug that was preventing tooltip scanning from working.
1
Add a comment...

Reagent Restocker

Shared publicly  - 
 
== v6.1 ==
* Added monks to automatic selling of useless items.
1
Add a comment...

Reagent Restocker

Shared publicly  - 
 
== v5.1 ==
* Not using Google+? Reagent Restocker now has a Facebook page! facebook.com/ReagentRestocker
* Simple and flat is in - Reagent Restocker has a new icon. Works better for the larger minimum photo sizes that Google+ and Facebook are requiring, and has a slightly lighter blue for more contrast with the black border.
* Updated TOC for most recent version of WoW.
* Since this is a non-code update (mostly news and TOC update), only incrementing the minor version number.
1
Add a comment...

Reagent Restocker

Shared publicly  - 
 
Been a while, the move and the Christmas season really kept me much busier than expected. Will be able to hopefully start working on things again soon. In the meantime, I'm actually setting up a Facebook page for Reagent Restocker. Google+ is in my opinion still the easier to use network, and I will continue to use it, but Facebook remains more popular, thus it makes sense to have a presence on Facebook as well.
1
Add a comment...

Reagent Restocker

Shared publicly  - 
 
Summary: 

I have been very dissatisfied with the number of bugs I'm seeing, and especially the database corruption I've been seeing in both bug reports and my own experience.

Therefore, I plan on doing a database overhaul, which in the long term should mean less bugs and data corruption, although new code may mean new bugs in the short term.

Technical details (long read):

I've been noticing a pattern in bug reports. Many of them have been involving the database, and the newest ones often even include database corruption. There's also been quite a few dealing with the safeGetItemInfo function.

The database is the heart and core of Reagent Restocker: It keeps track of all of the items in the various lists, provides information that can be used for the automatic selling features (selling items that aren't relevant to your class, selling grey items, etc), and it also serves as a cache for safeGetItemInfo.

safeGetItemInfo is an old function used before I took over the project. Its purpose was simple: Avoid the client crashes that could happen when a player requests an item that hasn't been seen since the last server reboot. It does this by querying Reagent Restocker's own database and only using Blizzard's GetItemInfo as needed.

Unfortunately, things changed. Cayaclysm changed the way GetItemInfo works. Mists of Pandaria added caged pets.

The database and safeGetItemInfo served Reagent Restocker well, but it's time for a few changes.

* safeGetItemInfo is a function that returns a LOT of values, so that even if you only want one of them, you end up getting all of them.

* Cataclysm changed the way it manages the local cache of items. Not totally sure I understand the changes, however it appears it's still possible to return nil if it can't find the item in the cache. However, Cataclysm and Mists may handle it more safely, preventing the client from crashing, reducing the need for a separate safeGetItemInfo.

* With the new caged pets, a different set of values can be returned, so what it returns depends on what the item is.

* Having too many return values (especially when you usually only need one or two of them) isn't really considered to be good development practice anyways.

This actually was a design decision that Blizzard made: safeGetItemInfo is based on GetItemInfo, which accomplishes the same thing, but may have caused crashes in vanilla WoW.

It's also the case that the error messages when something in the database fails have been baffling: All too often I get something like " attempt to index field '?' (a nil value)" - which is baffling because it's not telling me which field is nil. A database that uses getter and setter methods instead of direct access could potentially give me a lot more information about the exact cause of the error.

The new database design is likely to use getter and setter methods instead of an all-encompassing safeGetItemInfo function, and will be intelligent enough to use GetItemInfo as needed. I haven't settled on the exact design, but it will be the case that the database will eventually be accessed via functions designed to access it, and will not be directly accessed.

By not allowing direct access, I'm hoping that the data corruption issues will be easier to solve, as the database would be responsible for the integrity of its own data. It could check the data as it comes in and out of the database, and raise an error earlier when it has a problem. Mysterious data corruption is not something I really want to deal with in the long term future of Reagent Restocker.

2.5.3 introduced a tagging system, which was a first attempt to do this, but never really completely replaced the entire database. All it really ended up doing was assigning items to lists.

So the database is currently a combination of safeGetItemInfo, a tagging system that never really fulfilled its ultimate purpose, and direct access.

So that's my next big project, after I get to the states. That and continuing work on the new UI.
1
Add a comment...
People
In their circles
1 person
Have them in circles
11 people
Communities
Created by Reagent Restocker
View all
Story
Tagline
Reagent Restocker is a simple addon for automatically purchasing items, selling unwanted items, and repairing.