From e680e39bb0d7837d67489298d564cea5fd9e43da Mon Sep 17 00:00:00 2001 From: Deathmax Date: Sun, 3 Jul 2011 09:37:48 +0800 Subject: [PATCH] Teleport should now work without touching spawnTile --- TShockAPI/TSPlayer.cs | 6 ------ TShockAPI/TShock.cs | 24 ++++++++++++------------ 2 files changed, 12 insertions(+), 18 deletions(-) diff --git a/TShockAPI/TSPlayer.cs b/TShockAPI/TSPlayer.cs index a15ab92b..90708586 100644 --- a/TShockAPI/TSPlayer.cs +++ b/TShockAPI/TSPlayer.cs @@ -152,10 +152,6 @@ namespace TShockAPI InitSpawn = false; Teleporting = true; TeleportCoords = new Vector2(tileX, tileY); - var spnx = Main.spawnTileX; - var spnY = Main.spawnTileY; - Main.spawnTileX = tileX; - Main.spawnTileY = tileY; SendData(PacketTypes.WorldInfo); @@ -193,8 +189,6 @@ namespace TShockAPI } } - Main.spawnTileX = spnx; - Main.spawnTileY = spnY; Teleporting = false; SendData(PacketTypes.WorldInfo); diff --git a/TShockAPI/TShock.cs b/TShockAPI/TShock.cs index 4f949632..58afa83c 100755 --- a/TShockAPI/TShock.cs +++ b/TShockAPI/TShock.cs @@ -440,7 +440,7 @@ namespace TShockAPI private void OnSendData(SendDataEventArgs e) { //TODO - Clean this code up - /*switch (e.MsgID) + switch (e.MsgID) { case PacketTypes.WorldInfo: if (e.remoteClient >= 0 && Players[e.remoteClient] != null && Players[e.remoteClient].Teleporting) @@ -449,20 +449,20 @@ namespace TShockAPI var writer = new BinaryWriter(stream); stream.Position = 4; writer.Write(BitConverter.GetBytes(7), 0, 1); - writer.Write((int)Main.time); - writer.Write(Main.dayTime); + writer.Write(BitConverter.GetBytes((int)Main.time)); + writer.Write(BitConverter.GetBytes(Main.dayTime)); writer.Write((byte)Main.moonPhase); writer.Write(Main.bloodMoon); - writer.Write(Main.maxTilesX); - writer.Write(Main.maxTilesY); - writer.Write((int)Players[e.remoteClient].TeleportCoords.X); - writer.Write((int)Players[e.remoteClient].TeleportCoords.Y); - writer.Write((int)Main.worldSurface); - writer.Write((int)Main.rockLayer); - writer.Write(Main.worldID); + writer.Write(BitConverter.GetBytes(Main.maxTilesX)); + writer.Write(BitConverter.GetBytes(Main.maxTilesY)); + writer.Write(BitConverter.GetBytes((int)Players[e.remoteClient].TeleportCoords.X)); + writer.Write(BitConverter.GetBytes((int)Players[e.remoteClient].TeleportCoords.Y)); + writer.Write(BitConverter.GetBytes((int)Main.worldSurface)); + writer.Write(BitConverter.GetBytes((int)Main.rockLayer)); + writer.Write(BitConverter.GetBytes(Main.worldID)); writer.Write((byte)(0 + (WorldGen.shadowOrbSmashed ? 1 : 0) + (NPC.downedBoss1 ? 2 : 0) + (NPC.downedBoss2 ? 4 : 0) + (NPC.downedBoss3 ? 8 : 0))); writer.Write(Encoding.ASCII.GetBytes(Main.worldName)); - var length = (int)(stream.Length - 5); + var length = (int)(stream.Length - 4); stream.Position = 0; writer.Write(length); NetMessage.buffer[e.remoteClient].writeBuffer = stream.GetBuffer(); @@ -478,7 +478,7 @@ namespace TShockAPI break; default: break; - }*/ + } } private void OnGreetPlayer(int who, HandledEventArgs e)