1264 {
1266 {
1271 {
1272 Main.spriteBatch.Draw(
tileDrawTexture,
new Vector2(
tileX * 16 - (
int)screenPosition.
X,
tileY * 16 - (
int)screenPosition.
Y) +
screenOffset,
new Rectangle(90, y, 16, 16),
drawData.tileLight, 0f,
default(
Vector2), 1f,
drawData.tileSpriteEffect, 0f);
1273 }
1274 }
1275 if (
drawData.tileCache.slope() > 0)
1276 {
1278 {
1281 {
1284 {
1285 value.X = 324;
1286 }
1288 }
1290 {
1293 {
1294 value2.X = 306;
1295 }
1297 }
1298 return;
1299 }
1301 {
1302 Main.spriteBatch.Draw(
drawData.drawTexture,
normalTilePosition,
new Rectangle(
drawData.tileFrameX +
drawData.addFrX,
drawData.tileFrameY +
drawData.addFrY, 16, 16),
drawData.finalColor, 0f,
_zero, 1f,
drawData.tileSpriteEffect, 0f);
1303 return;
1304 }
1305 int num =
drawData.tileCache.slope();
1307 for (
int i = 0;
i < 8;
i++)
1308 {
1310 int num4 = 16 -
i * 2;
1313 switch (num)
1314 {
1315 case 1:
1320 break;
1321 case 2:
1323 num6 = 16 -
i * 2 - 2;
1326 break;
1327 case 3:
1329 break;
1330 default:
1331 num6 = 16 -
i * 2 - 2;
1332 break;
1333 }
1334 Main.spriteBatch.Draw(
drawData.drawTexture,
normalTilePosition +
new Vector2(
num6, i *
num2 +
num3),
new Rectangle(
drawData.tileFrameX +
drawData.addFrX +
num6,
drawData.tileFrameY +
drawData.addFrY +
num5,
num2,
num4),
drawData.finalColor, 0f,
_zero, 1f,
drawData.tileSpriteEffect, 0f);
1335 }
1336 int num7 = ((num <= 2) ? 14 : 0);
1337 Main.spriteBatch.Draw(
drawData.drawTexture,
normalTilePosition +
new Vector2(0f,
num7),
new Rectangle(
drawData.tileFrameX +
drawData.addFrX,
drawData.tileFrameY +
drawData.addFrY +
num7, 16, 2),
drawData.finalColor, 0f,
_zero, 1f,
drawData.tileSpriteEffect, 0f);
1338 return;
1339 }
1341 {
1343 {
1344 Main.spriteBatch.Draw(
drawData.drawTexture,
normalTilePosition +
new Vector2(0f, 8f),
new Rectangle(
drawData.tileFrameX +
drawData.addFrX,
drawData.addFrY +
drawData.tileFrameY + 8,
drawData.tileWidth, 8),
drawData.finalColor, 0f,
_zero, 1f,
drawData.tileSpriteEffect, 0f);
1347 {
1349 }
1351 }
1352 else if (Main.tile[
tileX - 1,
tileY].halfBrick())
1353 {
1356 {
1358 }
1359 Main.spriteBatch.Draw(
drawData.drawTexture,
normalTilePosition +
new Vector2(0f, 8f),
new Rectangle(
drawData.tileFrameX +
drawData.addFrX,
drawData.addFrY +
drawData.tileFrameY + 8,
drawData.tileWidth, 8),
drawData.finalColor, 0f,
_zero, 1f,
drawData.tileSpriteEffect, 0f);
1360 Main.spriteBatch.Draw(
drawData.drawTexture,
normalTilePosition +
new Vector2(
num8, 0f),
new Rectangle(
drawData.tileFrameX +
num8 +
drawData.addFrX,
drawData.addFrY +
drawData.tileFrameY,
drawData.tileWidth -
num8,
drawData.tileHeight),
drawData.finalColor, 0f,
_zero, 1f,
drawData.tileSpriteEffect, 0f);
1361 Main.spriteBatch.Draw(
drawData.drawTexture,
normalTilePosition,
new Rectangle(144 +
drawData.addFrX,
drawData.addFrY,
num8, 8),
drawData.finalColor, 0f,
_zero, 1f,
drawData.tileSpriteEffect, 0f);
1363 {
1364 Main.spriteBatch.Draw(
drawData.drawTexture,
normalTilePosition,
new Rectangle(148 +
drawData.addFrX,
drawData.addFrY, 2, 2),
drawData.finalColor, 0f,
_zero, 1f,
drawData.tileSpriteEffect, 0f);
1365 }
1366 }
1367 else if (Main.tile[
tileX + 1,
tileY].halfBrick())
1368 {
1371 {
1373 }
1374 Main.spriteBatch.Draw(
drawData.drawTexture,
normalTilePosition +
new Vector2(0f, 8f),
new Rectangle(
drawData.tileFrameX +
drawData.addFrX,
drawData.addFrY +
drawData.tileFrameY + 8,
drawData.tileWidth, 8),
drawData.finalColor, 0f,
_zero, 1f,
drawData.tileSpriteEffect, 0f);
1375 Main.spriteBatch.Draw(
drawData.drawTexture,
normalTilePosition,
new Rectangle(
drawData.tileFrameX +
drawData.addFrX,
drawData.addFrY +
drawData.tileFrameY,
drawData.tileWidth -
num9,
drawData.tileHeight),
drawData.finalColor, 0f,
_zero, 1f,
drawData.tileSpriteEffect, 0f);
1376 Main.spriteBatch.Draw(
drawData.drawTexture,
normalTilePosition +
new Vector2(16 -
num9, 0f),
new Rectangle(144 + (16 -
num9), 0,
num9, 8),
drawData.finalColor, 0f,
_zero, 1f,
drawData.tileSpriteEffect, 0f);
1378 {
1379 Main.spriteBatch.Draw(
drawData.drawTexture,
normalTilePosition +
new Vector2(14f, 0f),
new Rectangle(156, 0, 2, 2),
drawData.finalColor, 0f,
_zero, 1f,
drawData.tileSpriteEffect, 0f);
1380 }
1381 }
1382 return;
1383 }
1385 {
1387 return;
1388 }
1390 {
1392 {
1394 }
1395 else
1396 {
1397 Main.spriteBatch.Draw(
drawData.drawTexture,
normalTilePosition,
normalTileRect.Modified(0, 0, 0, -4),
drawData.finalColor, 0f,
_zero, 1f,
drawData.tileSpriteEffect, 0f);
1398 Main.spriteBatch.Draw(
drawData.drawTexture,
normalTilePosition +
new Vector2(0f, 4f),
new Rectangle(144 +
drawData.addFrX, 66 +
drawData.addFrY,
drawData.tileWidth, 4),
drawData.finalColor, 0f,
_zero, 1f,
drawData.tileSpriteEffect, 0f);
1399 }
1400 }
1402 {
1405 {
1407 position.Y += 8f;
1409 value4.Y += 8;
1410 value4.Height -= 8;
1413 position.Y -= 2f;
1415 value4.Y = 0;
1416 value4.Height = 10;
1418 }
1419 else
1420 {
1422 }
1423 }
1424 else
1425 {
1427 }
1429 }
void DrawSingleTile_SlicedBlock(Vector2 normalTilePosition, int tileX, int tileY, TileDrawInfo drawData)
void DrawSingleTile_Flames(Vector2 screenPosition, Vector2 screenOffset, int tileX, int tileY, TileDrawInfo drawData)
static readonly Vector2 _zero
Texture2D GetTileDrawTexture(Tile tile, int tileX, int tileY)
static bool[] AllBlocksWithSmoothBordersToResolveHalfBlockIssue
static bool[] BlocksStairsAbove
static bool[] HasSlopeFrames
static bool[] BlocksStairs
static bool[] IgnoresNearbyHalfbricksWhenDrawn
static bool[] DontDrawTileSliced
static bool[] NotReallySolid
static int[] CritterCageLidStyle