Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Requests / Bugs] A List of Requests and Bugs? for Addon #192

Open
Starlynk1 opened this issue Sep 30, 2023 · 23 comments
Open

[Requests / Bugs] A List of Requests and Bugs? for Addon #192

Starlynk1 opened this issue Sep 30, 2023 · 23 comments

Comments

@Starlynk1
Copy link

Starlynk1 commented Sep 30, 2023

Here is a list of requests/bugs

Profile Set Up
- Update existing profiles to include all aspects of frame data
- Currently Profiles do not restore frame position data. Always places it on the left middle of the screen

  • Add a Global Profile that can be used instead of having to choose each time
    • This would really help with Classic Hardcore since some like me die on a daily basis

Standardize Options Window
- Scale slider is done in two ways instead of using a single format
- Some use a Percentage in the text field, some use a number format

  • Enable Beta Features
    • Maybe have this area with notes to what these Beta features are or where to look them up on the website or discord

Talent Plans
- Talent plans will always say it failed to add talent even when it did
- Talent plans do not show the current level you are at on the window for suggestion. It is assuming you have already picked up that talen when you haven't. This could be part of why it says it failed getting the talent as it's expecting the next rank but can't get that yet.

@SabreValkyrn
Copy link
Collaborator

SabreValkyrn commented Oct 1, 2023

Talent Plans

Talent plans will always say it failed to add talent even when it did

I believe this was "fixed" cf6e724 AFAICT Era API was returning nil always, instead of Wrath which returned true/falsey as expected.

Talent plans do not show the current level you are at on the window for suggestion.

This plus surrounding commits may have fixed that 506789e

@Starlynk1
Copy link
Author

I'm on latest build, not sure if those commits have released yet. So hopefully will see them working correctly soon. Thanks!

@Starlynk1
Copy link
Author

Got latest release and talent plans look good. Updated the OP to strikeout that.

@SabreValkyrn
Copy link
Collaborator

Update existing profiles to include all aspects of frame data

If you're setup for it, I'd appreciate extra validation on latest CF Alpha or main/HEAD for #194

@Starlynk1
Copy link
Author

Sure, I will switch to Alpha and do some testing. Thanks!

@Starlynk1
Copy link
Author

Got the following error. Frames still not retaining position, but can't verify further with error

1x RXPTargetFrame:SetPoint(): Wrong object type for function
[string "=[C]"]: in function `SetPoint'
[string "@RXPGuides/RXPGuides.lua"]:779: in function <RXPGuides/RXPGuides.lua:698>
[string "=[C]"]: ?
[string "@Ace3/AceAddon-3.0-13/AceAddon-3.0.lua"]:66: in function <Ace3/AceAddon-3.0/AceAddon-3.0.lua:61>
[string "@Ace3/AceAddon-3.0-13/AceAddon-3.0.lua"]:523: in function `EnableAddon'
[string "@Ace3/AceAddon-3.0-13/AceAddon-3.0.lua"]:626: in function <Ace3/AceAddon-3.0/AceAddon-3.0.lua:611>

Locals:
(*temporary) = RXPTargetFrame {
 BottomLeftCorner = Texture {
 }
 OnBackdropLoaded = <function> defined @SharedXML/Backdrop.lua:152
 onMouseUp = <function> defined @RXPGuides/Targeting.lua:739
 GetBackdropColor = <function> defined @SharedXML/Backdrop.lua:390
 onMouseDown = <function> defined @RXPGuides/Targeting.lua:733
 TopLeftCorner = Texture {
 }
 RightEdge = Texture {
 }
 ApplyBackdrop = <function> defined @SharedXML/Backdrop.lua:294
 SetBackdrop = <function> defined @SharedXML/Backdrop.lua:329
 ClearBackdrop = <function> defined @SharedXML/Backdrop.lua:282
 GetBackdropBorderColor = <function> defined @SharedXML/Backdrop.lua:409
 GetBackdrop = <function> defined @SharedXML/Backdrop.lua:347
 SetBorderBlendMode = <function> defined @SharedXML/Backdrop.lua:266
 IsFeatureEnabled = <function> defined @RXPGuides/Targeting.lua:723
 backdropInfo = <table> {
 }
 OnBackdropSizeChanged = <function> defined @SharedXML/Backdrop.lua:182
 TopRightCorner = Texture {
 }
 UpdateVisuals = <function> defined @RXPGuides/Targeting.lua:699
 GetEdgeSize = <function> defined @SharedXML/Backdrop.lua:188
 0 = <userdata>
 friendlyTargetButtons = <table> {
 }
 TopEdge = Texture {
 }
 title = RXPTargetFrame_title {
 }
 enemyTargetButtons = <table> {
 }
 Center = Texture {
 }
 SetupTextureCoordinates = <function> defined @SharedXML/Backdrop.lua:214
 HasBackdropInfo = <function> defined @SharedXML/Backdrop.lua:278
 SetBackdropBorderColor = <function> defined @SharedXML/Backdrop.lua:422
 BottomEdge = Texture {
 }
 SetupPieceVisuals = <function> defined @SharedXML/Backdrop.lua:246
 SetBackdropColor = <function> defined @SharedXML/Backdrop.lua:399
 LeftEdge = Texture {
 }
 BottomRightCorner = Texture {
 }
}
(*temporary) = "CENTER"
(*temporary) = <table> {
 variablesLoaded = true
 firstTimeLoaded = 1
}
(*temporary) = "CENTER"
(*temporary) = 0
(*temporary) = 0

@SabreValkyrn
Copy link
Collaborator

I encountered that error only once and couldn't reproduce it. I attributed it to malformed data I had saved during testing but that doesn't seem to be the case.

May be related to userdata placements so would only error if a frame was not moved at all by the user

Give 07c27ed a go, seems to work in all my variations.

@Starlynk1
Copy link
Author

Ok, tested and no bug errors.

Problem is the setpoint? of where the main frame moves to. I keep my main frame in the bottom right of the screen. So when switching profiles, it is maintaining the bottom right setpoint where I have it kept, but does not retain the width, so it now goes all the way across the screen to the left.

8f90bb26546522da12d3da854d9b7fe8
6b5f322aa8c1755e33de106344ace23b

Also, the scale for the arrow isn't maintained between profiles. Not sure if the scale on the other windows aren't kept as they aren't up right now. Which brings another thought, can we have an option to show all frames for placement always for placement help.
Then we can toggle it off once we are done setting up the placements.

@Starlynk1
Copy link
Author

Active Target is still not maintaining location by profile. And neither is the scale for it. So I am guessing Active Item window is the same.

@Starlynk1
Copy link
Author

No idea what this error is from, turned in a quest and it popped up. Never seen it before changing to alpha code.

3x RXPGuides/Communications.lua:393: bad argument #4 to 'fmt' (string expected, got no value)
[string "=[C]"]: ?
[string "@RXPGuides/Communications.lua"]:393: in function `BuildNotification'
[string "@RXPGuides/Communications.lua"]:90: in function `?'
[string "@BagBrother/libs/CallbackHandler-1.0-8/CallbackHandler-1.0.lua"]:119: in function <...her/libs/CallbackHandler-1.0/CallbackHandler-1.0.lua:119>
[string "=[C]"]: ?
[string "@BagBrother/libs/CallbackHandler-1.0-8/CallbackHandler-1.0.lua"]:29: in function <...her/libs/CallbackHandler-1.0/CallbackHandler-1.0.lua:25>
[string "@BagBrother/libs/CallbackHandler-1.0-8/CallbackHandler-1.0.lua"]:64: in function `Fire'
[string "@BagBrother/libs/AceEvent-3.0-4/AceEvent-3.0.lua"]:120: in function <BagBrother/libs/AceEvent-3.0/AceEvent-3.0.lua:119>

Locals:
(*temporary) = "I just leveled from %d to %d in %s"
(*temporary) = 6
(*temporary) = 7
(*temporary) = "string expected, got no value"

@SabreValkyrn
Copy link
Collaborator

Problem is the setpoint? of where the main frame moves to.

Indeed, the relativeto property, which the examples I followed/copied didn't include because they were hard-coded to UIParent or similar later on. But also the frame positioning :GetPoint is inconsistent, sometimes with a, b, c, d = frame:GetPoint() b is either an anchor "LEFT" or parent.

I was also only saving/restoring positions for enabledFrames. So the opt-in (like Splits) frames wouldn't be properly loaded or saved. Similarly for the arrow, items, targets because those are evaluated after initial loading based on step data.

Should also now save the old profile positions before swapping and loading new profile positions. 86bd7d1

Note: You will likely get an error or two and need at least one /reloadui to let RXP fix the malformed frame data

@SabreValkyrn
Copy link
Collaborator

3x RXPGuides/Communications.lua:393: bad argument #4 to 'fmt' (string expected, got no value)

Not sure how that occurred but should at least not error now.

You are correct, scale is not currently handled on profile change, but is restored on reload/login. Will need to think about how to do this in a scalable way instead of hacking something together.

@Starlynk1
Copy link
Author

Tested with new character and it would not set the frames to the profile selection. Got the following error

2x RXPGuides/SettingsPanel.lua:3217: Action[SetPoint] failed because[SetPoint would result in anchor family connection]: attempted from: RXPTargetFrame:SetPoint.
[string "=[C]"]: in function `SetPoint'
[string "@RXPGuides/SettingsPanel.lua"]:3217: in function `LoadFramePositions'
[string "@RXPGuides/RXPGuides.lua"]:772: in function <RXPGuides/RXPGuides.lua:698>
[string "=[C]"]: ?
[string "@Ace3/AceAddon-3.0-13/AceAddon-3.0.lua"]:66: in function <Ace3/AceAddon-3.0/AceAddon-3.0.lua:61>
[string "@Ace3/AceAddon-3.0-13/AceAddon-3.0.lua"]:523: in function `EnableAddon'
[string "@Ace3/AceAddon-3.0-13/AceAddon-3.0.lua"]:626: in function <Ace3/AceAddon-3.0/AceAddon-3.0.lua:611>

Locals:
(*temporary) = RXPTargetFrame {
 BottomLeftCorner = Texture {
 }
 OnBackdropLoaded = <function> defined @SharedXML/Backdrop.lua:152
 onMouseUp = <function> defined @RXPGuides/Targeting.lua:739
 GetBackdropColor = <function> defined @SharedXML/Backdrop.lua:390
 onMouseDown = <function> defined @RXPGuides/Targeting.lua:733
 TopLeftCorner = Texture {
 }
 RightEdge = Texture {
 }
 ApplyBackdrop = <function> defined @SharedXML/Backdrop.lua:294
 SetBackdrop = <function> defined @SharedXML/Backdrop.lua:329
 ClearBackdrop = <function> defined @SharedXML/Backdrop.lua:282
 GetBackdropBorderColor = <function> defined @SharedXML/Backdrop.lua:409
 GetBackdrop = <function> defined @SharedXML/Backdrop.lua:347
 SetBorderBlendMode = <function> defined @SharedXML/Backdrop.lua:266
 IsFeatureEnabled = <function> defined @RXPGuides/Targeting.lua:723
 backdropInfo = <table> {
 }
 OnBackdropSizeChanged = <function> defined @SharedXML/Backdrop.lua:182
 TopRightCorner = Texture {
 }
 UpdateVisuals = <function> defined @RXPGuides/Targeting.lua:699
 GetEdgeSize = <function> defined @SharedXML/Backdrop.lua:188
 0 = <userdata>
 friendlyTargetButtons = <table> {
 }
 TopEdge = Texture {
 }
 title = RXPTargetFrame_title {
 }
 enemyTargetButtons = <table> {
 }
 Center = Texture {
 }
 SetupTextureCoordinates = <function> defined @SharedXML/Backdrop.lua:214
 HasBackdropInfo = <function> defined @SharedXML/Backdrop.lua:278
 SetBackdropBorderColor = <function> defined @SharedXML/Backdrop.lua:422
 BottomEdge = Texture {
 }
 SetupPieceVisuals = <function> defined @SharedXML/Backdrop.lua:246
 SetBackdropColor = <function> defined @SharedXML/Backdrop.lua:399
 LeftEdge = Texture {
 }
 BottomRightCorner = Texture {
 }
}
(*temporary) = "LEFT"
(*temporary) = nil
(*temporary) = "LEFT"
(*temporary) = 0
(*temporary) = -156.666672

@Starlynk1
Copy link
Author

Also, doing a profile reset doesn't actually do anything yet

@SabreValkyrn
Copy link
Collaborator

More updates (locally), getting close to all these transition scenarios.

Reset profile is mostly functional but doesn't handle resetting frame positions to default. Similar (re-)design complication as scale. Similarly swapping profiles is still a little wonky because WoW client itself tracks frame positions.

Added error handling for SetPoint (pcall) so edge cases won't error but instead just throw the frame at default location or where it already was. But this does overwrite the existing saved frame data for that profile, blowing away the frame positions it did have.

Thanks for the continual feedback and testing.

@Starlynk1
Copy link
Author

Don't mind testing at all, just keep sending them and I will see what I can find. I will be out of town for a few days, so feedback won't be until friday evening most likely.

@Starlynk1
Copy link
Author

I'm on the alpha channel for CF, is that being updated or do I need to grab the files like I have been from here? Or do you have a fork repo I can sync up with?

@SabreValkyrn
Copy link
Collaborator

CF Alpha would still be correct. Unfortunately I wasn't able to clean up my local changes yet, been very busy the last couple days.

Did some minor cleanup and pushed my changes, in ~15m latest CF Alpha should be ready.

@Starlynk1
Copy link
Author

Starlynk1 commented Nov 6, 2023

Tested with the latest push (CF 4.5.24-22-ge3d4146) and frames location, scale did not save or did not load from existing profile. Tested with new toon and used an existing good profile. Also created a new profile to test with and still on a new character, it would not move or scale the frames.

Edit: Scale was maintained for Arrow and Active frame, no Item frame open on new character, so not sure about that one. Frames though are still not restoring to profile location.

@SabreValkyrn
Copy link
Collaborator

Iterated with Starlynk over Discord DMs, profile related issues should be resolved and released in 4.5.25

@SabreValkyrn
Copy link
Collaborator

Scale slider is done in two ways instead of using a single format

Everything that makes sense as a percentage now should be 27f2032

@Starlynk1
Copy link
Author

Looks good, been busy so just got time to hop in. But found a different bug with itemupgrades, so posting that one in a new issue.

@SabreValkyrn
Copy link
Collaborator

Enable Beta Features
Maybe have this area with notes to what these Beta features are or where to look them up on the website or discord

e6568e9

Side-effect of AH scanning being beta feature.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants