alandtse / Buffout4

MIT License
12 stars 1 forks source link

Buffout 4 changes the behavior of Keywords used in Workshop menus #10

Open Glitchfinder opened 1 year ago

Glitchfinder commented 1 year ago

In Fallout 4, Workshop Menus are comprised of FormList and Keyword objects, with the structure primarily dictated by FormList objects and additional data and structure provided by Keywords. The use of FormLists in this context is straightforward and self explanatory, but Keywords have two separate uses that do not overlap in unmodified Fallout 4:

The second behavior is used for every menu except WorkshopMenuMain, which has no need for an icon or name due to never appearing in another menu. Thus far, all behaviors mentioned remain unchanged while using Buffout 4. However, there is another behavior associated with the second Keyword type, that is removed when the Buffout 4 workshop menu fix is enabled. In the base game, the Keywords used in index zero of a Workshop FormList (aside from WorkshopMenuMain) will have the leaf menu functionality suppressed.

This can be clearly demonstrated via "WorkshopRecipeFilterDecor "Decorations" [KYWD:0006D5A3]", which has a duplicate mattress recipe associated with it. In the base game, this mattress recipe is completely inaccessible unless a mod changes the recipe's filter Keyword. However, with the Buffout 4 workshop menu patch enabled, the recipe becomes accessible via a new leaf menu, "Decorations > Decorations", in which it is the only item.

This is an issue that has an available mod patch, and has been rejected for patching by the Unofficial Fallout 4 Patch due to only becoming visible via code injection. I filed a bug report on the main Buffout 4 tracker, and it was rejected by Fudgyduff as "Won't Fix", citing the leaf menu at the start of WorkshopMenuMain as proof that Keywords only have one behavior in Workshop menus, and appearances to the contrary are likely bugs in Bethesda's code.

This difference in behavior can result in mods that lose menus if developed by authors utilizing the fix and used by players who don't use Buffout 4 (or if ported to console). It can also result in mods gaining undesired menus if developed by authors who do not utilize Buffout 4 and used by players who do.

I am mostly filing this issue to help create a searchable trail, so anyone affected by it will be able to identify the cause, and potentially adjust mods accordingly. Ideally, I feel this is a behavior that should be reimplemented so that Buffout 4 and the base game treat Workshop menus in the same way, but I do not know whether this is an intentional or unintentional change since it is not documented by Buffout 4's settings or public changelogs.

alandtse commented 1 year ago

Thanks for the detailed report. I'll tag this as a bug since it probably is an unintended side effect. Hopefully someone wants to fix it and submits a PR.