Files
crystall-punk-14/Content.Client
paige404 2e7f01b99e Fix broken layer hiding on clothes with multiple equipment slots (#34080)
* Fix broken layer hiding on clothes with multiple equipment slots

* Refactor ToggleVisualLayers, HideLayerClothingComponent, and ClothingComponent to allow more
precise layer hide behavior and more CPU efficient layer toggling.

* Adjust HumanoidAppearaceSystem to track which slots are hiding a given layer (e.g. gas mask and welding mask)
Add documentation
Change gas masks to use the new HideLayerClothingComponent structure as an example of its usage

* Fix the delayed snout bug

* Misc cleanup

* Make `bool permanent` implicit from SlotFlags

any non-permanent visibility toggle with `SlotFlags.None` isn't supported with how its set up. And similarly, the slot flags argument does nothing if permanent = true. So IMO it makes more sense to infer it from a nullable arg.

* Split into separate system

Too much pasta

* Remove (hopefully unnecessary) refresh

* Fisk mask networking

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

* Keep old behaviour, use clearer names?

I'm just guessing at what this was meant to do

* english

* Separate slot name & flag

* dirty = true

* fix comment

* Improved SetLayerVisibility with dirtying logic suggested by @ElectroJr

* Only set mask toggled if DisableOnFold is true

* FoldableClothingSystem fixes

* fix bandana state

* Better comment

---------

Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
2025-03-21 00:30:47 +11:00
..
2024-11-08 18:28:24 -06:00
2024-05-02 12:40:07 +10:00
2024-07-26 10:30:49 -07:00
2023-09-28 20:48:50 +10:00
2024-07-01 02:20:57 +10:00
2025-03-15 09:24:23 -07:00
2025-02-23 20:01:17 +01:00
2023-04-18 22:46:00 -07:00
2024-07-13 16:09:19 +10:00
2024-08-25 22:05:39 +10:00
2024-08-04 13:31:45 +10:00
2025-03-07 14:51:08 +01:00
2025-02-14 16:46:25 +01:00
2023-09-11 19:18:06 +10:00
2024-11-22 23:39:05 +01:00
2024-09-27 17:12:10 +10:00
2024-09-24 19:02:51 +02:00
2024-08-31 10:40:28 -04:00
2025-02-27 18:57:28 +01:00
2025-03-10 15:38:33 +11:00
2024-02-16 16:52:31 -07:00
2025-02-12 23:46:02 -05:00
2024-06-09 15:18:54 -04:00
2024-08-18 21:39:00 -06:00
2023-10-24 10:23:56 -04:00
2024-09-07 00:05:53 +10:00
2024-07-21 17:17:59 +10:00
2025-02-02 02:38:02 +01:00
2025-02-23 18:23:00 +11:00
2025-02-20 11:10:54 +01:00
2024-11-08 18:28:24 -06:00
2024-08-25 22:18:42 +10:00
2023-09-22 15:01:05 -05:00
2024-08-23 11:14:38 +02:00
2023-10-01 16:46:09 -04:00
2025-02-23 00:37:00 +11:00
2024-08-25 22:18:42 +10:00
2024-12-17 20:18:15 +01:00
2024-12-17 20:18:15 +01:00
2024-12-23 15:24:09 +01:00
2024-04-21 23:16:23 +10:00
2024-09-23 17:28:42 +10:00
2025-02-08 17:17:55 +11:00
2024-09-26 18:55:59 +02:00
2025-02-23 18:23:00 +11:00
2024-12-04 21:13:22 +11:00