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

◆ DrawSurfaceBG_Mushroom()

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

Definition at line 56937 of file Main.cs.

56938 {
56939 float num = 0.33f;
56940 Vector3 vector = new Vector3(0.1f, 0.15f, 0.3f);
56941 float num2 = 0.5f;
56942 Vector3 vector2 = new Vector3(0.1f, 0.175f, 0.3f);
56943 float num3 = 0.75f;
56944 Vector3 vector3 = new Vector3(0.125f, 0.2f, 0.3f);
56945 num = 0.5f;
56946 num2 = 0.625f;
56947 num3 = 0.75f;
56948 vector *= 3f;
56949 vector2 *= 3f;
56950 vector3 *= 3f;
56951 float num4 = (float)(int)ColorOfSurfaceBackgroundsModified.A / 255f;
56953 float num5 = (float)rand.Next(28, 42) * 0.001f;
56954 num5 += (float)(270 - mouseTextColor) / 5000f;
56955 float x = vector.X;
56956 float num6 = vector.Y + num5 / 2f;
56957 float num7 = vector.Z + num5;
56958 x *= 255f;
56959 num6 *= 255f;
56960 num7 *= 255f;
56961 x *= num * num4;
56962 num6 *= num * num4;
56963 num7 *= num * num4;
56964 if (x > 255f)
56965 {
56966 x = 255f;
56967 }
56968 if (num6 > 255f)
56969 {
56970 num6 = 255f;
56971 }
56972 if (num7 > 255f)
56973 {
56974 num7 = 255f;
56975 }
56976 if (x > (float)(int)colorOfSurfaceBackgroundsModified.R)
56977 {
56978 colorOfSurfaceBackgroundsModified.R = (byte)x;
56979 }
56980 if (num6 > (float)(int)colorOfSurfaceBackgroundsModified.G)
56981 {
56982 colorOfSurfaceBackgroundsModified.G = (byte)num6;
56983 }
56984 if (num7 > (float)(int)colorOfSurfaceBackgroundsModified.B)
56985 {
56986 colorOfSurfaceBackgroundsModified.B = (byte)num7;
56987 }
56988 bgScale = 1.25f;
56991 bgWidthScaled = (int)((float)backgroundWidth[bgTexIndexes[0]] * bgScale);
56992 bgParallax = 0.4;
56994 SkyManager.Instance.DrawToDepth(spriteBatch, 1f / (float)bgParallax);
56995 bgStartX = (int)(0.0 - Math.IEEERemainder((double)screenPosition.X * bgParallax, bgWidthScaled) - (double)(bgWidthScaled / 2));
56996 bgTopY = (int)(backgroundTopMagicNumber * 1800.0 + 1400.0) + (int)scAdj + pushBGTopHack;
56998 if (gameMenu)
56999 {
57000 bgTopY = 320 + pushBGTopHack;
57001 }
57002 if (bgWidthScaled != 0)
57003 {
57005 }
57006 if (TextureAssets.Background[bgTexIndexes[0]].Value == null)
57007 {
57008 return;
57009 }
57010 if ((double)screenPosition.Y < worldSurface * 16.0 + 16.0)
57011 {
57012 for (int i = 0; i < bgLoops; i++)
57013 {
57015 }
57016 }
57018 num5 = (float)rand.Next(28, 42) * 0.001f;
57019 num5 += (float)(270 - mouseTextColor) / 5000f;
57020 x = vector2.X;
57021 num6 = vector2.Y + num5 / 2f;
57022 num7 = vector2.Z + num5;
57023 x *= 255f;
57024 num6 *= 255f;
57025 num7 *= 255f;
57026 x *= num2 * num4;
57027 num6 *= num2 * num4;
57028 num7 *= num2 * num4;
57029 if (x > 255f)
57030 {
57031 x = 255f;
57032 }
57033 if (num6 > 255f)
57034 {
57035 num6 = 255f;
57036 }
57037 if (num7 > 255f)
57038 {
57039 num7 = 255f;
57040 }
57041 if (x > (float)(int)colorOfSurfaceBackgroundsModified.R)
57042 {
57043 colorOfSurfaceBackgroundsModified.R = (byte)x;
57044 }
57045 if (num6 > (float)(int)colorOfSurfaceBackgroundsModified.G)
57046 {
57047 colorOfSurfaceBackgroundsModified.G = (byte)num6;
57048 }
57049 if (num7 > (float)(int)colorOfSurfaceBackgroundsModified.B)
57050 {
57051 colorOfSurfaceBackgroundsModified.B = (byte)num7;
57052 }
57053 bgScale = 1.32f;
57056 bgWidthScaled = (int)((float)backgroundWidth[bgTexIndexes[1]] * bgScale);
57057 bgParallax = 0.43;
57059 SkyManager.Instance.DrawToDepth(spriteBatch, 1f / (float)bgParallax);
57060 bgStartX = (int)(0.0 - Math.IEEERemainder((double)screenPosition.X * bgParallax, bgWidthScaled) - (double)(bgWidthScaled / 2));
57061 bgTopY = (int)(backgroundTopMagicNumber * 1950.0 + 1675.0) + (int)scAdj + pushBGTopHack;
57063 if (gameMenu)
57064 {
57065 bgTopY = 400 + pushBGTopHack;
57066 bgStartX -= 80;
57067 }
57068 if (bgWidthScaled == 0)
57069 {
57070 return;
57071 }
57073 if ((double)screenPosition.Y < worldSurface * 16.0 + 16.0)
57074 {
57075 for (int j = 0; j < bgLoops; j++)
57076 {
57078 }
57079 }
57081 num5 = (float)rand.Next(28, 42) * 0.001f;
57082 num5 += (float)(270 - mouseTextColor) / 3000f;
57083 x = vector3.X;
57084 num6 = vector3.Y + num5 / 2f;
57085 num7 = vector3.Z + num5;
57086 x *= 255f * num4 * num3;
57087 num6 *= 255f * num4 * num3;
57088 num7 *= 255f * num4 * num3;
57089 if (x > 255f)
57090 {
57091 x = 255f;
57092 }
57093 if (num6 > 255f)
57094 {
57095 num6 = 255f;
57096 }
57097 if (num7 > 255f)
57098 {
57099 num7 = 255f;
57100 }
57101 if (x > (float)(int)colorOfSurfaceBackgroundsModified.R)
57102 {
57103 colorOfSurfaceBackgroundsModified.R = (byte)x;
57104 }
57105 if (num6 > (float)(int)colorOfSurfaceBackgroundsModified.G)
57106 {
57107 colorOfSurfaceBackgroundsModified.G = (byte)num6;
57108 }
57109 if (num7 > (float)(int)colorOfSurfaceBackgroundsModified.B)
57110 {
57111 colorOfSurfaceBackgroundsModified.B = (byte)num7;
57112 }
57113 bgScale = 1.36f;
57116 bgWidthScaled = (int)((float)backgroundWidth[bgTexIndexes[2]] * bgScale);
57117 bgParallax = 0.49;
57119 SkyManager.Instance.DrawToDepth(spriteBatch, 1f / (float)bgParallax);
57120 bgStartX = (int)(0.0 - Math.IEEERemainder((double)screenPosition.X * bgParallax, bgWidthScaled) - (double)(bgWidthScaled / 2));
57121 bgTopY = (int)(backgroundTopMagicNumber * 2100.0 + 1950.0) + (int)scAdj + pushBGTopHack;
57123 if (gameMenu)
57124 {
57125 bgTopY = 480 + pushBGTopHack;
57126 bgStartX -= 120;
57127 }
57128 if (bgWidthScaled == 0)
57129 {
57130 return;
57131 }
57133 if ((double)screenPosition.Y < worldSurface * 16.0 + 16.0)
57134 {
57135 for (int k = 0; k < bgLoops; k++)
57136 {
57138 }
57139 }
57140 SkyManager.Instance.DrawToDepth(spriteBatch, 1f);
57141 }
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
Microsoft.Xna.Framework.? Rectangle GetBackgroundRect(int backgroundTextureIndex)
Definition Main.cs:57968
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
static byte mouseTextColor
Definition Main.cs:1751
int bgLoops
Definition Main.cs:960
int bgStartX
Definition Main.cs:958
static Microsoft.Xna.Framework.Color ColorOfSurfaceBackgroundsModified
Definition Main.cs:2581
static UnifiedRandom rand
Definition Main.cs:1387
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.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, Terraria.Main.GetBackgroundRect(), System.Text.RegularExpressions.i, System.Math.IEEERemainder(), Terraria.Graphics.Effects.SkyManager.Instance, Terraria.Main.LoadBackground(), Terraria.Main.mouseTextColor, Terraria.Main.rand, Terraria.Main.scAdj, Terraria.Main.screenPosition, Terraria.Main.screenWidth, Terraria.Main.SetBackgroundOffsets(), Terraria.Main.spriteBatch, Microsoft.Xna.Framework.Graphics.Vector3, and Terraria.Main.worldSurface.

Referenced by Terraria.Main.DrawSurfaceBG().