public static void SmoothSlope(int x, int y, bool applyToNeighbors = true) { if (applyToNeighbors) { SmoothSlope(x + 1, y, applyToNeighbors: false); SmoothSlope(x - 1, y, applyToNeighbors: false); SmoothSlope(x, y + 1, applyToNeighbors: false); SmoothSlope(x, y - 1, applyToNeighbors: false); } Tile tile = Main.tile[x, y]; if (!WorldGen.SolidOrSlopedTile(x, y)) { return; } bool flag = !WorldGen.TileEmpty(x, y - 1); bool flag2 = !WorldGen.SolidOrSlopedTile(x, y - 1) && flag; bool flag3 = WorldGen.SolidOrSlopedTile(x, y + 1); bool flag4 = WorldGen.SolidOrSlopedTile(x - 1, y); bool flag5 = WorldGen.SolidOrSlopedTile(x + 1, y); switch (((flag ? 1 : 0) << 3) | ((flag3 ? 1 : 0) << 2) | ((flag4 ? 1 : 0) << 1) | (flag5 ? 1 : 0)) { case 10: if (!flag2) { tile.halfBrick(halfBrick: false); tile.slope(3); } break; case 9: if (!flag2) { tile.halfBrick(halfBrick: false); tile.slope(4); } break; case 6: tile.halfBrick(halfBrick: false); tile.slope(1); break; case 5: tile.halfBrick(halfBrick: false); tile.slope(2); break; case 4: tile.slope(0); tile.halfBrick(halfBrick: true); break; default: tile.halfBrick(halfBrick: false); tile.slope(0); break; } }
// Token: 0x0600048C RID: 1164 RVA: 0x00293EE4 File Offset: 0x002920E4 public static void SmoothSlope(int x, int y, bool applyToNeighbors = true) { if (applyToNeighbors) { Tile.SmoothSlope(x + 1, y, false); Tile.SmoothSlope(x - 1, y, false); Tile.SmoothSlope(x, y + 1, false); Tile.SmoothSlope(x, y - 1, false); } Tile tile = Main.tile[x, y]; if (!WorldGen.SolidOrSlopedTile(x, y)) { return; } bool flag = !WorldGen.TileEmpty(x, y - 1); bool flag2 = !WorldGen.SolidOrSlopedTile(x, y - 1) & flag; bool flag3 = WorldGen.SolidOrSlopedTile(x, y + 1); bool flag4 = WorldGen.SolidOrSlopedTile(x - 1, y); bool flag5 = WorldGen.SolidOrSlopedTile(x + 1, y); switch ((flag ? 1 : 0) << 3 | (flag3 ? 1 : 0) << 2 | (flag4 ? 1 : 0) << 1 | (flag5 ? 1 : 0)) { case 4: tile.slope(0); tile.halfBrick(true); return; case 5: tile.halfBrick(false); tile.slope(2); return; case 6: tile.halfBrick(false); tile.slope(1); return; case 9: if (!flag2) { tile.halfBrick(false); tile.slope(4); return; } return; case 10: if (!flag2) { tile.halfBrick(false); tile.slope(3); return; } return; } tile.halfBrick(false); tile.slope(0); }
public static void SmoothSlope(int x, int y, bool applyToNeighbors = true) { if (applyToNeighbors) { Tile.SmoothSlope(x + 1, y, false); Tile.SmoothSlope(x - 1, y, false); Tile.SmoothSlope(x, y + 1, false); Tile.SmoothSlope(x, y - 1, false); } Tile tile = Main.tile[x, y]; if (!WorldGen.SolidOrSlopedTile(x, y)) { return; } bool flag = !WorldGen.TileEmpty(x, y - 1); bool flag1 = (WorldGen.SolidOrSlopedTile(x, y - 1) ? false : flag); bool flag2 = WorldGen.SolidOrSlopedTile(x, y + 1); bool flag3 = WorldGen.SolidOrSlopedTile(x - 1, y); bool flag4 = WorldGen.SolidOrSlopedTile(x + 1, y); switch ((flag ? 1 : 0) << 3 | (flag2 ? 1 : 0) << 2 | (flag3 ? 1 : 0) << 1 | (flag4 ? 1 : 0)) { case 4: { tile.slope(0); tile.halfBrick(true); return; } case 5: { tile.halfBrick(false); tile.slope(2); return; } case 6: { tile.halfBrick(false); tile.slope(1); return; } case 7: case 8: { tile.halfBrick(false); tile.slope(0); break; } case 9: { if (flag1) { break; } tile.halfBrick(false); tile.slope(4); return; } case 10: { if (flag1) { break; } tile.halfBrick(false); tile.slope(3); return; } default: { goto case 8; } } }
public static void SmoothSlope(int x, int y, bool applyToNeighbors = true) { if (applyToNeighbors) { Tile.SmoothSlope(x + 1, y, false); Tile.SmoothSlope(x - 1, y, false); Tile.SmoothSlope(x, y + 1, false); Tile.SmoothSlope(x, y - 1, false); } var tile = Main.tile[x, y]; if (!WorldGen.SolidOrSlopedTile(x, y)) { return; } var flag1 = !WorldGen.TileEmpty(x, y - 1); var flag2 = !WorldGen.SolidOrSlopedTile(x, y - 1) && flag1; var flag3 = WorldGen.SolidOrSlopedTile(x, y + 1); var flag4 = WorldGen.SolidOrSlopedTile(x - 1, y); var flag5 = WorldGen.SolidOrSlopedTile(x + 1, y); switch ((flag1 ? 1 : 0) << 3 | (flag3 ? 1 : 0) << 2 | (flag4 ? 1 : 0) << 1 | (flag5 ? 1 : 0)) { case 4: tile.slope((byte)0); tile.halfBrick(true); break; case 5: tile.halfBrick(false); tile.slope((byte)2); break; case 6: tile.halfBrick(false); tile.slope((byte)1); break; case 9: if (flag2) { break; } tile.halfBrick(false); tile.slope((byte)4); break; case 10: if (flag2) { break; } tile.halfBrick(false); tile.slope((byte)3); break; default: tile.halfBrick(false); tile.slope((byte)0); break; } }
public static void SmoothSlope(int x, int y, bool applyToNeighbors = true, bool sync = false) { if (applyToNeighbors) { Tile.SmoothSlope(x + 1, y, false, sync); Tile.SmoothSlope(x - 1, y, false, sync); Tile.SmoothSlope(x, y + 1, false, sync); Tile.SmoothSlope(x, y - 1, false, sync); } Tile tile = Main.tile[x, y]; if (!WorldGen.CanPoundTile(x, y) || !WorldGen.SolidOrSlopedTile(x, y)) { return; } bool flag1 = !WorldGen.TileEmpty(x, y - 1); bool flag2 = !WorldGen.SolidOrSlopedTile(x, y - 1) & flag1; bool flag3 = WorldGen.SolidOrSlopedTile(x, y + 1); bool flag4 = WorldGen.SolidOrSlopedTile(x - 1, y); bool flag5 = WorldGen.SolidOrSlopedTile(x + 1, y); int num1 = (flag1 ? 1 : 0) << 3 | (flag3 ? 1 : 0) << 2 | (flag4 ? 1 : 0) << 1 | (flag5 ? 1 : 0); bool flag6 = tile.halfBrick(); int num2 = (int)tile.slope(); switch (num1) { case 4: tile.slope((byte)0); tile.halfBrick(true); break; case 5: tile.halfBrick(false); tile.slope((byte)2); break; case 6: tile.halfBrick(false); tile.slope((byte)1); break; case 9: if (!flag2) { tile.halfBrick(false); tile.slope((byte)4); break; } break; case 10: if (!flag2) { tile.halfBrick(false); tile.slope((byte)3); break; } break; default: tile.halfBrick(false); tile.slope((byte)0); break; } if (!sync) { return; } int num3 = (int)tile.slope(); bool flag7 = flag6 != tile.halfBrick(); bool flag8 = num2 != num3; if (flag7 & flag8) { NetMessage.SendData(17, -1, -1, (NetworkText)null, 23, (float)x, (float)y, (float)num3, 0, 0, 0); } else if (flag7) { NetMessage.SendData(17, -1, -1, (NetworkText)null, 7, (float)x, (float)y, 1f, 0, 0, 0); } else { if (!flag8) { return; } NetMessage.SendData(17, -1, -1, (NetworkText)null, 14, (float)x, (float)y, (float)num3, 0, 0, 0); } }
public static void SmoothSlope(int x, int y, bool applyToNeighbors = true, bool sync = false) { if (applyToNeighbors) { SmoothSlope(x + 1, y, applyToNeighbors: false, sync); SmoothSlope(x - 1, y, applyToNeighbors: false, sync); SmoothSlope(x, y + 1, applyToNeighbors: false, sync); SmoothSlope(x, y - 1, applyToNeighbors: false, sync); } Tile tile = Main.tile[x, y]; if (!WorldGen.CanPoundTile(x, y) || !WorldGen.SolidOrSlopedTile(x, y)) { return; } bool flag = !WorldGen.TileEmpty(x, y - 1); bool flag2 = !WorldGen.SolidOrSlopedTile(x, y - 1) && flag; bool flag3 = WorldGen.SolidOrSlopedTile(x, y + 1); bool flag4 = WorldGen.SolidOrSlopedTile(x - 1, y); bool flag5 = WorldGen.SolidOrSlopedTile(x + 1, y); int num = ((flag ? 1 : 0) << 3) | ((flag3 ? 1 : 0) << 2) | ((flag4 ? 1 : 0) << 1) | (flag5 ? 1 : 0); bool flag6 = tile.halfBrick(); int num2 = tile.slope(); switch (num) { case 10: if (!flag2) { tile.halfBrick(halfBrick: false); tile.slope(3); } break; case 9: if (!flag2) { tile.halfBrick(halfBrick: false); tile.slope(4); } break; case 6: tile.halfBrick(halfBrick: false); tile.slope(1); break; case 5: tile.halfBrick(halfBrick: false); tile.slope(2); break; case 4: tile.slope(0); tile.halfBrick(halfBrick: true); break; default: tile.halfBrick(halfBrick: false); tile.slope(0); break; } if (sync) { int num3 = tile.slope(); bool flag7 = flag6 != tile.halfBrick(); bool flag8 = num2 != num3; if (flag7 && flag8) { NetMessage.SendData(17, -1, -1, null, 23, x, y, num3); } else if (flag7) { NetMessage.SendData(17, -1, -1, null, 7, x, y, 1f); } else if (flag8) { NetMessage.SendData(17, -1, -1, null, 14, x, y, num3); } } }