(9f5c9fbcb) Make sure lazy-loaded sprites load their texture when creating a GUIImage, because the image needs to know the size of the texture to scale itself correctly. Fixes location portraits not being visible in the campaign menu when a location is selected for the first time.

This commit is contained in:
Joonas Rikkonen
2019-04-04 11:08:18 +03:00
parent 7491b06a5d
commit d4752bb6a0
56 changed files with 854 additions and 572 deletions
@@ -76,6 +76,10 @@ namespace Barotrauma
partial void InitProjSpecific()
{
Prefab.Sprite?.EnsureLazyLoaded();
Prefab.SpecularSprite?.EnsureLazyLoaded();
Prefab.DeformableSprite?.EnsureLazyLoaded();
CurrentSwingAmount = Prefab.SwingAmountRad;
CurrentScaleOscillation = Prefab.ScaleOscillation;
@@ -78,9 +78,8 @@ namespace Barotrauma.Lights
AmbientLight = new Color(20, 20, 20, 255);
visionCircle = Sprite.LoadTexture("Content/Lights/visioncircle.png");
highlightRaster = Sprite.LoadTexture("Content/UI/HighlightRaster.png");
visionCircle = Sprite.LoadTexture("Content/Lights/visioncircle.png", preMultiplyAlpha: false);
highlightRaster = Sprite.LoadTexture("Content/UI/HighlightRaster.png", preMultiplyAlpha: false);
CreateRenderTargets(graphics);
GameMain.Instance.OnResolutionChanged += () =>
@@ -292,6 +291,11 @@ namespace Barotrauma.Lights
spriteBatch.Draw(HighlightMap, Vector2.Zero, Color.White);
spriteBatch.End();
}
GameMain.ParticleManager.Draw(spriteBatch, true, null, Particles.ParticleBlendState.Additive);
spriteBatch.End();
//draw a black rectangle on hulls to hide background lights behind subs
//---------------------------------------------------------------------------------------------------
//draw characters to obstruct the highlighted items/characters and light sprites
//---------------------------------------------------------------------------------------------------
@@ -91,7 +91,7 @@ namespace Barotrauma.Lights
}
break;
case "lighttexture":
OverrideLightTexture = new Sprite(subElement);
OverrideLightTexture = new Sprite(subElement, preMultiplyAlpha: false);
break;
}
}
@@ -211,7 +211,7 @@ namespace Barotrauma.Lights
{
if (lightTexture == null)
{
lightTexture = TextureLoader.FromFile("Content/Lights/pointlight_bright.png");
lightTexture = TextureLoader.FromFile("Content/Lights/pointlight_bright.png", preMultiplyAlpha: false);
}
return lightTexture;