RestedXP / RXPGuides

RXPGuides is a platform to write in-game leveling guides for WoW Classic
https://www.restedxp.com/
Other
111 stars 55 forks source link

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

Open Starlynk1 opened 1 year ago

Starlynk1 commented 1 year ago

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

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

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 commented 1 year ago

Talent Plans

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

I believe this was "fixed" https://github.com/RestedXP/RXPGuides/commit/cf6e724383c49117e2c11c759bf18a235ca0ee29 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 https://github.com/RestedXP/RXPGuides/commit/506789e05f06e85206a1d7440f2bd07f33930161

Starlynk1 commented 1 year ago

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

Starlynk1 commented 1 year ago

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

SabreValkyrn commented 11 months ago

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 commented 11 months ago

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

Starlynk1 commented 11 months ago

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 commented 11 months ago

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 https://github.com/RestedXP/RXPGuides/commit/07c27eda161cef28e378e6988b239f46b674964c a go, seems to work in all my variations.

Starlynk1 commented 11 months ago

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 commented 11 months ago

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 commented 11 months ago

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 commented 11 months ago

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. 86bd7d1e0f7c3fe06708911d482f542ec498036b

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

SabreValkyrn commented 11 months ago

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 commented 11 months ago

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 commented 11 months ago

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

SabreValkyrn commented 11 months ago

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 commented 11 months ago

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 commented 11 months ago

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 commented 11 months ago

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 commented 11 months ago

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 commented 11 months ago

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

SabreValkyrn commented 10 months ago

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

Everything that makes sense as a percentage now should be https://github.com/RestedXP/RXPGuides/commit/27f203217d1ef2372c7fc2bd1eb66919fcfe9ac6

Starlynk1 commented 10 months ago

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 commented 5 months ago

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

https://github.com/RestedXP/RXPGuides/pull/227/commits/e6568e931ade7de7421771ef2fda790efc7c52cd

Side-effect of AH scanning being beta feature.