Closed UbaserB closed 2 weeks ago
casual jumpsuits have had this same issue for a long while, due to the formatting and how the coloured variants are achieved
now we get more of it! sadly...
Noticed that this also is the case for red, blue, and green flannel jackets in the WinterDrobe
I took a look, and I think it's happening because IRsiStateLike
does not support the color-override stuff we're now doing for clothing. As others have noted in Discord, adding IconComponent
for the individual colors as an override would defeat the purpose of greyscaling them in the first place (#26943).
My theory is that the custom coloring works fine on the dummy, but gets lost in translation when that icon gets passed back to the VendingMachineMenu
:
For the VendingMachineMenu
(and e.g. the Entity Spawn Panel), the icon is being generated by the GetPrototypeIcon
method within SpriteSystem.Specifier
. This involves spawning a dummy to get the icon. This part likely works fine, however, the method simply returns an IRsiStateLike
. Since the RSI is intentionally greyscale, and no custom coloring information is included in the actual return value, the end result is the default greyscale version of the item icon.
Is this best handled engine-side, or am I perhaps missing a clean approach that could work content-side? I don't want to just complicate VendingMachineMenu
and call it a day! 😁
Screenshots