diff --git a/binaries/data/mods/public/art/textures/ui/pregame/backgrounds/hellenes1-1.png b/binaries/data/mods/public/art/textures/ui/pregame/backgrounds/hellenes1-1.png
new file mode 100644
index 0000000000..2974654872
--- /dev/null
+++ b/binaries/data/mods/public/art/textures/ui/pregame/backgrounds/hellenes1-1.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:cf3510069b105e277d5d07f827e258acac2b78ada9195443b1a63984dc1a84d2
+size 1886535
diff --git a/binaries/data/mods/public/art/textures/ui/pregame/backgrounds/hellenes1-2.png b/binaries/data/mods/public/art/textures/ui/pregame/backgrounds/hellenes1-2.png
new file mode 100644
index 0000000000..720284c8e7
--- /dev/null
+++ b/binaries/data/mods/public/art/textures/ui/pregame/backgrounds/hellenes1-2.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2cd9c398dd47d18c88fcbda20787ecc59910606d48e17b4a1c4e9ac7b3add363
+size 853248
diff --git a/binaries/data/mods/public/art/textures/ui/pregame/backgrounds/hellenes1-3.png b/binaries/data/mods/public/art/textures/ui/pregame/backgrounds/hellenes1-3.png
new file mode 100644
index 0000000000..2d6af188f2
--- /dev/null
+++ b/binaries/data/mods/public/art/textures/ui/pregame/backgrounds/hellenes1-3.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:23f1cd531dcd14224664f8d94938a9ebc57cc339adbb7d3bd5a315399688627c
+size 1129747
diff --git a/binaries/data/mods/public/art/textures/ui/pregame/backgrounds/textures.xml b/binaries/data/mods/public/art/textures/ui/pregame/backgrounds/textures.xml
new file mode 100644
index 0000000000..6eb234e577
--- /dev/null
+++ b/binaries/data/mods/public/art/textures/ui/pregame/backgrounds/textures.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/binaries/data/mods/public/gui/pregame/mainmenu.js b/binaries/data/mods/public/gui/pregame/mainmenu.js
index a17019648b..996a550ac1 100644
--- a/binaries/data/mods/public/gui/pregame/mainmenu.js
+++ b/binaries/data/mods/public/gui/pregame/mainmenu.js
@@ -9,6 +9,31 @@ function init()
userReportEnabledText = getGUIObjectByName("userReportEnabledText").caption;
}
+var t0 = new Date;
+function scrollBackgrounds()
+{
+ var layer1 = getGUIObjectByName("backgroundLayer1");
+ var layer2 = getGUIObjectByName("backgroundLayer2");
+ var layer3 = getGUIObjectByName("backgroundLayer3");
+
+ var screen = layer1.parent.getComputedSize();
+ var h = screen.bottom - screen.top; // height of screen
+ var w = h*16/9; // width of background image
+
+ // Offset the layers by oscillating amounts
+ var t = (t0 - new Date) / 1000;
+ var speed = 1/10;
+ var off1 = 0.10 * w * (1+Math.cos(t*speed));
+ var off2 = 0.18 * w * (1+Math.cos(t*speed)) - h*6/9;
+ var off3 = 0.20 * w * (1+Math.cos(t*speed));
+
+ var left = screen.right - w * (1 + Math.ceil(screen.right / w));
+ layer1.size = new GUISize(left + off1, screen.top, screen.right + off1, screen.bottom);
+
+ layer2.size = new GUISize(screen.right - h + off2, screen.top, screen.right + off2, screen.bottom);
+ layer3.size = new GUISize(screen.right - h + off3, screen.top, screen.right + off3, screen.bottom);
+}
+
function submitUserReportMessage()
{
var input = getGUIObjectByName("userReportMessageInput");
@@ -55,6 +80,8 @@ function formatUserReportStatus(status)
function onTick()
{
+ scrollBackgrounds();
+
if (Engine.IsUserReportEnabled())
{
getGUIObjectByName("userReportDisabled").hidden = true;
diff --git a/binaries/data/mods/public/gui/pregame/mainmenu.xml b/binaries/data/mods/public/gui/pregame/mainmenu.xml
index 3eb2bfd955..f91e631495 100644
--- a/binaries/data/mods/public/gui/pregame/mainmenu.xml
+++ b/binaries/data/mods/public/gui/pregame/mainmenu.xml
@@ -13,11 +13,20 @@
-