Quantcast
Update 34 (Version 8.0) - Page 2 - ESOUI
Thread Tools Display Modes
05/04/22, 09:03 AM   #21
ivanwfr
Join Date: Apr 2014
Posts: 9
Can someone explain why this call to FireCallbacks is not executed
and EVENT_ACTION_SLOT_UPDATED is not dispatched in API 101034 ?

Code:
600 function ZO_ActionBarAssignmentManager_Hotbar:ClearSlot(actionSlotIndex)
        ...
613     ACTION_BAR_ASSIGNMENT_MANAGER:FireCallbacks(
          "SlotUpdated"
        ,  self.hotbarCategory
        ,  actionSlotIndex
        ,  IS_CHANGED_BY_PLAYER
        )

This online code is from API 101032 but this part is unchanged
on both GitHub pts7.32 and pts8.0 branches:

I can get the expected result manually by running zo_loadstring from GQSB with those slash commands:
Code:
-- init required for this to work (as it has not been called yet):
 /gqsb lua ZO_ActionBarAssignmentManager_Hotbar:Initialize(10)

-- player dragging an item out of the wheel by code:
 /gqsb lua CallSecureProtected("ClearSlot", 4, 10)

-- firing the missing "SlotUpdated" hooks calls:
 /gqsb lua ACTION_BAR_ASSIGNMENT_MANAGER:FireCallbacks("SlotUpdated", 10, 4, true)

BTW: EVENT_ACTION_SLOT_UPDATED is not dispatched either!

Of course, those calls may not be the appropriate ones.
All I'm saying here is that it gets the job done as to what
GQSB Preset changes saving needs to be working again.

v2.6.8.2 220504 on GitHub
(rigged with /gqsb debug_event toggled on on startup)
My guess is:
- either there is some replacement mechanism at work I'm not aware of, or
- the pts7.3 branch handling is freezed at the moment in pts8.0.
...
__________________


ivan


Last edited by ivanwfr : 05/04/22 at 09:40 AM.
  Reply With Quote
05/04/22, 10:01 AM   #22
Baertram
Super Moderator
 
Baertram's Avatar
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 4,112
You should explain what you are trying to achieve here FIRST and then post some code etc.

From your dev name and the abbreviation GQSB I know it's about Gremyind Quickslot bar and it seems to be something about dragging items from the bar, and you expect (it worked on live server I assume) either the event EVENT_ACTION_SLOT_UPDATED to fire then, or the
callback manager to fire
ACTION_BAR_ASSIGNMENT_MANAGER:FireCallbacks("SlotUpdated", self.hotbarCategory, actionSlotIndex, IS_CHANGED_BY_PLAYER)

When exactly do you think this should fire? What are you doing?
It's easier for Dan to understand and maybe find a bug then.
Thank you.

btw: The quickslots changed and there are new files that might fire a quickslot only related callback meanwhile, so check the new files, if it's about quickslots:
https://github.com/esoui/esoui/blob/...board.lua#L202
https://github.com/esoui/esoui/blob/...l_keyboard.lua
ZO_UtilityWheelValidateOrClearSlot

Last edited by Baertram : 05/04/22 at 10:05 AM.
  Reply With Quote
05/04/22, 12:12 PM   #23
ivanwfr
Join Date: Apr 2014
Posts: 9
Originally Posted by Baertram View Post
You should explain what you are trying to achieve here FIRST and then post some code etc.

From your dev name and the abbreviation GQSB I know it's about Gremyind Quickslot bar and it seems to be something about dragging items from the bar, and you expect (it worked on live server I assume) either the event EVENT_ACTION_SLOT_UPDATED to fire then, or the
callback manager to fire
ACTION_BAR_ASSIGNMENT_MANAGER:FireCallbacks("SlotUpdated", self.hotbarCategory, actionSlotIndex, IS_CHANGED_BY_PLAYER)
You're right.
I was just following your last post about QuickSlot handling with this added bar category parameter.
As if that was an obvious continuation about this very subject.
But I could have stated it more clearly!

When exactly do you think this should fire? What are you doing?
It's easier for Dan to understand and maybe find a bug then.
Thank you.
Everything you guessed is right! It's all about the yellow keywords, as I thought it would highlight enough the fact I was missing some of those for Greymind Quick Slot Bar to work on pts as it does on live, with some adjustments I'm trying to guess what they should be.

My broken code has to do with saving the content of the QUICKSLOT_WHEEL before changing Preset.
It's synchronized on those slot changes to add/remove items.
There is simply no way to trigger this code when both callbacks and hooks are not working anymore.
btw: The quickslots changed and there are new files that might fire a quickslot only related callback meanwhile, so check the new files, if it's about quickslots:
https://github.com/esoui/esoui/blob/...board.lua#L202
https://github.com/esoui/esoui/blob/...l_keyboard.lua
ZO_UtilityWheelValidateOrClearSlot
Thanks for the heads up.
But, after a git clone https://github.com/esoui/esoui.git, I took the time to search the whole pts8.0 and pts7.3 branches for those keywords before posting here.

I'm ready to give a try to any suggestion, Thanks.
__________________


ivan

  Reply With Quote
05/04/22, 02:41 PM   #24
ZOS_DanBatson
ZOS Staff!
 
ZOS_DanBatson's Avatar
Yes this person is from ZeniMax!
Join Date: Jul 2015
Posts: 112
EVENT_ACTION_SLOT_UPDATED is only fired for slots on the active bar, and now that quickslots are not part of the skill bars, it wont fire for them. They want EVENT_HOTBAR_SLOT_UPDATED instead.
  Reply With Quote
05/04/22, 03:35 PM   #25
ivanwfr
Join Date: Apr 2014
Posts: 9
Originally Posted by ZOS_DanBatson View Post
EVENT_ACTION_SLOT_UPDATED is only fired for slots on the active bar, and now that quickslots are not part of the skill bars, it wont fire for them. They want EVENT_HOTBAR_SLOT_UPDATED instead.
Thanks Dan! That was all I had to know.
v2.6.8.2 220504 on GitHub
Working on both live and PTS
I still have a tiny missing feature that could hide the standard ACTIVE QUICKSLOT ITEM.
It is a GQSB Settings option [Disable Default Quick Slot Button].
I was using ActionButton9:SetHidden() but ActionButton9 is nil on PTS.
__________________


ivan

  Reply With Quote
05/04/22, 04:27 PM   #26
Baertram
Super Moderator
 
Baertram's Avatar
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 4,112
It's control name should be QuickslotButton now
  Reply With Quote
05/04/22, 05:27 PM   #27
ivanwfr
Join Date: Apr 2014
Posts: 9
Originally Posted by Baertram View Post
It's control name should be QuickslotButton now
Thanks! everything is working again!

v2.6.9 220505 pre-release on GitHub click here to load from GitHub
working on both LIVE (7.3) and PTS (8.1)
__________________


ivan

  Reply With Quote
05/05/22, 03:35 PM   #28
ZOS_DanBatson
ZOS Staff!
 
ZOS_DanBatson's Avatar
Yes this person is from ZeniMax!
Join Date: Jul 2015
Posts: 112
Updated documentation for the upcoming PTS 4.
Attached Files
File Type: txt ESOUIDocumentationP34_2.txt (876.9 KB, 50 views)
File Type: txt APIPatchNotesP34_2.txt (2.0 KB, 74 views)
  Reply With Quote
06/06/22, 09:08 AM   #29
ZOS_DanBatson
ZOS Staff!
 
ZOS_DanBatson's Avatar
Yes this person is from ZeniMax!
Join Date: Jul 2015
Posts: 112
Final updated documentation
Attached Files
File Type: txt APIPatchNotesP34_3.txt (906 Bytes, 53 views)
File Type: txt ESOUIDocumentationP34_3.txt (877.3 KB, 47 views)
  Reply With Quote
06/06/22, 09:53 PM   #30
Phinix
 
Phinix's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 186
Thanks for everything Dan, sirinsidiator, Baertram et al. Your extensive documentation efforts made a pretty major API update a lot less of a hassle for all of us addon authors!
  Reply With Quote

ESOUI » Developer Discussions » Tutorials & Other Helpful Info » Update 34 (Version 8.0)

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off