public static void DrawCloseBackground(int style)
{
if (!GlobalBgStyleLoader.loaded)
{
return;
}
if (Main.bgAlpha[style] <= 0f)
{
return;
}
var surfaceBgStyle = GetSurfaceBgStyle(style);
if (surfaceBgStyle != null && surfaceBgStyle.PreDrawCloseBackground(Main.spriteBatch))
{
Main.bgScale = 1.25f;
Main.instance.bgParallax = 0.37;
float a = 1800.0f;
float b = 1750.0f;
int textureSlot = surfaceBgStyle.ChooseCloseTexture(ref Main.bgScale, ref Main.instance.bgParallax, ref a, ref b);
if (textureSlot >= 0 && textureSlot < Main.backgroundTexture.Length)
{
//Custom: bgScale, textureslot, patallaz, these 2 numbers...., Top and Start?
Main.instance.LoadBackground(textureSlot);
Main.bgScale *= 2f;
Main.bgW = (int)((float)Main.backgroundWidth[textureSlot] * Main.bgScale);
SkyManager.Instance.DrawToDepth(Main.spriteBatch, 1f / (float)Main.instance.bgParallax);
Main.instance.bgStart = (int)(-Math.IEEERemainder(Main.screenPosition.X * Main.instance.bgParallax, Main.bgW) - (Main.bgW / 2));
Main.instance.bgTop = (int)((-Main.screenPosition.Y + Main.instance.screenOff / 2f) / (Main.worldSurface * 16.0) * a + b) + (int)Main.instance.scAdj;
if (Main.gameMenu)
{
Main.instance.bgTop = 320;
}
Main.instance.bgLoops = Main.screenWidth / Main.bgW + 2;
if ((double)Main.screenPosition.Y < Main.worldSurface * 16.0 + 16.0)
{
for (int k = 0; k < Main.instance.bgLoops; k++)
{
Main.spriteBatch.Draw(Main.backgroundTexture[textureSlot],
new Vector2((Main.instance.bgStart + Main.bgW * k), Main.instance.bgTop),
new Rectangle(0, 0, Main.backgroundWidth[textureSlot], Main.backgroundHeight[textureSlot]),
Main.backColor, 0f, default(Vector2), Main.bgScale, SpriteEffects.None, 0f);
}
}
}
}
}