diff --git a/Subsurface/Barotrauma.csproj b/Subsurface/Barotrauma.csproj
index 2f9819604..221dfe0c6 100644
--- a/Subsurface/Barotrauma.csproj
+++ b/Subsurface/Barotrauma.csproj
@@ -1031,6 +1031,9 @@
PreserveNewest
+
+ PreserveNewest
+
PreserveNewest
@@ -1645,6 +1648,9 @@
PreserveNewest
+
+ PreserveNewest
+
PreserveNewest
diff --git a/Subsurface/Content/Content.mgcb b/Subsurface/Content/Content.mgcb
index 3b1a5e869..48c1e7111 100644
--- a/Subsurface/Content/Content.mgcb
+++ b/Subsurface/Content/Content.mgcb
@@ -49,3 +49,8 @@
/processorParam:DebugMode=Auto
/build:damageshader.fx
+#begin utg_4.mp4
+/importer:H264Importer
+/processor:VideoProcessor
+/build:utg_4.mp4
+
diff --git a/Subsurface/Content/utg_4.mp4 b/Subsurface/Content/utg_4.mp4
new file mode 100644
index 000000000..1f606677d
Binary files /dev/null and b/Subsurface/Content/utg_4.mp4 differ
diff --git a/Subsurface/Content/utg_4.xnb b/Subsurface/Content/utg_4.xnb
new file mode 100644
index 000000000..a9e458b1b
Binary files /dev/null and b/Subsurface/Content/utg_4.xnb differ
diff --git a/Subsurface/Source/GUI/LoadingScreen.cs b/Subsurface/Source/GUI/LoadingScreen.cs
index 77ac5faec..f635b71f2 100644
--- a/Subsurface/Source/GUI/LoadingScreen.cs
+++ b/Subsurface/Source/GUI/LoadingScreen.cs
@@ -1,6 +1,7 @@
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
+using Microsoft.Xna.Framework.Media;
using System;
using System.Collections.Generic;
using System.Diagnostics;
@@ -23,6 +24,9 @@ namespace Barotrauma
private float? loadState;
+ Video splashScreenVideo;
+ VideoPlayer videoPlayer;
+
public Vector2 TitleSize
{
get { return new Vector2(titleTexture.Width, titleTexture.Height); }
@@ -49,10 +53,23 @@ namespace Barotrauma
get;
set;
}
-
public LoadingScreen(GraphicsDevice graphics)
{
+ if (GameMain.Config.EnableSplashScreen)
+ {
+ try
+ {
+ splashScreenVideo = GameMain.Instance.Content.Load