From 4a4fcad7efb6344ea541d12bcc693087602d1df7 Mon Sep 17 00:00:00 2001 From: Pieter-Jan Briers Date: Sun, 2 Jun 2019 13:40:56 +0200 Subject: [PATCH] Airlocks use unshaded overlays for the lights. --- .../Components/Doors/AirlockVisualizer2D.cs | 18 +- Resources/Prototypes/Entities/Door.yml | 4 + .../airlock_basic.rsi/closed_unlit.png | Bin 0 -> 165 bytes .../airlock_basic.rsi/closing_unlit.png | Bin 0 -> 316 bytes .../Buildings/airlock_basic.rsi/meta.json | 221 +++++++++++++++++- .../airlock_basic.rsi/opening_unlit.png | Bin 0 -> 1767 bytes .../airlock_engineering.rsi/closed_unlit.png | Bin 0 -> 165 bytes .../airlock_engineering.rsi/closing_unlit.png | Bin 0 -> 316 bytes .../airlock_engineering.rsi/meta.json | 221 +++++++++++++++++- .../airlock_engineering.rsi/opening_unlit.png | Bin 0 -> 1767 bytes .../airlock_external.rsi/closed_unlit.png | Bin 0 -> 135 bytes .../airlock_external.rsi/closing_unlit.png | Bin 0 -> 397 bytes .../Buildings/airlock_external.rsi/meta.json | 209 ++++++++++++++++- .../airlock_external.rsi/opening_unlit.png | Bin 0 -> 402 bytes 14 files changed, 669 insertions(+), 4 deletions(-) create mode 100644 Resources/Textures/Buildings/airlock_basic.rsi/closed_unlit.png create mode 100644 Resources/Textures/Buildings/airlock_basic.rsi/closing_unlit.png create mode 100644 Resources/Textures/Buildings/airlock_basic.rsi/opening_unlit.png create mode 100644 Resources/Textures/Buildings/airlock_engineering.rsi/closed_unlit.png create mode 100644 Resources/Textures/Buildings/airlock_engineering.rsi/closing_unlit.png create mode 100644 Resources/Textures/Buildings/airlock_engineering.rsi/opening_unlit.png create mode 100644 Resources/Textures/Buildings/airlock_external.rsi/closed_unlit.png create mode 100644 Resources/Textures/Buildings/airlock_external.rsi/closing_unlit.png create mode 100644 Resources/Textures/Buildings/airlock_external.rsi/opening_unlit.png diff --git a/Content.Client/GameObjects/Components/Doors/AirlockVisualizer2D.cs b/Content.Client/GameObjects/Components/Doors/AirlockVisualizer2D.cs index 0b2f0798ee..85c348e003 100644 --- a/Content.Client/GameObjects/Components/Doors/AirlockVisualizer2D.cs +++ b/Content.Client/GameObjects/Components/Doors/AirlockVisualizer2D.cs @@ -31,6 +31,11 @@ namespace Content.Client.GameObjects.Components.Doors flick.LayerKey = DoorVisualLayers.Base; flick.KeyFrames.Add(new AnimationTrackSpriteFlick.KeyFrame("closing", 0f)); + var flickUnlit = new AnimationTrackSpriteFlick(); + CloseAnimation.AnimationTracks.Add(flickUnlit); + flickUnlit.LayerKey = DoorVisualLayers.BaseUnlit; + flickUnlit.KeyFrames.Add(new AnimationTrackSpriteFlick.KeyFrame("closing_unlit", 0f)); + var sound = new AnimationTrackPlaySound(); CloseAnimation.AnimationTracks.Add(sound); sound.KeyFrames.Add(new AnimationTrackPlaySound.KeyFrame(closeSound, 0)); @@ -43,6 +48,11 @@ namespace Content.Client.GameObjects.Components.Doors flick.LayerKey = DoorVisualLayers.Base; flick.KeyFrames.Add(new AnimationTrackSpriteFlick.KeyFrame("opening", 0f)); + var flickUnlit = new AnimationTrackSpriteFlick(); + OpenAnimation.AnimationTracks.Add(flickUnlit); + flickUnlit.LayerKey = DoorVisualLayers.BaseUnlit; + flickUnlit.KeyFrames.Add(new AnimationTrackSpriteFlick.KeyFrame("opening_unlit", 0f)); + var sound = new AnimationTrackPlaySound(); OpenAnimation.AnimationTracks.Add(sound); sound.KeyFrames.Add(new AnimationTrackPlaySound.KeyFrame(openSound, 0)); @@ -70,14 +80,18 @@ namespace Content.Client.GameObjects.Components.Doors { case DoorVisualState.Closed: sprite.LayerSetState(DoorVisualLayers.Base, "closed"); + sprite.LayerSetState(DoorVisualLayers.BaseUnlit, "closed_unlit"); + sprite.LayerSetVisible(DoorVisualLayers.BaseUnlit, true); break; case DoorVisualState.Closing: + sprite.LayerSetVisible(DoorVisualLayers.BaseUnlit, true); if (!animPlayer.HasRunningAnimation(AnimationKey)) { animPlayer.Play(CloseAnimation, AnimationKey); } break; case DoorVisualState.Opening: + sprite.LayerSetVisible(DoorVisualLayers.BaseUnlit, true); if (!animPlayer.HasRunningAnimation(AnimationKey)) { animPlayer.Play(OpenAnimation, AnimationKey); @@ -86,6 +100,7 @@ namespace Content.Client.GameObjects.Components.Doors break; case DoorVisualState.Open: sprite.LayerSetState(DoorVisualLayers.Base, "open"); + sprite.LayerSetVisible(DoorVisualLayers.BaseUnlit, false); break; default: throw new ArgumentOutOfRangeException(); @@ -95,6 +110,7 @@ namespace Content.Client.GameObjects.Components.Doors public enum DoorVisualLayers { - Base + Base, + BaseUnlit } } diff --git a/Resources/Prototypes/Entities/Door.yml b/Resources/Prototypes/Entities/Door.yml index 4a31c40571..69914433bc 100644 --- a/Resources/Prototypes/Entities/Door.yml +++ b/Resources/Prototypes/Entities/Door.yml @@ -5,12 +5,16 @@ components: - type: Clickable - type: Sprite + netsync: false drawdepth: Mobs # They're on the same layer as mobs, perspective. sprite: Buildings/airlock_basic.rsi layers: - state: closed map: ["enum.DoorVisualLayers.Base"] + - state: closed_unlit + shader: unshaded + map: ["enum.DoorVisualLayers.BaseUnlit"] - type: Icon sprite: Buildings/airlock_basic.rsi diff --git a/Resources/Textures/Buildings/airlock_basic.rsi/closed_unlit.png b/Resources/Textures/Buildings/airlock_basic.rsi/closed_unlit.png new file mode 100644 index 0000000000000000000000000000000000000000..4f74aa619af5f0c49604e101ab0413a16800dad2 GIT binary patch literal 165 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Buildings/airlock_external.rsi/closing_unlit.png b/Resources/Textures/Buildings/airlock_external.rsi/closing_unlit.png new file mode 100644 index 0000000000000000000000000000000000000000..f0cd112074bf173ca41ef4dea8c59d6392d57afe GIT binary patch literal 397 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F3${@^GvDChdfq~K9 z)5S5Q;?~<+`~40Dh#db|EPW@1k)7RKVopTLTjw7_zgYJ5=s)Z}@W_QH=TGDYPR(w^ zk5yG`IhB}M{W2f?_T<~HtGfSoJ@ZRJ%i_H2@?~uooB7OtzWTBC@7I`TN4(F!uUfgj z#XhsrJiF!8w9UD*zpbsR%f04&hNTa|<*xBPKxH($H-+T+$e&u6iV*IJ&NAik%opUXO@geCwjo3N(< literal 0 HcmV?d00001 diff --git a/Resources/Textures/Buildings/airlock_external.rsi/meta.json b/Resources/Textures/Buildings/airlock_external.rsi/meta.json index edc8fbbf83..7e82245953 100644 --- a/Resources/Textures/Buildings/airlock_external.rsi/meta.json +++ b/Resources/Textures/Buildings/airlock_external.rsi/meta.json @@ -1 +1,208 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "Taken from https://github.com/discordia-space/CEV-Eris/blob/2b969adc2dfd3e9621bf3597c5cbffeb3ac8c9f0/icons/obj/doors/Doorext.dmi", "states": [{"name": "closed", "directions": 1, "delays": [[1.0]]}, {"name": "closing", "directions": 1, "delays": [[0.2, 0.2, 0.1, 0.1, 0.1, 0.1, 0.3]]}, {"name": "deny", "directions": 1, "delays": [[0.1, 0.1, 0.1]]}, {"name": "locked", "directions": 1, "delays": [[1.0]]}, {"name": "o_closing", "directions": 1, "delays": [[0.2, 0.2, 0.1, 0.1, 0.1, 0.1, 0.3]]}, {"name": "o_opening", "directions": 1, "delays": [[0.2, 0.2, 0.1, 0.1, 0.1, 0.1, 0.3]]}, {"name": "open", "directions": 1, "delays": [[1.0]]}, {"name": "opening", "directions": 1, "delays": [[0.2, 0.2, 0.1, 0.1, 0.1, 0.1, 0.3]]}, {"name": "panel_open", "directions": 1, "delays": [[1.0]]}, {"name": "spark", "directions": 1, "delays": [[0.1, 0.1, 0.1, 0.1, 0.1]]}, {"name": "sparks_broken", "directions": 1, "delays": [[0.1, 0.1, 0.1, 0.1, 0.1]]}, {"name": "sparks_damaged", "directions": 1, "delays": [[0.1, 0.1, 0.1, 0.1, 0.1, 1.7]]}, {"name": "sparks_open", "directions": 1, "delays": [[0.1, 0.1, 0.1, 0.1, 0.1]]}, {"name": "welded", "directions": 1, "delays": [[1.0]]}]} \ No newline at end of file +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/discordia-space/CEV-Eris/blob/2b969adc2dfd3e9621bf3597c5cbffeb3ac8c9f0/icons/obj/doors/Doorext.dmi", + "states": [ + { + "name": "closed", + "directions": 1, + "delays": [ + [ + 1.0 + ] + ] + }, + { + "name": "closed_unlit", + "directions": 1 + }, + { + "name": "closing", + "directions": 1, + "delays": [ + [ + 0.2, + 0.2, + 0.1, + 0.1, + 0.1, + 0.1, + 0.3 + ] + ] + }, + { + "name": "closing_unlit", + "directions": 1, + "delays": [ + [ + 0.6, + 0.1, + 0.1, + 0.3 + ] + ] + }, + { + "name": "deny", + "directions": 1, + "delays": [ + [ + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "locked", + "directions": 1, + "delays": [ + [ + 1.0 + ] + ] + }, + { + "name": "o_closing", + "directions": 1, + "delays": [ + [ + 0.2, + 0.2, + 0.1, + 0.1, + 0.1, + 0.1, + 0.3 + ] + ] + }, + { + "name": "o_opening", + "directions": 1, + "delays": [ + [ + 0.2, + 0.2, + 0.1, + 0.1, + 0.1, + 0.1, + 0.3 + ] + ] + }, + { + "name": "open", + "directions": 1, + "delays": [ + [ + 1.0 + ] + ] + }, + { + "name": "opening", + "directions": 1, + "delays": [ + [ + 0.2, + 0.2, + 0.1, + 0.1, + 0.1, + 0.1, + 0.3 + ] + ] + }, + { + "name": "opening_unlit", + "directions": 1, + "delays": [ + [ + 0.2, + 0.2, + 0.1, + 0.6 + ] + ] + }, + { + "name": "panel_open", + "directions": 1, + "delays": [ + [ + 1.0 + ] + ] + }, + { + "name": "spark", + "directions": 1, + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "sparks_broken", + "directions": 1, + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "sparks_damaged", + "directions": 1, + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 1.7 + ] + ] + }, + { + "name": "sparks_open", + "directions": 1, + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "welded", + "directions": 1, + "delays": [ + [ + 1.0 + ] + ] + } + ] +} diff --git a/Resources/Textures/Buildings/airlock_external.rsi/opening_unlit.png b/Resources/Textures/Buildings/airlock_external.rsi/opening_unlit.png new file mode 100644 index 0000000000000000000000000000000000000000..77ea2132a33fcfc85311030c1adc11c022180f2b GIT binary patch literal 402 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F3${@^GvDChdfq~J* z)5S5Q;?~<+`~40Dh#db|EPW@%k)7RKVopTLTjvi#zgYJ5=s)Z}@hF8SkBQsNFjZ0Q zTJid|fhKKS%O`yM?a8?n#B& zr`Jv{iB`{_dSAz~@JERr z`fC`b^C|Y`@c?oD&)WNcS!*8>e{STz{p*kD=ev2;KfZkzF?UbuzS{{x_7U^`?0dq@ za6#l>e3;Df#5LJ@U#_2f>Ki^ug)@0-*;H;|I59XlUy$FR_lx-j{{s7le+&=?14DzA u*1e