Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
Terraria.GameContent.Drawing.TileDrawing Class Reference

Classes

struct  TileFlameData
 

Public Member Functions

 TileDrawing (TilePaintSystemV2 paintSystem)
 
void PreparePaintForTilesOnScreen ()
 
void PrepareForAreaDrawing (int firstTileX, int lastTileX, int firstTileY, int lastTileY, bool prepareLazily)
 
void Update ()
 
void SpecificHacksForCapture ()
 
void PreDrawTiles (bool solidLayer, bool forRenderTargets, bool intoRenderTargets)
 
void PostDrawTiles (bool solidLayer, bool forRenderTargets, bool intoRenderTargets)
 
void DrawLiquidBehindTiles (int waterStyleOverride=-1)
 
void Draw (bool solidLayer, bool forRenderTargets, bool intoRenderTargets, int waterStyleOverride=-1)
 
void ClearCachedTileDraws (bool solidLayer)
 

Static Public Member Functions

static int GetTreeVariant (int x, int y)
 

Properties

bool[] _tileSolid [get]
 
bool[] _tileSolidTop [get]
 
Dust[] _dust [get]
 
Gore[] _gore [get]
 

Private Types

enum  TileCounterType {
  Tree , DisplayDoll , HatRack , WindyGrass ,
  MultiTileGrass , MultiTileVine , Vine , BiomeGrass ,
  VoidLens , ReverseVine , TeleportationPylon , MasterTrophy ,
  AnyDirectionalGrass , Count
}
 

Private Member Functions

void AddSpecialPoint (int x, int y, TileCounterType type)
 
void MakeExtraPreparations (Tile tile, int x, int y)
 
void CrawlToTopOfVineAndAddSpecialPoint (int j, int i)
 
void CrawlToBottomOfReverseVineAndAddSpecialPoint (int j, int i)
 
void DrawSingleTile (TileDrawInfo drawData, bool solidLayer, int waterStyleOverride, Vector2 screenPosition, Vector2 screenOffset, int tileX, int tileY)
 
bool IsVisible (Tile tile)
 
Texture2D GetTileDrawTexture (Tile tile, int tileX, int tileY)
 
Texture2D GetTileDrawTexture (Tile tile, int tileX, int tileY, int paintOverride)
 
void DrawBasicTile (Vector2 screenPosition, Vector2 screenOffset, int tileX, int tileY, TileDrawInfo drawData, Rectangle normalTileRect, Vector2 normalTilePosition)
 
int GetPalmTreeBiome (int tileX, int tileY)
 
TileFlameData GetTileFlameData (int tileX, int tileY, int type, int tileFrameY)
 
void DrawSingleTile_Flames (Vector2 screenPosition, Vector2 screenOffset, int tileX, int tileY, TileDrawInfo drawData)
 
int GetPalmTreeVariant (int x, int y)
 
void DrawSingleTile_SlicedBlock (Vector2 normalTilePosition, int tileX, int tileY, TileDrawInfo drawData)
 
void DrawXmasTree (Vector2 screenPosition, Vector2 screenOffset, int tileX, int tileY, TileDrawInfo drawData)
 
void DrawTile_MinecartTrack (Vector2 screenPosition, Vector2 screenOffset, int tileX, int tileY, TileDrawInfo drawData)
 
void DrawTile_LiquidBehindTile (bool solidLayer, bool inFrontOfPlayers, int waterStyleOverride, Vector2 screenPosition, Vector2 screenOffset, int tileX, int tileY, Tile tileCache)
 
void CacheSpecialDraws_Part1 (int tileX, int tileY, int tileType, int drawDataTileFrameX, int drawDataTileFrameY, bool skipDraw)
 
void CacheSpecialDraws_Part2 (int tileX, int tileY, TileDrawInfo drawData, bool skipDraw)
 
bool IsTileDrawLayerSolid (ushort typeCache)
 
void GetTileOutlineInfo (int x, int y, ushort typeCache, ref Color tileLight, ref Texture2D highlightTexture, ref Color highlightColor)
 
void DrawPartialLiquid (bool behindBlocks, Tile tileCache, ref Vector2 position, ref Rectangle liquidSize, int liquidType, ref VertexColors colors)
 
bool InAPlaceWithWind (int x, int y, int width, int height)
 
void GetTileDrawData (int x, int y, Tile tileCache, ushort typeCache, ref short tileFrameX, ref short tileFrameY, out int tileWidth, out int tileHeight, out int tileTop, out int halfBrickHeight, out int addFrX, out int addFrY, out SpriteEffects tileSpriteEffect, out Texture2D glowTexture, out Rectangle glowSourceRect, out Color glowColor)
 
bool IsWindBlocked (int x, int y)
 
int GetWaterAnimalCageFrame (int x, int y, int tileFrameX, int tileFrameY)
 
int GetSmallAnimalCageFrame (int x, int y, int tileFrameX, int tileFrameY)
 
int GetBigAnimalCageFrame (int x, int y, int tileFrameX, int tileFrameY)
 
void GetScreenDrawArea (Vector2 screenPosition, Vector2 offSet, out int firstTileX, out int lastTileX, out int firstTileY, out int lastTileY)
 
void AddSpecialLegacyPoint (Point p)
 
void AddSpecialLegacyPoint (int x, int y)
 
void ClearLegacyCachedDraws ()
 
Color DrawTiles_GetLightOverride (int j, int i, Tile tileCache, ushort typeCache, short tileFrameX, short tileFrameY, Color tileLight)
 
void DrawTiles_EmitParticles (int j, int i, Tile tileCache, ushort typeCache, short tileFrameX, short tileFrameY, Color tileLight)
 
void EmitLivingTreeLeaf (int i, int j, int leafGoreType)
 
void EmitLivingTreeLeaf_Below (int x, int y, int leafGoreType)
 
void EmitLivingTreeLeaf_Sideways (int x, int y, int leafGoreType)
 
void EmitLiquidDrops (int j, int i, Tile tileCache, ushort typeCache)
 
float GetWindCycle (int x, int y, double windCounter)
 
bool ShouldSwayInWind (int x, int y, Tile tileCache)
 
void UpdateLeafFrequency ()
 
void EnsureWindGridSize ()
 
void EmitTreeLeaves (int tilePosX, int tilePosY, int grassPosX, int grassPosY)
 
void DrawSpecialTilesLegacy (Vector2 screenPosition, Vector2 offSet)
 
void DrawEntities_DisplayDolls ()
 
void DrawEntities_HatRacks ()
 
void DrawTrees ()
 
Texture2D GetTreeTopTexture (int treeTextureIndex, int treeTextureStyle, byte tileColor)
 
Texture2D GetTreeBranchTexture (int treeTextureIndex, int treeTextureStyle, byte tileColor)
 
void DrawGrass ()
 
void DrawAnyDirectionalGrass ()
 
void DrawAnimatedTile_AdjustForVisionChangers (int i, int j, Tile tileCache, ushort typeCache, short tileFrameX, short tileFrameY, ref Color tileLight, bool canDoDust)
 
float GetWindGridPush (int i, int j, int pushAnimationTimeTotal, float pushForcePerFrame)
 
void GetWindGridPush2Axis (int i, int j, int pushAnimationTimeTotal, float pushForcePerFrame, out float pushX, out float pushY)
 
float GetWindGridPushComplex (int i, int j, int pushAnimationTimeTotal, float totalPushForce, int loops, bool flipDirectionPerLoop)
 
void DrawMasterTrophies ()
 
void DrawTeleportationPylons ()
 
void DrawVoidLenses ()
 
void DrawMultiTileGrass ()
 
int ClimbCatTail (int originx, int originy)
 
void DrawMultiTileVines ()
 
void DrawVines ()
 
void DrawReverseVines ()
 
void DrawMultiTileGrassInWind (Vector2 screenPosition, Vector2 offSet, int topLeftX, int topLeftY, int sizeX, int sizeY)
 
void DrawVineStrip (Vector2 screenPosition, Vector2 offSet, int x, int startY)
 
void DrawRisingVineStrip (Vector2 screenPosition, Vector2 offSet, int x, int startY)
 
float GetAverageWindGridPush (int topLeftX, int topLeftY, int sizeX, int sizeY, int totalPushTime, float pushForcePerFrame)
 
float GetHighestWindGridPushComplex (int topLeftX, int topLeftY, int sizeX, int sizeY, int totalPushTime, float pushForcePerFrame, int loops, bool swapLoopDir)
 
void DrawMultiTileVinesInWind (Vector2 screenPosition, Vector2 offSet, int topLeftX, int topLeftY, int sizeX, int sizeY)
 
void EmitAlchemyHerbParticles (int j, int i, int style)
 
bool IsAlchemyPlantHarvestable (int style)
 

Static Private Member Functions

static int GetTreeBiome (int tileX, int tileY, int tileFrameX, int tileFrameY)
 
static Color GetFinalLight (Tile tileCache, ushort typeCache, Color tileLight, Color tint)
 
static void GetFinalLight (Tile tileCache, ushort typeCache, ref Vector3 tileLight, ref Vector3 tint)
 
static bool ShouldTileShine (ushort type, short frameX)
 
static bool IsTileDangerous (Player localPlayer, Tile tileCache, ushort typeCache)
 

Private Attributes

int _leafFrequency = 100000
 
int[] _specialsCount = new int[13]
 
Point[][] _specialPositions = new Point[13][]
 
Dictionary< Point, int > _displayDollTileEntityPositions = new Dictionary<Point, int>()
 
Dictionary< Point, int > _hatRackTileEntityPositions = new Dictionary<Point, int>()
 
Dictionary< Point, int > _trainingDummyTileEntityPositions = new Dictionary<Point, int>()
 
Dictionary< Point, int > _itemFrameTileEntityPositions = new Dictionary<Point, int>()
 
Dictionary< Point, int > _foodPlatterTileEntityPositions = new Dictionary<Point, int>()
 
Dictionary< Point, int > _weaponRackTileEntityPositions = new Dictionary<Point, int>()
 
Dictionary< Point, int > _chestPositions = new Dictionary<Point, int>()
 
int _specialTilesCount
 
int[] _specialTileX = new int[1000]
 
int[] _specialTileY = new int[1000]
 
UnifiedRandom _rand
 
double _treeWindCounter
 
double _grassWindCounter
 
double _sunflowerWindCounter
 
double _vineWindCounter
 
WindGrid _windGrid = new WindGrid()
 
bool _shouldShowInvisibleBlocks
 
bool _shouldShowInvisibleBlocks_LastFrame
 
List< Point_vineRootsPositions = new List<Point>()
 
List< Point_reverseVineRootsPositions = new List<Point>()
 
TilePaintSystemV2 _paintSystem
 
Color _martianGlow = new Color(0, 0, 0, 0)
 
Color _meteorGlow = new Color(100, 100, 100, 0)
 
Color _lavaMossGlow = new Color(150, 100, 50, 0)
 
Color _kryptonMossGlow = new Color(0, 200, 0, 0)
 
Color _xenonMossGlow = new Color(0, 180, 250, 0)
 
Color _argonMossGlow = new Color(225, 0, 125, 0)
 
Color _violetMossGlow = new Color(150, 0, 250, 0)
 
bool _isActiveAndNotPaused
 
Player _localPlayer = new Player()
 
Color _highQualityLightingRequirement
 
Color _mediumQualityLightingRequirement
 
ThreadLocal< TileDrawInfo_currentTileDrawInfo = new ThreadLocal<TileDrawInfo>(() => new TileDrawInfo())
 
TileDrawInfo _currentTileDrawInfoNonThreaded = new TileDrawInfo()
 
Vector3[] _glowPaintColorSlices
 
List< DrawData_voidLensData = new List<DrawData>()
 

Static Private Attributes

const int MAX_SPECIALS = 9000
 
const int MAX_SPECIALS_LEGACY = 1000
 
const float FORCE_FOR_MIN_WIND = 0.08f
 
const float FORCE_FOR_MAX_WIND = 1.2f
 
static readonly Vector2 _zero
 

Detailed Description

Definition at line 20 of file TileDrawing.cs.


The documentation for this class was generated from the following file: