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

◆ DrawBG()

void Terraria.Main.DrawBG ( )
inlineprivate

Definition at line 60797 of file Main.cs.

60798 {
60800 float num2 = screenPosition.Y + (float)(screenHeight / 2) - num / 2f;
60801 scAdj = (float)(worldSurface * 16.0) / (num2 + num);
60802 float num3 = (float)maxTilesY * 0.15f * 16f;
60803 num3 -= num2;
60804 if (num3 < 0f)
60805 {
60806 num3 = 0f;
60807 }
60808 num3 *= 0.00025f;
60809 float num4 = num3 * num3;
60810 scAdj *= 0.45f - num4;
60811 if (maxTilesY <= 1200)
60812 {
60813 scAdj *= -500f;
60814 }
60815 else if (maxTilesY <= 1800)
60816 {
60817 scAdj *= -300f;
60818 }
60819 else
60820 {
60821 scAdj *= -150f;
60822 }
60823 float num5 = screenHeight;
60824 screenOff = num5 - 600f;
60825 bgTopY = (int)((double)(0f - screenPosition.Y + screenOff / 2f) / (worldSurface * 16.0) * 1200.0 + 1190.0) + (int)scAdj;
60826 cTop = bgTopY - 50;
60827 if (resetClouds)
60828 {
60829 Cloud.resetClouds();
60830 resetClouds = false;
60831 }
60832 bgScale = 1f;
60833 bgWidthScaled = (int)((float)backgroundWidth[treeMntBGSet1[0]] * bgScale);
60837 int num6 = 30;
60840 {
60841 num6 = 60;
60842 }
60843 if (bgDelay < 0)
60844 {
60845 bgDelay++;
60846 }
60848 {
60849 bgDelay++;
60850 if (bgDelay > num6)
60851 {
60852 bgDelay = -60;
60855 {
60856 bgDelay = 0;
60857 }
60858 }
60859 }
60860 else if (bgDelay > 0)
60861 {
60862 bgDelay--;
60863 }
60864 if (gameMenu)
60865 {
60867 if (!dayTime)
60868 {
60869 bgStyle = 1;
60870 }
60871 else
60872 {
60873 bgStyle = 0;
60874 }
60876 if (WorldGen.drunkWorldGen)
60877 {
60878 bgStyle = 9;
60879 }
60880 }
60882 {
60886 }
60887 UpdateBGVisibility_BackLayer(null, null);
60889 try
60890 {
60891 DrawSurfaceBG();
60893 {
60895 }
60896 }
60897 catch (Exception ex)
60898 {
60899 if (!ignoreErrors)
60900 {
60901 throw ex;
60902 }
60903 TimeLogger.DrawException(ex);
60904 }
60905 TimeLogger.DetailedDrawTime(8);
60906 }
static byte Min(byte val1, byte val2)
Definition Math.cs:912
static Microsoft.Xna.Framework.Color ColorOfTheSkies
Definition Main.cs:2577
float scAdj
Definition Main.cs:2585
float screenOff
Definition Main.cs:2583
static int maxTilesY
Definition Main.cs:1116
static int bgWidthScaled
Definition Main.cs:2575
static bool resetClouds
Definition Main.cs:1376
void UpdateBGVisibility_BackLayer(int? targetBiomeOverride, float? transitionAmountOverride)
Definition Main.cs:60941
static double worldSurface
Definition Main.cs:1272
static int bgDelay
Definition Main.cs:806
static bool dayTime
Definition Main.cs:1282
int bgTopY
Definition Main.cs:966
static int screenHeight
Definition Main.cs:1721
void DrawSurfaceBG()
Definition Main.cs:56271
static int[] backgroundWidth
Definition Main.cs:1665
static bool BackgroundEnabled
Definition Main.cs:802
float cTop
Definition Main.cs:2587
static int[] treeMntBGSet1
Definition Main.cs:632
static int instantBGTransitionCounter
Definition Main.cs:804
static Microsoft.Xna.Framework.Color ColorOfSurfaceBackgroundsModified
Definition Main.cs:2581
static bool ignoreErrors
Definition Main.cs:742
static int LogicCheckScreenHeight
Definition Main.cs:1898
static float bgScale
Definition Main.cs:2573
static float backgroundLayerTransitionSpeed
Definition Main.cs:2569
static int GetPreferredBGStyleForPlayer()
Definition Main.cs:61005
static Microsoft.Xna.Framework.Color ColorOfSurfaceBackgroundsBase
Definition Main.cs:2579
void UpdateBGVisibility_FrontLayer(int? targetBiomeOverride, float? transitionAmountOverride)
Definition Main.cs:60908
static bool gameMenu
Definition Main.cs:1926
void DrawUnderworldBackground(bool flat)
Definition Main.cs:49543
static int bgStyle
Definition Main.cs:808

References Terraria.Main.BackgroundEnabled, Terraria.Main.backgroundLayerTransitionSpeed, Terraria.Main.backgroundWidth, Terraria.Main.bgDelay, Terraria.Main.bgScale, Terraria.Main.bgStyle, Terraria.Main.bgTopY, Terraria.Main.bgWidthScaled, Terraria.Main.ColorOfSurfaceBackgroundsBase, Terraria.Main.ColorOfSurfaceBackgroundsModified, Terraria.Main.ColorOfTheSkies, Terraria.Main.cTop, Terraria.Main.dayTime, Terraria.TimeLogger.DetailedDrawTime(), Terraria.TimeLogger.DrawException(), Terraria.Main.DrawSurfaceBG(), Terraria.Main.DrawUnderworldBackground(), Terraria.WorldGen.drunkWorldGen, Terraria.Main.gameMenu, Terraria.Main.GetPreferredBGStyleForPlayer(), Terraria.Main.ignoreErrors, Terraria.Main.instantBGTransitionCounter, Terraria.Main.LogicCheckScreenHeight, Terraria.Main.maxTilesY, System.Math.Min(), Terraria.GameInput.PlayerInput.RealScreenHeight, Terraria.Cloud.resetClouds(), Terraria.Main.resetClouds, Terraria.Main.scAdj, Terraria.Main.screenHeight, Terraria.Main.screenOff, Terraria.Main.treeMntBGSet1, Terraria.Main.UpdateBGVisibility_BackLayer(), Terraria.Main.UpdateBGVisibility_FrontLayer(), and Terraria.Main.worldSurface.

Referenced by Terraria.Main.DoDraw().