HRm, Tain a thought... if you go the route of making the bar a much more controllable frame, why not just make two independant bars? That would solve a few issues, like me wanting to specify what's on each top-side bar instead of it laying them out evenly across the two. It'd also make it easy for those that want a bottom bar to anchor one of them at the top and one at the bottom.
I doubt I'll code in an arbitrary number of bars. Mainly because I wouldn't use them so it's difficult for me to get that ambition up. I'd just as soon cut back to one single bar. But, that's probably the better place to start anyway if a single bar can be made to be more of a template it may be easy to create more.
Hakkar,
Can you try removing your Titan save vars and reloading? That TitanPanelAuxBarButton is referencing the second bar when you use both a top and bottom bar, and this version doesn't support that. I didn't think that information was actually in the save vars, but of course it would be or else Titan wouldn't know where to place things on reload.
Tain: I've got issues with your latest version: Titan[CombatInfo] and Honorplus aren't working correctly. I've tried the latest Titan version too, with it I don't get any errors.
Using your Titan version (R3 I think) TitanCombatInfo doesn't show a tooltip and has a problem with formating the critinfo. Honorplus doesn't autojoin or release ghost correctly. Sometimes auto-join is working, sometimes not. In the latest original Titan version the author fixed it. I've tried to copy this into your version but it spammed a lot of errors.
It would be cool if you could fix those two. However I know it's more of a low-priority project atm.
Beside of that, well done .. it's running smooth :)
hey tain, using the newest version and i think the only thing i am seeing is that it's not moving my buff area so i'm getting a conflict there but other than that it's looking pretty good
hey tain, using the newest version and i think the only thing i am seeing is that it's not moving my buff area so i'm getting a conflict there but other than that it's looking pretty good
Titain does not move any windows and never will, this has been pointed out a number of times now.
Just so everyone knows, I've written a Titan clone using Ace. My goal was lightweight memory usage, and I feel I have achieved that.
I'm calling it BossPanel (cause I'm an egotist).
The plugins that I've written for it are:
BossPanel_Performance - keeps track of framerate, memory usage, etc.,
BossPanel_Experience - keeps track of both your experience and your honor. It will switch between the two whenever you enter/exit PvP mode.
BossPanel_Durability - keeps track of durability and pops up a dialog to repair when you go to a vendor who can.
BossPanel_Clock - A simplistic clock.
BossPanel_Bags - Keeps track of space left in your bags.
BossPanel_Ammunition - Keeps track of space left in your ammunition.
BossPanel_Money - Keeps track of current money and all your characters on one realm.
The differences between BossPanel and Titan Panel are:
No distinction between plugins on the left of the panel and on the right. e.g. clock can go on the left or the right, not just the right.
Honor plugin also keeps track of wins/losses in BG.
Combined Experience and Honor plugins (I find it unlikely to want to know your experience in battlegrounds or know your honor in the real world.)
Better memory usage. :-)
Extremely modular.
Object-oriented.
I wrote it, so it _must_ be good.
I'm currently doing bugchecking and writing more addons (though that doesn't take hardly any time at all).
I'm likely to clone most of the addons (at least the builtin ones) of Titan. Are there any addons that people would like to see written for this?
Please tell me you don't do any variable management for plugins Boss....
I guess the real question is, did you start with Titan and work backwords like Tain here, or did you start with an empty mod and work your way up, trying to keep only the good functionality ideas of titan and not messing up on the other stuff (TITAN_NIL anyone?).
Oh and if you don't already, you should manage the XML frames, plugins should only have to worry about feeding in button text and icons, and providing functions for menu creation and tooltip text retrieval. AT least, that's what I think, I should only have to call something like BossPanel:UpdateButtonText("PluginName", "<Text goes here>"). I hate how titan calls a function on it's update mechanism to get text, the pluging should be pushing data to the panel, not the panel pulling data, at least for text and icon... tooltip of course would be pulled when needed, and menus already work off a function call, just pass that on :)
I started off with a blank slate, and although I did look at Titan's plugins for logic, I didn't really copy anything.
The plugins do currently create a frame. One major difference with Titan is that plugins manage their own updates, instead of Updating every frame like titan seems to.
In the code, OnUpdate() will call UpdateText() which essentially is just a few lines to get a string, then it does self:SetText(s) It will handle the resizing all my itself, so there's no issues with that.
Essentially, the panel doesn't pull data, the panel just organizes where the frames go, the frames update themselves independantly.
All in all, my plugin may look and act like how Titan does, but it's quite different on the backend.
And all the variable management is handled by the plugins themselves, though self.db or however you want to do it.
Tain: I've got issues with your latest version: Titan[CombatInfo] and Honorplus aren't working correctly. I've tried the latest Titan version too, with it I don't get any errors.
Using your Titan version (R3 I think) TitanCombatInfo doesn't show a tooltip and has a problem with formating the critinfo. Honorplus doesn't autojoin or release ghost correctly. Sometimes auto-join is working, sometimes not. In the latest original Titan version the author fixed it. I've tried to copy this into your version but it spammed a lot of errors.
It would be cool if you could fix those two. However I know it's more of a low-priority project atm.
Beside of that, well done .. it's running smooth :)
In the same vein, Titan Honor+ throws an error whenever I die, no matter if it's PvE or PvP.
Got pretty annoying in ZG last night :/
Very nice Boss, I'll have to give yours a looksie since that bastard Kael is stalling on AceBar still *growl*
I honestly think that the bar should maintain the xml frames itself though. It should just declare x number of the same template (I bet 30 would be more than enough). When a plugin registers the next unused button is found and reference to it is passed back. Then the plugin can just call :UpdateText(newtext) or :UpdateIcon(newicon) for that frame, which you of course would handle. If newtext or newiron is nil, the text or icon is hidden. When registering the plugin would pass a function to get tooltip text and one to populate a menu. If one of those isn't passed, that functionality is disabled. Don't do that bullshit of TitanPanel<plugin>GetButtonText... take a real function or a string name for a function and store a local reference for fast calls.
Bonus to the mod maintaining the frames, come 1.10 it can generate a new frame when needed, no more XML blibbityblab (can you tell I hate XML?
Tain: I've got issues with your latest version: Titan[CombatInfo] and Honorplus aren't working correctly. I've tried the latest Titan version too, with it I don't get any errors.
I do use CombatInfo and haven't had any issues, but I'll see if I'm using an older version perhaps. I don't use Honorplus at all, but I'll take a look at what the fixes were and see if I can include them.
Hrm, interesting idea, there, I may or may not implement it, depending on how I'm feeling. I do think the creation of new frames in 1.10 will be awesome, though ;-).
Oh and boss, to be completely and totally honest with you... don't embed your default plugins. Release the bar as a standalone mod. Release your plugins either as seperate mods or as a compilation (but still seperate inside that). Naturally you could include the base bar mod in the compilation :)
Oh and please drop the titan clock format and go with something uber simple like my Titan [GMT} (it on the SVN). You could add config options for which times to show on the bar, but Titan [Clock] is sooooo horribly HUUUUGE for what it needs to do... I mean what's with that offset shit, they couldn't even write it to remember on a per-server basis? Bah!
If you get this mod up and it's well worth it, I'll be churning out a bunch of Ace'd/Boss'd Titan plugins... slim them down, fix the stupid bugs and logic errors (Why does class tracker show a lv.30 the reagents needed for a lv.60 spell? *eyeroll*)
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
Actually it doesn't show a any mod only the 4 buttons on the right and the time on the right.
Can you try removing your Titan save vars and reloading? That TitanPanelAuxBarButton is referencing the second bar when you use both a top and bottom bar, and this version doesn't support that. I didn't think that information was actually in the save vars, but of course it would be or else Titan wouldn't know where to place things on reload.
Using your Titan version (R3 I think) TitanCombatInfo doesn't show a tooltip and has a problem with formating the critinfo. Honorplus doesn't autojoin or release ghost correctly. Sometimes auto-join is working, sometimes not. In the latest original Titan version the author fixed it. I've tried to copy this into your version but it spammed a lot of errors.
It would be cool if you could fix those two. However I know it's more of a low-priority project atm.
Beside of that, well done .. it's running smooth :)
Of course, I only use the basic plugins (Except those I have removed).
All I ever needed was a clock, loot show, money and bag display. :)
Titain does not move any windows and never will, this has been pointed out a number of times now.
I'm calling it BossPanel (cause I'm an egotist).
The plugins that I've written for it are:
BossPanel_Performance - keeps track of framerate, memory usage, etc.,
BossPanel_Experience - keeps track of both your experience and your honor. It will switch between the two whenever you enter/exit PvP mode.
BossPanel_Durability - keeps track of durability and pops up a dialog to repair when you go to a vendor who can.
BossPanel_Clock - A simplistic clock.
BossPanel_Bags - Keeps track of space left in your bags.
BossPanel_Ammunition - Keeps track of space left in your ammunition.
BossPanel_Money - Keeps track of current money and all your characters on one realm.
The differences between BossPanel and Titan Panel are:
No distinction between plugins on the left of the panel and on the right. e.g. clock can go on the left or the right, not just the right.
Honor plugin also keeps track of wins/losses in BG.
Combined Experience and Honor plugins (I find it unlikely to want to know your experience in battlegrounds or know your honor in the real world.)
Better memory usage. :-)
Extremely modular.
Object-oriented.
I wrote it, so it _must_ be good.
I'm currently doing bugchecking and writing more addons (though that doesn't take hardly any time at all).
I'm likely to clone most of the addons (at least the builtin ones) of Titan. Are there any addons that people would like to see written for this?
I guess the real question is, did you start with Titan and work backwords like Tain here, or did you start with an empty mod and work your way up, trying to keep only the good functionality ideas of titan and not messing up on the other stuff (TITAN_NIL anyone?).
Oh and if you don't already, you should manage the XML frames, plugins should only have to worry about feeding in button text and icons, and providing functions for menu creation and tooltip text retrieval. AT least, that's what I think, I should only have to call something like BossPanel:UpdateButtonText("PluginName", "<Text goes here>"). I hate how titan calls a function on it's update mechanism to get text, the pluging should be pushing data to the panel, not the panel pulling data, at least for text and icon... tooltip of course would be pulled when needed, and menus already work off a function call, just pass that on :)
The plugins do currently create a frame. One major difference with Titan is that plugins manage their own updates, instead of Updating every frame like titan seems to.
Here's the clock xml:
<Ui xmlns="<a href="http://www.blizzard.com/wow/ui/"" target="" data-ensure-absolute>http://www.blizzard.com/wow/ui/" xmlns:xsi="" target="" data-ensure-absolute>http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.blizzard.com/wow/ui/
..\FrameXML\UI.xsd">
<Script file="BossPanel_ClockLocals.lua"/>
<Script file="BossPanel_Clock.lua"/>
<Frame name="BossPanel_ClockFrame" inherits="BossAddonTextFrameTemplate">
<Scripts>
<OnUpdate>
BossPanel_Clock:OnUpdate(arg1);
</OnUpdate>
</Scripts>
</Frame>
</Ui>
Pretty simple, and that covers all of it.
In the code, OnUpdate() will call UpdateText() which essentially is just a few lines to get a string, then it does self:SetText(s) It will handle the resizing all my itself, so there's no issues with that.
Essentially, the panel doesn't pull data, the panel just organizes where the frames go, the frames update themselves independantly.
All in all, my plugin may look and act like how Titan does, but it's quite different on the backend.
And all the variable management is handled by the plugins themselves, though self.db or however you want to do it.
In the same vein, Titan Honor+ throws an error whenever I die, no matter if it's PvE or PvP.
Got pretty annoying in ZG last night :/
I honestly think that the bar should maintain the xml frames itself though. It should just declare x number of the same template (I bet 30 would be more than enough). When a plugin registers the next unused button is found and reference to it is passed back. Then the plugin can just call :UpdateText(newtext) or :UpdateIcon(newicon) for that frame, which you of course would handle. If newtext or newiron is nil, the text or icon is hidden. When registering the plugin would pass a function to get tooltip text and one to populate a menu. If one of those isn't passed, that functionality is disabled. Don't do that bullshit of TitanPanel<plugin>GetButtonText... take a real function or a string name for a function and store a local reference for fast calls.
Bonus to the mod maintaining the frames, come 1.10 it can generate a new frame when needed, no more XML blibbityblab (can you tell I hate XML?
I do use CombatInfo and haven't had any issues, but I'll see if I'm using an older version perhaps. I don't use Honorplus at all, but I'll take a look at what the fixes were and see if I can include them.
here's the clock's XML:
<Ui xmlns="<a href="http://www.blizzard.com/wow/ui/"" target="" data-ensure-absolute>http://www.blizzard.com/wow/ui/" xmlns:xsi="" target="" data-ensure-absolute>http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.blizzard.com/wow/ui/
..\FrameXML\UI.xsd">
<Script file="BossPanel_ClockLocals.lua"/>
<Script file="BossPanel_Clock.lua"/>
</Ui>
They all look like that now, no frames in it at all.
Nice, now you can move those to the TOC and nix the empty XML files completely ^^
Oh and please drop the titan clock format and go with something uber simple like my Titan [GMT} (it on the SVN). You could add config options for which times to show on the bar, but Titan [Clock] is sooooo horribly HUUUUGE for what it needs to do... I mean what's with that offset shit, they couldn't even write it to remember on a per-server basis? Bah!
If you get this mod up and it's well worth it, I'll be churning out a bunch of Ace'd/Boss'd Titan plugins... slim them down, fix the stupid bugs and logic errors (Why does class tracker show a lv.30 the reagents needed for a lv.60 spell? *eyeroll*)