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

◆ ConvertOldTileEntities()

static void Terraria.IO.WorldFile.ConvertOldTileEntities ( )
inlinestaticprivate

Definition at line 1009 of file WorldFile.cs.

1010 {
1013 for (int i = 0; i < Main.maxTilesX; i++)
1014 {
1015 for (int j = 0; j < Main.maxTilesY; j++)
1016 {
1017 Tile tile = Main.tile[i, j];
1018 if ((tile.type == 128 || tile.type == 269) && tile.frameY == 0 && (tile.frameX % 100 == 0 || tile.frameX % 100 == 36))
1019 {
1020 list.Add(new Point(i, j));
1021 }
1022 if (tile.type == 334 && tile.frameY == 0 && tile.frameX % 54 == 0)
1023 {
1024 list2.Add(new Point(i, j));
1025 }
1026 if (tile.type == 49 && (tile.frameX == -1 || tile.frameY == -1))
1027 {
1028 tile.frameX = 0;
1029 tile.frameY = 0;
1030 }
1031 }
1032 }
1033 foreach (Point item in list)
1034 {
1035 if (!WorldGen.InWorld(item.X, item.Y, 5))
1036 {
1037 continue;
1038 }
1039 int frameX = Main.tile[item.X, item.Y].frameX;
1040 int frameX2 = Main.tile[item.X, item.Y + 1].frameX;
1041 int frameX3 = Main.tile[item.X, item.Y + 2].frameX;
1042 for (int k = 0; k < 2; k++)
1043 {
1044 for (int l = 0; l < 3; l++)
1045 {
1046 Tile tile2 = Main.tile[item.X + k, item.Y + l];
1047 tile2.frameX %= 100;
1048 if (tile2.type == 269)
1049 {
1050 tile2.frameX += 72;
1051 }
1052 tile2.type = 470;
1053 }
1054 }
1055 int num = TEDisplayDoll.Place(item.X, item.Y);
1056 if (num != -1)
1057 {
1058 (TileEntity.ByID[num] as TEDisplayDoll).SetInventoryFromMannequin(frameX, frameX2, frameX3);
1059 }
1060 }
1061 foreach (Point item2 in list2)
1062 {
1063 if (!WorldGen.InWorld(item2.X, item2.Y, 5))
1064 {
1065 continue;
1066 }
1067 bool flag = Main.tile[item2.X, item2.Y].frameX >= 54;
1068 short frameX4 = Main.tile[item2.X, item2.Y + 1].frameX;
1069 int frameX5 = Main.tile[item2.X + 1, item2.Y + 1].frameX;
1070 bool flag2 = frameX4 >= 5000;
1071 int num2 = frameX4 % 5000;
1072 num2 -= 100;
1073 int prefix = frameX5 - ((frameX5 >= 25000) ? 25000 : 10000);
1074 for (int m = 0; m < 3; m++)
1075 {
1076 for (int n = 0; n < 3; n++)
1077 {
1078 Tile tile3 = Main.tile[item2.X + m, item2.Y + n];
1079 tile3.type = 471;
1080 tile3.frameX = (short)((flag ? 54 : 0) + m * 18);
1081 tile3.frameY = (short)(n * 18);
1082 }
1083 }
1084 if (TEWeaponsRack.Place(item2.X, item2.Y) != -1 && flag2)
1085 {
1087 }
1088 }
1089 }
void Add(TKey key, TValue value)
static Dictionary< int, TileEntity > ByID
Definition TileEntity.cs:18
static void TryPlacing(int x, int y, int netid, int prefix, int stack)

References System.Collections.Generic.Dictionary< TKey, TValue >.Add(), Terraria.DataStructures.TileEntity.ByID, Terraria.Tile.frameX, Terraria.Tile.frameY, Terraria.WorldGen.InWorld(), System.item, System.list, Terraria.Main.maxTilesX, Terraria.Main.maxTilesY, Terraria.GameContent.Tile_Entities.TEDisplayDoll.Place(), Terraria.GameContent.Tile_Entities.TEWeaponsRack.Place(), System.prefix, Terraria.Main.tile, Terraria.GameContent.Tile_Entities.TEWeaponsRack.TryPlacing(), and Terraria.Tile.type.

Referenced by Terraria.IO.WorldFile.LoadWorld().