Open Nazgul084 opened 1 year ago
I have also fixed the core functionality of Eavesdrop in 10.0.1, working on fix to the changes to options/settings. There are some function changes in 10.0.1 that will break the addon for SL as well as Classic. I think, I will have to start branching the code to support those client soon.
I did not expect my changes to be functional in Retail and Wrath Classic with the new DL API changes, but I've now tested what I forked on DF/SL PTR, SL Retail, and Wrath Classic, and it appears that all of the functionality now works without error. I'm not sure how truly unified their code base is between current DF Beta, DF/SL PTR, SL Retail, and Classic, but I now suspect quite a bit.
You are right that they are pretty unified, however I've noticed some behavior differences (bugs?) between clients. For example SetGradient
doesn't produce the same result under retail vs DF depending on how you pass the color
parameters.
More importantly, where did you get the files to update the Ace3 libraries. I am using their latest downloads from https://www.wowace.com/projects/ace3/files
, and I am not getting the same results as with the files you have added to your fork!
oh, nvm, their r1281
release has a bug.
SetGradientAlpha
, and their new preferred format for passing color information to SetGradient
appears to include a call to CreateColor
. Your Dragonflight code doesn't appear to make that call, so that could account for some of the behavior differences you mentioned related to color
parameters.CreateColor
has been around since Legion. That could account for the compatibility my code testing showed.Your Dragonflight code doesn't appear to make that call
I used CreateColor
and got different results in each client, so I decided to just directly provide the color table in DF and leave the old ones untouched. It is very subtle to notice as using CreateColor
in SL causes a solid background to appear at top/bottom of EavesDrop
frame as opposed to having an actual gradient. Maybe you can verify on your end?
Interesting solution you chose for the frame.delay / frame.alpha issue
:) frame.alpha
was getting values like 0.0002
before being subtracted, so that's the first thing that came to my mind. I think your solution is technically better as it fully hides each frame rather than setting its alpha to 0.0002
How do you dump WoW's Interface code? I know there are git repos's showing the diff but I don't know how they got them!
Maybe you can verify on your end?
I'll check it out later this evening. I may not have noticed that issue, as I use ElvUI and AddOnSkins for both Retail and WotLK, and it deskins everything and changes fonts.
I think your solution is technically better as it fully hides each frame
I was just attempting to work the problem of it blowing up if I attempted to display the frame right after logging in and before anything new would show up in the log. It looked like the old code may have been missing a validation check, and may have been blowing up if it attempted to set a negative alpha value.
How do you dump WoW's Interface code? I know there are git repos's showing the diff but I don't know how they got them!
I think there are a few references out there, but here are the essentials on how to do it:
After you dump the assets, I'd go back into the Battle.net client and remove the -console startup command, unless there are other variables you want to take a peek at. (None of this is secret, BTW) Enjoy!
Blizzard, once again, made core API changes to the new Dragonflight (v10) PTR client. I forked the build of EavesDrop, updated the Ace-3 libraries, and got it working. I think. The fork ALSO appears to function in the 9.2.7 client, though should be tested further in both. @spamwax