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

◆ DrawSurfaceBG_Crimson()

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

Definition at line 57143 of file Main.cs.

57144 {
57145 if (bgTexIndexes[0] > -1)
57146 {
57147 bgScale = 1.25f;
57148 bgParallax = 0.4;
57149 bgTopY = (int)(backgroundTopMagicNumber * 1800.0 + 1500.0) + (int)scAdj + pushBGTopHack;
57153 bgWidthScaled = (int)((float)backgroundWidth[bgTexIndexes[0]] * bgScale);
57154 SkyManager.Instance.DrawToDepth(spriteBatch, 1f / (float)bgParallax);
57155 bgStartX = (int)(0.0 - Math.IEEERemainder((double)screenPosition.X * bgParallax, bgWidthScaled) - (double)(bgWidthScaled / 2));
57156 if (bgTexIndexes[0] == 105)
57157 {
57158 bgTopY += 50;
57159 }
57160 if (bgTexIndexes[0] == 174)
57161 {
57162 bgTopY -= 350;
57163 }
57164 if (gameMenu)
57165 {
57166 bgTopY = 320 + pushBGTopHack;
57167 }
57169 if ((double)screenPosition.Y < worldSurface * 16.0 + 16.0)
57170 {
57171 for (int i = 0; i < bgLoops; i++)
57172 {
57174 }
57175 }
57176 }
57177 if (bgTexIndexes[1] > -1)
57178 {
57179 bgScale = 1.31f;
57180 bgParallax = 0.43;
57181 bgTopY = (int)(backgroundTopMagicNumber * 1950.0 + 1750.0) + (int)scAdj + pushBGTopHack;
57185 bgWidthScaled = (int)((float)backgroundWidth[bgTexIndexes[1]] * bgScale);
57186 SkyManager.Instance.DrawToDepth(spriteBatch, 1f / (float)bgParallax);
57187 bgStartX = (int)(0.0 - Math.IEEERemainder((double)screenPosition.X * bgParallax, bgWidthScaled) - (double)(bgWidthScaled / 2));
57188 if (gameMenu)
57189 {
57190 bgTopY = 400 + pushBGTopHack;
57191 bgStartX -= 80;
57192 }
57194 if ((double)screenPosition.Y < worldSurface * 16.0 + 16.0)
57195 {
57196 for (int j = 0; j < bgLoops; j++)
57197 {
57199 }
57200 }
57201 }
57202 bgScale = 1.34f;
57203 bgParallax = 0.49;
57204 bgTopY = (int)(backgroundTopMagicNumber * 2100.0 + 2000.0) + (int)scAdj + pushBGTopHack;
57208 bgWidthScaled = (int)((float)backgroundWidth[bgTexIndexes[2]] * bgScale);
57209 SkyManager.Instance.DrawToDepth(spriteBatch, 1f / (float)bgParallax);
57210 bgStartX = (int)(0.0 - Math.IEEERemainder((double)screenPosition.X * bgParallax, bgWidthScaled) - (double)(bgWidthScaled / 2));
57211 if (gameMenu)
57212 {
57213 bgTopY = 480 + pushBGTopHack;
57214 bgStartX -= 120;
57215 }
57217 if (bgTexIndexes[2] == 175)
57218 {
57219 bgStartX -= 1000;
57220 bgTopY -= 400;
57221 bgLoops++;
57222 }
57223 if ((double)screenPosition.Y < worldSurface * 16.0 + 16.0)
57224 {
57225 for (int k = 0; k < bgLoops; k++)
57226 {
57228 }
57229 }
57230 }
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 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
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.gameMenu, System.Text.RegularExpressions.i, System.Math.IEEERemainder(), Terraria.Graphics.Effects.SkyManager.Instance, Terraria.Main.LoadBackground(), Terraria.Main.scAdj, Terraria.Main.screenWidth, Terraria.Main.SetBackgroundOffsets(), Terraria.Main.spriteBatch, and Terraria.Main.worldSurface.

Referenced by Terraria.Main.DrawSurfaceBG().