State of the addon

2008/11/26
Been mucking around with making BeneCast attach to PitBull Unit Frames. As a dev I don't like PitBull. It creates and chucks away frames at leasure making it impossible to have any consistent attaching behavior. I tried making a PitBull-module to catch all the necessary events but that just made me feel even more of a noob.

So perhaps I don't like PitBull as a dev because I'm still a noob (despite being at it for roughly 2 years now). Learning so much here at wowace... I love it.

So now I'm an idiot AND a noob? :p

2008/10/28-2
I'm an idiot.

After I gave up porting Waterfall-1.0 to Ace3, backporting my Ace3 optionstable to Ace2 and trying to make my optiontable by Ace2 AND Ace3 compatible I started writing my own Waterfall using AceGUI-3.0 widgets. I was actually pretty well on the way when I noticed AceConfigDialog-3.0. Apparently this is exactly what I wanted and it was there all along.

So that's why I'm an idiot. It took me 15 minutes to implement the new call (most of which was me getting sidetracked by other tiny things).

2008/10/28
Recent revisions have a quasi-functional slash command interface as well as a Waterfall GUI that actually shows up. Errors abound still, but it's another step forward.

Waterfall-1.0 and AceConfig-3.0 use different configtable formats so I was thinking first of upgrading Waterfall to Ace3-format. After a day of hacking at it I am quickly getting back from that idea. Instead I suppose I'll have to revert back to Ace2 which is a shame. The Ace3 format let me quickly duplicate the profile-tables and the code would have enough info to be smart and know what profile it is in. Ace2-format makes me have to do more work in the duplication process :(.

2008/10/24
Exciting times as we move into the Beta-stage.

Apparently when you define a local in a .lua file outside of a function that local is only 'in scope' in that same file. While this is great to prevent cross-pollution of the namespaces of each file it sort of foiled my scheme of setting up 'shortcut-variables' that shorten long globals. I can still do that, but I'll have to redo them for every file. Also, some table variables that change pointers during the addon's run will have to go global.

In the end it's for the best as it forces me to clean up my code and stop using the old BeneCast's variablenames. BeneCastSetup becomes wv.Setup, BeneCastProfiles becomes wv.Profiles. BTW: wv is shortcut for BeneCast.Workvars.

The [link http=http://www.wowace.com/projects/benecast/files/54-r76/]current revision[/link] will be tested by me today and then hopefully tagged as my next beta.

2008/10/23
Discovered the nice [link http=http://www.wowace.com/knowledge-base/pkgmeta-file/].pkgmeta file[/link]. I can now let the packager not include the addonstudio-project/solution-files. Makes a cleaner .zip-files for sure. It also enables me to give the addon a nice name. Like "BeneCast" instead of "benecast".

2008/10/22
Yesterday I finished up generating the options table. Now I just need to register that table with Waterfall and AceConfigCmd (or whatever that lib is called) and go through the code once more to gather localisation-strings into the localisation.lua.

I also went ingame to test some code-snippets to see if they do what I think they should be doing. Loading up the addon in it's [link http=http://www.wowace.com/projects/benecast/files/42-r60/]current state[/link] turned out to be problematic as apparently AceEvent had trouble finding the CallbackHandler-lib. I'm hoping someone else might shed some light on this... Time to open up "BeneCast 10 - The official thread" ?

I must say I am really liking the [link http=http://www.codeplex.com/WarcraftAddOnStudio]Addon studio for World of Warcraft[/link] Microsoft has been so kind to make (and release for free). It's an excellent demo-platform for their [link http=http://msdn.microsoft.com/en-us/vsx2008/products/bb933751.aspx]Visual Studio Shell[/link] thing.

2008/10/20 - 2
With it being my birthday (yay! 29 years old) I took a day and while the little tike (Jasper is the name) is asleep I made good progress. I am now attempting to integrate Waterfall-1.0 in order to convince it to generate a GUI for me. I feel like I'm getting there and I'm starting to log into the game and testing bits and pieces of code to test my concepts.

2008/10/20
Currently I finished going through all the code and
- replacing all spellnames (which had to be localized in the old versions) to their spellids
- ditching what BeneCast 10 would NOT do (Notification, Raidbars)
- throwing out ALL of the GUI (this will be replaced with an Ace-approach of auto-generating a GUI based on an options table. At the minimum this will be a dewdrop-dropdown menu. But since BeneCast's appeal was largely in how quick and easy it was set up I'll have to look into getting a "real" option window. Ideally this would use the spanking addon-options window that has been integrated into wow's options window.
- converting everything to the new OO-approach

Mainly I've seen a significant reduction in size
407kb for version 8.42 > 197kb for version 10
I am not counting the Ace-libs since I'm using the size as a metric for how much code I'll need to maintain, not how heavy it will be on the system.

Generally functions have been halved in size.


Comments

Posts Quoted:
Reply
Clear All Quotes