Thread Tools Display Modes
01/07/17, 04:31 AM   #21
votan
 
votan's Avatar
AddOn Author - Click to view addons
Join Date: Oct 2014
Posts: 577
Originally Posted by Baertram View Post
IsSecureRenderModeEnabled() is a function of the WINDOW_MANAGER. Someone just pointed my nose on it
Ahjo, was late

@Chip: Ah, ok. Thanks.

BTW: Your addon compatibility aliases have a typo.
Code:
IsPOIWayshrine = function(zoneIndex, poiIndex)
    return GetPoiType(zoneIndex, poiIndex) == POI_TYPE_WAYSHRINE
end
The others, too. It is GetPOIType. But on the other side, that way one realizes that a function is obsolete. It may a good idea to wait with releasing aliases and/or posting an obsolete warning at PTS.
  Reply With Quote
01/07/17, 05:25 AM   #22
sirinsidiator
 
sirinsidiator's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 1,566
Or maybe add a set of logging function that write directly to the interface log without impacting the game's performance too much.
LogError, LogWarning, LogInfo, LogDebug + SetLogLevel which defaults to LOG_LEVEL_WARNING on live and LOG_LEVEL_DEBUG on pts.

The log functions could also write which addon called them, at which time, and from which line e.g:
Code:
2017-01-07 12:23:45:678 [ingame] something, ingame/something/somefile.lua:123
2017-01-07 12:23:46:042 [AwesomeGuildStore] another, AwesomeGuildStore/StartUp.lua:42
Maybe also add a function SetLogStack(level, boolean[, addonName]) which allows for requesting the stacktrace to be printed after every message and an optional boolean on the log methods themselves for triggering it for individual messages.

The alias functions could then all include a LogInfo("deprecated method, consider replacing it").

This could help a lot with debugging addons and also during development where putting a d() call into a loop can cause a client crash.

Last edited by sirinsidiator : 01/07/17 at 05:27 AM.
  Reply With Quote
01/07/17, 10:13 AM   #23
sirinsidiator
 
sirinsidiator's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 1,566
I just played around with the new housing APIs and so far I found that the placed furniture only returns a furnitureDataId to allow identifying items of the same type.
Maybe you could also return the itemLink from GetPlacedHousingFurnitureInfo or provide a method GetItemLinkFromFurnitureDataId? That way it would be easier possible to show which items are missing when trying to deserialize a serialized house, because the itemName won't work cross-language and searching all existing items for the right furnitureDataId is a bit of an overkill.

I also noticed that there is still no function to restore a stringified id64 into a proper id64. It shouldn't be necessary for this case, but it would still be nice to have in some other cases.

EDIT: after some more tinkering I found that furnitureDataId is not what I thought it was and multiple itemIds can have the same furnitureDataId. It also looks like there is more than one furniture item with the same name, which means there is currently no way to map furniture to an item based on the data returned from the housing API.

Last edited by sirinsidiator : 01/07/17 at 01:28 PM.
  Reply With Quote
01/08/17, 06:42 AM   #24
sirinsidiator
 
sirinsidiator's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 1,566
I managed to make it work somewhat.
But there are a few major drawbacks.
  • I currently rely on SHARED_FURNITURE:GetPlaceableFurnitureCategoryTreeData():GetNumEntriesRecursive() and filter items by name in order to find what I need, but that means that it does not work across languages and it also requires that there is no search text placed in the housing editor (although I probably can clear that from code).
  • It looks like some items do not return an itemName from GetPlacedHousingFurnitureInfo which makes it impossible to restore them with this method. (Haven't checked which items are affected yet)
  • In order to find out which method I should use to place an item (HousingEditorRequestItemPlacement or HousingEditorRequestCollectiblePlacement) I use GetCollectibleInfo and check if the name is an empty string, but I am not confident that it is always correct. I believe if I get an itemLink it would be easy to determine by comparing the itemType.
  • This method is slow and sends a lot of individual requests to the server. Maybe you could add a HousingEditorBeginItemPlacement, HousingEditorCommitItemPlacement and HousingEditorRollbackItemPlacement and in the same fashion a HousingEditorBeginItemRemoval, HousingEditorCommitItemRemoval and HousingEditorRollbackItemRemoval to collect these calls locally and then do a bulk update. For removal you could also just add a HousingEditorClearHouse method which removes everything.
  Reply With Quote
01/08/17, 09:43 AM   #25
sirinsidiator
 
sirinsidiator's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 1,566
I just tried to get the new trading house filters to work and found that some things just don't work (yet?).
First I tried to list some furniture and recipes in a guild store and use the vanilla interface. When searching for All items, the 3 furniture items and 6 recipes show up as expected, but when I select the new furnishings category and search for all furnishings / items and recipes I only see 2 recipes instead of the expected 9 items.
I then looked through other categories and noticed that the crafting category also has a new subcategory for furnishing formula which show the remaining 4 recipes, but the furniture items never showed besides in the main all items category.

Next I tried to add the filter to AwesomeGuildStore and found that there is a typo in the definition of ZO_TRADING_HOUSE_FILTER_FURNITURE_ITEM_TYPE_DATA in line 385 in tradinghouse_filter_shared.lua. The constant for SPECIALIZED_ITEMTYPE_RECIPE_BLACKSMITHING_FURNISHING_DIAGRAM should be SPECIALIZED_ITEMTYPE_RECIPE_BLACKSMITHING_DIAGRAM_FURNISHING instead.
When I use the ITEMTYPE_FURNISHING I can find all furnishing items as expected and the recipes also show in the category for recipes, but I cannot get the TRADING_HOUSE_FILTER_TYPE_SPECIALIZED_ITEM to work in order to split them up further.

From my standpoint it looks as if the trading house changes are not yet finished.

I also tried to figure out what I can do with the increased filter parameter limit and while 16 is already a good improvement, it is still too low. I need at least 20 parameters to be able to add an all category for all crafting materials. The issue where I cannot show shields in the all category for armor would also need a specialized item type for shields that is not linked with weapons and can be combined with the armor category.
  Reply With Quote
01/08/17, 09:46 AM   #26
Woeler
 
Woeler's Avatar
AddOn Author - Click to view addons
Join Date: Sep 2014
Posts: 40
Hey guys,

Does anyone have the style item index for all the new styles? I was looking here but I think people are still working on getting everything updated -> http://wiki.esoui.com/StyleItemIndex

Thanks!
  Reply With Quote
01/09/17, 03:33 PM   #27
sirinsidiator
 
sirinsidiator's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 1,566
I was playing around with the new Master Writs to see what local filters I can do for them in the guildstore and noticed that there is a crash bug. I won't post the details here (already sent a bug report ingame), but please fix that before it goes live.

I also thought a bit more about the housing export addon I am making and I think with the possibility to save furniture arrangements it is important that you tie GetNextPlacedHousingFurnitureId() into the housing permission system, otherwise some random visitor could copy my hard work and claim it as their own (exactly what I am doing right now with Solinur's work ).
For example you could always return nil when the player does not have decorator permissions or is not the owner himself, that way the homeowner can decide who may copy his work. I think this is especially important when/if the housing leaderboard becomes available.

Originally Posted by Woeler View Post
Hey guys,

Does anyone have the style item index for all the new styles? I was looking here but I think people are still working on getting everything updated -> http://wiki.esoui.com/StyleItemIndex

Thanks!
Look again. I just updated it.
  Reply With Quote
01/09/17, 03:56 PM   #28
ZOS_ChipHilseberg
ZOS Staff!
Premium Member
Yes this person is from ZeniMax!
Join Date: Oct 2014
Posts: 551
Originally Posted by sirinsidiator View Post
I just tried to get the new trading house filters to work and found that some things just don't work (yet?).
First I tried to list some furniture and recipes in a guild store and use the vanilla interface. When searching for All items, the 3 furniture items and 6 recipes show up as expected, but when I select the new furnishings category and search for all furnishings / items and recipes I only see 2 recipes instead of the expected 9 items.
I then looked through other categories and noticed that the crafting category also has a new subcategory for furnishing formula which show the remaining 4 recipes, but the furniture items never showed besides in the main all items category.

Next I tried to add the filter to AwesomeGuildStore and found that there is a typo in the definition of ZO_TRADING_HOUSE_FILTER_FURNITURE_ITEM_TYPE_DATA in line 385 in tradinghouse_filter_shared.lua. The constant for SPECIALIZED_ITEMTYPE_RECIPE_BLACKSMITHING_FURNISHING_DIAGRAM should be SPECIALIZED_ITEMTYPE_RECIPE_BLACKSMITHING_DIAGRAM_FURNISHING instead.
When I use the ITEMTYPE_FURNISHING I can find all furnishing items as expected and the recipes also show in the category for recipes, but I cannot get the TRADING_HOUSE_FILTER_TYPE_SPECIALIZED_ITEM to work in order to split them up further.

From my standpoint it looks as if the trading house changes are not yet finished.

I also tried to figure out what I can do with the increased filter parameter limit and while 16 is already a good improvement, it is still too low. I need at least 20 parameters to be able to add an all category for all crafting materials. The issue where I cannot show shields in the all category for armor would also need a specialized item type for shields that is not linked with weapons and can be combined with the armor category.
The typos are now fixed. The other problems you are seeing are likely because many items haven't had their specialized item type set yet. Those should be complete shortly.

I'll increase the search term limits to 24 and we'll see how that plays. The shield problem will takes adding some new specialized item types which won't happen until the next major release.
  Reply With Quote
01/09/17, 04:26 PM   #29
ZOS_ChipHilseberg
ZOS Staff!
Premium Member
Yes this person is from ZeniMax!
Join Date: Oct 2014
Posts: 551
Originally Posted by sirinsidiator View Post
I managed to make it work somewhat.
But there are a few major drawbacks.
  • I currently rely on SHARED_FURNITURE:GetPlaceableFurnitureCategoryTreeData():GetNumEntriesRecursive() and filter items by name in order to find what I need, but that means that it does not work across languages and it also requires that there is no search text placed in the housing editor (although I probably can clear that from code).
  • It looks like some items do not return an itemName from GetPlacedHousingFurnitureInfo which makes it impossible to restore them with this method. (Haven't checked which items are affected yet)
  • In order to find out which method I should use to place an item (HousingEditorRequestItemPlacement or HousingEditorRequestCollectiblePlacement) I use GetCollectibleInfo and check if the name is an empty string, but I am not confident that it is always correct. I believe if I get an itemLink it would be easy to determine by comparing the itemType.
  • This method is slow and sends a lot of individual requests to the server. Maybe you could add a HousingEditorBeginItemPlacement, HousingEditorCommitItemPlacement and HousingEditorRollbackItemPlacement and in the same fashion a HousingEditorBeginItemRemoval, HousingEditorCommitItemRemoval and HousingEditorRollbackItemRemoval to collect these calls locally and then do a bulk update. For removal you could also just add a HousingEditorClearHouse method which removes everything.
Please provide an example of an item without a name when you find one.

As for the placement functions, those trigger an inventory operation and also broadcast a new piece of furniture to everyone when they are used. We have to be careful so that if an addon was made that moved or placed the full contents of the house very frequently it would not grind the servers to a halt. The current mechanism for this is using the message rate limits, but we could potentially build a more robust system for queuing these things in the future.
  Reply With Quote
01/09/17, 04:37 PM   #30
Weolo
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 79
Are you aware that the Ebony motif items are showing as motif number 36 but that's also the same motif number as Dark brotherhood already uses?
Do you know what motif number Ebony is planned to be?
  Reply With Quote
01/09/17, 05:25 PM   #31
Sounomi
Join Date: Oct 2014
Posts: 40
I've noticed that furnishings bought from the crown store have an item value of 0 while they're non-crown store counterparts have their full item value. It makes sense and all but the problem is that when you try to get the item's value via its item link, it returns the full item value regardless. This not only causes some issues with add-ons that view inventory via item links but it also causes the gamepad interface to list the wrong item value in the tooltips.
  Reply With Quote
01/10/17, 03:53 AM   #32
sirinsidiator
 
sirinsidiator's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 1,566
Originally Posted by ZOS_ChipHilseberg View Post
The typos are now fixed. The other problems you are seeing are likely because many items haven't had their specialized item type set yet. Those should be complete shortly.

I'll increase the search term limits to 24 and we'll see how that plays. The shield problem will takes adding some new specialized item types which won't happen until the next major release.
Looking forward to these changes! Thank you very much.

Originally Posted by ZOS_ChipHilseberg View Post
Please provide an example of an item without a name when you find one.

As for the placement functions, those trigger an inventory operation and also broadcast a new piece of furniture to everyone when they are used. We have to be careful so that if an addon was made that moved or placed the full contents of the house very frequently it would not grind the servers to a halt. The current mechanism for this is using the message rate limits, but we could potentially build a more robust system for queuing these things in the future.
I went back to the same house on Sunday, but the items all showed their name then. Either it was just a display bug in my addon or it depended on some other condition besides the item itself. I'll keep an eye on it either way.

I don't know how your server handles these calls, but in other server based systems a bulk update usually has a performance advantage because of the reduced overhead. I'd think this holds especially true in a case where I would send 1000 individual requests to place all furniture or remove it. I don't expect that it will be added with this update, but I'd love to see an improved way to do this in the future.

p.s. please add a return value for itemLink to GetPlacedHousingFurnitureInfo, or add a method GetPlacedHousingFurnitureItemLink
  Reply With Quote
01/10/17, 04:51 AM   #33
Solinur
AddOn Author - Click to view addons
Join Date: Aug 2014
Posts: 78
Originally Posted by Weolo View Post
Are you aware that the Ebony motif items are showing as motif number 36 but that's also the same motif number as Dark brotherhood already uses?
Do you know what motif number Ebony is planned to be?
This happens with every patch. We have to wait and see waht the new numbers are.
  Reply With Quote
01/13/17, 08:38 AM   #34
QuadroTony
Banned
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 828
hey Chip! will you adress this guild sales history bug in this update?

http://www.esoui.com/forums/showthread.php?t=6695
  Reply With Quote
01/13/17, 08:39 AM   #35
ZOS_ChipHilseberg
ZOS Staff!
Premium Member
Yes this person is from ZeniMax!
Join Date: Oct 2014
Posts: 551
Originally Posted by QuadroTony View Post
hey Chip! will you adress this guild sales history bug in this update?

http://www.esoui.com/forums/showthread.php?t=6695
Yes, it has been fixed.
  Reply With Quote
01/14/17, 03:14 PM   #36
sirinsidiator
 
sirinsidiator's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 1,566
I just finished the first version of SaveHouse. Unfortunately I could only test it partially, because in the current PTS version HousingEditorRequestItemPlacement produces a crash to desktop whenever I call it for any item in my inventory in any house. I really hope that you can fix that before Homestead goes live.
  Reply With Quote
01/15/17, 01:16 PM   #37
votan
 
votan's Avatar
AddOn Author - Click to view addons
Join Date: Oct 2014
Posts: 577
Skin Changer Motif Chapter Books broken

@Chip:
The IsItemLinkBookKnown function returns false on the skin changer motif chapter books. The PTS template knowns all styles. The full books are ok.
Two of them have typos in the german description.

item ids
[73855]
[73856]
[73857]
[73858]<-typo
[73859]
[73860]
[73861]
[73862]
[73863]
[73864]
[73865]<-typo
[73866]
[73867]
[73868]

And GetItemLinkItemType does not return 61=SPECIALIZED_ITEMTYPE_RACIAL_STYLE_MOTIF_CHAPTER for any chapter book (the second return value).
Is this correct?
  Reply With Quote
01/15/17, 02:16 PM   #38
sirinsidiator
 
sirinsidiator's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 1,566
While getting AGS ready for Homestead I noticed that the TRADING_HOUSE_FILTER_TYPE_FURNITURE_CATEGORY shows entries for mounts, pets and assistants in the vanilla interface. Seems a bit pointless, or do you plan to make them tradeable?

It also looks like the filter limit is still set to 8. Will the change make it in with the patch tomorrow?

And last but not least there is a typo in addoncompatibilityaliases.lua: GetItemLinkRankRequirement should actually be GetItemLinkRecipeRankRequirement.
  Reply With Quote
01/16/17, 12:06 PM   #39
Weolo
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 79
Originally Posted by votan View Post
@Chip:
The IsItemLinkBookKnown function returns false on the skin changer motif chapter books. The PTS template knowns all styles. The full books are ok.
Two of them have typos in the german description.

item ids
[73855]
[73856]
[73857]
[73858]<-typo
[73859]
[73860]
[73861]
[73862]
[73863]
[73864]
[73865]<-typo
[73866]
[73867]
[73868]

And GetItemLinkItemType does not return 61=SPECIALIZED_ITEMTYPE_RACIAL_STYLE_MOTIF_CHAPTER for any chapter book (the second return value).
Is this correct?
I also noticed IsItemLinkBookKnown() was broken on PTS for skin changer motif.

I tried GetItemLinkItemType() but never got it to return anything about motif chapters

I should add that I checked on PTS today (16th Jan) and now my live characters have been copied over the skin changer motif is behaving correctly.

Last edited by Weolo : 01/16/17 at 04:48 PM. Reason: Re-tested on PTS
  Reply With Quote
01/16/17, 01:15 PM   #40
ZOS_ChipHilseberg
ZOS Staff!
Premium Member
Yes this person is from ZeniMax!
Join Date: Oct 2014
Posts: 551
Originally Posted by sirinsidiator View Post
I just finished the first version of SaveHouse. Unfortunately I could only test it partially, because in the current PTS version HousingEditorRequestItemPlacement produces a crash to desktop whenever I call it for any item in my inventory in any house. I really hope that you can fix that before Homestead goes live.
This will be fixed on the fourth PTS update.
  Reply With Quote

ESOUI » Developer Discussions » Tutorials & Other Helpful Info » 2.7 Update

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