Fix parallax on resolutions greater than 1920x1080 (#564)
This commit is contained in:
committed by
Pieter-Jan Briers
parent
4315618782
commit
a6f8ee317f
@@ -3,6 +3,7 @@ using Robust.Client.Graphics;
|
|||||||
using Robust.Client.Graphics.Drawing;
|
using Robust.Client.Graphics.Drawing;
|
||||||
using Robust.Client.Graphics.Overlays;
|
using Robust.Client.Graphics.Overlays;
|
||||||
using Robust.Client.Graphics.Shaders;
|
using Robust.Client.Graphics.Shaders;
|
||||||
|
using Robust.Client.Interfaces.Graphics;
|
||||||
using Robust.Client.Interfaces.Graphics.ClientEye;
|
using Robust.Client.Interfaces.Graphics.ClientEye;
|
||||||
using Robust.Shared.IoC;
|
using Robust.Shared.IoC;
|
||||||
using Robust.Shared.Maths;
|
using Robust.Shared.Maths;
|
||||||
@@ -15,6 +16,7 @@ namespace Content.Client.Parallax
|
|||||||
#pragma warning disable 649
|
#pragma warning disable 649
|
||||||
[Dependency] private readonly IParallaxManager _parallaxManager;
|
[Dependency] private readonly IParallaxManager _parallaxManager;
|
||||||
[Dependency] private readonly IEyeManager _eyeManager;
|
[Dependency] private readonly IEyeManager _eyeManager;
|
||||||
|
[Dependency] private readonly IClyde _displayManager;
|
||||||
[Dependency] private readonly IPrototypeManager _prototypeManager;
|
[Dependency] private readonly IPrototypeManager _prototypeManager;
|
||||||
#pragma warning restore 649
|
#pragma warning restore 649
|
||||||
|
|
||||||
@@ -55,10 +57,12 @@ namespace Content.Client.Parallax
|
|||||||
ox = MathHelper.Mod(ox, sizeX);
|
ox = MathHelper.Mod(ox, sizeX);
|
||||||
oy = MathHelper.Mod(oy, sizeY);
|
oy = MathHelper.Mod(oy, sizeY);
|
||||||
|
|
||||||
screenHandle.DrawTexture(_parallaxTexture, new Vector2(ox, oy));
|
var (screenSizeX, screenSizeY) = _displayManager.ScreenSize;
|
||||||
screenHandle.DrawTexture(_parallaxTexture, new Vector2(ox - sizeX, oy));
|
for (var x = -sizeX; x < screenSizeX; x += sizeX) {
|
||||||
screenHandle.DrawTexture(_parallaxTexture, new Vector2(ox, oy - sizeY));
|
for (var y = -sizeY; y < screenSizeY; y += sizeY) {
|
||||||
screenHandle.DrawTexture(_parallaxTexture, new Vector2(ox - sizeX, oy - sizeY));
|
screenHandle.DrawTexture(_parallaxTexture, new Vector2(ox + x, oy + y));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user