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

◆ ProcessArea()

void Terraria.Graphics.Light.LegacyLighting.ProcessArea ( Rectangle area)
inline

Implements Terraria.Graphics.Light.ILightingEngine.

Definition at line 295 of file LegacyLighting.cs.

296 {
298 float num = (float)(int)Main.tileColor.R / 255f;
299 float num2 = (float)(int)Main.tileColor.G / 255f;
300 float num3 = (float)(int)Main.tileColor.B / 255f;
301 _skyColor = (num + num2 + num3) / 3f;
303 {
304 _offScreenTiles2 = 34;
305 Lighting.OffScreenTiles = 40;
306 }
307 else
308 {
309 _offScreenTiles2 = 18;
310 Lighting.OffScreenTiles = 23;
311 }
315 _requestedRectBottom = area.Bottom;
316 _expandedRectLeft = _requestedRectLeft - Lighting.OffScreenTiles;
317 _expandedRectTop = _requestedRectTop - Lighting.OffScreenTiles;
318 _expandedRectRight = _requestedRectRight + Lighting.OffScreenTiles;
319 _expandedRectBottom = _requestedRectBottom + Lighting.OffScreenTiles;
320 Main.renderCount++;
321 int maxLightArrayX = (int)_camera.UnscaledSize.X / 16 + Lighting.OffScreenTiles * 2;
322 int maxLightArrayY = (int)_camera.UnscaledSize.Y / 16 + Lighting.OffScreenTiles * 2;
323 if (Main.renderCount < 3)
324 {
325 DoColors();
326 }
327 if (Main.renderCount == 2)
328 {
330 }
331 else if (!Main.renderNow)
332 {
334 if (Netplay.Connection.StatusMax > 0)
335 {
336 Main.mapTime = 1;
337 }
338 if (Main.mapDelay > 0)
339 {
340 Main.mapDelay--;
341 }
342 else if (Main.mapTime == 0 && Main.mapEnabled && Main.renderCount == 3)
343 {
344 try
345 {
347 }
348 catch
349 {
350 }
351 }
352 if (_oldSkyColor != _skyColor)
353 {
355 }
356 }
357 if (Main.renderCount > RenderPhases)
358 {
360 }
361 }
void ShiftUnProcessedDataOver(int maxLightArrayX, int maxLightArrayY)
void UpdateLightToSkyColor(float tileR, float tileG, float tileB)
void CopyFullyProcessedDataOver(int maxLightArrayX, int maxLightArrayY)

References Terraria.Graphics.Light.LegacyLighting._camera, Terraria.Graphics.Light.LegacyLighting._expandedRectBottom, Terraria.Graphics.Light.LegacyLighting._expandedRectLeft, Terraria.Graphics.Light.LegacyLighting._expandedRectRight, Terraria.Graphics.Light.LegacyLighting._expandedRectTop, Terraria.Graphics.Light.LegacyLighting._offScreenTiles2, Terraria.Graphics.Light.LegacyLighting._oldSkyColor, Terraria.Graphics.Light.LegacyLighting._requestedRectBottom, Terraria.Graphics.Light.LegacyLighting._requestedRectLeft, Terraria.Graphics.Light.LegacyLighting._requestedRectRight, Terraria.Graphics.Light.LegacyLighting._requestedRectTop, Terraria.Graphics.Light.LegacyLighting._skyColor, Terraria.Netplay.Connection, Terraria.Graphics.Light.LegacyLighting.CopyFullyProcessedDataOver(), Terraria.Graphics.Light.LegacyLighting.DoColors(), Terraria.Graphics.Light.LegacyLighting.IsColorOrWhiteMode, Terraria.Main.mapDelay, Terraria.Main.mapEnabled, Terraria.Main.mapTime, Terraria.Lighting.OffScreenTiles, Terraria.Graphics.Light.LegacyLighting.PreRenderPhase(), Terraria.Main.renderCount, Terraria.Main.renderNow, Terraria.Graphics.Light.LegacyLighting.RenderPhases, Terraria.Graphics.Light.LegacyLighting.ShiftUnProcessedDataOver(), Terraria.Graphics.Light.LegacyLighting.TryUpdatingMapWithLight(), Terraria.Graphics.Camera.UnscaledSize, Terraria.Graphics.Light.LegacyLighting.UpdateLightToSkyColor(), Microsoft.Xna.Framework.Vector2.X, and Microsoft.Xna.Framework.Vector2.Y.