Rework multi-resolution sprite handling:
- Sprite.Bounds now refers to rectangles in the source image. Use this when copying pixels, etc. - Sprite.Size now refers to sizes in effective pixel coordinates. Use this when rendering. - Sheet.DPIScale has been removed. - "Density" term is introduced to refer to the number of artwork pixels per effective pixel.
This commit is contained in:
@@ -25,14 +25,16 @@ namespace OpenRA.Mods.Common.LoadScreens
|
||||
Rectangle bounds;
|
||||
|
||||
Sheet lastSheet;
|
||||
int lastDensity;
|
||||
Size lastResolution;
|
||||
|
||||
public override void DisplayInner(Renderer r, Sheet s)
|
||||
public override void DisplayInner(Renderer r, Sheet s, int density)
|
||||
{
|
||||
if (s != lastSheet)
|
||||
if (s != lastSheet || density != lastDensity)
|
||||
{
|
||||
lastSheet = s;
|
||||
sprite = new Sprite(s, new Rectangle(0, 0, 1024, 480), TextureChannel.RGBA);
|
||||
lastDensity = density;
|
||||
sprite = CreateSprite(s, density, new Rectangle(0, 0, 1024, 480));
|
||||
}
|
||||
|
||||
if (r.Resolution != lastResolution)
|
||||
|
||||
Reference in New Issue
Block a user