diff --git a/Content.Client/RCD/RCDConstructionGhostSystem.cs b/Content.Client/RCD/RCDConstructionGhostSystem.cs index 792916b89223..97630297a023 100644 --- a/Content.Client/RCD/RCDConstructionGhostSystem.cs +++ b/Content.Client/RCD/RCDConstructionGhostSystem.cs @@ -74,5 +74,6 @@ public override void Update(float frameTime) _placementManager.Clear(); _placementManager.BeginPlacing(newObjInfo); + _placementManager.Direction = rcd.ConstructionDirection; // SS220 fix rcd rotation } } diff --git a/Content.Client/RCD/RCDMenu.xaml b/Content.Client/RCD/RCDMenu.xaml index b3d5367a5fdd..afa2b2e784cc 100644 --- a/Content.Client/RCD/RCDMenu.xaml +++ b/Content.Client/RCD/RCDMenu.xaml @@ -6,7 +6,7 @@ VerticalExpand="True" HorizontalExpand="True" MinSize="450 450"> - + @@ -16,7 +16,7 @@ - + @@ -27,6 +27,14 @@ + + + + + + + + @@ -40,8 +48,16 @@ - + + + + + + + + + diff --git a/Content.Shared/RCD/Systems/RCDSystem.cs b/Content.Shared/RCD/Systems/RCDSystem.cs index 62ad2f3be0de..dc326541be7d 100644 --- a/Content.Shared/RCD/Systems/RCDSystem.cs +++ b/Content.Shared/RCD/Systems/RCDSystem.cs @@ -46,6 +46,7 @@ public class RCDSystem : EntitySystem [Dependency] private readonly IPrototypeManager _protoManager = default!; [Dependency] private readonly SharedMapSystem _mapSystem = default!; [Dependency] private readonly TagSystem _tags = default!; + [Dependency] private readonly SharedTransformSystem _xform = default!; // SS220 fix rcd rotation private readonly int _instantConstructionDelay = 0; private readonly EntProtoId _instantConstructionFx = "EffectRCDConstruct0"; @@ -515,21 +516,36 @@ private void FinalizeRCDOperation(EntityUid uid, RCDComponent component, MapGrid break; case RcdMode.ConstructObject: - var ent = Spawn(component.CachedPrototype.Prototype, _mapSystem.GridTileToLocal(mapGridData.GridUid, mapGridData.Component, mapGridData.Position)); + //var ent = Spawn(component.CachedPrototype.Prototype, _mapSystem.GridTileToLocal(mapGridData.GridUid, mapGridData.Component, mapGridData.Position)); // SS220 fix rcd rotation + Angle rotation = 0; // SS220 fix rcd rotation switch (component.CachedPrototype.Rotation) { case RcdRotation.Fixed: - Transform(ent).LocalRotation = Angle.Zero; + // SS220 fix rcd rotation begin + //Transform(ent).LocalRotation = Angle.Zero; + rotation = Angle.Zero; + // SS220 fix rcd rotation end break; case RcdRotation.Camera: - Transform(ent).LocalRotation = Transform(uid).LocalRotation; + // SS220 fix rcd rotation begin + //Transform(ent).LocalRotation = Transform(uid).LocalRotation; + rotation = Transform(uid).LocalRotation; + // SS220 fix rcd rotation end break; case RcdRotation.User: - Transform(ent).LocalRotation = direction.ToAngle(); + // SS220 fix rcd rotation begin + //Transform(ent).LocalRotation = direction.ToAngle(); + rotation = direction.ToAngle(); + // SS220 fix rcd rotation end break; } + // SS220 fix rcd rotation begin + var mapcords = _xform.ToMapCoordinates(_mapSystem.GridTileToLocal(mapGridData.GridUid, mapGridData.Component, mapGridData.Position)); + var ent = Spawn(component.CachedPrototype.Prototype, mapcords, rotation: rotation); + // SS220 fix rcd rotation end + _adminLogger.Add(LogType.RCD, LogImpact.High, $"{ToPrettyString(user):user} used RCD to spawn {ToPrettyString(ent)} at {mapGridData.Position} on grid {mapGridData.GridUid}"); break; diff --git a/Resources/Locale/ru-RU/ss220/rcd/components/rcd-component.ftl b/Resources/Locale/ru-RU/ss220/rcd/components/rcd-component.ftl new file mode 100644 index 000000000000..975a2f3ab5ac --- /dev/null +++ b/Resources/Locale/ru-RU/ss220/rcd/components/rcd-component.ftl @@ -0,0 +1,2 @@ +rcd-component-pipes = Газовые трубы +rcd-component-disposals = Утилизационные трубы diff --git a/Resources/Prototypes/Entities/Objects/Tools/tools.yml b/Resources/Prototypes/Entities/Objects/Tools/tools.yml index 8a13fc36e7d6..d665cb74b890 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/tools.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/tools.yml @@ -293,6 +293,7 @@ - type: RCD availablePrototypes: - WallSolid + - WallReinforced # ss220 rcd upd - FloorSteel - Plating - Catwalk @@ -311,6 +312,21 @@ - HVCable - CableTerminal - Deconstruct + # ss220 rcd upd bgn + - StraightPipe + - PipeFourway + - PipeTjunction + - PipeBend + - PassiveVent + - AirVent + - Scrubber + - DisposalPipe + - DisposalTrunk + - DisposalJunction + - DisposalJunctionFlipped + - DisposalYJunction + - DisposalBend + # ss220 rcd upd end - type: LimitedCharges maxCharges: 30 charges: 30 @@ -355,10 +371,10 @@ suffix: AutoRecharge components: - type: LimitedCharges - maxCharges: 20 - charges: 20 + maxCharges: 30 # rcd upd + charges: 30 # rcd upd - type: AutoRecharge - rechargeDuration: 10 + rechargeDuration: 5 # rcd upd - type: entity id: RCDExperimental diff --git a/Resources/Prototypes/Entities/Structures/Windows/reinforced.yml b/Resources/Prototypes/Entities/Structures/Windows/reinforced.yml index 622e85f6e59e..e3d5980b70f3 100644 --- a/Resources/Prototypes/Entities/Structures/Windows/reinforced.yml +++ b/Resources/Prototypes/Entities/Structures/Windows/reinforced.yml @@ -14,10 +14,10 @@ - type: Damageable damageContainer: StructuralInorganic damageModifierSet: RGlass + # ss220 rcd upd bgn - type: RCDDeconstructable - cost: 6 - delay: 6 - fx: EffectRCDDeconstruct6 + deconstructable: false + # ss220 rcd upd end - type: Destructible thresholds: - trigger: @@ -84,10 +84,10 @@ sprite: Structures/Windows/cracks_directional.rsi - type: Damageable damageModifierSet: RGlass + # ss220 rcd upd bgn - type: RCDDeconstructable - cost: 4 - delay: 4 - fx: EffectRCDDeconstruct4 + deconstructable: false + # ss220 rcd upd end - type: Destructible thresholds: - trigger: @@ -129,6 +129,10 @@ drawdepth: WallTops sprite: Structures/Windows/reinforced_window_diagonal.rsi state: state0 + # ss220 rcd upd bgn + - type: RCDDeconstructable + deconstructable: false + # ss220 rcd upd end - type: IconSmooth mode: Diagonal key: walls # Corvax-Resprite diff --git a/Resources/Prototypes/RCD/rcd.yml b/Resources/Prototypes/RCD/rcd.yml index 88a99451cfac..e56f617cfc71 100644 --- a/Resources/Prototypes/RCD/rcd.yml +++ b/Resources/Prototypes/RCD/rcd.yml @@ -2,7 +2,7 @@ - type: rcd id: Invalid # Hidden prototype - do not add to RCDs mode: Invalid - + - type: rcd id: Deconstruct name: rcd-component-deconstruct @@ -13,14 +13,14 @@ rotation: Camera - type: rcd - id: DeconstructLattice # Hidden prototype - do not add to RCDs + id: DeconstructLattice # Hidden prototype - do not add to RCDs name: rcd-component-deconstruct mode: Deconstruct cost: 2 delay: 0 rotation: Camera fx: EffectRCDConstruct0 - + - type: rcd id: DeconstructTile # Hidden prototype - do not add to RCDs name: rcd-component-deconstruct @@ -30,7 +30,7 @@ rotation: Camera fx: EffectRCDDeconstruct4 -# Flooring +# Flooring - type: rcd id: Plating name: rcd-component-plating @@ -44,7 +44,7 @@ rules: - CanBuildOnEmptyTile fx: EffectRCDConstruct1 - + - type: rcd id: FloorSteel name: rcd-component-floor-steel @@ -62,7 +62,7 @@ - type: rcd id: Catwalk category: WallsAndFlooring - sprite: /Textures/Interface/Radial/RCD/catwalk.png + sprite: /Textures/SS220/Interface/Radial/RCD/catwalk.png # ss220 rcd upd mode: ConstructObject prototype: Catwalk cost: 1 @@ -78,9 +78,9 @@ - type: rcd id: WallSolid category: WallsAndFlooring - sprite: /Textures/Interface/Radial/RCD/solid_wall.png + sprite: /Textures/SS220/Interface/Radial/RCD/solid_wall.png # ss220 rcd upd mode: ConstructObject - prototype: WallSolid + prototype: WallSolid cost: 4 delay: 2 collisionMask: FullTileMask @@ -103,7 +103,7 @@ - type: rcd id: Window category: WindowsAndGrilles - sprite: /Textures/Interface/Radial/RCD/window.png + sprite: /Textures/SS220/Interface/Radial/RCD/window.png # ss220 rcd upd mode: ConstructObject prototype: Window cost: 3 @@ -113,11 +113,11 @@ - IsWindow rotation: Fixed fx: EffectRCDConstruct2 - + - type: rcd id: WindowDirectional category: WindowsAndGrilles - sprite: /Textures/Interface/Radial/RCD/directional.png + sprite: /Textures/SS220/Interface/Radial/RCD/directional.png # ss220 rcd upd mode: ConstructObject prototype: WindowDirectional cost: 2 @@ -128,11 +128,11 @@ - IsWindow rotation: User fx: EffectRCDConstruct1 - + - type: rcd id: ReinforcedWindow category: WindowsAndGrilles - sprite: /Textures/Interface/Radial/RCD/window_reinforced.png + sprite: /Textures/SS220/Interface/Radial/RCD/window_reinforced.png # ss220 rcd upd mode: ConstructObject prototype: ReinforcedWindow cost: 4 @@ -142,11 +142,11 @@ - IsWindow rotation: User fx: EffectRCDConstruct3 - + - type: rcd id: WindowReinforcedDirectional category: WindowsAndGrilles - sprite: /Textures/Interface/Radial/RCD/directional_reinforced.png + sprite: /Textures/SS220/Interface/Radial/RCD/directional_reinforced.png # ss220 rcd upd mode: ConstructObject prototype: WindowReinforcedDirectional cost: 3 @@ -162,37 +162,37 @@ - type: rcd id: Airlock category: Airlocks - sprite: /Textures/Interface/Radial/RCD/airlock.png + sprite: /Textures/SS220/Interface/Radial/RCD/airlock.png # ss220 rcd upd mode: ConstructObject prototype: Airlock cost: 4 delay: 4 collisionMask: FullTileMask - rotation: Camera + rotation: User # ss220 rcd upd (fix rot) fx: EffectRCDConstruct4 - + - type: rcd id: AirlockGlass category: Airlocks - sprite: /Textures/Interface/Radial/RCD/glass_airlock.png + sprite: /Textures/SS220/Interface/Radial/RCD/glass_airlock.png # ss220 rcd upd mode: ConstructObject prototype: AirlockGlass cost: 4 delay: 4 collisionMask: FullTileMask - rotation: Camera + rotation: User # ss220 rcd upd (fix rot) fx: EffectRCDConstruct4 - + - type: rcd id: Firelock category: Airlocks - sprite: /Textures/Interface/Radial/RCD/firelock.png + sprite: /Textures/SS220/Interface/Radial/RCD/firelock.png # ss220 rcd upd mode: ConstructObject prototype: Firelock cost: 4 delay: 3 collisionMask: FullTileMask - rotation: Camera + rotation: User # ss220 rcd upd (fix rot) fx: EffectRCDConstruct3 # Lighting @@ -208,7 +208,7 @@ collisionBounds: "-0.23,-0.49,0.23,-0.36" rotation: User fx: EffectRCDConstruct1 - + - type: rcd id: BulbLight category: Lighting @@ -235,7 +235,7 @@ - MustBuildOnSubfloor rotation: Fixed fx: EffectRCDConstruct0 - + - type: rcd id: MVCable category: Electrical @@ -248,7 +248,7 @@ - MustBuildOnSubfloor rotation: Fixed fx: EffectRCDConstruct0 - + - type: rcd id: HVCable category: Electrical @@ -261,7 +261,7 @@ - MustBuildOnSubfloor rotation: Fixed fx: EffectRCDConstruct0 - + - type: rcd id: CableTerminal category: Electrical diff --git a/Resources/Prototypes/SS220/RCD/rcd.yml b/Resources/Prototypes/SS220/RCD/rcd.yml new file mode 100644 index 000000000000..14f66e3f9ebc --- /dev/null +++ b/Resources/Prototypes/SS220/RCD/rcd.yml @@ -0,0 +1,170 @@ +- type: rcd + id: WallReinforced + category: WallsAndFlooring + sprite: /Textures/SS220/Interface/Radial/RCD/reinforced_wall.png + mode: ConstructObject + prototype: WallReinforced + cost: 10 + delay: 6 + collisionMask: FullTileMask + rotation: Fixed + fx: EffectRCDConstruct4 + +- type: rcd + id: StraightPipe + category: Pipes + sprite: /Textures/SS220/Interface/Radial/RCD/pipeStraight.png + mode: ConstructObject + prototype: GasPipeStraight + cost: 1 + delay: 0 + collisionMask: Impassable + rotation: User + fx: EffectRCDConstruct0 + +- type: rcd + id: PipeFourway + category: Pipes + sprite: /Textures/SS220/Interface/Radial/RCD/pipeFourway.png + mode: ConstructObject + prototype: GasPipeFourway + cost: 1 + delay: 0 + collisionMask: Impassable + rotation: User + fx: EffectRCDConstruct0 + +- type: rcd + id: PipeTjunction + category: Pipes + sprite: /Textures/SS220/Interface/Radial/RCD/pipeTjunction.png + mode: ConstructObject + prototype: GasPipeTJunction + cost: 1 + delay: 0 + collisionMask: Impassable + rotation: User + fx: EffectRCDConstruct0 + +- type: rcd + id: PipeBend + category: Pipes + sprite: /Textures/SS220/Interface/Radial/RCD/pipeBend.png + mode: ConstructObject + prototype: GasPipeBend + cost: 1 + delay: 0 + collisionMask: Impassable + rotation: User + fx: EffectRCDConstruct0 + +- type: rcd + id: PassiveVent + category: Pipes + sprite: /Textures/SS220/Interface/Radial/RCD/vent_passive.png + mode: ConstructObject + prototype: GasPassiveVent + cost: 2 + delay: 1 + collisionMask: Impassable + rotation: User + fx: EffectRCDConstruct1 + +- type: rcd + id: AirVent + category: Pipes + sprite: /Textures/SS220/Interface/Radial/RCD/vent_air.png + mode: ConstructObject + prototype: GasVentPump + cost: 2 + delay: 1 + collisionMask: Impassable + rotation: User + fx: EffectRCDConstruct1 + +- type: rcd + id: Scrubber + category: Pipes + sprite: /Textures/SS220/Interface/Radial/RCD/scrub.png + mode: ConstructObject + prototype: GasVentScrubber + cost: 2 + delay: 1 + collisionMask: Impassable + rotation: User + fx: EffectRCDConstruct1 + +- type: rcd + id: DisposalPipe + category: Disposals + sprite: /Textures/SS220/Interface/Radial/RCD/conpipe-s.png + mode: ConstructObject + prototype: DisposalPipe + cost: 2 + delay: 1 + collisionMask: Impassable + rotation: User + fx: EffectRCDConstruct1 + +- type: rcd + id: DisposalTrunk + category: Disposals + sprite: /Textures/SS220/Interface/Radial/RCD/conpipe-t.png + mode: ConstructObject + prototype: DisposalTrunk + cost: 2 + delay: 1 + collisionMask: Impassable + rotation: User + fx: EffectRCDConstruct1 + +- type: rcd + id: DisposalJunction + category: Disposals + sprite: /Textures/SS220/Interface/Radial/RCD/conpipe-j1.png + mode: ConstructObject + prototype: DisposalJunction + cost: 2 + delay: 1 + collisionMask: Impassable + rotation: User + fx: EffectRCDConstruct1 + + +- type: rcd + id: DisposalJunctionFlipped + category: Disposals + sprite: /Textures/SS220/Interface/Radial/RCD/conpipe-j2.png + mode: ConstructObject + prototype: DisposalJunctionFlipped + cost: 2 + delay: 1 + collisionMask: Impassable + rotation: User + fx: EffectRCDConstruct1 + + +- type: rcd + id: DisposalYJunction + category: Disposals + sprite: /Textures/SS220/Interface/Radial/RCD/conpipe-y.png + mode: ConstructObject + prototype: DisposalYJunction + cost: 2 + delay: 1 + collisionMask: Impassable + rotation: User + fx: EffectRCDConstruct1 + + +- type: rcd + id: DisposalBend + category: Disposals + sprite: /Textures/SS220/Interface/Radial/RCD/conpipe-c.png + mode: ConstructObject + prototype: DisposalBend + cost: 2 + delay: 1 + collisionMask: Impassable + rotation: User + fx: EffectRCDConstruct1 diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/airlock.png b/Resources/Textures/SS220/Interface/Radial/RCD/airlock.png new file mode 100644 index 000000000000..27e2dee6f7c3 Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/airlock.png differ diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/catwalk.png b/Resources/Textures/SS220/Interface/Radial/RCD/catwalk.png new file mode 100644 index 000000000000..d17a0a68c1bb Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/catwalk.png differ diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/conpipe-c.png b/Resources/Textures/SS220/Interface/Radial/RCD/conpipe-c.png new file mode 100644 index 000000000000..c47b3cef1699 Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/conpipe-c.png differ diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/conpipe-j1.png b/Resources/Textures/SS220/Interface/Radial/RCD/conpipe-j1.png new file mode 100644 index 000000000000..007f5ff07671 Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/conpipe-j1.png differ diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/conpipe-j2.png b/Resources/Textures/SS220/Interface/Radial/RCD/conpipe-j2.png new file mode 100644 index 000000000000..7dc37cbd8e5b Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/conpipe-j2.png differ diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/conpipe-s.png b/Resources/Textures/SS220/Interface/Radial/RCD/conpipe-s.png new file mode 100644 index 000000000000..f8e2ae364486 Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/conpipe-s.png differ diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/conpipe-t.png b/Resources/Textures/SS220/Interface/Radial/RCD/conpipe-t.png new file mode 100644 index 000000000000..5e83afd1c9f0 Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/conpipe-t.png differ diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/conpipe-tagger.png b/Resources/Textures/SS220/Interface/Radial/RCD/conpipe-tagger.png new file mode 100644 index 000000000000..8f8dcc5855a8 Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/conpipe-tagger.png differ diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/conpipe-y.png b/Resources/Textures/SS220/Interface/Radial/RCD/conpipe-y.png new file mode 100644 index 000000000000..5f27ebbe5972 Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/conpipe-y.png differ diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/directional.png b/Resources/Textures/SS220/Interface/Radial/RCD/directional.png new file mode 100644 index 000000000000..b5b460663ffd Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/directional.png differ diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/directional_reinforced.png b/Resources/Textures/SS220/Interface/Radial/RCD/directional_reinforced.png new file mode 100644 index 000000000000..4e9f54d584a2 Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/directional_reinforced.png differ diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/firelock.png b/Resources/Textures/SS220/Interface/Radial/RCD/firelock.png new file mode 100644 index 000000000000..5b1396fb37de Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/firelock.png differ diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/glass_airlock.png b/Resources/Textures/SS220/Interface/Radial/RCD/glass_airlock.png new file mode 100644 index 000000000000..ad7043f26c13 Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/glass_airlock.png differ diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/pipeBend.png b/Resources/Textures/SS220/Interface/Radial/RCD/pipeBend.png new file mode 100644 index 000000000000..40137c67d62f Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/pipeBend.png differ diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/pipeFourway.png b/Resources/Textures/SS220/Interface/Radial/RCD/pipeFourway.png new file mode 100644 index 000000000000..f4056fec13ea Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/pipeFourway.png differ diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/pipeStraight.png b/Resources/Textures/SS220/Interface/Radial/RCD/pipeStraight.png new file mode 100644 index 000000000000..909597b0d91f Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/pipeStraight.png differ diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/pipeTjunction.png b/Resources/Textures/SS220/Interface/Radial/RCD/pipeTjunction.png new file mode 100644 index 000000000000..d0e87bc5d4f0 Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/pipeTjunction.png differ diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/pipes.png b/Resources/Textures/SS220/Interface/Radial/RCD/pipes.png new file mode 100644 index 000000000000..c9b31f270176 Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/pipes.png differ diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/reinforced_wall.png b/Resources/Textures/SS220/Interface/Radial/RCD/reinforced_wall.png new file mode 100644 index 000000000000..a73c7a1ecbe1 Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/reinforced_wall.png differ diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/scrub.png b/Resources/Textures/SS220/Interface/Radial/RCD/scrub.png new file mode 100644 index 000000000000..8b6aec829cda Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/scrub.png differ diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/solid_wall.png b/Resources/Textures/SS220/Interface/Radial/RCD/solid_wall.png new file mode 100644 index 000000000000..5cd252ecad2f Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/solid_wall.png differ diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/vent_air.png b/Resources/Textures/SS220/Interface/Radial/RCD/vent_air.png new file mode 100644 index 000000000000..0fa391a31a74 Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/vent_air.png differ diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/vent_passive.png b/Resources/Textures/SS220/Interface/Radial/RCD/vent_passive.png new file mode 100644 index 000000000000..9cdc8f72ce85 Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/vent_passive.png differ diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/window.png b/Resources/Textures/SS220/Interface/Radial/RCD/window.png new file mode 100644 index 000000000000..f48a1d83aad1 Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/window.png differ diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/window_reinforced.png b/Resources/Textures/SS220/Interface/Radial/RCD/window_reinforced.png new file mode 100644 index 000000000000..25a64194f50c Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/window_reinforced.png differ