zerosnake0 0 Report post Posted December 9, 2016 Hello, everyone, this is a topic for those who are interested in AddOn developing. I started learning Ace2 Library two months ago and started to analyse the source code. And when I searched the internet I saw Ace3 of retail WoW. So I asked myself, why not port it back to vanilla? Thanks to the great job of the Ace dev team, the code didnt give me much trouble to make it compatible to work with vanilla WoW, I wished to give them some error feedback on the wow-ace site but was not able to register. After 3 weeks of work, I finally got a beta version with all working codes except AceGUI library. And I also wrote a test addon to test the correct behavior of the library. You may think the Ace2 lib is enough for your addon and it costs too much to rewrite your code for a Ace3 version or to study the Ace3 lib. It's all your choice. I just give another possibility to those who are interested. And I also believe the Ace3 has some advantages comparing to Ace2, for example more accurate timer (well, not so accurate but I think the implementation is better than that in Ace2) The library repo: https://github.com/zerosnake0/Ace3v The library test repo: https://github.com/zerosnake0/Ace3test The original library is developed by the Ace dev team, I apologize if the team member consider this backport not appropriate. 0 Share this post Link to post Share on other sites
Renew 26 Report post Posted December 9, 2016 i rarely use any ace libs, whats the big benefit to ace2? i mean, what can i do with ace3 that is not possible with ace2? whats with other libs like banzai, rosterlib fubar, healcomm? they are not useable with ace3 i guess? 0 Share this post Link to post Share on other sites
martinjlowm 0 Report post Posted December 9, 2016 i rarely use any ace libs, whats the big benefit to ace2? i mean, what can i do with ace3 that is not possible with ace2? whats with other libs like banzai, rosterlib fubar, healcomm? they are not useable with ace3 i guess? I happened to ask the same question. I found http://old.wowace.com/Differences_from_Ace2_to_Ace3 which states several improvements. I haven't used Ace libs much either, Dongle has been sufficient for my work. Thumbs up for the backport, I might use it at some point 0 Share this post Link to post Share on other sites
zerosnake0 0 Report post Posted December 9, 2016 (edited) i rarely use any ace libs, whats the big benefit to ace2? i mean, what can i do with ace3 that is not possible with ace2? whats with other libs like banzai, rosterlib fubar, healcomm? they are not useable with ace3 i guess? Yes, it is unfortunate that the Ace2 and Ace3 are not compatible (and I think it will take too much work to make them compatible) Here is a list of comparaison https://github.com/zerosnake0/Ace2/blob/master/README.md Ace is a lib that has been developed from the very begining of the game, so Ace3 maintains most of the features of the Ace2. Personally, I think it has some following advantage: 1. The AceLibrary-2.0 has some codes with data transfer of one table from another table that may sometimes cause problem (even rare), that's no longer the case in Ace3 (If you code in Ace3 style) 2. The codes seems to be clearer 3. It give a simple GUI implementation which can be used with AceConfig and AceDB etc, this makes it easy for you to store your addons settings with character profile, it will create the option frame for you. So you can concentrate on UI developping To be noted that the AceGUI shares the frames so it will reduce the memory usage of frames. (PS: This part of lib is still under dev, will be available soon with example) 4. AceTimer has better implementation 5. AceSerializer can let you transfer data structures between players. Edited December 9, 2016 by zerosnake0 0 Share this post Link to post Share on other sites
zerosnake0 0 Report post Posted December 9, 2016 I happened to ask the same question. I found http://old.wowace.com/Differences_from_Ace2_to_Ace3 which states several improvements. I haven't used Ace libs much either, Dongle has been sufficient for my work. Thumbs up for the backport, I might use it at some point Thank you for the link I will appreciate if people can take a look and have a try at it, it will help me to find the bugs and improve the code 0 Share this post Link to post Share on other sites
Shino 27 Report post Posted December 9, 2016 I wish you brought that out like 2 years ago when I started developing. DPSMate could be a little more performant now. Oh well... Nice to see the vanilla addon scene growing! cheers! 0 Share this post Link to post Share on other sites
zerosnake0 0 Report post Posted December 9, 2016 (edited) I wish you brought that out like 2 years ago when I started developing. DPSMate could be a little more performant now. Oh well... Nice to see the vanilla addon scene growing! cheers! well i hope that too but I started to learn addon dev when i began to play on Nost so~ And I'm very interested by your DPSMate and maybe I can give some Chinese translate to it or port it to Ace3 as some kind of experiment Edited December 9, 2016 by zerosnake0 0 Share this post Link to post Share on other sites
Shino 27 Report post Posted December 9, 2016 Uff, chinese translation huh? Nice to have I guess, but I couldn't translate Legacy Logs to chinese. Also all these multibyte characters are kinda a pain^^ You would have to translate not only the interface but also the parser, because I don't understand the chinese grammar. But ya if you have I'd say a day of boredom, hit me up :> cheers! 0 Share this post Link to post Share on other sites
zerosnake0 0 Report post Posted December 12, 2016 Update: The GUI part has been finished, the test case is also updated 0 Share this post Link to post Share on other sites
thurmanmerman 0 Report post Posted December 15, 2016 @zerosnake0 Hi zero, interesting work can i ask if this is backwards compatible with older addons? Like could we re-code older addons to use Ace3 instead of Ace2 would they transition without issue? Maybe it would offer improvements -- maybe not? I am mostly just a novice developer and curious to learn addon programmijng with nost's re-release 0 Share this post Link to post Share on other sites
zerosnake0 0 Report post Posted December 15, 2016 (edited) @zerosnake0 Hi zero, interesting work can i ask if this is backwards compatible with older addons? Like could we re-code older addons to use Ace3 instead of Ace2 would they transition without issue? Maybe it would offer improvements -- maybe not? I am mostly just a novice developer and curious to learn addon programmijng with nost's re-release I think you can recode most of the Ace2 addons with the Ace3 lib, the interface does not change much. You can check my list of comparison of 2 and 3 for the correspondance: https://github.com/zerosnake0/Ace2/blob/master/README.md But surely it will take a bit of work, and some useful lib other than Ace3 is still in Ace2 version, I will try to recode them in Ace3 too if I have time As for the improvement, I think it won't accelerate you addon too much because it depends mostly on the WoW client but not the lib itself You can check the previous post I wrote in this topic for my opinion on the difference between 2 and 3 Edited December 15, 2016 by zerosnake0 0 Share this post Link to post Share on other sites
thurmanmerman 0 Report post Posted December 15, 2016 (edited) I think you can recode most of the Ace2 addons with the Ace3 lib, the interface does not change much. You can check my list of comparison of 2 and 3 for the correspondance: https://github.com/zerosnake0/Ace2/blob/master/README.md But surely it will take a bit of work, and some useful lib other than Ace3 is still in Ace2 version, I will try to recode them in Ace3 too if I have time As for the improvement, I think it won't accelerate you addon too much because it depends mostly on the WoW client but not the lib itself You can check the previous post I wrote in this topic for my opinion on the difference between 2 and 3 Cool, i will definitely check it out. Also, since you mentioned you only recently began addon programming, I wanted to ask you: do you have any recommendations for a guide on beginning LUA scripting, specifically for WoW addons and macros? As a frame of reference I have some background in programming (Javascript/Python/and little bit of C++) Like one thing i notice when going through older addons (to familiarize with syntax) is that they all have XML files, but Rhena/Aviana's Questie doesn't -- is it not necessary? Does it simply boil down to the advantage of not having to learn XML and LUA? Edited December 15, 2016 by thurmanmerman 0 Share this post Link to post Share on other sites
Renew 26 Report post Posted December 15, 2016 (edited) Like one thing i notice when going through older addons (to familiarize with syntax) is that they all have XML files, but Rhena/Aviana's Questie doesn't -- is it not necessary? Does it simply boil down to the advantage of not having to learn XML and LUA? Making frames with lua was intruduced in patch 1.10 thats why older addons have XML for frames Most addon devs are writing their addons without XML frames nowadays, imo it has a better overview and less writing = less mistakes the benefits of useing "lua frames" is that you can create them very variable, the benefits of useing XML is that you create "virtual" templates that you can reuse... basically the whole blizzard frames in FrameXML is based on XML + lua and therefore its a must-have to know how the XML frames are working Edited December 15, 2016 by Renew 0 Share this post Link to post Share on other sites
Arti 0 Report post Posted December 15, 2016 I do not know much English, but I understood that Ace 3 newer library, and it allows you to run the addons that are not working on vanilla, and were issued in BC? 0 Share this post Link to post Share on other sites
thurmanmerman 0 Report post Posted December 15, 2016 Making frames with lua was intruduced in patch 1.10 thats why older addons have XML for frames Most addon devs are writing their addons without XML frames nowadays, imo it has a better overview and less writing = less mistakes so you're in favor of not using XML or ...? basically the whole blizzard frames in FrameXML is based on XML + lua and therefore its a must-have to know how the XML frames are working Are you referring to the built in blizzard frames? Sorry I'm still pretty new to addons and haven't yet wrote anything myself Do you feel it's necessary to understand how blizzard implemented their frames in order to be able to write an addon? XML seems fairly straight forward, but if I can live without learning another language I will ;D 0 Share this post Link to post Share on other sites
zerosnake0 0 Report post Posted December 15, 2016 (edited) Cool, i will definitely check it out. Also, since you mentioned you only recently began addon programming, I wanted to ask you: do you have any recommendations for a guide on beginning LUA scripting, specifically for WoW addons and macros? As a frame of reference I have some background in programming (Javascript/Python/and little bit of C++) Like one thing i notice when going through older addons (to familiarize with syntax) is that they all have XML files, but Rhena/Aviana's Questie doesn't -- is it not necessary? Does it simply boil down to the advantage of not having to learn XML and LUA? I think Renew has answered the most part of it, all things done with xml can also be done with pure LUA. And for the recommendation of LUA guide, I think you will not encounter much difficulty if you have python experience. And I think the lua.org is usually enough, but be care that the vanilla wow use a subset of the lua 5.1 version. So check the wow wikia and wowprograming sites for the references, and test them by runing the codes in game. Also it is a bit different from the LUA nowadays. I also mentioned some of them in my link of the comparison of Ace2 and Ace3 https://github.com/zerosnake0/Ace2/blob/master/README.md So if you compare my rework of the Ace3 lib, I have changed some internal codes to make it more suitable for the vanilla wow. I'm not sure if I am doing correctly, we will find it out if it will be widely used. Edited December 15, 2016 by zerosnake0 0 Share this post Link to post Share on other sites
Renew 26 Report post Posted December 15, 2016 so you're in favor of not using XML or ...? Yes Are you referring to the built in blizzard frames? Sorry I'm still pretty new to addons and haven't yet wrote anything myself Yes The build in blizzard frames are inside of http://vanilla-wow.wikia.com/wiki/FrameXML Do you feel it's necessary to understand how blizzard implemented their frames in order to be able to write an addon? XML seems fairly straight forward, but if I can live without learning another language I will ;D You dont have to know how the blizzard frames work but if your addon does something that is connected to the blizzard functions or frames (wich can happen often) you have to know where to look for 0 Share this post Link to post Share on other sites
thurmanmerman 0 Report post Posted December 15, 2016 Thanks for the info Renew and zerosnake0, (and sorry for derailing your post zero :X ) 0 Share this post Link to post Share on other sites
Aero 13 Report post Posted December 16, 2016 Nice work! I'll probably end up making use of this at some point. As others have said its great to see more people active in the addon community 0 Share this post Link to post Share on other sites
laytya 16 Report post Posted March 28, 2017 Any updates for subj? 0 Share this post Link to post Share on other sites