]> git.smokeofanarchy.ru Git - space-station-14.git/commit
Visual nubody (humanoid appearance refactor) (#42476)
authorpathetic meowmeow <uhhadd@gmail.com>
Tue, 20 Jan 2026 07:07:53 +0000 (02:07 -0500)
committerGitHub <noreply@github.com>
Tue, 20 Jan 2026 07:07:53 +0000 (07:07 +0000)
commit8cf744ec55fa19968ae5a7bc279d5b3862e3f878
tree13a3c6ae33d66af93e892321ae93be5fd7ac0e09
parent27bb73ded4942515a93f1dbae2eed31caf040904
Visual nubody (humanoid appearance refactor) (#42476)

* initial visual nubody

* oops overlay

* im so pheeming rn

* conversion...

* tests

* comeback of the underwear

* oops eyes

* blabbl

* zeds

* yaml linted

* search and visible count constraints

* reordering

* preserve previously selected markings colors

* fix test

* some ui niceties

* ordering

* make DB changes backwards-compatible/downgrade-friendly

* fix things again

* fix migration

* vulpkanin markings limit increase

* wrapping

* code cleanup and more code cleanup and more code cleanup and more code cleanup and

* fix slop ports

* better sampling API

* make filter work + use the method i made for its intended purpose

* fix test fails real quick

* magic mirror cleanup, remove TODO

* don't 0-init the organ profile data

* remove deltastates

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
204 files changed:
Content.Client/Anomaly/Effects/ClientInnerBodySystem.cs
Content.Client/Body/VisualBodySystem.cs [new file with mode: 0644]
Content.Client/Clothing/ClientClothingSystem.cs
Content.Client/HealthAnalyzer/UI/HealthAnalyzerControl.xaml.cs
Content.Client/Humanoid/HideableHumanoidLayersSystem.cs [new file with mode: 0644]
Content.Client/Humanoid/HumanoidAppearanceSystem.cs [deleted file]
Content.Client/Humanoid/HumanoidMarkingModifierBoundUserInterface.cs
Content.Client/Humanoid/HumanoidMarkingModifierWindow.xaml
Content.Client/Humanoid/HumanoidMarkingModifierWindow.xaml.cs
Content.Client/Humanoid/LayerMarkingItem.xaml [new file with mode: 0644]
Content.Client/Humanoid/LayerMarkingItem.xaml.cs [new file with mode: 0644]
Content.Client/Humanoid/LayerMarkingOrderer.xaml [new file with mode: 0644]
Content.Client/Humanoid/LayerMarkingOrderer.xaml.cs [new file with mode: 0644]
Content.Client/Humanoid/LayerMarkingPicker.xaml [new file with mode: 0644]
Content.Client/Humanoid/LayerMarkingPicker.xaml.cs [new file with mode: 0644]
Content.Client/Humanoid/MarkingPicker.xaml
Content.Client/Humanoid/MarkingPicker.xaml.cs
Content.Client/Humanoid/MarkingsViewModel.cs [new file with mode: 0644]
Content.Client/Humanoid/OrganMarkingPicker.xaml [new file with mode: 0644]
Content.Client/Humanoid/OrganMarkingPicker.xaml.cs [new file with mode: 0644]
Content.Client/Humanoid/SingleMarkingPicker.xaml [deleted file]
Content.Client/Humanoid/SingleMarkingPicker.xaml.cs [deleted file]
Content.Client/Interaction/DragDropHelper.cs
Content.Client/Lobby/LobbyUIController.cs
Content.Client/Lobby/UI/CharacterPickerButton.xaml.cs
Content.Client/Lobby/UI/HumanoidProfileEditor.xaml
Content.Client/Lobby/UI/HumanoidProfileEditor.xaml.cs
Content.Client/MagicMirror/MagicMirrorBoundUserInterface.cs
Content.Client/MagicMirror/MagicMirrorSystem.cs [deleted file]
Content.Client/MagicMirror/MagicMirrorWindow.xaml
Content.Client/MagicMirror/MagicMirrorWindow.xaml.cs
Content.Client/Stylesheets/Sheetlets/PanelSheetlet.cs
Content.Client/Stylesheets/StyleClass.cs
Content.Client/Zombies/ZombieSystem.cs
Content.IntegrationTests/Tests/Lobby/CharacterCreationTest.cs
Content.IntegrationTests/Tests/Markings/MarkingManagerTests.cs [new file with mode: 0644]
Content.IntegrationTests/Tests/Preferences/ServerDbSqliteTests.cs
Content.Server.Database/Migrations/Postgres/20260118084629_OrganMarkings.Designer.cs [new file with mode: 0644]
Content.Server.Database/Migrations/Postgres/20260118084629_OrganMarkings.cs [new file with mode: 0644]
Content.Server.Database/Migrations/Postgres/PostgresServerDbContextModelSnapshot.cs
Content.Server.Database/Migrations/Sqlite/20260118084622_OrganMarkings.Designer.cs [new file with mode: 0644]
Content.Server.Database/Migrations/Sqlite/20260118084622_OrganMarkings.cs [new file with mode: 0644]
Content.Server.Database/Migrations/Sqlite/SqliteServerDbContextModelSnapshot.cs
Content.Server.Database/Model.cs
Content.Server.Database/ModelSqlite.cs
Content.Server/Administration/Systems/AdminVerbSystem.Antags.cs
Content.Server/Antag/AntagSelectionSystem.cs
Content.Server/Body/VisualBodySystem.cs [new file with mode: 0644]
Content.Server/Cloning/CloningSystem.cs
Content.Server/Clothing/Systems/OutfitSystem.cs
Content.Server/Database/DataNodeJsonExtensions.cs [new file with mode: 0644]
Content.Server/Database/ServerDbBase.cs
Content.Server/Database/ServerDbManager.cs
Content.Server/Database/ServerDbPostgres.cs
Content.Server/Database/ServerDbSqlite.cs
Content.Server/Destructible/DestructibleSystem.cs
Content.Server/GameTicking/GameTicker.Spawning.cs
Content.Server/GameTicking/Rules/AntagLoadProfileRuleSystem.cs
Content.Server/GameTicking/Rules/RevolutionaryRuleSystem.cs
Content.Server/GameTicking/Rules/ThiefRuleSystem.cs
Content.Server/GameTicking/Rules/ZombieRuleSystem.cs
Content.Server/Humanoid/Components/RandomHumanoidAppearanceComponent.cs
Content.Server/Humanoid/HideableHumanoidLayersSystem.cs [new file with mode: 0644]
Content.Server/Humanoid/Systems/HumanoidAppearanceSystem.Modifier.cs [deleted file]
Content.Server/Humanoid/Systems/HumanoidAppearanceSystem.cs [deleted file]
Content.Server/Humanoid/Systems/RandomHumanoidAppearanceSystem.cs
Content.Server/Humanoid/Systems/RandomHumanoidSystem.cs
Content.Server/MagicMirror/MagicMirrorSystem.cs [deleted file]
Content.Server/Materials/MaterialReclaimerSystem.cs
Content.Server/Medical/BiomassReclaimer/BiomassReclaimerSystem.cs
Content.Server/Objectives/Systems/HijackShuttleConditionSystem.cs
Content.Server/Objectives/Systems/SpeciesRequirementSystem.cs
Content.Server/Polymorph/Systems/PolymorphSystem.cs
Content.Server/Revenant/EntitySystems/RevenantSystem.Abilities.cs
Content.Server/Salvage/SalvageSystem.Runner.cs
Content.Server/Speech/EntitySystems/VocalSystem.cs
Content.Server/Station/Systems/StationSpawningSystem.cs
Content.Server/StationEvents/Events/MassHallucinationsRule.cs
Content.Server/Store/Conditions/BuyerSpeciesCondition.cs
Content.Server/Toolshed/Commands/Misc/CloneCommand.cs
Content.Server/Wagging/WaggingSystem.cs
Content.Server/Xenoarchaeology/Artifact/XAE/XAEPolymorphSystem.cs
Content.Server/Zombies/ZombieSystem.Transform.cs
Content.Server/Zombies/ZombieSystem.cs
Content.Shared/Body/BodySystem.Relay.cs
Content.Shared/Body/InitialBodyComponent.cs [new file with mode: 0644]
Content.Shared/Body/InitialBodySystem.cs [new file with mode: 0644]
Content.Shared/Body/SharedVisualBodySystem.Initial.cs [new file with mode: 0644]
Content.Shared/Body/SharedVisualBodySystem.Modifiers.cs [new file with mode: 0644]
Content.Shared/Body/SharedVisualBodySystem.cs [new file with mode: 0644]
Content.Shared/Body/VisualBodyComponent.cs [new file with mode: 0644]
Content.Shared/Body/VisualOrganComponent.cs [new file with mode: 0644]
Content.Shared/Body/VisualOrganMarkingsComponent.cs [new file with mode: 0644]
Content.Shared/Changeling/Components/ChangelingDevourComponent.cs
Content.Shared/Changeling/Systems/ChangelingClonerSystem.cs
Content.Shared/Changeling/Systems/ChangelingDevourSystem.cs
Content.Shared/Changeling/Systems/ChangelingTransformSystem.cs
Content.Shared/Changeling/Systems/SharedChangelingIdentitySystem.cs
Content.Shared/Clothing/EntitySystems/HideLayerClothingSystem.cs
Content.Shared/Clothing/LoadoutSystem.cs
Content.Shared/Humanoid/HideableHumanoidLayersComponent.cs [new file with mode: 0644]
Content.Shared/Humanoid/HumanoidAppearanceComponent.cs [deleted file]
Content.Shared/Humanoid/HumanoidCharacterAppearance.cs
Content.Shared/Humanoid/HumanoidProfileComponent.cs [new file with mode: 0644]
Content.Shared/Humanoid/HumanoidProfileExportV1.cs [new file with mode: 0644]
Content.Shared/Humanoid/HumanoidProfileExportV2.cs [moved from Content.Shared/Humanoid/HumanoidProfileExport.cs with 80% similarity]
Content.Shared/Humanoid/HumanoidProfileSystem.cs [new file with mode: 0644]
Content.Shared/Humanoid/HumanoidVisualLayers.cs
Content.Shared/Humanoid/Markings/ColoringTypes/CategoryColoring.cs
Content.Shared/Humanoid/Markings/ColoringTypes/EyeColoring.cs
Content.Shared/Humanoid/Markings/ColoringTypes/SimpleColoring.cs
Content.Shared/Humanoid/Markings/ColoringTypes/SkinColoring.cs
Content.Shared/Humanoid/Markings/ColoringTypes/TattooColoring.cs
Content.Shared/Humanoid/Markings/Marking.cs
Content.Shared/Humanoid/Markings/MarkingCategories.cs [deleted file]
Content.Shared/Humanoid/Markings/MarkingColoring.cs
Content.Shared/Humanoid/Markings/MarkingManager.cs
Content.Shared/Humanoid/Markings/MarkingPoints.cs [deleted file]
Content.Shared/Humanoid/Markings/MarkingPrototype.cs
Content.Shared/Humanoid/Markings/MarkingsComponent.cs [deleted file]
Content.Shared/Humanoid/Markings/MarkingsGroupPrototype.cs [new file with mode: 0644]
Content.Shared/Humanoid/Markings/MarkingsSet.cs [deleted file]
Content.Shared/Humanoid/Prototypes/HumanoidProfilePrototype.cs
Content.Shared/Humanoid/Prototypes/HumanoidSpritePrototypes.cs [deleted file]
Content.Shared/Humanoid/Prototypes/SpeciesPrototype.cs
Content.Shared/Humanoid/SharedHideableHumanoidLayersSystem.cs [new file with mode: 0644]
Content.Shared/Humanoid/SharedHumanoidAppearanceSystem.cs [deleted file]
Content.Shared/Humanoid/SharedHumanoidMarkingModifierSystem.cs
Content.Shared/IdentityManagement/IdentitySystem.cs
Content.Shared/Kitchen/SharedKitchenSpikeSystem.cs
Content.Shared/MagicMirror/MagicMirrorComponent.cs
Content.Shared/MagicMirror/MagicMirrorSystem.cs [new file with mode: 0644]
Content.Shared/MagicMirror/SharedMagicMirrorSystem.cs [deleted file]
Content.Shared/Mind/SharedMindSystem.cs
Content.Shared/Preferences/HumanoidCharacterProfile.cs
Content.Shared/Trigger/Systems/DnaScrambleOnTriggerSystem.cs
Content.Shared/Wagging/WaggingComponent.cs
Content.Shared/Whistle/WhistleSystem.cs
Content.Shared/Zombies/ZombieComponent.cs
Resources/Locale/en-US/preferences/ui/markings-picker.ftl
Resources/Prototypes/Body/Species/arachnid.yml
Resources/Prototypes/Body/Species/diona.yml
Resources/Prototypes/Body/Species/dwarf.yml
Resources/Prototypes/Body/Species/gingerbread.yml
Resources/Prototypes/Body/Species/human.yml
Resources/Prototypes/Body/Species/moth.yml
Resources/Prototypes/Body/Species/reptilian.yml
Resources/Prototypes/Body/Species/skeleton.yml
Resources/Prototypes/Body/Species/slime.yml
Resources/Prototypes/Body/Species/vox.yml
Resources/Prototypes/Body/Species/vulpkanin.yml
Resources/Prototypes/Body/base_organs.yml
Resources/Prototypes/Body/species_appearance.yml
Resources/Prototypes/Body/species_base.yml
Resources/Prototypes/Entities/Clothing/Back/smuggler.yml
Resources/Prototypes/Entities/Mobs/Customization/Markings/Vulpkanin/vulpkanin_chest.yml
Resources/Prototypes/Entities/Mobs/Customization/Markings/Vulpkanin/vulpkanin_ears.yml
Resources/Prototypes/Entities/Mobs/Customization/Markings/Vulpkanin/vulpkanin_hair.yml
Resources/Prototypes/Entities/Mobs/Customization/Markings/Vulpkanin/vulpkanin_head.yml
Resources/Prototypes/Entities/Mobs/Customization/Markings/Vulpkanin/vulpkanin_limbs.yml
Resources/Prototypes/Entities/Mobs/Customization/Markings/Vulpkanin/vulpkanin_snout.yml
Resources/Prototypes/Entities/Mobs/Customization/Markings/Vulpkanin/vulpkanin_tail.yml
Resources/Prototypes/Entities/Mobs/Customization/Markings/arachnid.yml
Resources/Prototypes/Entities/Mobs/Customization/Markings/cat_parts.yml
Resources/Prototypes/Entities/Mobs/Customization/Markings/diona.yml
Resources/Prototypes/Entities/Mobs/Customization/Markings/ears.yml
Resources/Prototypes/Entities/Mobs/Customization/Markings/gauze.yml
Resources/Prototypes/Entities/Mobs/Customization/Markings/human_facial_hair.yml
Resources/Prototypes/Entities/Mobs/Customization/Markings/human_hair.yml
Resources/Prototypes/Entities/Mobs/Customization/Markings/human_noses.yml
Resources/Prototypes/Entities/Mobs/Customization/Markings/moth.yml
Resources/Prototypes/Entities/Mobs/Customization/Markings/reptilian.yml
Resources/Prototypes/Entities/Mobs/Customization/Markings/scars.yml
Resources/Prototypes/Entities/Mobs/Customization/Markings/slime.yml
Resources/Prototypes/Entities/Mobs/Customization/Markings/tattoos.yml
Resources/Prototypes/Entities/Mobs/Customization/Markings/undergarments.yml
Resources/Prototypes/Entities/Mobs/Customization/Markings/vox_facial_hair.yml
Resources/Prototypes/Entities/Mobs/Customization/Markings/vox_hair.yml
Resources/Prototypes/Entities/Mobs/Customization/Markings/vox_parts.yml
Resources/Prototypes/Entities/Mobs/Customization/Markings/vox_scars.yml
Resources/Prototypes/Entities/Mobs/Customization/Markings/vox_tattoos.yml
Resources/Prototypes/Entities/Mobs/NPCs/miscellaneous.yml
Resources/Prototypes/Entities/Mobs/Player/clone.yml
Resources/Prototypes/Entities/Mobs/Player/dragon.yml
Resources/Prototypes/Entities/Mobs/Player/human.yml
Resources/Prototypes/Entities/Objects/Misc/subdermal_implants.yml
Resources/Prototypes/Entities/Objects/Specific/Mech/mechs.yml
Resources/Prototypes/Entities/Objects/Specific/Service/barber.yml
Resources/Prototypes/Entities/Structures/Furniture/toilet.yml
Resources/Prototypes/Entities/Structures/Wallmounts/Misc/mirror.yml
Resources/Prototypes/NPCs/hugbot.yml
Resources/Prototypes/Species/arachnid.yml
Resources/Prototypes/Species/diona.yml
Resources/Prototypes/Species/dwarf.yml
Resources/Prototypes/Species/gingerbread.yml
Resources/Prototypes/Species/human.yml
Resources/Prototypes/Species/moth.yml
Resources/Prototypes/Species/reptilian.yml
Resources/Prototypes/Species/skeleton.yml
Resources/Prototypes/Species/slime.yml
Resources/Prototypes/Species/vox.yml
Resources/Prototypes/Species/vulpkanin.yml
Resources/Textures/Interface/palette.svg [new file with mode: 0644]
Resources/Textures/Interface/palette.svg.png [new file with mode: 0644]