Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ DrawSurfaceBG_Snow()

void Terraria.Main.DrawSurfaceBG_Snow ( double backgroundTopMagicNumber,
float bgGlobalScaleMultiplier,
int pushBGTopHack,
int[] bgTexIndexes )
inlineprivate

Definition at line 57232 of file Main.cs.

57233 {
57234 if (bgTexIndexes[0] >= 0)
57235 {
57236 bgScale = 1.25f;
57237 bgParallax = 0.4;
57238 bgTopY = (int)(backgroundTopMagicNumber * 1800.0 + 1500.0) + (int)scAdj + pushBGTopHack;
57242 bgWidthScaled = (int)((float)backgroundWidth[bgTexIndexes[0]] * bgScale);
57243 SkyManager.Instance.DrawToDepth(spriteBatch, 1f / (float)bgParallax);
57244 bgStartX = (int)(0.0 - Math.IEEERemainder((double)screenPosition.X * bgParallax, bgWidthScaled) - (double)(bgWidthScaled / 2));
57245 if (gameMenu)
57246 {
57247 bgTopY = 320 + pushBGTopHack;
57248 }
57251 if ((double)screenPosition.Y < worldSurface * 16.0 + 16.0)
57252 {
57253 for (int i = 0; i < bgLoops; i++)
57254 {
57256 }
57257 }
57258 }
57259 if (bgTexIndexes[1] >= 0)
57260 {
57261 bgScale = 1.31f;
57262 bgParallax = 0.43;
57263 bgTopY = (int)(backgroundTopMagicNumber * 1950.0 + 1750.0) + (int)scAdj + pushBGTopHack;
57267 bgWidthScaled = (int)((float)backgroundWidth[bgTexIndexes[1]] * bgScale);
57268 SkyManager.Instance.DrawToDepth(spriteBatch, 1f / (float)bgParallax);
57269 bgStartX = (int)(0.0 - Math.IEEERemainder((double)screenPosition.X * bgParallax, bgWidthScaled) - (double)(bgWidthScaled / 2));
57270 if (gameMenu)
57271 {
57272 bgTopY = 400 + pushBGTopHack;
57273 bgStartX -= 80;
57274 }
57277 if ((double)screenPosition.Y < worldSurface * 16.0 + 16.0)
57278 {
57279 for (int j = 0; j < bgLoops; j++)
57280 {
57282 }
57283 }
57284 }
57285 if (bgTexIndexes[2] < 0)
57286 {
57287 return;
57288 }
57289 bgScale = 1.34f;
57290 bgParallax = 0.49;
57291 bgTopY = (int)(backgroundTopMagicNumber * 2100.0 + 2000.0) + (int)scAdj + pushBGTopHack;
57295 bgWidthScaled = (int)((float)backgroundWidth[bgTexIndexes[2]] * bgScale);
57296 SkyManager.Instance.DrawToDepth(spriteBatch, 1f / (float)bgParallax);
57297 bgStartX = (int)(0.0 - Math.IEEERemainder((double)screenPosition.X * bgParallax, bgWidthScaled) - (double)(bgWidthScaled / 2));
57298 if (gameMenu)
57299 {
57300 bgTopY = 480 + pushBGTopHack;
57301 bgStartX -= 120;
57302 }
57305 if ((double)screenPosition.Y < worldSurface * 16.0 + 16.0)
57306 {
57307 for (int k = 0; k < bgLoops; k++)
57308 {
57310 }
57311 }
57312 }
static double IEEERemainder(double x, double y)
Definition Math.cs:679
static Asset< Texture2D >[] Background
float scAdj
Definition Main.cs:2585
double bgParallax
Definition Main.cs:956
static int bgWidthScaled
Definition Main.cs:2575
void LoadBackground(int i)
Definition Main.cs:55998
static SpriteBatch spriteBatch
Definition Main.cs:974
static double worldSurface
Definition Main.cs:1272
int bgTopY
Definition Main.cs:966
static Vector2 screenPosition
Definition Main.cs:1715
static int[] backgroundWidth
Definition Main.cs:1665
void SetBackgroundOffsets(int backgroundID, double backgroundTopMagicNumber, int pushBGTopHack)
Definition Main.cs:57314
int bgLoops
Definition Main.cs:960
int bgStartX
Definition Main.cs:958
static Microsoft.Xna.Framework.Color ColorOfSurfaceBackgroundsModified
Definition Main.cs:2581
static int[] backgroundHeight
Definition Main.cs:1667
int DrawSurfaceBG_GetLayerYOffset(int bgTextureIndex)
Definition Main.cs:56695
static float bgScale
Definition Main.cs:2573
static int screenWidth
Definition Main.cs:1719
static bool gameMenu
Definition Main.cs:1926

References Terraria.GameContent.TextureAssets.Background, Terraria.Main.backgroundHeight, Terraria.Main.backgroundWidth, Terraria.Main.bgLoops, Terraria.Main.bgParallax, Terraria.Main.bgScale, Terraria.Main.bgStartX, Terraria.Main.bgTopY, Terraria.Main.bgWidthScaled, Terraria.Main.ColorOfSurfaceBackgroundsModified, Terraria.Main.DrawSurfaceBG_GetLayerYOffset(), Terraria.Main.gameMenu, System.Text.RegularExpressions.i, System.Math.IEEERemainder(), Terraria.Graphics.Effects.SkyManager.Instance, Terraria.Main.LoadBackground(), Terraria.Main.scAdj, Terraria.Main.screenPosition, Terraria.Main.screenWidth, Terraria.Main.SetBackgroundOffsets(), Terraria.Main.spriteBatch, and Terraria.Main.worldSurface.

Referenced by Terraria.Main.DrawSurfaceBG().