Open Starlynk1 opened 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
I'm on latest build, not sure if those commits have released yet. So hopefully will see them working correctly soon. Thanks!
Got latest release and talent plans look good. Updated the OP to strikeout that.
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
Sure, I will switch to Alpha and do some testing. Thanks!
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
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.
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.
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.
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.
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"
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
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.
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
Also, doing a profile reset doesn't actually do anything yet
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.
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.
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?
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.
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.
Iterated with Starlynk over Discord DMs, profile related issues should be resolved and released in 4.5.25
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
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.
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.
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 screenStandardize 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 formatTalent 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 upthat 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.