diff --git a/Content.Client/Entry/EntryPoint.cs b/Content.Client/Entry/EntryPoint.cs
index f1cf3fedc7..0b98428206 100644
--- a/Content.Client/Entry/EntryPoint.cs
+++ b/Content.Client/Entry/EntryPoint.cs
@@ -1,5 +1,6 @@
using Content.Client._White.JoinQueue;
using Content.Client._White.Jukebox;
+using Content.Client._White.Overlays;
using Content.Client._White.Reputation;
using Content.Client._White.Sponsors;
using Content.Client._White.Stalin;
@@ -178,6 +179,8 @@ namespace Content.Client.Entry
_overlayManager.AddOverlay(new SingularityOverlay());
_overlayManager.AddOverlay(new FlashOverlay());
_overlayManager.AddOverlay(new RadiationPulseOverlay());
+ _overlayManager.AddOverlay(new GrainOverlay());
+ _overlayManager.AddOverlay(new AtmOverlay());
_chatManager.Initialize();
_clientPreferencesManager.Initialize();
_euiManager.Initialize();
diff --git a/Content.Client/Launcher/LauncherConnectingGui.xaml b/Content.Client/Launcher/LauncherConnectingGui.xaml
index 083e4ca871..0e8120e958 100644
--- a/Content.Client/Launcher/LauncherConnectingGui.xaml
+++ b/Content.Client/Launcher/LauncherConnectingGui.xaml
@@ -1,70 +1,96 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/Content.Client/Launcher/LauncherConnectingGui.xaml.cs b/Content.Client/Launcher/LauncherConnectingGui.xaml.cs
index 79fba7c285..2acca8299f 100644
--- a/Content.Client/Launcher/LauncherConnectingGui.xaml.cs
+++ b/Content.Client/Launcher/LauncherConnectingGui.xaml.cs
@@ -1,4 +1,3 @@
-using System.Linq;
using Content.Client.Stylesheets;
using Content.Shared.CCVar;
using Content.Shared.Dataset;
@@ -7,133 +6,130 @@ using Robust.Client.UserInterface;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.XAML;
using Robust.Shared.Configuration;
-using Robust.Shared.IoC;
using Robust.Shared.Timing;
-using Robust.Shared.Localization;
using Robust.Shared.Network;
using Robust.Shared.Prototypes;
using Robust.Shared.Random;
-namespace Content.Client.Launcher
+namespace Content.Client.Launcher;
+
+[GenerateTypedNameReferences]
+public sealed partial class LauncherConnectingGui : Control
{
- [GenerateTypedNameReferences]
- public sealed partial class LauncherConnectingGui : Control
+ private const float RedialWaitTimeSeconds = 15f;
+ private readonly LauncherConnecting _state;
+ private readonly IRobustRandom _random;
+ private readonly IPrototypeManager _prototype;
+ private readonly IConfigurationManager _cfg;
+
+ private float _redialWaitTime = RedialWaitTimeSeconds;
+
+ public LauncherConnectingGui(LauncherConnecting state, IRobustRandom random,
+ IPrototypeManager prototype, IConfigurationManager config)
{
- private const float RedialWaitTimeSeconds = 15f;
- private readonly LauncherConnecting _state;
- private readonly IRobustRandom _random;
- private readonly IPrototypeManager _prototype;
- private readonly IConfigurationManager _cfg;
+ _state = state;
+ _random = random;
+ _prototype = prototype;
+ _cfg = config;
- private float _redialWaitTime = RedialWaitTimeSeconds;
+ RobustXamlLoader.Load(this);
- public LauncherConnectingGui(LauncherConnecting state, IRobustRandom random,
- IPrototypeManager prototype, IConfigurationManager config)
+ LayoutContainer.SetAnchorPreset(this, LayoutContainer.LayoutPreset.Wide);
+
+ Stylesheet = IoCManager.Resolve().SheetSpace;
+
+ ChangeLoginTip();
+ ReconnectButton.OnPressed += _ => _state.RetryConnect();
+ // Redial shouldn't fail, but if it does, try a reconnect (maybe we're being run from debug)
+ RedialButton.OnPressed += _ =>
{
- _state = state;
- _random = random;
- _prototype = prototype;
- _cfg = config;
+ if (!_state.Redial())
+ _state.RetryConnect();
+ };
+ RetryButton.OnPressed += _ => _state.RetryConnect();
+ ExitButton.OnPressed += _ => _state.Exit();
- RobustXamlLoader.Load(this);
+ var addr = state.Address;
+ if (addr != null)
+ ConnectingAddress.Text = addr;
- LayoutContainer.SetAnchorPreset(this, LayoutContainer.LayoutPreset.Wide);
+ state.PageChanged += OnPageChanged;
+ state.ConnectFailReasonChanged += ConnectFailReasonChanged;
+ state.ConnectionStateChanged += ConnectionStateChanged;
- Stylesheet = IoCManager.Resolve().SheetSpace;
+ ConnectionStateChanged(state.ConnectionState);
- ChangeLoginTip();
- ReconnectButton.OnPressed += _ => _state.RetryConnect();
- // Redial shouldn't fail, but if it does, try a reconnect (maybe we're being run from debug)
- RedialButton.OnPressed += _ =>
- {
- if (!_state.Redial())
- _state.RetryConnect();
- };
- RetryButton.OnPressed += _ => _state.RetryConnect();
- ExitButton.OnPressed += _ => _state.Exit();
+ // Redial flag setup
+ var edim = IoCManager.Resolve();
+ edim.LastNetDisconnectedArgsChanged += LastNetDisconnectedArgsChanged;
+ LastNetDisconnectedArgsChanged(edim.LastNetDisconnectedArgs);
+ }
- var addr = state.Address;
- if (addr != null)
- ConnectingAddress.Text = addr;
+ private void ConnectFailReasonChanged(string? reason)
+ {
+ ConnectFailReason.SetMessage(reason == null
+ ? ""
+ : Loc.GetString("connecting-fail-reason", ("reason", reason)));
+ }
- state.PageChanged += OnPageChanged;
- state.ConnectFailReasonChanged += ConnectFailReasonChanged;
- state.ConnectionStateChanged += ConnectionStateChanged;
+ private void LastNetDisconnectedArgsChanged(NetDisconnectedArgs? args)
+ {
+ var redialFlag = args?.RedialFlag ?? false;
+ RedialButton.Visible = redialFlag;
+ ReconnectButton.Visible = !redialFlag;
+ }
- ConnectionStateChanged(state.ConnectionState);
+ private void ChangeLoginTip()
+ {
+ var tipsDataset = _cfg.GetCVar(CCVars.LoginTipsDataset);
+ var loginTipsEnabled = _prototype.TryIndex(tipsDataset, out var tips);
- // Redial flag setup
- var edim = IoCManager.Resolve();
- edim.LastNetDisconnectedArgsChanged += LastNetDisconnectedArgsChanged;
- LastNetDisconnectedArgsChanged(edim.LastNetDisconnectedArgs);
+ //LoginTips.Visible = loginTipsEnabled;
+ if (!loginTipsEnabled)
+ {
+ return;
}
- private void ConnectFailReasonChanged(string? reason)
+ var tipList = tips!.Values;
+
+ if (tipList.Count == 0)
+ return;
+
+ var randomIndex = _random.Next(tipList.Count);
+ var tip = tipList[randomIndex];
+ //LoginTip.SetMessage(tip);
+
+ //LoginTipTitle.Text = Loc.GetString("connecting-window-tip", ("numberTip", randomIndex));
+ }
+
+ protected override void FrameUpdate(FrameEventArgs args)
+ {
+ base.FrameUpdate(args);
+ _redialWaitTime -= args.DeltaSeconds;
+ if (_redialWaitTime <= 0)
{
- ConnectFailReason.SetMessage(reason == null
- ? ""
- : Loc.GetString("connecting-fail-reason", ("reason", reason)));
+ RedialButton.Disabled = false;
+ RedialButton.Text = Loc.GetString("connecting-redial");
}
-
- private void LastNetDisconnectedArgsChanged(NetDisconnectedArgs? args)
+ else
{
- var redialFlag = args?.RedialFlag ?? false;
- RedialButton.Visible = redialFlag;
- ReconnectButton.Visible = !redialFlag;
- }
-
- private void ChangeLoginTip()
- {
- var tipsDataset = _cfg.GetCVar(CCVars.LoginTipsDataset);
- var loginTipsEnabled = _prototype.TryIndex(tipsDataset, out var tips);
-
- LoginTips.Visible = loginTipsEnabled;
- if (!loginTipsEnabled)
- {
- return;
- }
-
- var tipList = tips!.Values;
-
- if (tipList.Count == 0)
- return;
-
- var randomIndex = _random.Next(tipList.Count);
- var tip = tipList[randomIndex];
- LoginTip.SetMessage(tip);
-
- LoginTipTitle.Text = Loc.GetString("connecting-window-tip", ("numberTip", randomIndex));
- }
-
- protected override void FrameUpdate(FrameEventArgs args)
- {
- base.FrameUpdate(args);
- _redialWaitTime -= args.DeltaSeconds;
- if (_redialWaitTime <= 0)
- {
- RedialButton.Disabled = false;
- RedialButton.Text = Loc.GetString("connecting-redial");
- }
- else
- {
- RedialButton.Disabled = true;
- RedialButton.Text = Loc.GetString("connecting-redial-wait", ("time", _redialWaitTime.ToString("00.000")));
- }
- }
-
- private void OnPageChanged(LauncherConnecting.Page page)
- {
- ConnectingStatus.Visible = page == LauncherConnecting.Page.Connecting;
- ConnectFail.Visible = page == LauncherConnecting.Page.ConnectFailed;
- Disconnected.Visible = page == LauncherConnecting.Page.Disconnected;
-
- if (page == LauncherConnecting.Page.Disconnected)
- DisconnectReason.Text = _state.LastDisconnectReason;
- }
-
- private void ConnectionStateChanged(ClientConnectionState state)
- {
- ConnectStatus.Text = Loc.GetString($"connecting-state-{state}");
+ RedialButton.Disabled = true;
+ RedialButton.Text = Loc.GetString("connecting-redial-wait", ("time", _redialWaitTime.ToString("00.000")));
}
}
+
+ private void OnPageChanged(LauncherConnecting.Page page)
+ {
+ ConnectingStatus.Visible = page == LauncherConnecting.Page.Connecting;
+ ConnectFail.Visible = page == LauncherConnecting.Page.ConnectFailed;
+ Disconnected.Visible = page == LauncherConnecting.Page.Disconnected;
+
+ if (page == LauncherConnecting.Page.Disconnected)
+ DisconnectReason.Text = _state.LastDisconnectReason;
+ }
+
+ private void ConnectionStateChanged(ClientConnectionState state)
+ {
+ ConnectStatus.Text = Loc.GetString($"connecting-state-{state}");
+ }
}
diff --git a/Content.Client/MainMenu/MainMenu.cs b/Content.Client/MainMenu/MainMenu.cs
index 43c5bfe567..24d6f424c4 100644
--- a/Content.Client/MainMenu/MainMenu.cs
+++ b/Content.Client/MainMenu/MainMenu.cs
@@ -2,7 +2,6 @@ using System.Text.RegularExpressions;
using Content.Client.MainMenu.UI;
using Content.Client.UserInterface.Systems.EscapeMenu;
using Robust.Client;
-using Robust.Client.ResourceManagement;
using Robust.Client.UserInterface;
using Robust.Client.UserInterface.Controls;
using Robust.Shared;
@@ -23,7 +22,6 @@ namespace Content.Client.MainMenu
[Dependency] private readonly IClientNetManager _netManager = default!;
[Dependency] private readonly IConfigurationManager _configurationManager = default!;
[Dependency] private readonly IGameController _controllerProxy = default!;
- [Dependency] private readonly IResourceCache _resourceCache = default!;
[Dependency] private readonly IUserInterfaceManager _userInterfaceManager = default!;
private MainMenuControl _mainMenuControl = default!;
@@ -35,7 +33,7 @@ namespace Content.Client.MainMenu
///
protected override void Startup()
{
- _mainMenuControl = new MainMenuControl(_resourceCache, _configurationManager);
+ _mainMenuControl = new MainMenuControl(_configurationManager);
_userInterfaceManager.StateRoot.AddChild(_mainMenuControl);
_mainMenuControl.QuitButton.OnPressed += QuitButtonPressed;
diff --git a/Content.Client/MainMenu/UI/MainMenuControl.xaml b/Content.Client/MainMenu/UI/MainMenuControl.xaml
index 16a8cc267a..ebf275dda5 100644
--- a/Content.Client/MainMenu/UI/MainMenuControl.xaml
+++ b/Content.Client/MainMenu/UI/MainMenuControl.xaml
@@ -1,45 +1,38 @@
-
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Content.Client/MainMenu/UI/MainMenuControl.xaml.cs b/Content.Client/MainMenu/UI/MainMenuControl.xaml.cs
index 1d5244305d..e09b4b2bda 100644
--- a/Content.Client/MainMenu/UI/MainMenuControl.xaml.cs
+++ b/Content.Client/MainMenu/UI/MainMenuControl.xaml.cs
@@ -1,5 +1,4 @@
using Robust.Client.AutoGenerated;
-using Robust.Client.ResourceManagement;
using Robust.Client.UserInterface;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.XAML;
@@ -11,19 +10,15 @@ namespace Content.Client.MainMenu.UI;
[GenerateTypedNameReferences]
public sealed partial class MainMenuControl : Control
{
- public MainMenuControl(IResourceCache resCache, IConfigurationManager configMan)
+ public MainMenuControl(IConfigurationManager configMan)
{
RobustXamlLoader.Load(this);
LayoutContainer.SetAnchorPreset(this, LayoutContainer.LayoutPreset.Wide);
- LayoutContainer.SetAnchorPreset(VBox, LayoutContainer.LayoutPreset.TopRight);
- LayoutContainer.SetMarginRight(VBox, -25);
- LayoutContainer.SetMarginTop(VBox, 30);
- LayoutContainer.SetGrowHorizontal(VBox, LayoutContainer.GrowDirection.Begin);
-
- var logoTexture = resCache.GetResource("/Textures/Logo/logo.png");
- Logo.Texture = logoTexture;
+ LayoutContainer.SetAnchorPreset(VBox, LayoutContainer.LayoutPreset.Center);
+ LayoutContainer.SetGrowHorizontal(VBox, LayoutContainer.GrowDirection.Both);
+ LayoutContainer.SetGrowVertical(VBox, LayoutContainer.GrowDirection.Both);
var currentUserName = configMan.GetCVar(CVars.PlayerName);
UsernameBox.Text = currentUserName;
diff --git a/Content.Client/_White/Overlays/ATMOverlay.cs b/Content.Client/_White/Overlays/ATMOverlay.cs
new file mode 100644
index 0000000000..bdc0da0e56
--- /dev/null
+++ b/Content.Client/_White/Overlays/ATMOverlay.cs
@@ -0,0 +1,37 @@
+using Robust.Client.Graphics;
+using Robust.Shared.Enums;
+using Robust.Shared.Prototypes;
+
+namespace Content.Client._White.Overlays;
+
+public sealed class AtmOverlay : Overlay
+{
+ [Dependency] private readonly IPrototypeManager _prototype = default!;
+
+ private readonly ShaderInstance _shader;
+
+ public AtmOverlay()
+ {
+ IoCManager.InjectDependencies(this);
+
+ _shader = _prototype.Index("ATM").Instance().Duplicate();
+ }
+
+ public override OverlaySpace Space => OverlaySpace.WorldSpace;
+
+ public override bool RequestScreenTexture => true;
+
+ protected override void Draw(in OverlayDrawArgs args)
+ {
+ if (ScreenTexture is null)
+ return;
+
+ var worldHandle = args.WorldHandle;
+
+ _shader.SetParameter("SCREEN_TEXTURE", ScreenTexture);
+
+ worldHandle.UseShader(_shader);
+ worldHandle.DrawRect(args.WorldBounds, Color.White);
+ worldHandle.UseShader(null);
+ }
+}
diff --git a/Content.Client/_White/Overlays/GrainOverlay.cs b/Content.Client/_White/Overlays/GrainOverlay.cs
new file mode 100644
index 0000000000..db71656547
--- /dev/null
+++ b/Content.Client/_White/Overlays/GrainOverlay.cs
@@ -0,0 +1,38 @@
+using Robust.Client.Graphics;
+using Robust.Shared.Enums;
+using Robust.Shared.Prototypes;
+
+namespace Content.Client._White.Overlays;
+
+public sealed class GrainOverlay : Overlay
+{
+ [Dependency] private readonly IPrototypeManager _prototype = default!;
+
+ private readonly ShaderInstance _shader;
+
+ public GrainOverlay()
+ {
+ IoCManager.InjectDependencies(this);
+
+ _shader = _prototype.Index("Grain").Instance().Duplicate();
+ }
+
+ public override OverlaySpace Space => OverlaySpace.WorldSpace;
+
+ public override bool RequestScreenTexture => true;
+
+ protected override void Draw(in OverlayDrawArgs args)
+ {
+ if (ScreenTexture is null)
+ return;
+
+ var worldHandle = args.WorldHandle;
+
+ _shader.SetParameter("SCREEN_TEXTURE", ScreenTexture);
+ _shader.SetParameter("strength", 40.0f);
+
+ worldHandle.UseShader(_shader);
+ worldHandle.DrawRect(args.WorldBounds, Color.White);
+ worldHandle.UseShader(null);
+ }
+}
diff --git a/Content.Server/_White/Other/DeathGasps/OnDeath.cs b/Content.Server/_White/Other/DeathGasps/OnDeath.cs
index b283104055..3832a9135e 100644
--- a/Content.Server/_White/Other/DeathGasps/OnDeath.cs
+++ b/Content.Server/_White/Other/DeathGasps/OnDeath.cs
@@ -48,7 +48,11 @@ public sealed class OnDeath : EntitySystem
}
var newStream = _audio.PlayEntity(HeartSounds, uid, uid, AudioParams.Default.WithLoop(true));
- _playingStreams[uid] = newStream.Value.Entity;
+
+ if (newStream.HasValue)
+ {
+ _playingStreams[uid] = newStream.Value.Entity;
+ }
}
private void StopPlayingStream(EntityUid uid)
diff --git a/Resources/Locale/ru-RU/launcher/launcher-connecting.ftl b/Resources/Locale/ru-RU/launcher/launcher-connecting.ftl
index 92bf352f10..c09ab6f660 100644
--- a/Resources/Locale/ru-RU/launcher/launcher-connecting.ftl
+++ b/Resources/Locale/ru-RU/launcher/launcher-connecting.ftl
@@ -1,20 +1,34 @@
### Connecting dialog when you start up the game
-connecting-title = Space Station 14
-connecting-exit = Выйти
-connecting-retry = Повторить
-connecting-reconnect = Переподключиться
-connecting-redial = Перезапустить
-connecting-redial-wait = Пожалуйста подождите: { TOSTRING($time, "G3") }
-connecting-in-progress = Подключение к серверу...
-connecting-disconnected = Отключен от сервера:
-connecting-tip = Не умирай!
-connecting-version = версия 0.1
-connecting-fail-reason =
- Не удалось подключиться к серверу:
- { $reason }
-connecting-state-NotConnecting = Не подключен
-connecting-state-ResolvingHost = Определение хоста
-connecting-state-EstablishingConnection = Установка соединения
+connecting-title = Green Miracle
+
+connecting-exit = Exit
+
+connecting-retry = Retry
+
+connecting-reconnect = Reconnect
+
+connecting-redial = Relaunch
+
+connecting-redial-wait = Please wait: { TOSTRING($time, "G3") }
+
+connecting-in-progress = Connecting to server...
+
+connecting-disconnected = Disconnected from server:
+
+connecting-tip = OH FUCK!
+
+connecting-version = 1.0
+
+connecting-fail-reason = Failed to connect to server:
+ { $reason }
+
+connecting-state-NotConnecting = Not connecting
+
+connecting-state-ResolvingHost = Resolving host
+
+connecting-state-EstablishingConnection = Establishing connection
+
connecting-state-Handshake = Handshake
-connecting-state-Connected = Подключен
+
+connecting-state-Connected = Connected
diff --git a/Resources/Prototypes/Shaders/shaders.yml b/Resources/Prototypes/Shaders/shaders.yml
index b6b32d2be1..b4950bd563 100644
--- a/Resources/Prototypes/Shaders/shaders.yml
+++ b/Resources/Prototypes/Shaders/shaders.yml
@@ -109,3 +109,13 @@
id: SaturationScale
kind: source
path: "/Textures/Shaders/White/saturationscale.swsl"
+
+- type: shader
+ id: Grain
+ kind: source
+ path: "/Textures/Shaders/Ohio/grain.swsl"
+
+- type: shader
+ id: ATM
+ kind: source
+ path: "/Textures/Shaders/Ohio/atm.swsl"
diff --git a/Resources/Textures/Ohio/ohfuck.png b/Resources/Textures/Ohio/ohfuck.png
new file mode 100644
index 0000000000..9b934ca217
Binary files /dev/null and b/Resources/Textures/Ohio/ohfuck.png differ
diff --git a/Resources/Textures/Shaders/Ohio/atm.swsl b/Resources/Textures/Shaders/Ohio/atm.swsl
new file mode 100644
index 0000000000..17e2863efd
--- /dev/null
+++ b/Resources/Textures/Shaders/Ohio/atm.swsl
@@ -0,0 +1,23 @@
+uniform sampler2D SCREEN_TEXTURE;
+
+highp float random(highp float seed){
+ return fract(543.2543 * sin(seed * 3525.46));
+}
+
+void fragment() {
+ highp vec2 uv = UV;
+
+ highp float particles = random(TIME * 0.5 + uv.x * uv.y);
+
+ highp vec3 atmosphereColor = vec3(uv.x, uv.y, 0.5);
+
+ highp vec3 finalColor = atmosphereColor * 0.6;
+
+ finalColor += texture(SCREEN_TEXTURE, uv - vec2(0.01, 0.01)).rgb * 0.2;
+
+ finalColor *= vec3(particles);
+
+ finalColor *= vec3(1.0, 1.0, 1.0);
+
+ COLOR = vec4(finalColor, 0.01);
+}
diff --git a/Resources/Textures/Shaders/Ohio/grain.swsl b/Resources/Textures/Shaders/Ohio/grain.swsl
new file mode 100644
index 0000000000..7bee6ec86c
--- /dev/null
+++ b/Resources/Textures/Shaders/Ohio/grain.swsl
@@ -0,0 +1,18 @@
+light_mode unshaded;
+
+uniform sampler2D SCREEN_TEXTURE;
+uniform highp float strength;
+
+void fragment()
+{
+ highp vec2 uv = UV;
+ highp vec4 color = texture(SCREEN_TEXTURE, uv);
+
+ highp float x = (uv.x + 4.0 ) * (uv.y + 4.0 ) * (TIME * 10.0);
+
+ highp vec4 grain = vec4(mod((mod(x, 13.0) + 1.0) * (mod(x, 123.0) + 1.0), 0.01) - 0.005) * strength;
+
+ grain = color * (1.0 - grain);
+
+ COLOR = grain;
+}
diff --git a/Resources/Textures/Tiles/bar.png b/Resources/Textures/Tiles/bar.png
index da1a49ddc2..ea0f9b5f42 100644
Binary files a/Resources/Textures/Tiles/bar.png and b/Resources/Textures/Tiles/bar.png differ
diff --git a/Resources/Textures/Tiles/blue.png b/Resources/Textures/Tiles/blue.png
index 85ba5d3dcd..3dca72a7ff 100644
Binary files a/Resources/Textures/Tiles/blue.png and b/Resources/Textures/Tiles/blue.png differ
diff --git a/Resources/Textures/Tiles/clown.png b/Resources/Textures/Tiles/clown.png
index 74e5971923..a425fd61fb 100644
Binary files a/Resources/Textures/Tiles/clown.png and b/Resources/Textures/Tiles/clown.png differ
diff --git a/Resources/Textures/Tiles/dark.png b/Resources/Textures/Tiles/dark.png
index ff63c0d26b..3f9f2df5f7 100644
Binary files a/Resources/Textures/Tiles/dark.png and b/Resources/Textures/Tiles/dark.png differ
diff --git a/Resources/Textures/Tiles/dark_diagonal.png b/Resources/Textures/Tiles/dark_diagonal.png
index 6c6601ca74..ddcabca364 100644
Binary files a/Resources/Textures/Tiles/dark_diagonal.png and b/Resources/Textures/Tiles/dark_diagonal.png differ
diff --git a/Resources/Textures/Tiles/dark_diagonal_mini.png b/Resources/Textures/Tiles/dark_diagonal_mini.png
index a91c4ec17d..f3c02ccd0b 100644
Binary files a/Resources/Textures/Tiles/dark_diagonal_mini.png and b/Resources/Textures/Tiles/dark_diagonal_mini.png differ
diff --git a/Resources/Textures/Tiles/dark_herringbone.png b/Resources/Textures/Tiles/dark_herringbone.png
index 9067c99da8..b62b946a4a 100644
Binary files a/Resources/Textures/Tiles/dark_herringbone.png and b/Resources/Textures/Tiles/dark_herringbone.png differ
diff --git a/Resources/Textures/Tiles/dark_mini.png b/Resources/Textures/Tiles/dark_mini.png
index f25d16b767..9195f9c87b 100644
Binary files a/Resources/Textures/Tiles/dark_mini.png and b/Resources/Textures/Tiles/dark_mini.png differ
diff --git a/Resources/Textures/Tiles/dark_mono.png b/Resources/Textures/Tiles/dark_mono.png
index 059a09d711..f84c1810bc 100644
Binary files a/Resources/Textures/Tiles/dark_mono.png and b/Resources/Textures/Tiles/dark_mono.png differ
diff --git a/Resources/Textures/Tiles/dark_offset.png b/Resources/Textures/Tiles/dark_offset.png
index 239874b6dd..73ccdf5e90 100644
Binary files a/Resources/Textures/Tiles/dark_offset.png and b/Resources/Textures/Tiles/dark_offset.png differ
diff --git a/Resources/Textures/Tiles/dark_pavement.png b/Resources/Textures/Tiles/dark_pavement.png
index 6cda4dd8ca..5d9dff2d3b 100644
Binary files a/Resources/Textures/Tiles/dark_pavement.png and b/Resources/Textures/Tiles/dark_pavement.png differ
diff --git a/Resources/Textures/Tiles/dark_pavement_vertical.png b/Resources/Textures/Tiles/dark_pavement_vertical.png
index c05bf49f77..a0a75f0010 100644
Binary files a/Resources/Textures/Tiles/dark_pavement_vertical.png and b/Resources/Textures/Tiles/dark_pavement_vertical.png differ
diff --git a/Resources/Textures/Tiles/dark_plastic.png b/Resources/Textures/Tiles/dark_plastic.png
index cea53827aa..ad85e01896 100644
Binary files a/Resources/Textures/Tiles/dark_plastic.png and b/Resources/Textures/Tiles/dark_plastic.png differ
diff --git a/Resources/Textures/Tiles/freezer.png b/Resources/Textures/Tiles/freezer.png
index 4493e4f9e4..f8bbaafd00 100644
Binary files a/Resources/Textures/Tiles/freezer.png and b/Resources/Textures/Tiles/freezer.png differ
diff --git a/Resources/Textures/Tiles/glass.png b/Resources/Textures/Tiles/glass.png
index dffa27b968..91ec7b5794 100644
Binary files a/Resources/Textures/Tiles/glass.png and b/Resources/Textures/Tiles/glass.png differ
diff --git a/Resources/Textures/Tiles/green_circuit.png b/Resources/Textures/Tiles/green_circuit.png
index 1628c20ae7..9bc75fc03f 100644
Binary files a/Resources/Textures/Tiles/green_circuit.png and b/Resources/Textures/Tiles/green_circuit.png differ
diff --git a/Resources/Textures/Tiles/hydro.png b/Resources/Textures/Tiles/hydro.png
index ce62682e25..8d797e6bee 100644
Binary files a/Resources/Textures/Tiles/hydro.png and b/Resources/Textures/Tiles/hydro.png differ
diff --git a/Resources/Textures/Tiles/kitchen.png b/Resources/Textures/Tiles/kitchen.png
index fab164aac7..687e62c5eb 100644
Binary files a/Resources/Textures/Tiles/kitchen.png and b/Resources/Textures/Tiles/kitchen.png differ
diff --git a/Resources/Textures/Tiles/laundry.png b/Resources/Textures/Tiles/laundry.png
index dab53ec450..be2ce13443 100644
Binary files a/Resources/Textures/Tiles/laundry.png and b/Resources/Textures/Tiles/laundry.png differ
diff --git a/Resources/Textures/Tiles/lino.png b/Resources/Textures/Tiles/lino.png
index 7528f1378a..d8d4313da4 100644
Binary files a/Resources/Textures/Tiles/lino.png and b/Resources/Textures/Tiles/lino.png differ
diff --git a/Resources/Textures/Tiles/metaldiamond.png b/Resources/Textures/Tiles/metaldiamond.png
index ed48f2ef36..1b05e4ee8e 100644
Binary files a/Resources/Textures/Tiles/metaldiamond.png and b/Resources/Textures/Tiles/metaldiamond.png differ
diff --git a/Resources/Textures/Tiles/plastic.png b/Resources/Textures/Tiles/plastic.png
index f9e49ed48c..0fc81697cd 100644
Binary files a/Resources/Textures/Tiles/plastic.png and b/Resources/Textures/Tiles/plastic.png differ
diff --git a/Resources/Textures/Tiles/rglass.png b/Resources/Textures/Tiles/rglass.png
index bae2908132..3d3ba5f407 100644
Binary files a/Resources/Textures/Tiles/rglass.png and b/Resources/Textures/Tiles/rglass.png differ
diff --git a/Resources/Textures/Tiles/rock_vault.png b/Resources/Textures/Tiles/rock_vault.png
index 4b05bf4a12..40f85f6ead 100644
Binary files a/Resources/Textures/Tiles/rock_vault.png and b/Resources/Textures/Tiles/rock_vault.png differ
diff --git a/Resources/Textures/Tiles/showroom.png b/Resources/Textures/Tiles/showroom.png
index 4493e4f9e4..b78263c32b 100644
Binary files a/Resources/Textures/Tiles/showroom.png and b/Resources/Textures/Tiles/showroom.png differ
diff --git a/Resources/Textures/Tiles/shuttleblue.png b/Resources/Textures/Tiles/shuttleblue.png
index 2e44d085bb..9e90c72e6a 100644
Binary files a/Resources/Textures/Tiles/shuttleblue.png and b/Resources/Textures/Tiles/shuttleblue.png differ
diff --git a/Resources/Textures/Tiles/shuttleorange.png b/Resources/Textures/Tiles/shuttleorange.png
index e0291cf6b6..eb3dbbaed8 100644
Binary files a/Resources/Textures/Tiles/shuttleorange.png and b/Resources/Textures/Tiles/shuttleorange.png differ
diff --git a/Resources/Textures/Tiles/shuttlepurple.png b/Resources/Textures/Tiles/shuttlepurple.png
index 73ac94c2a8..0287fa40cb 100644
Binary files a/Resources/Textures/Tiles/shuttlepurple.png and b/Resources/Textures/Tiles/shuttlepurple.png differ
diff --git a/Resources/Textures/Tiles/shuttlewhite.png b/Resources/Textures/Tiles/shuttlewhite.png
index a75a187643..dbdf11b18e 100644
Binary files a/Resources/Textures/Tiles/shuttlewhite.png and b/Resources/Textures/Tiles/shuttlewhite.png differ
diff --git a/Resources/Textures/Tiles/silver.png b/Resources/Textures/Tiles/silver.png
index 630adae28a..a6fb1fd489 100644
Binary files a/Resources/Textures/Tiles/silver.png and b/Resources/Textures/Tiles/silver.png differ
diff --git a/Resources/Textures/Tiles/steel.png b/Resources/Textures/Tiles/steel.png
index ae9be8ee58..479ba016eb 100644
Binary files a/Resources/Textures/Tiles/steel.png and b/Resources/Textures/Tiles/steel.png differ
diff --git a/Resources/Textures/Tiles/steel_diagonal_mini.png b/Resources/Textures/Tiles/steel_diagonal_mini.png
index 5b2eeb76cf..761cb58ee7 100644
Binary files a/Resources/Textures/Tiles/steel_diagonal_mini.png and b/Resources/Textures/Tiles/steel_diagonal_mini.png differ
diff --git a/Resources/Textures/Tiles/steel_dirty.png b/Resources/Textures/Tiles/steel_dirty.png
index 9dc19af513..32000c6409 100644
Binary files a/Resources/Textures/Tiles/steel_dirty.png and b/Resources/Textures/Tiles/steel_dirty.png differ
diff --git a/Resources/Textures/Tiles/steel_herringbone.png b/Resources/Textures/Tiles/steel_herringbone.png
index 48e704ae14..2e31016081 100644
Binary files a/Resources/Textures/Tiles/steel_herringbone.png and b/Resources/Textures/Tiles/steel_herringbone.png differ
diff --git a/Resources/Textures/Tiles/steel_mini.png b/Resources/Textures/Tiles/steel_mini.png
index cd2001b666..fef080832a 100644
Binary files a/Resources/Textures/Tiles/steel_mini.png and b/Resources/Textures/Tiles/steel_mini.png differ
diff --git a/Resources/Textures/Tiles/steel_mono.png b/Resources/Textures/Tiles/steel_mono.png
index 0189733fc3..b0b2565eb2 100644
Binary files a/Resources/Textures/Tiles/steel_mono.png and b/Resources/Textures/Tiles/steel_mono.png differ
diff --git a/Resources/Textures/Tiles/steel_offset.png b/Resources/Textures/Tiles/steel_offset.png
index dd4bb0240b..9a0911c7c3 100644
Binary files a/Resources/Textures/Tiles/steel_offset.png and b/Resources/Textures/Tiles/steel_offset.png differ
diff --git a/Resources/Textures/Tiles/steel_pavement.png b/Resources/Textures/Tiles/steel_pavement.png
index 9dc7cbed58..4638e487d1 100644
Binary files a/Resources/Textures/Tiles/steel_pavement.png and b/Resources/Textures/Tiles/steel_pavement.png differ
diff --git a/Resources/Textures/Tiles/steel_pavement_vertical.png b/Resources/Textures/Tiles/steel_pavement_vertical.png
index ad8f8155f0..f3e7294ba2 100644
Binary files a/Resources/Textures/Tiles/steel_pavement_vertical.png and b/Resources/Textures/Tiles/steel_pavement_vertical.png differ
diff --git a/Resources/Textures/Tiles/white diagonal.png b/Resources/Textures/Tiles/white diagonal.png
new file mode 100644
index 0000000000..eac1ef6d31
Binary files /dev/null and b/Resources/Textures/Tiles/white diagonal.png differ
diff --git a/Resources/Textures/Tiles/white.png b/Resources/Textures/Tiles/white.png
index 9a18eb9c83..8520dcee7c 100644
Binary files a/Resources/Textures/Tiles/white.png and b/Resources/Textures/Tiles/white.png differ
diff --git a/Resources/Textures/Tiles/white_diagonal_mini.png b/Resources/Textures/Tiles/white_diagonal_mini.png
index 6067a40310..0994d3a138 100644
Binary files a/Resources/Textures/Tiles/white_diagonal_mini.png and b/Resources/Textures/Tiles/white_diagonal_mini.png differ
diff --git a/Resources/Textures/Tiles/white_herringbone.png b/Resources/Textures/Tiles/white_herringbone.png
index d370242bd7..980060d0a6 100644
Binary files a/Resources/Textures/Tiles/white_herringbone.png and b/Resources/Textures/Tiles/white_herringbone.png differ
diff --git a/Resources/Textures/Tiles/white_mini.png b/Resources/Textures/Tiles/white_mini.png
index 091805d917..3fcf2fbfe1 100644
Binary files a/Resources/Textures/Tiles/white_mini.png and b/Resources/Textures/Tiles/white_mini.png differ
diff --git a/Resources/Textures/Tiles/white_mono.png b/Resources/Textures/Tiles/white_mono.png
index 3cfd9e98c0..bdb023a432 100644
Binary files a/Resources/Textures/Tiles/white_mono.png and b/Resources/Textures/Tiles/white_mono.png differ
diff --git a/Resources/Textures/Tiles/white_offset.png b/Resources/Textures/Tiles/white_offset.png
index be9ac6dfea..eb6f8189b2 100644
Binary files a/Resources/Textures/Tiles/white_offset.png and b/Resources/Textures/Tiles/white_offset.png differ
diff --git a/Resources/Textures/Tiles/white_pavement.png b/Resources/Textures/Tiles/white_pavement.png
index ba211ac9eb..fb818263d5 100644
Binary files a/Resources/Textures/Tiles/white_pavement.png and b/Resources/Textures/Tiles/white_pavement.png differ
diff --git a/Resources/Textures/Tiles/white_pavement_vertical.png b/Resources/Textures/Tiles/white_pavement_vertical.png
index e452d7edef..651211a184 100644
Binary files a/Resources/Textures/Tiles/white_pavement_vertical.png and b/Resources/Textures/Tiles/white_pavement_vertical.png differ
diff --git a/Resources/Textures/Tiles/white_plastic.png b/Resources/Textures/Tiles/white_plastic.png
index f9e49ed48c..0a01afcc08 100644
Binary files a/Resources/Textures/Tiles/white_plastic.png and b/Resources/Textures/Tiles/white_plastic.png differ
diff --git a/Resources/Textures/Tiles/wood.png b/Resources/Textures/Tiles/wood.png
index 44414151c6..8e7856e472 100644
Binary files a/Resources/Textures/Tiles/wood.png and b/Resources/Textures/Tiles/wood.png differ
diff --git a/Resources/Textures/Tiles/wood_broken.png b/Resources/Textures/Tiles/wood_broken.png
index 1a6f87dd22..6f80da64a6 100644
Binary files a/Resources/Textures/Tiles/wood_broken.png and b/Resources/Textures/Tiles/wood_broken.png differ
diff --git a/Resources/Textures/Tiles/wood_tile.png b/Resources/Textures/Tiles/wood_tile.png
index 28c665b755..df9d984e30 100644
Binary files a/Resources/Textures/Tiles/wood_tile.png and b/Resources/Textures/Tiles/wood_tile.png differ