Fix WorldInfo packet, window title now correctly displays the IP Address of the Network Interface the server is being hosted on.

This commit is contained in:
Enerdy 2015-07-04 22:06:27 +01:00
parent dec885baac
commit 3099f5d18c
3 changed files with 70 additions and 6 deletions

View file

@ -1606,7 +1606,7 @@ namespace TShockAPI
return true;
}
NetMessage.SendData((int) PacketTypes.TimeSet, -1, -1, "", 0, 0, Main.sunModY, Main.moonModY);
NetMessage.SendData((int) PacketTypes.TimeSet, -1, -1, "", Main.dayTime ? 1 : 0, (int)Main.time, Main.sunModY, Main.moonModY);
return false;
}
@ -2212,10 +2212,10 @@ namespace TShockAPI
private static bool HandlePlayerUpdate(GetDataHandlerArgs args)
{
var plr = args.Data.ReadInt8();
var control = (BitsByte)args.Data.ReadInt8();
var pulley = (BitsByte)args.Data.ReadInt8();
var item = args.Data.ReadInt8();
byte plr = args.Data.ReadInt8();
BitsByte control = args.Data.ReadInt8();
BitsByte pulley = args.Data.ReadInt8();
byte item = args.Data.ReadInt8();
var pos = new Vector2(args.Data.ReadSingle(), args.Data.ReadSingle());
var vel = Vector2.Zero;
if(pulley[2])

View file

@ -52,6 +52,32 @@ namespace TShockAPI.Net
SnowMoon = 128
}
[Flags]
public enum BossFlags3 : byte
{
None = 0,
ExpertMode = 1,
FastForwardTime = 2,
SlimeRain = 4,
DownedKingSlime = 8,
DownedQueenBee = 16,
DownedFishron = 32,
DownedMartians = 64,
DownedAncientCultist = 128
}
[Flags]
public enum BossFlags4 : byte
{
None = 0,
DownedMoonLord = 1,
DownedHalloweenKing = 2,
DownedHalloweenTree = 4,
DownedChristmasIceQueen = 8,
DownedChristmasSantank = 16,
DownedChristmasTree = 32
}
public class WorldInfoMsg : BaseMsg
{
public int Time { get; set; }
@ -96,6 +122,8 @@ namespace TShockAPI.Net
public byte NumberOfClouds { get; set; }
public BossFlags BossFlags { get; set; }
public BossFlags2 BossFlags2 { get; set; }
public BossFlags3 BossFlags3 { get; set; }
public BossFlags4 BossFlags4 { get; set; }
public float Rain { get; set; }
public string WorldName { get; set; }
@ -171,6 +199,27 @@ namespace TShockAPI.Net
(BossFlags2 & BossFlags2.PumpkinMoon) == BossFlags2.PumpkinMoon,
(BossFlags2 & BossFlags2.SnowMoon) == BossFlags2.SnowMoon);
writer.Write(bosses2);
BitsByte bosses3 = new BitsByte((BossFlags3 & BossFlags3.ExpertMode) == BossFlags3.ExpertMode,
(BossFlags3 & BossFlags3.FastForwardTime) == BossFlags3.FastForwardTime,
(BossFlags3 & BossFlags3.SlimeRain) == BossFlags3.SlimeRain,
(BossFlags3 & BossFlags3.DownedKingSlime) == BossFlags3.DownedKingSlime,
(BossFlags3 & BossFlags3.DownedQueenBee) == BossFlags3.DownedQueenBee,
(BossFlags3 & BossFlags3.DownedFishron) == BossFlags3.DownedFishron,
(BossFlags3 & BossFlags3.DownedMartians) == BossFlags3.DownedMartians,
(BossFlags3 & BossFlags3.DownedAncientCultist) == BossFlags3.DownedAncientCultist);
writer.Write(bosses3);
BitsByte bosses4 = new BitsByte((BossFlags4 & BossFlags4.DownedMoonLord) == BossFlags4.DownedMoonLord,
(BossFlags4 & BossFlags4.DownedHalloweenKing) == BossFlags4.DownedHalloweenKing,
(BossFlags4 & BossFlags4.DownedHalloweenTree) == BossFlags4.DownedHalloweenTree,
(BossFlags4 & BossFlags4.DownedChristmasIceQueen) == BossFlags4.DownedChristmasIceQueen,
(BossFlags4 & BossFlags4.DownedChristmasSantank) == BossFlags4.DownedChristmasSantank,
(BossFlags4 & BossFlags4.DownedChristmasTree) == BossFlags4.DownedChristmasTree);
writer.Write(bosses4);
writer.Write((sbyte)Main.invasionType);
writer.Write(Main.LobbyId);
}
}
}

View file

@ -919,7 +919,7 @@ namespace TShockAPI
Console.Title = string.Format("{0}{1}/{2} @ {3}:{4} (TShock for Terraria v{5})",
!string.IsNullOrWhiteSpace(Config.ServerName) ? Config.ServerName + " - " : "",
empty ? 0 : Utils.ActivePlayers(),
Config.MaxSlots, Netplay.ServerIPText, Netplay.ListenPort, Version);
Config.MaxSlots, Netplay.ServerIP.MapToIPv4().ToString(), Netplay.ListenPort, Version);
}
/// <summary>OnHardUpdate - Fired when a hardmode tile update event happens.</summary>
@ -1475,6 +1475,21 @@ namespace TShockAPI
(WorldGen.crimson ? BossFlags2.Crimson : BossFlags2.None) |
(Main.pumpkinMoon ? BossFlags2.PumpkinMoon : BossFlags2.None) |
(Main.snowMoon ? BossFlags2.SnowMoon : BossFlags2.None),
BossFlags3 = (Main.expertMode ? BossFlags3.ExpertMode : BossFlags3.None) |
(Main.fastForwardTime ? BossFlags3.FastForwardTime : BossFlags3.None) |
(Main.slimeRain ? BossFlags3.SlimeRain : BossFlags3.None) |
(NPC.downedSlimeKing ? BossFlags3.DownedKingSlime : BossFlags3.None) |
(NPC.downedQueenBee ? BossFlags3.DownedQueenBee : BossFlags3.None) |
(NPC.downedFishron ? BossFlags3.DownedFishron : BossFlags3.None) |
(NPC.downedMartians ? BossFlags3.DownedMartians : BossFlags3.None) |
(NPC.downedAncientCultist ? BossFlags3.DownedAncientCultist : BossFlags3.None),
BossFlags4 = (NPC.downedMoonlord ? BossFlags4.DownedMoonLord : BossFlags4.None) |
(NPC.downedHalloweenKing ? BossFlags4.DownedHalloweenKing : BossFlags4.None) |
(NPC.downedHalloweenTree ? BossFlags4.DownedHalloweenTree : BossFlags4.None) |
(NPC.downedChristmasIceQueen ? BossFlags4.DownedChristmasIceQueen : BossFlags4.None) |
(NPC.downedChristmasSantank ? BossFlags4.DownedChristmasSantank : BossFlags4.None) |
(NPC.downedChristmasTree ? BossFlags4.DownedChristmasTree : BossFlags4.None),
Rain = Main.maxRaining,
WorldName = TShock.Config.UseServerName ? TShock.Config.ServerName : Main.worldName
};