Terraria 1.2.4 Source

Posts 1–15 of 19 · Page 1 of 2
Terraria 1.2.4 Source
If you find any bugs with the code provided, it would help if you could mention it to me.

Virus Scans:
https://www.metascan-online.com/en/s...6b2cd2bfbe1ec9
https://www.virustotal.com/en/file/1...is/1399691690/

Notes:
- Anything to do with servers is bugged up and does not work currently. If you find any fixes to problems with anything, notify me please.
- You'll need your own steam_api.dll and Content file/folders as I do not provide them.
- If you're going to be testing hosting a server through the client, you'll also need the "TerrariaServer.exe" file.
- If something doesn't work, search the project for "//EDIT:" as that is what I prefixed all of the lines that were just standalone math (like an entire line would be "Position + Velocity;", so I commented it out just in case it's needed later).
Terraria 1.2.4 Source_mpgh.net.zip1.1 MB · 241 downloads Clean
Quote Originally Posted by nivlac View Post
If you find any bugs with the code provided, it would help if you could mention it to me.
As soon as it gets approved.
Quote Originally Posted by Marcus101RR View Post
As soon as it gets approved.
I have actually found a horrid bug where you can't join servers.

When trying to join one, the server says you haven't sent a name ("Empty name.") although the client does send the name. I do notice that the client does send the name. I guess that the client doesn't send something, somewhere, leading for all the data to be offset and not enough, therefore the name being incorrect.

I'll see if I can fix it.
Quote Originally Posted by nivlac View Post
I have actually found a horrid bug where you can't join servers.

When trying to join one, the server says you haven't sent a name ("Empty name.") although the client does send the name. I do notice that the client does send the name. I guess that the client doesn't send something, somewhere, leading for all the data to be offset and not enough, therefore the name being incorrect.

I'll see if I can fix it.
maybe upload to Media fire till it gets approved?
Yes,the source decompiled by myself has the "empty name" bug as well.
Looks clean,

/Approved.
Thx for youer very good
How to decompile terraria?
I use to Ilspy but Fall
ILSpy would take time,you can try out dotPeek,it took about 100s to decompile Main.cs
I use a modified version of ILSpy, which doesn't crash when it gets to Item.cs (increased stack size), automatically puts some casts where they should be, and uses else if statements when possible.
A friend of mine has fixed the "empty name" bug,but he didn't tell me how.
player2.name = binaryReader.ReadString().Trim().Trim();
Decompiled Terraria don't write correctly name byte! Continue search fix...
I fixed it. Just replace function "public static void SendData(...)" in Net.Message.cs from Reflector!
Code:
        public static void SendData(int msgType, int remoteClient = -1, int ignoreClient = -1, string text = "", int number = 0, float number2 = 0f, float number3 = 0f, float number4 = 0f, int number5 = 0)
        {
            if (Main.netMode != 0)
            {
                int index = 0x100;
                if ((Main.netMode == 2) && (remoteClient >= 0))
                {
                    index = remoteClient;
                }
                lock (buffer[index])
                {
                    Player player2;
                    Item item;
                    int stack;
                    int netID;
                    int num6;
                    int num15;
                    int num16;
                    int num17;
                    int num18;
                    int num19;
                    Projectile projectile;
                    BitsByte num30;
                    int num31;
                    int x;
                    int y;
                    int length;
                    string str;
                    int num38;
                    int num39;
                    string displayName;
                    int num41;
                    int num42;
                    MemoryStream output = new MemoryStream(buffer[index].writeBuffer);
                    BinaryWriter bb = new BinaryWriter(output);
                    long position = bb.BaseStream.Position;
                    Stream baseStream = bb.BaseStream;
                    baseStream.Position += 2L;
                    bb.Write((byte)msgType);
                    switch (msgType)
                    {
                        case 1:
                            bb.Write("Terraria" + Main.curRelease);
                            goto Label_17AE;

                        case 2:
                            bb.Write(text);
                            if (Main.dedServ)
                            {
                                Console.WriteLine(Netplay.serverSock[index].tcpClient.Client.RemoteEndPoint.ToString() + " was booted: " + text);
                            }
                            goto Label_17AE;

                        case 3:
                            bb.Write((byte)remoteClient);
                            goto Label_17AE;

                        case 4:
                            {
                                Player player = Main.player[number];
                                bb.Write((byte)number);
                                bb.Write(player.male ? ((byte)0) : ((byte)1));
                                bb.Write((byte)player.hair);
                                bb.Write(text);
                                bb.Write(player.hairDye);
                                bb.Write((byte)player.hideVisual);
                                bb.WriteRGB(player.hairColor);
                                bb.WriteRGB(player.skinColor);
                                bb.WriteRGB(player.eyeColor);
                                bb.WriteRGB(player.shirtColor);
                                bb.WriteRGB(player.underShirtColor);
                                bb.WriteRGB(player.pantsColor);
                                bb.WriteRGB(player.shoeColor);
                                bb.Write(player.difficulty);
                                goto Label_17AE;
                            }
                        case 5:
                            bb.Write((byte)number);
                            bb.Write((byte)number2);
                            player2 = Main.player[number];
                            item = null;
                            stack = 0;
                            netID = 0;
                            if (number2 >= 59f)
                            {
                                break;
                            }
                            item = player2.inventory[(int)number2];
                            goto Label_035D;

                        case 7:
                            {
                                bb.Write((int)Main.time);
                                BitsByte num5 = 0;
                                num5[0] = Main.dayTime;
                                num5[1] = Main.bloodMoon;
                                num5[2] = Main.eclipse;
                                bb.Write((byte)num5);
                                bb.Write((byte)Main.moonPhase);
                                bb.Write((short)Main.maxTilesX);
                                bb.Write((short)Main.maxTilesY);
                                bb.Write((short)Main.spawnTileX);
                                bb.Write((short)Main.spawnTileY);
                                bb.Write((short)Main.worldSurface);
                                bb.Write((short)Main****ckLayer);
                                bb.Write(Main.worldID);
                                bb.Write(Main.worldName);
                                bb.Write((byte)Main.moonType);
                                bb.Write((byte)WorldGen.treeBG);
                                bb.Write((byte)WorldGen.corruptBG);
                                bb.Write((byte)WorldGen.jungleBG);
                                bb.Write((byte)WorldGen.snowBG);
                                bb.Write((byte)WorldGen.hallowBG);
                                bb.Write((byte)WorldGen.crimsonBG);
                                bb.Write((byte)WorldGen.desertBG);
                                bb.Write((byte)WorldGen.oceanBG);
                                bb.Write((byte)Main.iceBackStyle);
                                bb.Write((byte)Main.jungleBackStyle);
                                bb.Write((byte)Main.hellBackStyle);
                                bb.Write(Main.windSpeedSet);
                                bb.Write((byte)Main.numClouds);
                                num6 = 0;
                                goto Label_0537;
                            }
                        case 8:
                            bb.Write(number);
                            bb.Write((int)number2);
                            goto Label_17AE;

                        case 9:
                            bb.Write(number);
                            bb.Write(text);
                            goto Label_17AE;

                        case 10:
                            {
                                int num12 = CompressTileBlock(number, (int)number2, (short)number3, (short)number4, buffer[index].writeBuffer, (int)bb.BaseStream.Position, true);
                                Stream stream2 = bb.BaseStream;
                                stream2.Position += num12;
                                goto Label_17AE;
                            }
                        case 11:
                            bb.Write((short)number);
                            bb.Write((short)number2);
                            bb.Write((short)number3);
                            bb.Write((short)number4);
                            goto Label_17AE;

                        case 12:
                            bb.Write((byte)number);
                            bb.Write((short)Main.player[number].SpawnX);
                            bb.Write((short)Main.player[number].SpawnY);
                            goto Label_17AE;

                        case 13:
                            {
                                Player player3 = Main.player[number];
                                bb.Write((byte)number);
                                BitsByte num13 = 0;
                                num13[0] = player3.controlUp;
                                num13[1] = player3.controlDown;
                                num13[2] = player3.controlLeft;
                                num13[3] = player3.controlRight;
                                num13[4] = player3.controlJump;
                                num13[5] = player3.controlUseItem;
                                num13[6] = player3.direction == 1;
                                bb.Write((byte)num13);
                                BitsByte num14 = 0;
                                num14[0] = player3.pulley;
                                num14[1] = player3.pulley && (player3.pulleyDir == 2);
                                num14[2] = player3.velocity != Vector2.Zero;
                                bb.Write((byte)num14);
                                bb.Write((byte)player3.selectedItem);
                                bb.WriteVector2(player3.position);
                                bb.WriteVector2(player3.velocity);
                                goto Label_17AE;
                            }
                        case 14:
                            bb.Write((byte)number);
                            bb.Write((byte)number2);
                            goto Label_17AE;

                        case 0x10:
                            bb.Write((byte)number);
                            bb.Write((short)Main.player[number].statLife);
                            bb.Write((short)Main.player[number].statLifeMax);
                            goto Label_17AE;

                        case 0x11:
                            bb.Write((byte)number);
                            bb.Write((short)number2);
                            bb.Write((short)number3);
                            bb.Write((short)number4);
                            bb.Write((byte)number5);
                            goto Label_17AE;

                        case 0x12:
                            bb.Write(Main.dayTime ? ((byte)1) : ((byte)0));
                            bb.Write((int)Main.time);
                            bb.Write(Main.sunModY);
                            bb.Write(Main.moonModY);
                            goto Label_17AE;

                        case 0x13:
                            bb.Write((byte)number);
                            bb.Write((short)number2);
                            bb.Write((short)number3);
                            bb.Write((number4 == 1f) ? ((byte)1) : ((byte)0));
                            goto Label_17AE;

                        case 20:
                            num15 = number;
                            num16 = (int)number2;
                            num17 = (int)number3;
                            bb.Write((short)num15);
                            bb.Write((short)num16);
                            bb.Write((short)num17);
                            num18 = num16;
                            goto Label_0BB2;

                        case 0x15:
                            {
                                Item item2 = Main.item[number];
                                bb.Write((short)number);
                                bb.WriteVector2(item2.position);
                                bb.WriteVector2(item2.velocity);
                                bb.Write((short)item2.stack);
                                bb.Write(item2.prefix);
                                bb.Write((byte)number2);
                                short num24 = 0;
                                if (item2.active && (item2.stack > 0))
                                {
                                    num24 = (short)item2.netID;
                                }
                                bb.Write(num24);
                                goto Label_17AE;
                            }
                        case 0x16:
                            bb.Write((short)number);
                            bb.Write((byte)Main.item[number].owner);
                            goto Label_17AE;

                        case 0x17:
                            {
                                NPC npc = Main.npc[number];
                                bb.Write((short)number);
                                bb.WriteVector2(npc.position);
                                bb.WriteVector2(npc.velocity);
                                bb.Write((byte)npc.target);
                                int life = npc.life;
                                if (!npc.active)
                                {
                                    life = 0;
                                }
                                if (!npc.active || (npc.life <= 0))
                                {
                                    npc.netSkip = 0;
                                }
                                if (npc.name == null)
                                {
                                    npc.name = "";
                                }
                                short num26 = (short)npc.netID;
                                bool[] flagArray = new bool[4];
                                BitsByte num27 = 0;
                                num27[0] = npc.direction > 0;
                                num27[1] = npc.directionY > 0;
                                num27[2] = flagArray[0] = !(npc.ai[0] == 0f);
                                num27[3] = flagArray[1] = !(npc.ai[1] == 0f);
                                num27[4] = flagArray[2] = !(npc.ai[2] == 0f);
                                num27[5] = flagArray[3] = !(npc.ai[3] == 0f);
                                num27[6] = npc.spriteDirection > 0;
                                num27[7] = life == npc.lifeMax;
                                bb.Write((byte)num27);
                                for (int n = 0; n < NPC.maxAI; n++)
                                {
                                    if (flagArray[n])
                                    {
                                        bb.Write(npc.ai[n]);
                                    }
                                }
                                bb.Write(num26);
                                if (!num27[7])
                                {
                                    if (Main.npcLifeBytes[npc.netID] == 2)
                                    {
                                        bb.Write((short)life);
                                    }
                                    else if (Main.npcLifeBytes[npc.netID] == 4)
                                    {
                                        bb.Write(life);
                                    }
                                    else
                                    {
                                        bb.Write((sbyte)life);
                                    }
                                }
                                if (Main.npcCatchable[npc.type])
                                {
                                    bb.Write((byte)npc.releaseOwner);
                                }
                                goto Label_17AE;
                            }
                        case 0x18:
                            bb.Write((short)number);
                            bb.Write((byte)number2);
                            goto Label_17AE;

                        case 0x19:
                            bb.Write((byte)number);
                            bb.Write((byte)number2);
                            bb.Write((byte)number3);
                            bb.Write((byte)number4);
                            bb.Write(text);
                            goto Label_17AE;

                        case 0x1a:
                            {
                                bb.Write((byte)number);
                                bb.Write((byte)(number2 + 1f));
                                bb.Write((short)number3);
                                bb.Write(text);
                                BitsByte num29 = 0;
                                num29[0] = number4 == 1f;
                                num29[1] = number5 == 1;
                                bb.Write((byte)num29);
                                goto Label_17AE;
                            }
                        case 0x1b:
                            projectile = Main.projectile[number];
                            bb.Write((short)projectile.identity);
                            bb.WriteVector2(projectile.position);
                            bb.WriteVector2(projectile.velocity);
                            bb.Write(projectile.knockBack);
                            bb.Write((short)projectile.damage);
                            bb.Write((byte)projectile.owner);
                            bb.Write((short)projectile.type);
                            num30 = 0;
                            num31 = 0;
                            goto Label_0FC9;

                        case 0x1c:
                            bb.Write((short)number);
                            bb.Write((short)number2);
                            bb.Write(number3);
                            bb.Write((byte)(number4 + 1f));
                            bb.Write((byte)number5);
                            goto Label_17AE;

                        case 0x1d:
                            bb.Write((short)number);
                            bb.Write((byte)number2);
                            goto Label_17AE;

                        case 30:
                            bb.Write((byte)number);
                            bb.Write(Main.player[number].hostile);
                            goto Label_17AE;

                        case 0x1f:
                            bb.Write((short)number);
                            bb.Write((short)number2);
                            goto Label_17AE;

                        case 0x20:
                            {
                                Item item3 = Main.chest[number].item[(byte)number2];
                                bb.Write((short)number);
                                bb.Write((byte)number2);
                                short num33 = (short)item3.netID;
                                if (item3.name == null)
                                {
                                    num33 = 0;
                                }
                                bb.Write((short)item3.stack);
                                bb.Write(item3.prefix);
                                bb.Write(num33);
                                goto Label_17AE;
                            }
                        case 0x21:
                            x = 0;
                            y = 0;
                            length = 0;
                            str = null;
                            if (number > -1)
                            {
                                x = Main.chest[number].x;
                                y = Main.chest[number].y;
                            }
                            if (number2 == 1f)
                            {
                                length = (byte)text.Length;
                                if ((length != 0) && (length <= 20))
                                {
                                    goto Label_1150;
                                }
                                length = 0xff;
                            }
                            goto Label_1153;

                        case 0x22:
                            bb.Write((byte)number);
                            bb.Write((short)number2);
                            bb.Write((short)number3);
                            bb.Write((short)number4);
                            if (Main.netMode == 2)
                            {
                                Netplay.GetSectionX((int)number2);
                                Netplay.GetSectionY((int)number3);
                                bb.Write((short)number5);
                            }
                            goto Label_17AE;

                        case 0x23:
                        case 0x42:
                            bb.Write((byte)number);
                            bb.Write((short)number2);
                            goto Label_17AE;

                        case 0x24:
                            {
                                Player player4 = Main.player[number];
                                bb.Write((byte)number);
                                BitsByte num37 = 0;
                                num37[0] = player4.zoneEvil;
                                num37[1] = player4.zoneMeteor;
                                num37[2] = player4.zoneDungeon;
                                num37[3] = player4.zoneJungle;
                                num37[4] = player4.zoneHoly;
                                num37[5] = player4.zoneSnow;
                                num37[6] = player4.zoneBlood;
                                num37[7] = player4.zoneCandle;
                                bb.Write((byte)num37);
                                goto Label_17AE;
                            }
                        case 0x26:
                            bb.Write(text);
                            goto Label_17AE;

                        case 0x27:
                            bb.Write((short)number);
                            goto Label_17AE;

                        case 40:
                            bb.Write((byte)number);
                            bb.Write((short)Main.player[number].talkNPC);
                            goto Label_17AE;

                        case 0x29:
                            bb.Write((byte)number);
                            bb.Write(Main.player[number].itemRotation);
                            bb.Write((short)Main.player[number].itemAnimation);
                            goto Label_17AE;

                        case 0x2a:
                            bb.Write((byte)number);
                            bb.Write((short)Main.player[number].statMana);
                            bb.Write((short)Main.player[number].statManaMax);
                            goto Label_17AE;

                        case 0x2b:
                            bb.Write((byte)number);
                            bb.Write((short)number2);
                            goto Label_17AE;

                        case 0x2c:
                            bb.Write((byte)number);
                            bb.Write((byte)(number2 + 1f));
                            bb.Write((short)number3);
                            bb.Write((byte)number4);
                            bb.Write(text);
                            goto Label_17AE;

                        case 0x2d:
                            bb.Write((byte)number);
                            bb.Write((byte)Main.player[number].team);
                            goto Label_17AE;

                        case 0x2e:
                            bb.Write((short)number);
                            bb.Write((short)number2);
                            goto Label_17AE;

                        case 0x2f:
                            bb.Write((short)number);
                            bb.Write((short)Main.sign[number].x);
                            bb.Write((short)Main.sign[number].y);
                            bb.Write(Main.sign[number].text);
                            goto Label_17AE;

                        case 0x30:
                            {
                                Tile tile2 = Main.tile[number, (int)number2];
                                bb.Write((short)number);
                                bb.Write((short)number2);
                                bb.Write(tile2.liquid);
                                bb.Write(tile2.liquidType());
                                goto Label_17AE;
                            }
                        case 50:
                            bb.Write((byte)number);
                            num38 = 0;
                            goto Label_1479;

                        case 0x33:
                            bb.Write((byte)number);
                            bb.Write((byte)number2);
                            goto Label_17AE;

                        case 0x34:
                            bb.Write((byte)number);
                            bb.Write((byte)number2);
                            bb.Write((short)number3);
                            bb.Write((short)number4);
                            goto Label_17AE;

                        case 0x35:
                            bb.Write((short)number);
                            bb.Write((byte)number2);
                            bb.Write((short)number3);
                            goto Label_17AE;

                        case 0x36:
                            bb.Write((short)number);
                            num39 = 0;
                            goto Label_1526;

                        case 0x37:
                            bb.Write((byte)number);
                            bb.Write((byte)number2);
                            bb.Write((short)number3);
                            goto Label_17AE;

                        case 0x38:
                            displayName = null;
                            if (Main.netMode != 2)
                            {
                                goto Label_156C;
                            }
                            displayName = Main.npc[number].displayName;
                            goto Label_1577;

                        case 0x39:
                            bb.Write(WorldGen.tGood);
                            bb.Write(WorldGen.tEvil);
                            bb.Write(WorldGen.tBlood);
                            goto Label_17AE;

                        case 0x3a:
                            bb.Write((byte)number);
                            bb.Write(number2);
                            goto Label_17AE;

                        case 0x3b:
                            bb.Write((short)number);
                            bb.Write((short)number2);
                            goto Label_17AE;

                        case 60:
                            bb.Write((short)number);
                            bb.Write((short)number2);
                            bb.Write((short)number3);
                            bb.Write((byte)number4);
                            goto Label_17AE;

                        case 0x3d:
                            bb.Write(number);
                            bb.Write((int)number2);
                            goto Label_17AE;

                        case 0x3e:
                            bb.Write((byte)number);
                            bb.Write((byte)number2);
                            goto Label_17AE;

                        case 0x3f:
                        case 0x40:
                            bb.Write((short)number);
                            bb.Write((short)number2);
                            bb.Write((byte)number3);
                            goto Label_17AE;

                        case 0x41:
                            {
                                BitsByte num40 = 0;
                                num40[0] = (number & 1) == 1;
                                num40[1] = (number & 2) == 2;
                                num40[2] = (number5 & 1) == 1;
                                num40[3] = (number5 & 2) == 2;
                                bb.Write((byte)num40);
                                bb.Write((short)number2);
                                bb.Write(number3);
                                bb.Write(number4);
                                goto Label_17AE;
                            }
                        case 0x44:
                            bb.Write(Main.clientUUID);
                            goto Label_17AE;

                        case 0x45:
                            Netplay.GetSectionX((int)number2);
                            Netplay.GetSectionY((int)number3);
                            bb.Write((short)number);
                            bb.Write((short)number2);
                            bb.Write((short)number3);
                            bb.Write(text);
                            goto Label_17AE;

                        case 70:
                            bb.Write((short)number);
                            bb.Write((byte)number2);
                            goto Label_17AE;

                        case 0x47:
                            bb.Write(number);
                            bb.Write((int)number2);
                            bb.Write((short)number3);
                            bb.Write((byte)number4);
                            goto Label_17AE;

                        case 0x48:
                            num41 = 0;
                            goto Label_1764;

                        case 0x4a:
                            {
                                bb.Write((byte)Main.anglerQuest);
                                bool flag = Main.anglerWhoFinishedToday.Contains(text);
                                bb.Write(flag);
                                goto Label_17AE;
                            }
                        case 0x4c:
                            bb.Write((byte)number);
                            bb.Write(Main.player[number].anglerQuestsFinished);
                            goto Label_17AE;

                        default:
                            goto Label_17AE;
                    }
                    if ((number2 >= 75f) && (number2 <= 82f))
                    {
                        item = player2.dye[(((int)number2) - 0x3a) - 0x11];
                    }
                    else
                    {
                        item = player2.armor[(((int)number2) - 0x3a) - 1];
                    }
                Label_035D:
                    if (((item.name == "") || (item.stack == 0)) || (item.type == 0))
                    {
                        item.SetDefaults(0, false);
                    }
                    stack = item.stack;
                    netID = item.netID;
                    if (stack < 0)
                    {
                        stack = 0;
                    }
                    bb.Write((short)stack);
                    bb.Write((byte)number3);
                    bb.Write((short)netID);
                    goto Label_17AE;
                Label_0523:
                    bb.Write(Main.treeX[num6]);
                    num6++;
                Label_0537:
                    if (num6 < 3)
                    {
                        goto Label_0523;
                    }
                    for (int i = 0; i < 4; i++)
                    {
                        bb.Write((byte)Main.treeStyle[i]);
                    }
                    for (int j = 0; j < 3; j++)
                    {
                        bb.Write(Main.caveBackX[j]);
                    }
                    for (int k = 0; k < 4; k++)
                    {
                        bb.Write((byte)Main.caveBackStyle[k]);
                    }
                    if (!Main.raining)
                    {
                        Main.maxRaining = 0f;
                    }
                    bb.Write(Main.maxRaining);
                    BitsByte num10 = 0;
                    num10[0] = WorldGen.shadowOrbSmashed;
                    num10[1] = NPC.downedBoss1;
                    num10[2] = NPC.downedBoss2;
                    num10[3] = NPC.downedBoss3;
                    num10[4] = Main.hardMode;
                    num10[5] = NPC.downedClown;
                    num10[7] = NPC.downedPlantBoss;
                    bb.Write((byte)num10);
                    BitsByte num11 = 0;
                    num11[0] = NPC.downedMechBoss1;
                    num11[1] = NPC.downedMechBoss2;
                    num11[2] = NPC.downedMechBoss3;
                    num11[3] = NPC.downedMechBossAny;
                    num11[4] = Main.cloudBGActive >= 1f;
                    num11[5] = WorldGen.crimson;
                    num11[6] = Main.pumpkinMoon;
                    num11[7] = Main.snowMoon;
                    bb.Write((byte)num11);
                    goto Label_17AE;
                Label_09B8:
                    num19 = num17;
                    while (num19 < (num17 + num15))
                    {
                        BitsByte num20 = 0;
                        BitsByte num21 = 0;
                        byte num22 = 0;
                        byte num23 = 0;
                        Tile tile = Main.tile[num18, num19];
                        num20[0] = tile.active();
                        num20[2] = tile.wall > 0;
                        num20[3] = (tile.liquid > 0) && (Main.netMode == 2);
                        num20[4] = tile.wire();
                        num20[5] = tile.halfBrick();
                        num20[6] = tile.actuator();
                        num20[7] = tile.inActive();
                        num21[0] = tile.wire2();
                        num21[1] = tile.wire3();
                        if (tile.active() && (tile.color() > 0))
                        {
                            num21[2] = true;
                            num22 = tile.color();
                        }
                        if ((tile.wall > 0) && (tile.wallColor() > 0))
                        {
                            num21[3] = true;
                            num23 = tile.wallColor();
                        }
                        num21 = (byte)(num21 + ((byte)(tile.slope() << 4)));
                        bb.Write((byte)num20);
                        bb.Write((byte)num21);
                        if (num22 > 0)
                        {
                            bb.Write(num22);
                        }
                        if (num23 > 0)
                        {
                            bb.Write(num23);
                        }
                        if (tile.active())
                        {
                            bb.Write(tile.type);
                            if (Main.tileFrameImportant[tile.type])
                            {
                                bb.Write(tile.frameX);
                                bb.Write(tile.frameY);
                            }
                        }
                        if (tile.wall > 0)
                        {
                            bb.Write(tile.wall);
                        }
                        if ((tile.liquid > 0) && (Main.netMode == 2))
                        {
                            bb.Write(tile.liquid);
                            bb.Write(tile.liquidType());
                        }
                        num19++;
                    }
                    num18++;
                Label_0BB2:
                    if (num18 < (num16 + num15))
                    {
                        goto Label_09B8;
                    }
                    goto Label_17AE;
                Label_0FA8:
                    if (projectile.ai[num31] != 0f)
                    {
                        num30[num31] = true;
                    }
                    num31++;
                Label_0FC9:
                    if (num31 < Projectile.maxAI)
                    {
                        goto Label_0FA8;
                    }
                    bb.Write((byte)num30);
                    for (int m = 0; m < Projectile.maxAI; m++)
                    {
                        if (num30[m])
                        {
                            bb.Write(projectile.ai[m]);
                        }
                    }
                    goto Label_17AE;
                Label_1150:
                    str = text;
                Label_1153:
                    bb.Write((short)number);
                    bb.Write((short)x);
                    bb.Write((short)y);
                    bb.Write((byte)length);
                    if (str != null)
                    {
                        bb.Write(str);
                    }
                    goto Label_17AE;
                Label_145C:
                    bb.Write((byte)Main.player[number].buffType[num38]);
                    num38++;
                Label_1479:
                    if (num38 < 0x16)
                    {
                        goto Label_145C;
                    }
                    goto Label_17AE;
                Label_14F2:
                    bb.Write((byte)Main.npc[number].buffType[num39]);
                    bb.Write((short)Main.npc[number].buffTime[num39]);
                    num39++;
                Label_1526:
                    if (num39 < 5)
                    {
                        goto Label_14F2;
                    }
                    goto Label_17AE;
                Label_156C:
                    if (Main.netMode == 1)
                    {
                        displayName = text;
                    }
                Label_1577:
                    bb.Write((short)number);
                    bb.Write(displayName);
                    goto Label_17AE;
                Label_174F:
                    bb.Write((short)Main.travelShop[num41]);
                    num41++;
                Label_1764:
                    if (num41 < Chest.maxItems)
                    {
                        goto Label_174F;
                    }
                Label_17AE:
                    num42 = (int)bb.BaseStream.Position;
                    bb.BaseStream.Position = position;
                    bb.Write((short)num42);
                    bb.BaseStream.Position = num42;
                    if (Main.netMode == 1)
                    {
                        if (Netplay.clientSock.tcpClient.Connected)
                        {
                            try
                            {
                                MessageBuffer buffer1 = buffer[index];
                                buffer1.spamCount++;
                                Main.txMsg++;
                                Main.txData += num42;
                                Main.txMsgType[msgType]++;
                                Main.txDataType[msgType] += num42;
                                Netplay.clientSock.networkStream.BeginWrite(buffer[index].writeBuffer, 0, num42, new AsyncCallback(Netplay.clientSock.ClientWriteCallBack), Netplay.clientSock.networkStream);
                            }
                            catch
                            {
                            }
                        }
                    }
                    else if (remoteClient == -1)
                    {
                        if ((msgType == 0x22) || (msgType == 0x45))
                        {
                            for (int num43 = 0; num43 < 0x100; num43++)
                            {
                                if (((num43 != ignoreClient) && buffer[num43].broadcast) && Netplay.serverSock[num43].tcpClient.Connected)
                                {
                                    try
                                    {
                                        MessageBuffer buffer2 = buffer[num43];
                                        buffer2.spamCount++;
                                        Main.txMsg++;
                                        Main.txData += num42;
                                        Main.txMsgType[msgType]++;
                                        Main.txDataType[msgType] += num42;
                                        Netplay.serverSock[num43].networkStream.BeginWrite(buffer[index].writeBuffer, 0, num42, new AsyncCallback(Netplay.serverSock[num43].ServerWriteCallBack), Netplay.serverSock[num43].networkStream);
                                    }
                                    catch
                                    {
                                    }
                                }
                            }
                        }
                        else if (msgType == 20)
                        {
                            for (int num44 = 0; num44 < 0x100; num44++)
                            {
                                if (((num44 != ignoreClient) && buffer[num44].broadcast) && (Netplay.serverSock[num44].tcpClient.Connected && Netplay.serverSock[num44].SectionRange(number, (int)number2, (int)number3)))
                                {
                                    try
                                    {
                                        MessageBuffer buffer3 = buffer[num44];
                                        buffer3.spamCount++;
                                        Main.txMsg++;
                                        Main.txData += num42;
                                        Main.txMsgType[msgType]++;
                                        Main.txDataType[msgType] += num42;
                                        Netplay.serverSock[num44].networkStream.BeginWrite(buffer[index].writeBuffer, 0, num42, new AsyncCallback(Netplay.serverSock[num44].ServerWriteCallBack), Netplay.serverSock[num44].networkStream);
                                    }
                                    catch
                                    {
                                    }
                                }
                            }
                        }
                        else if (msgType == 0x17)
                        {
                            NPC npc2 = Main.npc[number];
                            for (int num45 = 0; num45 < 0x100; num45++)
                            {
                                if (((num45 != ignoreClient) && buffer[num45].broadcast) && Netplay.serverSock[num45].tcpClient.Connected)
                                {
                                    bool flag2 = false;
                                    if ((npc2.boss || npc2.netAlways) || (npc2.townNPC || !npc2.active))
                                    {
                                        flag2 = true;
                                    }
                                    else if (npc2.netSkip <= 0)
                                    {
                                        Rectangle rectangle = Main.player[num45].getRect();
                                        Rectangle rectangle2 = npc2.getRect();
                                        rectangle2.X -= 0x9c4;
                                        rectangle2.Y -= 0x9c4;
                                        rectangle2.Width += 0x1388;
                                        rectangle2.Height += 0x1388;
                                        if (rectangle.Intersects(rectangle2))
                                        {
                                            flag2 = true;
                                        }
                                    }
                                    else
                                    {
                                        flag2 = true;
                                    }
                                    if (flag2)
                                    {
                                        try
                                        {
                                            MessageBuffer buffer4 = buffer[num45];
                                            buffer4.spamCount++;
                                            Main.txMsg++;
                                            Main.txData += num42;
                                            Main.txMsgType[msgType]++;
                                            Main.txDataType[msgType] += num42;
                                            Netplay.serverSock[num45].networkStream.BeginWrite(buffer[index].writeBuffer, 0, num42, new AsyncCallback(Netplay.serverSock[num45].ServerWriteCallBack), Netplay.serverSock[num45].networkStream);
                                        }
                                        catch
                                        {
                                        }
                                    }
                                }
                            }
                            npc2.netSkip++;
                            if (npc2.netSkip > 4)
                            {
                                npc2.netSkip = 0;
                            }
                        }
                        else if (msgType == 0x1c)
                        {
                            NPC npc3 = Main.npc[number];
                            for (int num46 = 0; num46 < 0x100; num46++)
                            {
                                if (((num46 != ignoreClient) && buffer[num46].broadcast) && Netplay.serverSock[num46].tcpClient.Connected)
                                {
                                    bool flag3 = false;
                                    if (npc3.life <= 0)
                                    {
                                        flag3 = true;
                                    }
                                    else
                                    {
                                        Rectangle rectangle3 = Main.player[num46].getRect();
                                        Rectangle rectangle4 = npc3.getRect();
                                        rectangle4.X -= 0xbb8;
                                        rectangle4.Y -= 0xbb8;
                                        rectangle4.Width += 0x1770;
                                        rectangle4.Height += 0x1770;
                                        if (rectangle3.Intersects(rectangle4))
                                        {
                                            flag3 = true;
                                        }
                                    }
                                    if (flag3)
                                    {
                                        try
                                        {
                                            MessageBuffer buffer5 = buffer[num46];
                                            buffer5.spamCount++;
                                            Main.txMsg++;
                                            Main.txData += num42;
                                            Main.txMsgType[msgType]++;
                                            Main.txDataType[msgType] += num42;
                                            Netplay.serverSock[num46].networkStream.BeginWrite(buffer[index].writeBuffer, 0, num42, new AsyncCallback(Netplay.serverSock[num46].ServerWriteCallBack), Netplay.serverSock[num46].networkStream);
                                        }
                                        catch
                                        {
                                        }
                                    }
                                }
                            }
                        }
                        else if (msgType == 13)
                        {
                            for (int num47 = 0; num47 < 0x100; num47++)
                            {
                                if (((num47 != ignoreClient) && buffer[num47].broadcast) && Netplay.serverSock[num47].tcpClient.Connected)
                                {
                                    try
                                    {
                                        MessageBuffer buffer6 = buffer[num47];
                                        buffer6.spamCount++;
                                        Main.txMsg++;
                                        Main.txData += num42;
                                        Main.txMsgType[msgType]++;
                                        Main.txDataType[msgType] += num42;
                                        Netplay.serverSock[num47].networkStream.BeginWrite(buffer[index].writeBuffer, 0, num42, new AsyncCallback(Netplay.serverSock[num47].ServerWriteCallBack), Netplay.serverSock[num47].networkStream);
                                    }
                                    catch
                                    {
                                    }
                                }
                            }
                            Player player1 = Main.player[number];
                            player1.netSkip++;
                            if (Main.player[number].netSkip > 2)
                            {
                                Main.player[number].netSkip = 0;
                            }
                        }
                        else if (msgType == 0x1b)
                        {
                            Projectile projectile2 = Main.projectile[number];
                            for (int num48 = 0; num48 < 0x100; num48++)
                            {
                                if (((num48 != ignoreClient) && buffer[num48].broadcast) && Netplay.serverSock[num48].tcpClient.Connected)
                                {
                                    bool flag4 = false;
                                    if (((projectile2.type == 12) || Main.projPet[projectile2.type]) || ((projectile2.aiStyle == 11) || projectile2.netImportant))
                                    {
                                        flag4 = true;
                                    }
                                    else
                                    {
                                        Rectangle rectangle5 = Main.player[num48].getRect();
                                        Rectangle rectangle6 = projectile2.getRect();
                                        rectangle6.X -= 0x1388;
                                        rectangle6.Y -= 0x1388;
                                        rectangle6.Width += 0x2710;
                                        rectangle6.Height += 0x2710;
                                        if (rectangle5.Intersects(rectangle6))
                                        {
                                            flag4 = true;
                                        }
                                    }
                                    if (flag4)
                                    {
                                        try
                                        {
                                            MessageBuffer buffer7 = buffer[num48];
                                            buffer7.spamCount++;
                                            Main.txMsg++;
                                            Main.txData += num42;
                                            Main.txMsgType[msgType]++;
                                            Main.txDataType[msgType] += num42;
                                            Netplay.serverSock[num48].networkStream.BeginWrite(buffer[index].writeBuffer, 0, num42, new AsyncCallback(Netplay.serverSock[num48].ServerWriteCallBack), Netplay.serverSock[num48].networkStream);
                                        }
                                        catch
                                        {
                                        }
                                    }
                                }
                            }
                        }
                        else
                        {
                            for (int num49 = 0; num49 < 0x100; num49++)
                            {
                                if (((num49 != ignoreClient) && (buffer[num49].broadcast || ((Netplay.serverSock[num49].state >= 3) && (msgType == 10)))) && Netplay.serverSock[num49].tcpClient.Connected)
                                {
                                    try
                                    {
                                        MessageBuffer buffer8 = buffer[num49];
                                        buffer8.spamCount++;
                                        Main.txMsg++;
                                        Main.txData += num42;
                                        Main.txMsgType[msgType]++;
                                        Main.txDataType[msgType] += num42;
                                        Netplay.serverSock[num49].networkStream.BeginWrite(buffer[index].writeBuffer, 0, num42, new AsyncCallback(Netplay.serverSock[num49].ServerWriteCallBack), Netplay.serverSock[num49].networkStream);
                                    }
                                    catch
                                    {
                                    }
                                }
                            }
                        }
                    }
                    else if (Netplay.serverSock[remoteClient].tcpClient.Connected)
                    {
                        try
                        {
                            MessageBuffer buffer9 = buffer[remoteClient];
                            buffer9.spamCount++;
                            Main.txMsg++;
                            Main.txData += num42;
                            Main.txMsgType[msgType]++;
                            Main.txDataType[msgType] += num42;
                            Netplay.serverSock[remoteClient].networkStream.BeginWrite(buffer[index].writeBuffer, 0, num42, new AsyncCallback(Netplay.serverSock[remoteClient].ServerWriteCallBack), Netplay.serverSock[remoteClient].networkStream);
                        }
                        catch
                        {
                        }
                    }
                    if (Main.verbo*****play)
                    {
                        for (int num50 = 0; num50 < num42; num50++)
                        {
                        }
                        for (int num51 = 0; num51 < num42; num51++)
                        {
                            byte num1 = buffer[index].writeBuffer[num51];
                        }
                    }
                    buffer[index].writeLocked = false;
                    if ((msgType == 0x13) && (Main.netMode == 1))
                    {
                        SendTileSquare(index, (int)number2, (int)number3, 5);
                    }
                    if ((msgType == 2) && (Main.netMode == 2))
                    {
                        Netplay.serverSock[index].kill = true;
                    }
                }
            }
        }
OK Thanks for this fix
Quote Originally Posted by Teleporter View Post
I fixed it. Just replace function "public static void SendData(...)" in Net.Message.cs from Reflector!
Code:
        public static void SendData(int msgType, int remoteClient = -1, int ignoreClient = -1, string text = "", int number = 0, float number2 = 0f, float number3 = 0f, float number4 = 0f, int number5 = 0)
        {
            if (Main.netMode != 0)
            {
                int index = 0x100;
                if ((Main.netMode == 2) && (remoteClient >= 0))
                {
                    index = remoteClient;
                }
                lock (buffer[index])
                {
                    Player player2;
                    Item item;
                    int stack;
                    int netID;
                    int num6;
                    int num15;
                    int num16;
                    int num17;
                    int num18;
                    int num19;
                    Projectile projectile;
                    BitsByte num30;
                    int num31;
                    int x;
                    int y;
                    int length;
                    string str;
                    int num38;
                    int num39;
                    string displayName;
                    int num41;
                    int num42;
                    MemoryStream output = new MemoryStream(buffer[index].writeBuffer);
                    BinaryWriter bb = new BinaryWriter(output);
                    long position = bb.BaseStream.Position;
                    Stream baseStream = bb.BaseStream;
                    baseStream.Position += 2L;
                    bb.Write((byte)msgType);
                    switch (msgType)
                    {
                        case 1:
                            bb.Write("Terraria" + Main.curRelease);
                            goto Label_17AE;

                        case 2:
                            bb.Write(text);
                            if (Main.dedServ)
                            {
                                Console.WriteLine(Netplay.serverSock[index].tcpClient.Client.RemoteEndPoint.ToString() + " was booted: " + text);
                            }
                            goto Label_17AE;

                        case 3:
                            bb.Write((byte)remoteClient);
                            goto Label_17AE;

                        case 4:
                            {
                                Player player = Main.player[number];
                                bb.Write((byte)number);
                                bb.Write(player.male ? ((byte)0) : ((byte)1));
                                bb.Write((byte)player.hair);
                                bb.Write(text);
                                bb.Write(player.hairDye);
                                bb.Write((byte)player.hideVisual);
                                bb.WriteRGB(player.hairColor);
                                bb.WriteRGB(player.skinColor);
                                bb.WriteRGB(player.eyeColor);
                                bb.WriteRGB(player.shirtColor);
                                bb.WriteRGB(player.underShirtColor);
                                bb.WriteRGB(player.pantsColor);
                                bb.WriteRGB(player.shoeColor);
                                bb.Write(player.difficulty);
                                goto Label_17AE;
                            }
                        case 5:
                            bb.Write((byte)number);
                            bb.Write((byte)number2);
                            player2 = Main.player[number];
                            item = null;
                            stack = 0;
                            netID = 0;
                            if (number2 >= 59f)
                            {
                                break;
                            }
                            item = player2.inventory[(int)number2];
                            goto Label_035D;

                        case 7:
                            {
                                bb.Write((int)Main.time);
                                BitsByte num5 = 0;
                                num5[0] = Main.dayTime;
                                num5[1] = Main.bloodMoon;
                                num5[2] = Main.eclipse;
                                bb.Write((byte)num5);
                                bb.Write((byte)Main.moonPhase);
                                bb.Write((short)Main.maxTilesX);
                                bb.Write((short)Main.maxTilesY);
                                bb.Write((short)Main.spawnTileX);
                                bb.Write((short)Main.spawnTileY);
                                bb.Write((short)Main.worldSurface);
                                bb.Write((short)Main****ckLayer);
                                bb.Write(Main.worldID);
                                bb.Write(Main.worldName);
                                bb.Write((byte)Main.moonType);
                                bb.Write((byte)WorldGen.treeBG);
                                bb.Write((byte)WorldGen.corruptBG);
                                bb.Write((byte)WorldGen.jungleBG);
                                bb.Write((byte)WorldGen.snowBG);
                                bb.Write((byte)WorldGen.hallowBG);
                                bb.Write((byte)WorldGen.crimsonBG);
                                bb.Write((byte)WorldGen.desertBG);
                                bb.Write((byte)WorldGen.oceanBG);
                                bb.Write((byte)Main.iceBackStyle);
                                bb.Write((byte)Main.jungleBackStyle);
                                bb.Write((byte)Main.hellBackStyle);
                                bb.Write(Main.windSpeedSet);
                                bb.Write((byte)Main.numClouds);
                                num6 = 0;
                                goto Label_0537;
                            }
                        case 8:
                            bb.Write(number);
                            bb.Write((int)number2);
                            goto Label_17AE;

                        case 9:
                            bb.Write(number);
                            bb.Write(text);
                            goto Label_17AE;

                        case 10:
                            {
                                int num12 = CompressTileBlock(number, (int)number2, (short)number3, (short)number4, buffer[index].writeBuffer, (int)bb.BaseStream.Position, true);
                                Stream stream2 = bb.BaseStream;
                                stream2.Position += num12;
                                goto Label_17AE;
                            }
                        case 11:
                            bb.Write((short)number);
                            bb.Write((short)number2);
                            bb.Write((short)number3);
                            bb.Write((short)number4);
                            goto Label_17AE;

                        case 12:
                            bb.Write((byte)number);
                            bb.Write((short)Main.player[number].SpawnX);
                            bb.Write((short)Main.player[number].SpawnY);
                            goto Label_17AE;

                        case 13:
                            {
                                Player player3 = Main.player[number];
                                bb.Write((byte)number);
                                BitsByte num13 = 0;
                                num13[0] = player3.controlUp;
                                num13[1] = player3.controlDown;
                                num13[2] = player3.controlLeft;
                                num13[3] = player3.controlRight;
                                num13[4] = player3.controlJump;
                                num13[5] = player3.controlUseItem;
                                num13[6] = player3.direction == 1;
                                bb.Write((byte)num13);
                                BitsByte num14 = 0;
                                num14[0] = player3.pulley;
                                num14[1] = player3.pulley && (player3.pulleyDir == 2);
                                num14[2] = player3.velocity != Vector2.Zero;
                                bb.Write((byte)num14);
                                bb.Write((byte)player3.selectedItem);
                                bb.WriteVector2(player3.position);
                                bb.WriteVector2(player3.velocity);
                                goto Label_17AE;
                            }
                        case 14:
                            bb.Write((byte)number);
                            bb.Write((byte)number2);
                            goto Label_17AE;

                        case 0x10:
                            bb.Write((byte)number);
                            bb.Write((short)Main.player[number].statLife);
                            bb.Write((short)Main.player[number].statLifeMax);
                            goto Label_17AE;

                        case 0x11:
                            bb.Write((byte)number);
                            bb.Write((short)number2);
                            bb.Write((short)number3);
                            bb.Write((short)number4);
                            bb.Write((byte)number5);
                            goto Label_17AE;

                        case 0x12:
                            bb.Write(Main.dayTime ? ((byte)1) : ((byte)0));
                            bb.Write((int)Main.time);
                            bb.Write(Main.sunModY);
                            bb.Write(Main.moonModY);
                            goto Label_17AE;

                        case 0x13:
                            bb.Write((byte)number);
                            bb.Write((short)number2);
                            bb.Write((short)number3);
                            bb.Write((number4 == 1f) ? ((byte)1) : ((byte)0));
                            goto Label_17AE;

                        case 20:
                            num15 = number;
                            num16 = (int)number2;
                            num17 = (int)number3;
                            bb.Write((short)num15);
                            bb.Write((short)num16);
                            bb.Write((short)num17);
                            num18 = num16;
                            goto Label_0BB2;

                        case 0x15:
                            {
                                Item item2 = Main.item[number];
                                bb.Write((short)number);
                                bb.WriteVector2(item2.position);
                                bb.WriteVector2(item2.velocity);
                                bb.Write((short)item2.stack);
                                bb.Write(item2.prefix);
                                bb.Write((byte)number2);
                                short num24 = 0;
                                if (item2.active && (item2.stack > 0))
                                {
                                    num24 = (short)item2.netID;
                                }
                                bb.Write(num24);
                                goto Label_17AE;
                            }
                        case 0x16:
                            bb.Write((short)number);
                            bb.Write((byte)Main.item[number].owner);
                            goto Label_17AE;

                        case 0x17:
                            {
                                NPC npc = Main.npc[number];
                                bb.Write((short)number);
                                bb.WriteVector2(npc.position);
                                bb.WriteVector2(npc.velocity);
                                bb.Write((byte)npc.target);
                                int life = npc.life;
                                if (!npc.active)
                                {
                                    life = 0;
                                }
                                if (!npc.active || (npc.life <= 0))
                                {
                                    npc.netSkip = 0;
                                }
                                if (npc.name == null)
                                {
                                    npc.name = "";
                                }
                                short num26 = (short)npc.netID;
                                bool[] flagArray = new bool[4];
                                BitsByte num27 = 0;
                                num27[0] = npc.direction > 0;
                                num27[1] = npc.directionY > 0;
                                num27[2] = flagArray[0] = !(npc.ai[0] == 0f);
                                num27[3] = flagArray[1] = !(npc.ai[1] == 0f);
                                num27[4] = flagArray[2] = !(npc.ai[2] == 0f);
                                num27[5] = flagArray[3] = !(npc.ai[3] == 0f);
                                num27[6] = npc.spriteDirection > 0;
                                num27[7] = life == npc.lifeMax;
                                bb.Write((byte)num27);
                                for (int n = 0; n < NPC.maxAI; n++)
                                {
                                    if (flagArray[n])
                                    {
                                        bb.Write(npc.ai[n]);
                                    }
                                }
                                bb.Write(num26);
                                if (!num27[7])
                                {
                                    if (Main.npcLifeBytes[npc.netID] == 2)
                                    {
                                        bb.Write((short)life);
                                    }
                                    else if (Main.npcLifeBytes[npc.netID] == 4)
                                    {
                                        bb.Write(life);
                                    }
                                    else
                                    {
                                        bb.Write((sbyte)life);
                                    }
                                }
                                if (Main.npcCatchable[npc.type])
                                {
                                    bb.Write((byte)npc.releaseOwner);
                                }
                                goto Label_17AE;
                            }
                        case 0x18:
                            bb.Write((short)number);
                            bb.Write((byte)number2);
                            goto Label_17AE;

                        case 0x19:
                            bb.Write((byte)number);
                            bb.Write((byte)number2);
                            bb.Write((byte)number3);
                            bb.Write((byte)number4);
                            bb.Write(text);
                            goto Label_17AE;

                        case 0x1a:
                            {
                                bb.Write((byte)number);
                                bb.Write((byte)(number2 + 1f));
                                bb.Write((short)number3);
                                bb.Write(text);
                                BitsByte num29 = 0;
                                num29[0] = number4 == 1f;
                                num29[1] = number5 == 1;
                                bb.Write((byte)num29);
                                goto Label_17AE;
                            }
                        case 0x1b:
                            projectile = Main.projectile[number];
                            bb.Write((short)projectile.identity);
                            bb.WriteVector2(projectile.position);
                            bb.WriteVector2(projectile.velocity);
                            bb.Write(projectile.knockBack);
                            bb.Write((short)projectile.damage);
                            bb.Write((byte)projectile.owner);
                            bb.Write((short)projectile.type);
                            num30 = 0;
                            num31 = 0;
                            goto Label_0FC9;

                        case 0x1c:
                            bb.Write((short)number);
                            bb.Write((short)number2);
                            bb.Write(number3);
                            bb.Write((byte)(number4 + 1f));
                            bb.Write((byte)number5);
                            goto Label_17AE;

                        case 0x1d:
                            bb.Write((short)number);
                            bb.Write((byte)number2);
                            goto Label_17AE;

                        case 30:
                            bb.Write((byte)number);
                            bb.Write(Main.player[number].hostile);
                            goto Label_17AE;

                        case 0x1f:
                            bb.Write((short)number);
                            bb.Write((short)number2);
                            goto Label_17AE;

                        case 0x20:
                            {
                                Item item3 = Main.chest[number].item[(byte)number2];
                                bb.Write((short)number);
                                bb.Write((byte)number2);
                                short num33 = (short)item3.netID;
                                if (item3.name == null)
                                {
                                    num33 = 0;
                                }
                                bb.Write((short)item3.stack);
                                bb.Write(item3.prefix);
                                bb.Write(num33);
                                goto Label_17AE;
                            }
                        case 0x21:
                            x = 0;
                            y = 0;
                            length = 0;
                            str = null;
                            if (number > -1)
                            {
                                x = Main.chest[number].x;
                                y = Main.chest[number].y;
                            }
                            if (number2 == 1f)
                            {
                                length = (byte)text.Length;
                                if ((length != 0) && (length <= 20))
                                {
                                    goto Label_1150;
                                }
                                length = 0xff;
                            }
                            goto Label_1153;

                        case 0x22:
                            bb.Write((byte)number);
                            bb.Write((short)number2);
                            bb.Write((short)number3);
                            bb.Write((short)number4);
                            if (Main.netMode == 2)
                            {
                                Netplay.GetSectionX((int)number2);
                                Netplay.GetSectionY((int)number3);
                                bb.Write((short)number5);
                            }
                            goto Label_17AE;

                        case 0x23:
                        case 0x42:
                            bb.Write((byte)number);
                            bb.Write((short)number2);
                            goto Label_17AE;

                        case 0x24:
                            {
                                Player player4 = Main.player[number];
                                bb.Write((byte)number);
                                BitsByte num37 = 0;
                                num37[0] = player4.zoneEvil;
                                num37[1] = player4.zoneMeteor;
                                num37[2] = player4.zoneDungeon;
                                num37[3] = player4.zoneJungle;
                                num37[4] = player4.zoneHoly;
                                num37[5] = player4.zoneSnow;
                                num37[6] = player4.zoneBlood;
                                num37[7] = player4.zoneCandle;
                                bb.Write((byte)num37);
                                goto Label_17AE;
                            }
                        case 0x26:
                            bb.Write(text);
                            goto Label_17AE;

                        case 0x27:
                            bb.Write((short)number);
                            goto Label_17AE;

                        case 40:
                            bb.Write((byte)number);
                            bb.Write((short)Main.player[number].talkNPC);
                            goto Label_17AE;

                        case 0x29:
                            bb.Write((byte)number);
                            bb.Write(Main.player[number].itemRotation);
                            bb.Write((short)Main.player[number].itemAnimation);
                            goto Label_17AE;

                        case 0x2a:
                            bb.Write((byte)number);
                            bb.Write((short)Main.player[number].statMana);
                            bb.Write((short)Main.player[number].statManaMax);
                            goto Label_17AE;

                        case 0x2b:
                            bb.Write((byte)number);
                            bb.Write((short)number2);
                            goto Label_17AE;

                        case 0x2c:
                            bb.Write((byte)number);
                            bb.Write((byte)(number2 + 1f));
                            bb.Write((short)number3);
                            bb.Write((byte)number4);
                            bb.Write(text);
                            goto Label_17AE;

                        case 0x2d:
                            bb.Write((byte)number);
                            bb.Write((byte)Main.player[number].team);
                            goto Label_17AE;

                        case 0x2e:
                            bb.Write((short)number);
                            bb.Write((short)number2);
                            goto Label_17AE;

                        case 0x2f:
                            bb.Write((short)number);
                            bb.Write((short)Main.sign[number].x);
                            bb.Write((short)Main.sign[number].y);
                            bb.Write(Main.sign[number].text);
                            goto Label_17AE;

                        case 0x30:
                            {
                                Tile tile2 = Main.tile[number, (int)number2];
                                bb.Write((short)number);
                                bb.Write((short)number2);
                                bb.Write(tile2.liquid);
                                bb.Write(tile2.liquidType());
                                goto Label_17AE;
                            }
                        case 50:
                            bb.Write((byte)number);
                            num38 = 0;
                            goto Label_1479;

                        case 0x33:
                            bb.Write((byte)number);
                            bb.Write((byte)number2);
                            goto Label_17AE;

                        case 0x34:
                            bb.Write((byte)number);
                            bb.Write((byte)number2);
                            bb.Write((short)number3);
                            bb.Write((short)number4);
                            goto Label_17AE;

                        case 0x35:
                            bb.Write((short)number);
                            bb.Write((byte)number2);
                            bb.Write((short)number3);
                            goto Label_17AE;

                        case 0x36:
                            bb.Write((short)number);
                            num39 = 0;
                            goto Label_1526;

                        case 0x37:
                            bb.Write((byte)number);
                            bb.Write((byte)number2);
                            bb.Write((short)number3);
                            goto Label_17AE;

                        case 0x38:
                            displayName = null;
                            if (Main.netMode != 2)
                            {
                                goto Label_156C;
                            }
                            displayName = Main.npc[number].displayName;
                            goto Label_1577;

                        case 0x39:
                            bb.Write(WorldGen.tGood);
                            bb.Write(WorldGen.tEvil);
                            bb.Write(WorldGen.tBlood);
                            goto Label_17AE;

                        case 0x3a:
                            bb.Write((byte)number);
                            bb.Write(number2);
                            goto Label_17AE;

                        case 0x3b:
                            bb.Write((short)number);
                            bb.Write((short)number2);
                            goto Label_17AE;

                        case 60:
                            bb.Write((short)number);
                            bb.Write((short)number2);
                            bb.Write((short)number3);
                            bb.Write((byte)number4);
                            goto Label_17AE;

                        case 0x3d:
                            bb.Write(number);
                            bb.Write((int)number2);
                            goto Label_17AE;

                        case 0x3e:
                            bb.Write((byte)number);
                            bb.Write((byte)number2);
                            goto Label_17AE;

                        case 0x3f:
                        case 0x40:
                            bb.Write((short)number);
                            bb.Write((short)number2);
                            bb.Write((byte)number3);
                            goto Label_17AE;

                        case 0x41:
                            {
                                BitsByte num40 = 0;
                                num40[0] = (number & 1) == 1;
                                num40[1] = (number & 2) == 2;
                                num40[2] = (number5 & 1) == 1;
                                num40[3] = (number5 & 2) == 2;
                                bb.Write((byte)num40);
                                bb.Write((short)number2);
                                bb.Write(number3);
                                bb.Write(number4);
                                goto Label_17AE;
                            }
                        case 0x44:
                            bb.Write(Main.clientUUID);
                            goto Label_17AE;

                        case 0x45:
                            Netplay.GetSectionX((int)number2);
                            Netplay.GetSectionY((int)number3);
                            bb.Write((short)number);
                            bb.Write((short)number2);
                            bb.Write((short)number3);
                            bb.Write(text);
                            goto Label_17AE;

                        case 70:
                            bb.Write((short)number);
                            bb.Write((byte)number2);
                            goto Label_17AE;

                        case 0x47:
                            bb.Write(number);
                            bb.Write((int)number2);
                            bb.Write((short)number3);
                            bb.Write((byte)number4);
                            goto Label_17AE;

                        case 0x48:
                            num41 = 0;
                            goto Label_1764;

                        case 0x4a:
                            {
                                bb.Write((byte)Main.anglerQuest);
                                bool flag = Main.anglerWhoFinishedToday.Contains(text);
                                bb.Write(flag);
                                goto Label_17AE;
                            }
                        case 0x4c:
                            bb.Write((byte)number);
                            bb.Write(Main.player[number].anglerQuestsFinished);
                            goto Label_17AE;

                        default:
                            goto Label_17AE;
                    }
                    if ((number2 >= 75f) && (number2 <= 82f))
                    {
                        item = player2.dye[(((int)number2) - 0x3a) - 0x11];
                    }
                    else
                    {
                        item = player2.armor[(((int)number2) - 0x3a) - 1];
                    }
                Label_035D:
                    if (((item.name == "") || (item.stack == 0)) || (item.type == 0))
                    {
                        item.SetDefaults(0, false);
                    }
                    stack = item.stack;
                    netID = item.netID;
                    if (stack < 0)
                    {
                        stack = 0;
                    }
                    bb.Write((short)stack);
                    bb.Write((byte)number3);
                    bb.Write((short)netID);
                    goto Label_17AE;
                Label_0523:
                    bb.Write(Main.treeX[num6]);
                    num6++;
                Label_0537:
                    if (num6 < 3)
                    {
                        goto Label_0523;
                    }
                    for (int i = 0; i < 4; i++)
                    {
                        bb.Write((byte)Main.treeStyle[i]);
                    }
                    for (int j = 0; j < 3; j++)
                    {
                        bb.Write(Main.caveBackX[j]);
                    }
                    for (int k = 0; k < 4; k++)
                    {
                        bb.Write((byte)Main.caveBackStyle[k]);
                    }
                    if (!Main.raining)
                    {
                        Main.maxRaining = 0f;
                    }
                    bb.Write(Main.maxRaining);
                    BitsByte num10 = 0;
                    num10[0] = WorldGen.shadowOrbSmashed;
                    num10[1] = NPC.downedBoss1;
                    num10[2] = NPC.downedBoss2;
                    num10[3] = NPC.downedBoss3;
                    num10[4] = Main.hardMode;
                    num10[5] = NPC.downedClown;
                    num10[7] = NPC.downedPlantBoss;
                    bb.Write((byte)num10);
                    BitsByte num11 = 0;
                    num11[0] = NPC.downedMechBoss1;
                    num11[1] = NPC.downedMechBoss2;
                    num11[2] = NPC.downedMechBoss3;
                    num11[3] = NPC.downedMechBossAny;
                    num11[4] = Main.cloudBGActive >= 1f;
                    num11[5] = WorldGen.crimson;
                    num11[6] = Main.pumpkinMoon;
                    num11[7] = Main.snowMoon;
                    bb.Write((byte)num11);
                    goto Label_17AE;
                Label_09B8:
                    num19 = num17;
                    while (num19 < (num17 + num15))
                    {
                        BitsByte num20 = 0;
                        BitsByte num21 = 0;
                        byte num22 = 0;
                        byte num23 = 0;
                        Tile tile = Main.tile[num18, num19];
                        num20[0] = tile.active();
                        num20[2] = tile.wall > 0;
                        num20[3] = (tile.liquid > 0) && (Main.netMode == 2);
                        num20[4] = tile.wire();
                        num20[5] = tile.halfBrick();
                        num20[6] = tile.actuator();
                        num20[7] = tile.inActive();
                        num21[0] = tile.wire2();
                        num21[1] = tile.wire3();
                        if (tile.active() && (tile.color() > 0))
                        {
                            num21[2] = true;
                            num22 = tile.color();
                        }
                        if ((tile.wall > 0) && (tile.wallColor() > 0))
                        {
                            num21[3] = true;
                            num23 = tile.wallColor();
                        }
                        num21 = (byte)(num21 + ((byte)(tile.slope() << 4)));
                        bb.Write((byte)num20);
                        bb.Write((byte)num21);
                        if (num22 > 0)
                        {
                            bb.Write(num22);
                        }
                        if (num23 > 0)
                        {
                            bb.Write(num23);
                        }
                        if (tile.active())
                        {
                            bb.Write(tile.type);
                            if (Main.tileFrameImportant[tile.type])
                            {
                                bb.Write(tile.frameX);
                                bb.Write(tile.frameY);
                            }
                        }
                        if (tile.wall > 0)
                        {
                            bb.Write(tile.wall);
                        }
                        if ((tile.liquid > 0) && (Main.netMode == 2))
                        {
                            bb.Write(tile.liquid);
                            bb.Write(tile.liquidType());
                        }
                        num19++;
                    }
                    num18++;
                Label_0BB2:
                    if (num18 < (num16 + num15))
                    {
                        goto Label_09B8;
                    }
                    goto Label_17AE;
                Label_0FA8:
                    if (projectile.ai[num31] != 0f)
                    {
                        num30[num31] = true;
                    }
                    num31++;
                Label_0FC9:
                    if (num31 < Projectile.maxAI)
                    {
                        goto Label_0FA8;
                    }
                    bb.Write((byte)num30);
                    for (int m = 0; m < Projectile.maxAI; m++)
                    {
                        if (num30[m])
                        {
                            bb.Write(projectile.ai[m]);
                        }
                    }
                    goto Label_17AE;
                Label_1150:
                    str = text;
                Label_1153:
                    bb.Write((short)number);
                    bb.Write((short)x);
                    bb.Write((short)y);
                    bb.Write((byte)length);
                    if (str != null)
                    {
                        bb.Write(str);
                    }
                    goto Label_17AE;
                Label_145C:
                    bb.Write((byte)Main.player[number].buffType[num38]);
                    num38++;
                Label_1479:
                    if (num38 < 0x16)
                    {
                        goto Label_145C;
                    }
                    goto Label_17AE;
                Label_14F2:
                    bb.Write((byte)Main.npc[number].buffType[num39]);
                    bb.Write((short)Main.npc[number].buffTime[num39]);
                    num39++;
                Label_1526:
                    if (num39 < 5)
                    {
                        goto Label_14F2;
                    }
                    goto Label_17AE;
                Label_156C:
                    if (Main.netMode == 1)
                    {
                        displayName = text;
                    }
                Label_1577:
                    bb.Write((short)number);
                    bb.Write(displayName);
                    goto Label_17AE;
                Label_174F:
                    bb.Write((short)Main.travelShop[num41]);
                    num41++;
                Label_1764:
                    if (num41 < Chest.maxItems)
                    {
                        goto Label_174F;
                    }
                Label_17AE:
                    num42 = (int)bb.BaseStream.Position;
                    bb.BaseStream.Position = position;
                    bb.Write((short)num42);
                    bb.BaseStream.Position = num42;
                    if (Main.netMode == 1)
                    {
                        if (Netplay.clientSock.tcpClient.Connected)
                        {
                            try
                            {
                                MessageBuffer buffer1 = buffer[index];
                                buffer1.spamCount++;
                                Main.txMsg++;
                                Main.txData += num42;
                                Main.txMsgType[msgType]++;
                                Main.txDataType[msgType] += num42;
                                Netplay.clientSock.networkStream.BeginWrite(buffer[index].writeBuffer, 0, num42, new AsyncCallback(Netplay.clientSock.ClientWriteCallBack), Netplay.clientSock.networkStream);
                            }
                            catch
                            {
                            }
                        }
                    }
                    else if (remoteClient == -1)
                    {
                        if ((msgType == 0x22) || (msgType == 0x45))
                        {
                            for (int num43 = 0; num43 < 0x100; num43++)
                            {
                                if (((num43 != ignoreClient) && buffer[num43].broadcast) && Netplay.serverSock[num43].tcpClient.Connected)
                                {
                                    try
                                    {
                                        MessageBuffer buffer2 = buffer[num43];
                                        buffer2.spamCount++;
                                        Main.txMsg++;
                                        Main.txData += num42;
                                        Main.txMsgType[msgType]++;
                                        Main.txDataType[msgType] += num42;
                                        Netplay.serverSock[num43].networkStream.BeginWrite(buffer[index].writeBuffer, 0, num42, new AsyncCallback(Netplay.serverSock[num43].ServerWriteCallBack), Netplay.serverSock[num43].networkStream);
                                    }
                                    catch
                                    {
                                    }
                                }
                            }
                        }
                        else if (msgType == 20)
                        {
                            for (int num44 = 0; num44 < 0x100; num44++)
                            {
                                if (((num44 != ignoreClient) && buffer[num44].broadcast) && (Netplay.serverSock[num44].tcpClient.Connected && Netplay.serverSock[num44].SectionRange(number, (int)number2, (int)number3)))
                                {
                                    try
                                    {
                                        MessageBuffer buffer3 = buffer[num44];
                                        buffer3.spamCount++;
                                        Main.txMsg++;
                                        Main.txData += num42;
                                        Main.txMsgType[msgType]++;
                                        Main.txDataType[msgType] += num42;
                                        Netplay.serverSock[num44].networkStream.BeginWrite(buffer[index].writeBuffer, 0, num42, new AsyncCallback(Netplay.serverSock[num44].ServerWriteCallBack), Netplay.serverSock[num44].networkStream);
                                    }
                                    catch
                                    {
                                    }
                                }
                            }
                        }
                        else if (msgType == 0x17)
                        {
                            NPC npc2 = Main.npc[number];
                            for (int num45 = 0; num45 < 0x100; num45++)
                            {
                                if (((num45 != ignoreClient) && buffer[num45].broadcast) && Netplay.serverSock[num45].tcpClient.Connected)
                                {
                                    bool flag2 = false;
                                    if ((npc2.boss || npc2.netAlways) || (npc2.townNPC || !npc2.active))
                                    {
                                        flag2 = true;
                                    }
                                    else if (npc2.netSkip <= 0)
                                    {
                                        Rectangle rectangle = Main.player[num45].getRect();
                                        Rectangle rectangle2 = npc2.getRect();
                                        rectangle2.X -= 0x9c4;
                                        rectangle2.Y -= 0x9c4;
                                        rectangle2.Width += 0x1388;
                                        rectangle2.Height += 0x1388;
                                        if (rectangle.Intersects(rectangle2))
                                        {
                                            flag2 = true;
                                        }
                                    }
                                    else
                                    {
                                        flag2 = true;
                                    }
                                    if (flag2)
                                    {
                                        try
                                        {
                                            MessageBuffer buffer4 = buffer[num45];
                                            buffer4.spamCount++;
                                            Main.txMsg++;
                                            Main.txData += num42;
                                            Main.txMsgType[msgType]++;
                                            Main.txDataType[msgType] += num42;
                                            Netplay.serverSock[num45].networkStream.BeginWrite(buffer[index].writeBuffer, 0, num42, new AsyncCallback(Netplay.serverSock[num45].ServerWriteCallBack), Netplay.serverSock[num45].networkStream);
                                        }
                                        catch
                                        {
                                        }
                                    }
                                }
                            }
                            npc2.netSkip++;
                            if (npc2.netSkip > 4)
                            {
                                npc2.netSkip = 0;
                            }
                        }
                        else if (msgType == 0x1c)
                        {
                            NPC npc3 = Main.npc[number];
                            for (int num46 = 0; num46 < 0x100; num46++)
                            {
                                if (((num46 != ignoreClient) && buffer[num46].broadcast) && Netplay.serverSock[num46].tcpClient.Connected)
                                {
                                    bool flag3 = false;
                                    if (npc3.life <= 0)
                                    {
                                        flag3 = true;
                                    }
                                    else
                                    {
                                        Rectangle rectangle3 = Main.player[num46].getRect();
                                        Rectangle rectangle4 = npc3.getRect();
                                        rectangle4.X -= 0xbb8;
                                        rectangle4.Y -= 0xbb8;
                                        rectangle4.Width += 0x1770;
                                        rectangle4.Height += 0x1770;
                                        if (rectangle3.Intersects(rectangle4))
                                        {
                                            flag3 = true;
                                        }
                                    }
                                    if (flag3)
                                    {
                                        try
                                        {
                                            MessageBuffer buffer5 = buffer[num46];
                                            buffer5.spamCount++;
                                            Main.txMsg++;
                                            Main.txData += num42;
                                            Main.txMsgType[msgType]++;
                                            Main.txDataType[msgType] += num42;
                                            Netplay.serverSock[num46].networkStream.BeginWrite(buffer[index].writeBuffer, 0, num42, new AsyncCallback(Netplay.serverSock[num46].ServerWriteCallBack), Netplay.serverSock[num46].networkStream);
                                        }
                                        catch
                                        {
                                        }
                                    }
                                }
                            }
                        }
                        else if (msgType == 13)
                        {
                            for (int num47 = 0; num47 < 0x100; num47++)
                            {
                                if (((num47 != ignoreClient) && buffer[num47].broadcast) && Netplay.serverSock[num47].tcpClient.Connected)
                                {
                                    try
                                    {
                                        MessageBuffer buffer6 = buffer[num47];
                                        buffer6.spamCount++;
                                        Main.txMsg++;
                                        Main.txData += num42;
                                        Main.txMsgType[msgType]++;
                                        Main.txDataType[msgType] += num42;
                                        Netplay.serverSock[num47].networkStream.BeginWrite(buffer[index].writeBuffer, 0, num42, new AsyncCallback(Netplay.serverSock[num47].ServerWriteCallBack), Netplay.serverSock[num47].networkStream);
                                    }
                                    catch
                                    {
                                    }
                                }
                            }
                            Player player1 = Main.player[number];
                            player1.netSkip++;
                            if (Main.player[number].netSkip > 2)
                            {
                                Main.player[number].netSkip = 0;
                            }
                        }
                        else if (msgType == 0x1b)
                        {
                            Projectile projectile2 = Main.projectile[number];
                            for (int num48 = 0; num48 < 0x100; num48++)
                            {
                                if (((num48 != ignoreClient) && buffer[num48].broadcast) && Netplay.serverSock[num48].tcpClient.Connected)
                                {
                                    bool flag4 = false;
                                    if (((projectile2.type == 12) || Main.projPet[projectile2.type]) || ((projectile2.aiStyle == 11) || projectile2.netImportant))
                                    {
                                        flag4 = true;
                                    }
                                    else
                                    {
                                        Rectangle rectangle5 = Main.player[num48].getRect();
                                        Rectangle rectangle6 = projectile2.getRect();
                                        rectangle6.X -= 0x1388;
                                        rectangle6.Y -= 0x1388;
                                        rectangle6.Width += 0x2710;
                                        rectangle6.Height += 0x2710;
                                        if (rectangle5.Intersects(rectangle6))
                                        {
                                            flag4 = true;
                                        }
                                    }
                                    if (flag4)
                                    {
                                        try
                                        {
                                            MessageBuffer buffer7 = buffer[num48];
                                            buffer7.spamCount++;
                                            Main.txMsg++;
                                            Main.txData += num42;
                                            Main.txMsgType[msgType]++;
                                            Main.txDataType[msgType] += num42;
                                            Netplay.serverSock[num48].networkStream.BeginWrite(buffer[index].writeBuffer, 0, num42, new AsyncCallback(Netplay.serverSock[num48].ServerWriteCallBack), Netplay.serverSock[num48].networkStream);
                                        }
                                        catch
                                        {
                                        }
                                    }
                                }
                            }
                        }
                        else
                        {
                            for (int num49 = 0; num49 < 0x100; num49++)
                            {
                                if (((num49 != ignoreClient) && (buffer[num49].broadcast || ((Netplay.serverSock[num49].state >= 3) && (msgType == 10)))) && Netplay.serverSock[num49].tcpClient.Connected)
                                {
                                    try
                                    {
                                        MessageBuffer buffer8 = buffer[num49];
                                        buffer8.spamCount++;
                                        Main.txMsg++;
                                        Main.txData += num42;
                                        Main.txMsgType[msgType]++;
                                        Main.txDataType[msgType] += num42;
                                        Netplay.serverSock[num49].networkStream.BeginWrite(buffer[index].writeBuffer, 0, num42, new AsyncCallback(Netplay.serverSock[num49].ServerWriteCallBack), Netplay.serverSock[num49].networkStream);
                                    }
                                    catch
                                    {
                                    }
                                }
                            }
                        }
                    }
                    else if (Netplay.serverSock[remoteClient].tcpClient.Connected)
                    {
                        try
                        {
                            MessageBuffer buffer9 = buffer[remoteClient];
                            buffer9.spamCount++;
                            Main.txMsg++;
                            Main.txData += num42;
                            Main.txMsgType[msgType]++;
                            Main.txDataType[msgType] += num42;
                            Netplay.serverSock[remoteClient].networkStream.BeginWrite(buffer[index].writeBuffer, 0, num42, new AsyncCallback(Netplay.serverSock[remoteClient].ServerWriteCallBack), Netplay.serverSock[remoteClient].networkStream);
                        }
                        catch
                        {
                        }
                    }
                    if (Main.verbo*****play)
                    {
                        for (int num50 = 0; num50 < num42; num50++)
                        {
                        }
                        for (int num51 = 0; num51 < num42; num51++)
                        {
                            byte num1 = buffer[index].writeBuffer[num51];
                        }
                    }
                    buffer[index].writeLocked = false;
                    if ((msgType == 0x13) && (Main.netMode == 1))
                    {
                        SendTileSquare(index, (int)number2, (int)number3, 5);
                    }
                    if ((msgType == 2) && (Main.netMode == 2))
                    {
                        Netplay.serverSock[index].kill = true;
                    }
                }
            }
        }
I'd actually prefer to not do this, since not only is that even harder to read than ILSpy's output, but it breaks consistency with the rest of the file. I'd prefer to find the real reason that the issue is happening rather then just copy-pasting this overtop of the original function.
Posts 1–15 of 19 · Page 1 of 2

Post a Reply

Similar Threads

Tags for this Thread

None

Talk with us