diff --git a/GeneralMods/HappyBirthday/HappyBirthday.csproj b/GeneralMods/HappyBirthday/HappyBirthday.csproj index 4a535726..dabcd5c6 100644 --- a/GeneralMods/HappyBirthday/HappyBirthday.csproj +++ b/GeneralMods/HappyBirthday/HappyBirthday.csproj @@ -104,6 +104,9 @@ + + + diff --git a/GeneralMods/StardustCore/ModCore.cs b/GeneralMods/StardustCore/ModCore.cs index 73576b95..3ba7bd83 100644 --- a/GeneralMods/StardustCore/ModCore.cs +++ b/GeneralMods/StardustCore/ModCore.cs @@ -6,7 +6,6 @@ using StardewValley.Menus; using StardewValley.Network; using StardustCore.Menus; using StardustCore.ModInfo; -using StardustCore.NetCode; using StardustCore.Objects; using StardustCore.Objects.Tools; using StardustCore.Serialization; @@ -150,37 +149,7 @@ namespace StardustCore private void GameEvents_UpdateTick(object sender, EventArgs e) { - if (Game1.activeClickableMenu != null) - { - if(Game1.activeClickableMenu is StardewValley.Menus.TitleMenu && config.enableMultiplayerHack) - { - if (TitleMenu.subMenu == null) return; - if (TitleMenu.subMenu.GetType() == typeof(FarmhandMenu)) - { - if ((TitleMenu.subMenu as FarmhandMenu).client.GetType() != typeof(ModdedClient)) - { - ModCore.ModMonitor.Log("OK!"); - multiplayer = (Multiplayer)GetInstanceField(typeof(Game1), Program.gamePtr, "multiplayer"); - ModCore.ModMonitor.Log("CODE!!!!!!!"); - string address = (string)GetInstanceField(typeof(LidgrenClient), (TitleMenu.subMenu as FarmhandMenu).client, "address"); - (TitleMenu.subMenu as FarmhandMenu).client = new NetCode.ModdedClient(address); - } - } - } - } - if (Game1.server!=null&& serverHack==false && config.enableMultiplayerHack) - { - ModCore.ModMonitor.Log("OK!"); - multiplayer = (Multiplayer)GetInstanceField(typeof(Game1), Program.gamePtr, "multiplayer"); - //List servers = Helper.Reflection.GetField>(Game1.server, "servers", true).GetValue(); - NetCode.GameServer server = new NetCode.GameServer(); - Game1.server.stopServer(); - Game1.server = server; - server.startServer(); - - serverHack = true; - } if (Game1.client !=null && serverHack == false && config.enableMultiplayerHack) { diff --git a/GeneralMods/StardustCore/NetCode/Graphics/NetAnimation.cs b/GeneralMods/StardustCore/NetCode/Graphics/NetAnimation.cs deleted file mode 100644 index c10a8fb5..00000000 --- a/GeneralMods/StardustCore/NetCode/Graphics/NetAnimation.cs +++ /dev/null @@ -1,55 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Netcode; - -namespace StardustCore.NetCode.Graphics -{ - public class NetAnimation : Netcode.NetField - { - - public NetRectangle sourceRect; - public NetInt frameDuration; - public NetInt frameDurationUntilNextAnimation; - - public NetAnimation() - { - - } - public NetAnimation(Animations.Animation animation) : base(animation) - { - - } - - - protected override void ReadDelta(BinaryReader reader, NetVersion version) - { - sourceRect = new NetRectangle(); - sourceRect.Read(reader, version); - Value.sourceRectangle = sourceRect.Value; - - frameDuration = new NetInt(); - frameDuration.Read(reader, version); - Value.frameDuration = frameDuration.Value; - - frameDurationUntilNextAnimation = new NetInt(); - frameDurationUntilNextAnimation.Read(reader, version); - Value.frameDuration = frameDuration.Value; - } - - protected override void WriteDelta(BinaryWriter writer) - { - sourceRect = new NetRectangle(Value.sourceRectangle); - sourceRect.Write(writer); - - frameDuration = new NetInt(Value.frameDuration); - frameDuration.Write(writer); - - frameDurationUntilNextAnimation = new NetInt(Value.frameCountUntilNextAnimation); - frameDurationUntilNextAnimation.Write(writer); - } - } -} diff --git a/GeneralMods/StardustCore/NetCode/Graphics/NetAnimationManager.cs b/GeneralMods/StardustCore/NetCode/Graphics/NetAnimationManager.cs deleted file mode 100644 index db348c3c..00000000 --- a/GeneralMods/StardustCore/NetCode/Graphics/NetAnimationManager.cs +++ /dev/null @@ -1,89 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Netcode; -using StardewValley; -using StardewValley.Network; - -namespace StardustCore.NetCode.Graphics -{ - public class NetAnimationManager : Netcode.NetField - { - - public NetAnimationManager() - { - - } - - public NetAnimationManager(Animations.AnimationManager manager): base(manager) - { - - } - - - - protected override void ReadDelta(BinaryReader reader, NetVersion version) - { - NetString currentAnimationName = new NetString(); - currentAnimationName.Read(reader, version); - - NetInt currentIndex = new NetInt(); - currentIndex.Read(reader, version); - - NetTexture2DExtended text = new NetTexture2DExtended(); - text.Read(reader, version); - - NetAnimation defaultAnimation = new NetAnimation(); - defaultAnimation.Read(reader, version); - - NetBool enabled = new NetBool(); - enabled.Read(reader, version); - - NetString data = new NetString(); - data.Read(reader, version); - - Value.setExtendedTexture(text.Value); - Value.defaultDrawFrame = defaultAnimation.Value; - Value.enabled = enabled.Value; - //Try and prevent unnecessary parsing. - if (Value.animations == null && !String.IsNullOrEmpty(Value.animationDataString)) - { - Value.animations = Animations.AnimationManager.parseAnimationsFromXNB(data.Value); - } - if (!String.IsNullOrEmpty(data.Value)) - { - Value.setAnimation(currentAnimationName.Value, currentIndex.Value); - } - else - { - Value.currentAnimation = defaultAnimation.Value; - } - } - - protected override void WriteDelta(BinaryWriter writer) - { - NetString currentAnimationName = new NetString(Value.currentAnimationName); - currentAnimationName.Write(writer); - - - NetInt currentAnimationListIndex = new NetInt(Value.currentAnimationListIndex); - currentAnimationListIndex.Write(writer); - - NetTexture2DExtended texture = new NetTexture2DExtended(Value.getExtendedTexture()); - texture.Write(writer); - - NetAnimation defaultDrawFrame = new NetAnimation(Value.defaultDrawFrame); - defaultDrawFrame.Write(writer); - - NetBool enabled = new NetBool(Value.enabled); - enabled.Write(writer); - - NetString animationData = new NetString(Value.animationDataString); - animationData.Write(writer); - - } - } -} diff --git a/GeneralMods/StardustCore/NetCode/ModdedClient.cs b/GeneralMods/StardustCore/NetCode/ModdedClient.cs deleted file mode 100644 index 5ede46b4..00000000 --- a/GeneralMods/StardustCore/NetCode/ModdedClient.cs +++ /dev/null @@ -1,158 +0,0 @@ -using System; -using System.IO; -using Lidgren.Network; -using StardewValley; -using StardewValley.Network; - -namespace StardustCore.NetCode -{ - public class ModdedClient : Client - { - private string address; - private NetClient client; - private bool serverDiscovered; - - public ModdedClient(string address) - { - this.address = address; - } - - public override string getUserID() - { - return ""; - } - - protected override string getHostUserName() - { - return this.client.ServerConnection.RemoteEndPoint.Address.ToString(); - } - - protected override void connectImpl() - { - NetPeerConfiguration config = new NetPeerConfiguration("StardewValley"); - config.EnableMessageType(NetIncomingMessageType.DiscoveryResponse); - config.ConnectionTimeout = 30f; - config.PingInterval = 5f; - config.MaximumTransmissionUnit = 1200; - this.client = new NetClient(config); - this.client.Start(); - int serverPort = 24642; - if (this.address.Contains(":")) - { - string[] strArray = this.address.Split(':'); - this.address = strArray[0]; - serverPort = Convert.ToInt32(strArray[1]); - } - this.client.DiscoverKnownPeer(this.address, serverPort); - } - - public override void disconnect(bool neatly = true) - { - if (this.client.ConnectionStatus != NetConnectionStatus.Disconnected && this.client.ConnectionStatus != NetConnectionStatus.Disconnecting) - { - if (neatly) - this.sendMessage(new OutgoingMessage((byte)19, Game1.player, new object[0])); - this.client.FlushSendQueue(); - this.client.Disconnect(""); - this.client.FlushSendQueue(); - } - this.connectionMessage = (string)null; - } - - protected virtual bool validateProtocol(string version) - { - return version ==ModCore.multiplayer.protocolVersion; - } - - protected override void receiveMessagesImpl() - { - NetIncomingMessage netIncomingMessage; - while ((netIncomingMessage = this.client.ReadMessage()) != null) - { - switch (netIncomingMessage.MessageType) - { - case NetIncomingMessageType.StatusChanged: - this.statusChanged(netIncomingMessage); - continue; - case NetIncomingMessageType.Data: - this.parseDataMessageFromServer(netIncomingMessage); - continue; - case NetIncomingMessageType.DiscoveryResponse: - Console.WriteLine("Found server at " + (object)netIncomingMessage.SenderEndPoint); - if (this.validateProtocol(netIncomingMessage.ReadString())) - { - this.serverName = netIncomingMessage.ReadString(); - this.receiveHandshake(netIncomingMessage); - this.serverDiscovered = true; - continue; - } - this.connectionMessage = "Strings\\UI:CoopMenu_FailedProtocolVersion"; - this.client.Disconnect(""); - continue; - case NetIncomingMessageType.DebugMessage: - case NetIncomingMessageType.WarningMessage: - case NetIncomingMessageType.ErrorMessage: - string str = netIncomingMessage.ReadString(); - Console.WriteLine("{0}: {1}", (object)netIncomingMessage.MessageType, (object)str); - Game1.debugOutput = str; - continue; - default: - continue; - } - } - if (this.client.ServerConnection == null || DateTime.Now.Second % 2 != 0) - return; - Game1.debugOutput = "Ping: " + (object)(float)((double)this.client.ServerConnection.AverageRoundtripTime * 1000.0) + "ms"; - } - - private void receiveHandshake(NetIncomingMessage msg) - { - this.client.Connect(msg.SenderEndPoint.Address.ToString(), msg.SenderEndPoint.Port); - } - - private void statusChanged(NetIncomingMessage message) - { - switch ((NetConnectionStatus)message.ReadByte()) - { - case NetConnectionStatus.Disconnecting: - case NetConnectionStatus.Disconnected: - this.clientRemotelyDisconnected(); - break; - } - } - - private void clientRemotelyDisconnected() - { - this.timedOut = true; - } - - public override void sendMessage(OutgoingMessage message) - { - NetOutgoingMessage message1 = this.client.CreateMessage(); - using (NetBufferWriteStream bufferWriteStream = new NetBufferWriteStream((NetBuffer)message1)) - { - using (BinaryWriter writer = new BinaryWriter((Stream)bufferWriteStream)) - message.Write(writer); - } - int num = (int)this.client.SendMessage(message1, NetDeliveryMethod.ReliableOrdered); - } - - private void parseDataMessageFromServer(NetIncomingMessage dataMsg) - { - using (IncomingMessage message = new IncomingMessage()) - { - using (NetBufferReadStream bufferReadStream = new NetBufferReadStream((NetBuffer)dataMsg)) - { - using (BinaryReader reader = new BinaryReader((Stream)bufferReadStream)) - { - while ((long)dataMsg.LengthBits - dataMsg.Position >= 8L) - { - message.Read(reader); - this.processIncomingMessage(message); - } - } - } - } - } - } -} diff --git a/GeneralMods/StardustCore/NetCode/ModdedGameServer.cs b/GeneralMods/StardustCore/NetCode/ModdedGameServer.cs deleted file mode 100644 index 740c4bc4..00000000 --- a/GeneralMods/StardustCore/NetCode/ModdedGameServer.cs +++ /dev/null @@ -1,423 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Xml.Serialization; -using Microsoft.Xna.Framework; -using Netcode; -using StardewValley; -using StardewValley.Buildings; -using StardewValley.Locations; -using StardewValley.Minigames; -using StardewValley.Network; - -namespace StardustCore.NetCode -{ - public class GameServer : IGameServer - { - public List servers = new List(); - public List pendingGameAvailableActions = new List(); - - public GameServer() - { - this.servers.Add(ModCore.multiplayer.InitServer((Server)new LidgrenServer((IGameServer)this))); - if (Program.sdk.Networking == null) - return; - this.servers.Add(Program.sdk.Networking.CreateServer((IGameServer)this)); - } - - public int connectionsCount - { - get - { - return this.servers.Sum((Func)(s => s.connectionsCount)); - } - } - - public string getInviteCode() - { - foreach (Server server in this.servers) - { - string inviteCode = server.getInviteCode(); - if (inviteCode != null) - return inviteCode; - } - return (string)null; - } - - public string getUserName(long farmerId) - { - foreach (Server server in this.servers) - { - if (server.getUserName(farmerId) != null) - return server.getUserName(farmerId); - } - return (string)null; - } - - protected void initialize() - { - foreach (Server server in this.servers) - server.initialize(); - this.updateLobbyData(); - } - - public void setPrivacy(ServerPrivacy privacy) - { - foreach (Server server in this.servers) - server.setPrivacy(privacy); - } - - public void stopServer() - { - foreach (Server server in this.servers) - server.stopServer(); - } - - public void receiveMessages() - { - foreach (Server server in this.servers) - { - if (server == null) - { - ModCore.ModMonitor.Log("ERROR"); - continue; - } - server.receiveMessages(); - } - if (!this.isGameAvailable()) - return; - foreach (Action gameAvailableAction in this.pendingGameAvailableActions) - gameAvailableAction(); - this.pendingGameAvailableActions.Clear(); - } - - public void sendMessage(long peerId, OutgoingMessage message) - { - foreach (Server server in this.servers) - server.sendMessage(peerId, message); - } - - public bool canAcceptIPConnections() - { - return this.servers.Select((Func)(s => s.canAcceptIPConnections())).Aggregate(false, (Func)((a, b) => a | b)); - } - - public bool canOfferInvite() - { - return this.servers.Select((Func)(s => s.canOfferInvite())).Aggregate(false, (Func)((a, b) => a | b)); - } - - public void offerInvite() - { - foreach (Server server in this.servers) - { - if (server.canOfferInvite()) - server.offerInvite(); - } - } - - public bool connected() - { - foreach (Server server in this.servers) - { - if (!server.connected()) - return false; - } - return true; - } - - public void sendMessage(long peerId, byte messageType, Farmer sourceFarmer, params object[] data) - { - this.sendMessage(peerId, new OutgoingMessage(messageType, sourceFarmer, data)); - } - - public void sendMessages() - { - foreach (Farmer farmer in (IEnumerable)Game1.otherFarmers.Values) - { - foreach (OutgoingMessage message in (IEnumerable)farmer.messageQueue) - this.sendMessage(farmer.UniqueMultiplayerID, message); - farmer.messageQueue.Clear(); - } - } - - public void startServer() - { - Console.WriteLine("Starting server. Protocol version: " + ModCore.multiplayer.protocolVersion); - this.initialize(); - if ((NetFieldBase>)Game1.serverHost == (NetRef)null) - Game1.serverHost = new NetFarmerRoot(); - Game1.serverHost.Value = Game1.player; - Game1.serverHost.MarkClean(); - Game1.serverHost.Clock.InterpolationTicks = ModCore.multiplayer.defaultInterpolationTicks; - if ((NetFieldBase>)Game1.netWorldState == (NetRef)null) - Game1.netWorldState = new NetRoot((IWorldState)new NetWorldState()); - Game1.netWorldState.Clock.InterpolationTicks = 0; - Game1.netWorldState.Value.UpdateFromGame1(); - } - - public void sendServerIntroduction(long peer) - { - this.sendLocation(peer, (GameLocation)Game1.getFarm()); - this.sendLocation(peer, Game1.getLocationFromName("FarmHouse")); - ModCore.SerializationManager.cleanUpInventory(); - ModCore.SerializationManager.cleanUpWorld(); - ModCore.SerializationManager.cleanUpStorageContainers(); - this.sendMessage(peer, new OutgoingMessage((byte)1, Game1.serverHost.Value, new object[3] - { - (object)ModCore.multiplayer.writeObjectFullBytes((NetRoot)Game1.serverHost, new long?(peer)), - (object)ModCore.multiplayer.writeObjectFullBytes(Game1.player.teamRoot, new long?(peer)), - (object)ModCore.multiplayer.writeObjectFullBytes(Game1.netWorldState, new long?(peer)) - })); - foreach (KeyValuePair> root in Game1.otherFarmers.Roots) - { - if (root.Key != Game1.player.UniqueMultiplayerID && root.Key != peer) - this.sendMessage(peer, new OutgoingMessage((byte)2, root.Value.Value, new object[2] - { - (object)this.getUserName(root.Value.Value.UniqueMultiplayerID), - (object)ModCore.multiplayer.writeObjectFullBytes(root.Value, new long?(peer)) - })); - } - ModCore.SerializationManager.restoreAllModObjects(ModCore.SerializationManager.trackedObjectList); - } - - public void playerDisconnected(long disconnectee) - { - Farmer sourceFarmer = (Farmer)null; - Game1.otherFarmers.TryGetValue(disconnectee, out sourceFarmer); - ModCore.multiplayer.playerDisconnected(disconnectee); - if (sourceFarmer == null) - return; - OutgoingMessage message = new OutgoingMessage((byte)19, sourceFarmer, new object[0]); - foreach (long key in (IEnumerable)Game1.otherFarmers.Keys) - { - if (key != disconnectee) - this.sendMessage(key, message); - } - } - - public bool isGameAvailable() - { - bool flag1 = Game1.currentMinigame is Intro || Game1.Date.DayOfMonth == 0; - bool flag2 = Game1.CurrentEvent != null && Game1.CurrentEvent.isWedding; - bool flag3 = Game1.newDaySync != null && !Game1.newDaySync.hasFinished(); - bool flag4 = Game1.player.team.buildingLock.IsLocked(); - if (!Game1.isFestival() && !flag2 && (!flag1 && !flag3)) - return !flag4; - return false; - } - - public bool whenGameAvailable(Action action) - { - if (this.isGameAvailable()) - { - action(); - return true; - } - this.pendingGameAvailableActions.Add(action); - return false; - } - - private void rejectFarmhandRequest(string userID, NetFarmerRoot farmer, Action sendMessage) - { - this.sendAvailableFarmhands(userID, sendMessage); - Console.WriteLine("Rejected request for farmhand " + (farmer.Value != null ? farmer.Value.UniqueMultiplayerID.ToString() : "???")); - } - - private IEnumerable cabins() - { - if (Game1.getFarm() != null) - { - foreach (Building building in Game1.getFarm().buildings) - { - if ((int)((NetFieldBase)building.daysOfConstructionLeft) <= 0 && building.indoors.Value is Cabin) - yield return building.indoors.Value as Cabin; - } - } - } - - private bool authCheck(string userID, Farmer farmhand) - { - if (!Game1.options.enableFarmhandCreation && !(bool)((NetFieldBase)farmhand.isCustomized)) - return false; - if (!(userID == "") && !(farmhand.userID.Value == "")) - return farmhand.userID.Value == userID; - return true; - } - - private Cabin findCabin(Farmer farmhand) - { - foreach (Cabin cabin in this.cabins()) - { - if (cabin.getFarmhand().Value.UniqueMultiplayerID == farmhand.UniqueMultiplayerID) - return cabin; - } - return (Cabin)null; - } - - private Farmer findOriginalFarmhand(Farmer farmhand) - { - return this.findCabin(farmhand)?.getFarmhand().Value; - } - - public void checkFarmhandRequest(string userID, NetFarmerRoot farmer, Action sendMessage, Action approve) - { - if (farmer.Value == null) - { - this.rejectFarmhandRequest(userID, farmer, sendMessage); - } - else - { - long id = farmer.Value.UniqueMultiplayerID; - if (this.whenGameAvailable((Action)(() => - { - Farmer originalFarmhand = this.findOriginalFarmhand(farmer.Value); - if (originalFarmhand == null) - { - Console.WriteLine("Rejected request for farmhand " + (object)id + ": doesn't exist"); - this.rejectFarmhandRequest(userID, farmer, sendMessage); - } - else if (!this.authCheck(userID, originalFarmhand)) - { - Console.WriteLine("Rejected request for farmhand " + (object)id + ": authorization failure"); - this.rejectFarmhandRequest(userID, farmer, sendMessage); - } - else if (Game1.otherFarmers.ContainsKey(id) && !ModCore.multiplayer.isDisconnecting(id) || Game1.serverHost.Value.UniqueMultiplayerID == id) - { - Console.WriteLine("Rejected request for farmhand " + (object)id + ": already in use"); - this.rejectFarmhandRequest(userID, farmer, sendMessage); - } - else if (this.findCabin(farmer.Value).isInventoryOpen()) - { - Console.WriteLine("Rejected request for farmhand " + (object)id + ": inventory in use"); - this.rejectFarmhandRequest(userID, farmer, sendMessage); - } - else - { - Console.WriteLine("Approved request for farmhand " + (object)id); - approve(); - ModCore.multiplayer.addPlayer(farmer); - ModCore.multiplayer.broadcastPlayerIntroduction(farmer); - this.sendServerIntroduction(id); - this.updateLobbyData(); - } - }))) - return; - Console.WriteLine("Postponing request for farmhand " + (object)id); - sendMessage(new OutgoingMessage((byte)11, Game1.player, new object[1] - { - (object)"Strings\\UI:Client_WaitForHostAvailability" - })); - } - } - - public void sendAvailableFarmhands(string userID, Action sendMessage) - { - List> netRefList = new List>(); - Game1.getFarm(); - foreach (Cabin cabin in this.cabins()) - { - NetRef farmhand = cabin.getFarmhand(); - if ((!farmhand.Value.isActive() || ModCore.multiplayer.isDisconnecting(farmhand.Value.UniqueMultiplayerID)) && (this.authCheck(userID, farmhand.Value) && !cabin.isInventoryOpen())) - netRefList.Add(farmhand); - } - using (MemoryStream memoryStream = new MemoryStream()) - { - using (BinaryWriter writer = new BinaryWriter((Stream)memoryStream)) - { - writer.Write(Game1.year); - writer.Write(Utility.getSeasonNumber(Game1.currentSeason)); - writer.Write(Game1.dayOfMonth); - writer.Write((byte)netRefList.Count); - foreach (NetRef netRef in netRefList) - { - try - { - netRef.Serializer = SaveGame.farmerSerializer; - netRef.WriteFull(writer); - } - finally - { - netRef.Serializer = (XmlSerializer)null; - } - } - memoryStream.Seek(0L, SeekOrigin.Begin); - sendMessage(new OutgoingMessage((byte)9, Game1.player, new object[1] - { - (object)memoryStream.ToArray() - })); - } - } - } - - private void sendLocation(long peer, GameLocation location) - { - this.sendMessage(peer, (byte)3, Game1.serverHost.Value, (object)ModCore.multiplayer.writeObjectFullBytes(ModCore.multiplayer.locationRoot(location), new long?(peer))); - } - - private void warpFarmer(Farmer farmer, short x, short y, string name, bool isStructure) - { - GameLocation locationFromName = Game1.getLocationFromName(name, isStructure); - locationFromName.hostSetup(); - farmer.currentLocation = locationFromName; - farmer.Position = new Vector2((float)((int)x * 64), (float)((int)y * 64 - (farmer.Sprite.getHeight() - 32) + 16)); - this.sendLocation(farmer.UniqueMultiplayerID, locationFromName); - } - - public void processIncomingMessage(IncomingMessage message) - { - switch (message.MessageType) - { - case 2: - message.Reader.ReadString(); - ModCore.multiplayer.processIncomingMessage(message); - break; - case 5: - this.warpFarmer(message.SourceFarmer, message.Reader.ReadInt16(), message.Reader.ReadInt16(), message.Reader.ReadString(), message.Reader.ReadByte() == (byte)1); - break; - default: - ModCore.multiplayer.processIncomingMessage(message); - break; - } - if (!ModCore.multiplayer.isClientBroadcastType(message.MessageType)) - return; - this.rebroadcastClientMessage(message); - } - - private void rebroadcastClientMessage(IncomingMessage message) - { - OutgoingMessage message1 = new OutgoingMessage(message); - foreach (long key in (IEnumerable)Game1.otherFarmers.Keys) - { - if (key != message.FarmerID) - this.sendMessage(key, message1); - } - } - - private void setLobbyData(string key, string value) - { - foreach (Server server in this.servers) - server.setLobbyData(key, value); - } - - private bool unclaimedFarmhandsExist() - { - foreach (Cabin cabin in this.cabins()) - { - if (cabin.farmhand.Value == null || cabin.farmhand.Value.userID.Value == "") - return true; - } - return false; - } - - public void updateLobbyData() - { - this.setLobbyData("farmName", Game1.player.farmName.Value); - this.setLobbyData("farmType", Convert.ToString(Game1.whichFarm)); - this.setLobbyData("date", Convert.ToString(new WorldDate(Game1.year, Game1.currentSeason, Game1.dayOfMonth).TotalDays)); - this.setLobbyData("farmhands", string.Join(",", Game1.getAllFarmhands().Select((Func)(farmhand => farmhand.userID.Value)).Where((Func)(user => user != "")))); - this.setLobbyData("newFarmhands", Convert.ToString(Game1.options.enableFarmhandCreation && this.unclaimedFarmhandsExist())); - } - } -} diff --git a/GeneralMods/StardustCore/NetCode/NetAnimation.cs b/GeneralMods/StardustCore/NetCode/NetAnimation.cs deleted file mode 100644 index 74e44e55..00000000 --- a/GeneralMods/StardustCore/NetCode/NetAnimation.cs +++ /dev/null @@ -1,55 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Netcode; - -namespace StardustCore.NetCode -{ - public class NetAnimation : Netcode.NetField - { - - public NetRectangle sourceRect; - public NetInt frameDuration; - public NetInt frameDurationUntilNextAnimation; - - public NetAnimation() - { - - } - public NetAnimation(Animations.Animation animation) : base(animation) - { - - } - - - protected override void ReadDelta(BinaryReader reader, NetVersion version) - { - sourceRect = new NetRectangle(); - sourceRect.Read(reader, version); - Value.sourceRectangle = sourceRect.Value; - - frameDuration = new NetInt(); - frameDuration.Read(reader, version); - Value.frameDuration = frameDuration.Value; - - frameDurationUntilNextAnimation = new NetInt(); - frameDurationUntilNextAnimation.Read(reader, version); - Value.frameDuration = frameDuration.Value; - } - - protected override void WriteDelta(BinaryWriter writer) - { - sourceRect = new NetRectangle(Value.sourceRectangle); - sourceRect.Write(writer); - - frameDuration = new NetInt(Value.frameDuration); - frameDuration.Write(writer); - - frameDurationUntilNextAnimation = new NetInt(Value.frameCountUntilNextAnimation); - frameDurationUntilNextAnimation.Write(writer); - } - } -} diff --git a/GeneralMods/StardustCore/NetCode/NetAnimationManager.cs b/GeneralMods/StardustCore/NetCode/NetAnimationManager.cs deleted file mode 100644 index 2b15bca4..00000000 --- a/GeneralMods/StardustCore/NetCode/NetAnimationManager.cs +++ /dev/null @@ -1,94 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Netcode; -using StardewValley; -using StardewValley.Network; - -namespace StardustCore.NetCode -{ - public class NetAnimationManager : Netcode.NetField - { - - public NetAnimationManager() - { - - } - - public NetAnimationManager(Animations.AnimationManager manager): base(manager) - { - - } - - public NetString currentAnimationName; - public NetInt currentAnimationListIndex; - public NetTexture2DExtended objectTexture; - public NetAnimation defaultDrawFrame; - public NetBool enabled; - public NetString animationDataString; - - protected override void ReadDelta(BinaryReader reader, NetVersion version) - { - NetString currentAnimationName = new NetString(); - currentAnimationName.Read(reader, version); - - NetInt currentIndex = new NetInt(); - currentIndex.Read(reader, version); - - NetTexture2DExtended text = new NetTexture2DExtended(); - text.Read(reader, version); - - NetAnimation defaultAnimation = new NetAnimation(); - defaultAnimation.Read(reader, version); - - NetBool enabled = new NetBool(); - enabled.Read(reader, version); - - NetString data = new NetString(); - data.Read(reader, version); - - Value.setExtendedTexture(text.Value); - Value.defaultDrawFrame = defaultAnimation.Value; - Value.enabled = enabled.Value; - //Try and prevent unnecessary parsing. - if (Value.animations == null && !String.IsNullOrEmpty(Value.animationDataString)) - { - Value.animations = Animations.AnimationManager.parseAnimationsFromXNB(data.Value); - } - if (!String.IsNullOrEmpty(data.Value)) - { - Value.setAnimation(currentAnimationName.Value, currentIndex.Value); - } - else - { - Value.currentAnimation = defaultDrawFrame.Value; - } - } - - protected override void WriteDelta(BinaryWriter writer) - { - NetString curentAnimationName = new NetString(Value.currentAnimationName); - currentAnimationName.Write(writer); - - - NetInt currentAnimationListIndex = new NetInt(Value.currentAnimationListIndex); - currentAnimationListIndex.Write(writer); - - NetTexture2DExtended texture = new NetTexture2DExtended(Value.getExtendedTexture()); - texture.Write(writer); - - NetAnimation defaultDrawFrame = new NetAnimation(Value.defaultDrawFrame); - defaultDrawFrame.Write(writer); - - NetBool enabled = new NetBool(Value.enabled); - enabled.Write(writer); - - NetString animationData = new NetString(Value.animationDataString); - animationData.Write(writer); - - } - } -} diff --git a/GeneralMods/StardustCore/NetCode/NetBufferReadStream.cs b/GeneralMods/StardustCore/NetCode/NetBufferReadStream.cs deleted file mode 100644 index 0b24e59a..00000000 --- a/GeneralMods/StardustCore/NetCode/NetBufferReadStream.cs +++ /dev/null @@ -1,99 +0,0 @@ -using System; -using System.IO; -using Lidgren.Network; - -namespace StardustCore.NetCode -{ - public class NetBufferReadStream : Stream - { - private long offset; - public NetBuffer Buffer; - - public NetBufferReadStream(NetBuffer buffer) - { - this.Buffer = buffer; - this.offset = buffer.Position; - } - - public override bool CanRead - { - get - { - return true; - } - } - - public override bool CanSeek - { - get - { - return true; - } - } - - public override bool CanWrite - { - get - { - return false; - } - } - - public override long Length - { - get - { - return ((long)this.Buffer.LengthBits - this.offset) / 8L; - } - } - - public override long Position - { - get - { - return (this.Buffer.Position - this.offset) / 8L; - } - set - { - this.Buffer.Position = this.offset + value * 8L; - } - } - - public override void Flush() - { - } - - public override int Read(byte[] buffer, int offset, int count) - { - this.Buffer.ReadBytes(buffer, offset, count); - return count; - } - - public override long Seek(long offset, SeekOrigin origin) - { - switch (origin) - { - case SeekOrigin.Begin: - this.Position = offset; - break; - case SeekOrigin.Current: - this.Position += offset; - break; - case SeekOrigin.End: - this.Position = this.Length + offset; - break; - } - return this.Position; - } - - public override void SetLength(long value) - { - throw new NotSupportedException(); - } - - public override void Write(byte[] buffer, int offset, int count) - { - throw new NotSupportedException(); - } - } -} diff --git a/GeneralMods/StardustCore/NetCode/NetBufferWriteStream.cs b/GeneralMods/StardustCore/NetCode/NetBufferWriteStream.cs deleted file mode 100644 index e3b62d41..00000000 --- a/GeneralMods/StardustCore/NetCode/NetBufferWriteStream.cs +++ /dev/null @@ -1,97 +0,0 @@ -using System; -using System.IO; -using Lidgren.Network; - -namespace StardustCore.NetCode -{ - public class NetBufferWriteStream : Stream - { - private int offset; - public NetBuffer Buffer; - - public NetBufferWriteStream(NetBuffer buffer) - { - this.Buffer = buffer; - this.offset = buffer.LengthBits; - } - - public override bool CanRead - { - get - { - return false; - } - } - - public override bool CanSeek - { - get - { - return true; - } - } - - public override bool CanWrite - { - get - { - return true; - } - } - - public override long Length - { - get - { - throw new NotSupportedException(); - } - } - - public override long Position - { - get - { - return (long)((this.Buffer.LengthBits - this.offset) / 8); - } - set - { - this.Buffer.LengthBits = (int)((long)this.offset + value * 8L); - } - } - - public override void Flush() - { - } - - public override int Read(byte[] buffer, int offset, int count) - { - throw new NotSupportedException(); - } - - public override long Seek(long offset, SeekOrigin origin) - { - switch (origin) - { - case SeekOrigin.Begin: - this.Position = offset; - break; - case SeekOrigin.Current: - this.Position += offset; - break; - case SeekOrigin.End: - throw new NotSupportedException(); - } - return this.Position; - } - - public override void SetLength(long value) - { - throw new NotSupportedException(); - } - - public override void Write(byte[] buffer, int offset, int count) - { - this.Buffer.Write(buffer, offset, count); - } - } -} diff --git a/GeneralMods/StardustCore/NetCode/NetCoreObject.cs b/GeneralMods/StardustCore/NetCode/NetCoreObject.cs deleted file mode 100644 index 0f3062ef..00000000 --- a/GeneralMods/StardustCore/NetCode/NetCoreObject.cs +++ /dev/null @@ -1,144 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Runtime.Serialization.Formatters.Binary; -using System.Text; -using System.Threading.Tasks; -using Netcode; -using StardewValley; -using StardustCore.NetCode.Graphics; -using StardustCore.UIUtilities; - -namespace StardustCore.NetCode -{ - public class NetCoreObject : Netcode.NetField - { - - - public NetInt which; - public NetVector2 tilePos; - - - public NetRectangle boundingBox; - - - - public NetVector2 position; - public NetInt Decoration_type; - public NetInt rotations; - public NetInt currentRotation; - public NetInt sourceIndexOffset; - public NetVector2 drawPosition; - public NetRectangle sourceRect; - public NetRectangle defaultSourceRect; - public NetRectangle defaultBoundingBox; - public NetString description; - public NetTexture2DExtended texture; - public NetBool flipped; - public NetBool flaggedForPickup; - public NetBool lightGlowAdded; - public NetObjectList inventory; - public NetInt InventoryMaxSize; - public NetBool itemReadyForHarvest; - public NetBool lightsOn; - public NetString locationName; - public NetColor lightColor; - public NetBool removable; - public NetColor drawColor; - public NetBool useXML; - public NetString serializationName; - - //Animation Manager..... - public NetAnimationManager animationManager; - - - - - public NetCoreObject() - { - - } - - public NetCoreObject(CoreObject value) : base(value) - { - } - - - protected override void ReadDelta(BinaryReader reader, NetVersion version) - { - - texture = new NetTexture2DExtended(); - texture.ReadData(reader, version); - Value.setExtendedTexture(texture.Value); - - which = new NetInt(); - which.Read(reader, version); - Value.ParentSheetIndex = which.Value; - - tilePos = new NetVector2(); - tilePos.Read(reader, version); - Value.TileLocation = tilePos.Value; - - InventoryMaxSize = new NetInt(); - InventoryMaxSize.Read(reader, version); - Value.inventoryMaxSize = InventoryMaxSize.Value; - - sourceRect = new NetRectangle(); - sourceRect.Read(reader, version); - Value.sourceRect = sourceRect.Value; - - boundingBox = new NetRectangle(); - boundingBox.Read(reader, version); - Value.boundingBox.Value = boundingBox.Value; - - drawPosition = new NetVector2(); - drawPosition.Read(reader, version); - Value.drawPosition = drawPosition.Value; - - NetBool isNull = new NetBool(); - isNull.Read(reader, version); - if (isNull.Value) return; - - animationManager = new NetAnimationManager(); - animationManager.Read(reader, version); - Value.animationManager = animationManager.Value; - - - } - - protected override void WriteDelta(BinaryWriter writer) - { - - texture = new NetTexture2DExtended(Value.getExtendedTexture()); - texture.WriteData(writer); - - which = new NetInt(Value.ParentSheetIndex); - which.Write(writer); - - tilePos = new NetVector2(Value.TileLocation); - tilePos.Write(writer); - - InventoryMaxSize = new NetInt(Value.inventoryMaxSize); - InventoryMaxSize.Write(writer); - - sourceRect = new NetRectangle(Value.sourceRect); - sourceRect.Write(writer); - - boundingBox = new NetRectangle(Value.boundingBox.Value); - sourceRect.Write(writer); - - drawPosition = new NetVector2(Value.drawPosition); - drawPosition.Write(writer); - - - NetBool isNull = new NetBool(Value.animationManager == null); - isNull.Write(writer); - if (isNull.Value == true) return; - - animationManager = new NetAnimationManager(Value.animationManager); - animationManager.Write(writer); - - } - } -} diff --git a/GeneralMods/StardustCore/NetCode/NetKeyValuePair.cs b/GeneralMods/StardustCore/NetCode/NetKeyValuePair.cs deleted file mode 100644 index cd017001..00000000 --- a/GeneralMods/StardustCore/NetCode/NetKeyValuePair.cs +++ /dev/null @@ -1,24 +0,0 @@ -using Netcode; -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace StardustCore.NetCode -{ - public class NetKeyValuePair : NetField, NetKeyValuePair> where KField : NetField, new() where VField : NetField, new() - { - - protected override void ReadDelta(BinaryReader reader, NetVersion version) - { - throw new NotImplementedException(); - } - - protected override void WriteDelta(BinaryWriter writer) - { - throw new NotImplementedException(); - } - } -} diff --git a/GeneralMods/StardustCore/NetCode/NetPairs/NetVector2MultiTilePair.cs b/GeneralMods/StardustCore/NetCode/NetPairs/NetVector2MultiTilePair.cs deleted file mode 100644 index 4ffbfbe6..00000000 --- a/GeneralMods/StardustCore/NetCode/NetPairs/NetVector2MultiTilePair.cs +++ /dev/null @@ -1,36 +0,0 @@ -using Microsoft.Xna.Framework; -using Netcode; -using StardustCore.Objects; -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace StardustCore.NetCode.NetPairs -{ - class NetVector2MultiTilePair: NetKeyValuePair - { - - public NetVector2MultiTilePair() - { - - } - - public NetVector2MultiTilePair(KeyValuePair hello) - { - this.InitialSet(Value); - } - - public override void Read(BinaryReader reader, NetVersion version) - { - base.Read(reader, version); - } - - public override void Write(BinaryWriter writer) - { - base.Write(writer); - } - } -} diff --git a/GeneralMods/StardustCore/NetCode/NetTexure2DExtended.cs b/GeneralMods/StardustCore/NetCode/NetTexure2DExtended.cs deleted file mode 100644 index c035f33d..00000000 --- a/GeneralMods/StardustCore/NetCode/NetTexure2DExtended.cs +++ /dev/null @@ -1,65 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Microsoft.Xna.Framework; -using Microsoft.Xna.Framework.Graphics; -using Netcode; -using StardewValley; -using StardustCore.UIUtilities; - -namespace StardustCore.NetCode -{ - public class NetTexture2DExtended : Netcode.NetField - { - - - - public NetTexture2DExtended() - { - - } - - public NetTexture2DExtended(Texture2DExtended value) : base(value) - { - } - - public void ReadData(BinaryReader reader, NetVersion version) - { - ReadDelta(reader, version); - } - - public void WriteData(BinaryWriter writer) - { - WriteDelta(writer); - } - - protected override void ReadDelta(BinaryReader reader, NetVersion version) - { - NetString name = new NetString(); - name.Read(reader, version); - - NetString iD = new NetString(); - iD.Read(reader, version); - - //Texture2D texture = new Texture2D(Game1.graphics.GraphicsDevice,width,height); - Texture2DExtended texture = ModCore.TextureManagers[iD.Value].getTexture(name.Value); - this.Value = texture; - - } - - protected override void WriteDelta(BinaryWriter writer) - { - NetString name = new NetString(Value.Name); - name.Write(writer); - - NetString iD = new NetString(Value.modID); - iD.Write(writer); - - } - - - } -} diff --git a/GeneralMods/StardustCore/NetCode/Objects/NetCoreObject.cs b/GeneralMods/StardustCore/NetCode/Objects/NetCoreObject.cs deleted file mode 100644 index 5d35c7c2..00000000 --- a/GeneralMods/StardustCore/NetCode/Objects/NetCoreObject.cs +++ /dev/null @@ -1,133 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Runtime.Serialization.Formatters.Binary; -using System.Text; -using System.Threading.Tasks; -using Netcode; -using StardewValley; -using StardustCore.NetCode.Graphics; -using StardustCore.UIUtilities; - -namespace StardustCore.NetCode -{ - public class NetCoreObject : Netcode.NetField - { - - - public NetInt which; - public NetVector2 tilePos; - - - public NetRectangle boundingBox; - - - - public NetVector2 position; - public NetInt Decoration_type; - public NetInt rotations; - public NetInt currentRotation; - public NetInt sourceIndexOffset; - public NetVector2 drawPosition; - public NetRectangle sourceRect; - public NetRectangle defaultSourceRect; - public NetRectangle defaultBoundingBox; - public NetString description; - public NetTexture2DExtended texture; - public NetBool flipped; - public NetBool flaggedForPickup; - public NetBool lightGlowAdded; - public NetObjectList inventory; - public NetInt InventoryMaxSize; - public NetBool itemReadyForHarvest; - public NetBool lightsOn; - public NetString locationName; - public NetColor lightColor; - public NetBool removable; - public NetColor drawColor; - public NetBool useXML; - public NetString serializationName; - - //Animation Manager..... - public NetAnimationManager animationManager; - - - - - public NetCoreObject() - { - - } - - public NetCoreObject(CoreObject value) : base(value) - { - } - - - protected override void ReadDelta(BinaryReader reader, NetVersion version) - { - texture = new NetTexture2DExtended(); - texture.Read(reader, version); - Value.setExtendedTexture(texture.Value); - - which = new NetInt(); - which.Read(reader, version); - Value.ParentSheetIndex = which.Value; - - tilePos = new NetVector2(); - tilePos.Read(reader, version); - Value.TileLocation = tilePos.Value; - - InventoryMaxSize = new NetInt(); - InventoryMaxSize.Read(reader, version); - Value.inventoryMaxSize = InventoryMaxSize.Value; - - sourceRect = new NetRectangle(); - sourceRect.Read(reader, version); - Value.sourceRect = sourceRect.Value; - - boundingBox = new NetRectangle(); - boundingBox.Read(reader, version); - Value.boundingBox.Value = boundingBox.Value; - - drawPosition = new NetVector2(); - drawPosition.Read(reader, version); - Value.drawPosition = drawPosition.Value; - - animationManager = new NetAnimationManager(); - animationManager.Read(reader, version); - Value.animationManager = animationManager.Value; - } - - protected override void WriteDelta(BinaryWriter writer) - { - texture = new NetTexture2DExtended(Value.getExtendedTexture()); - texture.Write(writer); - - which = new NetInt(Value.ParentSheetIndex); - which.Write(writer); - - tilePos = new NetVector2(Value.TileLocation); - tilePos.Write(writer); - - InventoryMaxSize = new NetInt(Value.inventoryMaxSize); - InventoryMaxSize.Write(writer); - - sourceRect = new NetRectangle(Value.sourceRect); - sourceRect.Write(writer); - - boundingBox = new NetRectangle(Value.boundingBox.Value); - sourceRect.Write(writer); - - drawPosition = new NetVector2(Value.drawPosition); - drawPosition.Write(writer); - - if (Value.animationManager != null) - { - animationManager = new NetAnimationManager(Value.animationManager); - animationManager.Write(writer); - } - } - } -} \ No newline at end of file diff --git a/GeneralMods/StardustCore/NetCode/Objects/NetMultiTileComponent.cs b/GeneralMods/StardustCore/NetCode/Objects/NetMultiTileComponent.cs deleted file mode 100644 index 3fc17e3d..00000000 --- a/GeneralMods/StardustCore/NetCode/Objects/NetMultiTileComponent.cs +++ /dev/null @@ -1,114 +0,0 @@ -using Netcode; -using StardustCore.NetCode.Graphics; -using StardustCore.Objects; -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace StardustCore.NetCode.Objects -{ - class NetMultiTileComponent : Netcode.NetField - { - private NetTexture2DExtended texture; - private NetInt which; - private NetVector2 tilePos; - private NetRectangle sourceRect; - private NetRectangle boundingBox; - private NetVector2 drawPosition; - private NetAnimationManager animationManager; - - public NetMultiTileComponent() - { - - } - - public NetMultiTileComponent(MultiTileComponent obj): base(obj) - { - - } - - public NetInt InventoryMaxSize { get; private set; } - - protected override void ReadDelta(BinaryReader reader, NetVersion version) - { - - texture = new NetTexture2DExtended(); - texture.Read(reader, version); - - which = new NetInt(); - which.Read(reader, version); - Value.ParentSheetIndex = which.Value; - - tilePos = new NetVector2(); - tilePos.Read(reader, version); - Value.TileLocation = tilePos.Value; - - InventoryMaxSize = new NetInt(); - InventoryMaxSize.Read(reader, version); - Value.inventoryMaxSize = InventoryMaxSize.Value; - - sourceRect = new NetRectangle(); - sourceRect.Read(reader, version); - Value.sourceRect = sourceRect.Value; - - boundingBox = new NetRectangle(); - boundingBox.Read(reader, version); - Value.boundingBox.Value = boundingBox.Value; - - drawPosition = new NetVector2(); - drawPosition.Read(reader, version); - Value.drawPosition = drawPosition.Value; - - animationManager = new NetAnimationManager(); - animationManager.Read(reader, version); - Value.animationManager = animationManager.Value; - //NetCoreObject obj = new NetCoreObject(); - //obj.ReadData(reader, version); - - /* - NetMultiTileObject hmm = new NetMultiTileObject(); - hmm.Read(reader,version); - Value.containerObject = hmm.Value; - */ - } - - protected override void WriteDelta(BinaryWriter writer) - { - //NetCoreObject obj = new NetCoreObject(Value); - //obj.WriteData(writer); - - texture = new NetTexture2DExtended(Value.getExtendedTexture()); - texture.Write(writer); - - which = new NetInt(Value.ParentSheetIndex); - which.Write(writer); - - tilePos = new NetVector2(Value.TileLocation); - tilePos.Write(writer); - - InventoryMaxSize = new NetInt(Value.inventoryMaxSize); - InventoryMaxSize.Write(writer); - - sourceRect = new NetRectangle(Value.sourceRect); - sourceRect.Write(writer); - - boundingBox = new NetRectangle(Value.boundingBox.Value); - sourceRect.Write(writer); - - drawPosition = new NetVector2(Value.drawPosition); - drawPosition.Write(writer); - - if (Value.animationManager != null) - { - animationManager = new NetAnimationManager(Value.animationManager); - animationManager.Write(writer); - } - - //NetMultiTileObject hmm = new NetMultiTileObject(Value.containerObject); - //hmm.Write(writer); - } - } -} diff --git a/GeneralMods/StardustCore/NetCode/Objects/NetMultiTileObject.cs b/GeneralMods/StardustCore/NetCode/Objects/NetMultiTileObject.cs deleted file mode 100644 index 2bbbc4c5..00000000 --- a/GeneralMods/StardustCore/NetCode/Objects/NetMultiTileObject.cs +++ /dev/null @@ -1,63 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Microsoft.Xna.Framework; -using Netcode; -using StardustCore.Objects; - -namespace StardustCore.NetCode.Objects -{ - class NetMultiTileObject : Netcode.NetField - { - public NetMultiTileObject() - { - - } - - public NetMultiTileObject(MultiTileObject obj): base(obj) - { - - } - - protected override void ReadDelta(BinaryReader reader, NetVersion version) - { - NetCoreObject obj = new NetCoreObject(); - obj.Read(reader, version); - //Values already taken care of in NetCoreObject - - NetList, NetKeyValuePair> netList = new NetList, NetKeyValuePair>(); - netList.Read(reader, version); - Value.objects = netList.ToList(); - - NetColor col = new NetColor(); - col.Read(reader, version); - Value.categoryColor = col.Value; - - NetString name = new NetString(); - name.Read(reader, version); - Value.categoryName = name.Value; - } - - protected override void WriteDelta(BinaryWriter writer) - { - NetCoreObject obj = new NetCoreObject(Value); - obj.Write(writer); - - NetList, NetKeyValuePair> netList = new NetList, NetKeyValuePair>(); - foreach (var v in Value.objects) - { - netList.Add(v); - } - netList.Write(writer); - - NetColor col = new NetColor(Value.categoryColor); - col.Write(writer); - - NetString catName = new NetString(Value.categoryName); - catName.Write(writer); - } - } -} diff --git a/GeneralMods/StardustCore/Objects/CoreObject.cs b/GeneralMods/StardustCore/Objects/CoreObject.cs index db9fdd48..0de68f0e 100644 --- a/GeneralMods/StardustCore/Objects/CoreObject.cs +++ b/GeneralMods/StardustCore/Objects/CoreObject.cs @@ -13,6 +13,7 @@ using StardustCore.UIUtilities; using System; using System.Collections.Generic; using System.IO; +using System.Linq; using System.Xml.Serialization; namespace StardustCore @@ -104,7 +105,6 @@ namespace StardustCore lightColor = Color.Black; base.initNetFields(); - this.NetFields.AddField(new NetCode.NetCoreObject(this)); } @@ -113,7 +113,6 @@ namespace StardustCore { base.initNetFields(); this.updateDrawPosition(); - this.NetFields.AddField(new NetCode.NetCoreObject(this)); } @@ -121,7 +120,6 @@ namespace StardustCore { base.initNetFields(); //does nothng - this.NetFields.AddField(new NetCode.NetCoreObject(this)); } @@ -709,16 +707,14 @@ namespace StardustCore this.boundingBox.Value = new Rectangle(x, y, Game1.tileSize, Game1.tileSize); - using (List.Enumerator enumerator3 = location.getFarmers().GetEnumerator()) + foreach (Farmer farmer in Game1.getAllFarmers()) { - while (enumerator3.MoveNext()) + if (farmer.currentLocation != location) continue; + if (farmer.GetBoundingBox().Intersects(this.boundingBox.Value)) { - if (enumerator3.Current.GetBoundingBox().Intersects(this.boundingBox.Value)) - { - Game1.showRedMessage("Can't place on top of a person."); - bool result = false; - return result; - } + Game1.showRedMessage("Can't place on top of a person."); + bool result = false; + return result; } } this.updateDrawPosition(); diff --git a/GeneralMods/StardustCore/Objects/MultiTileComponent.cs b/GeneralMods/StardustCore/Objects/MultiTileComponent.cs index ddce05ac..9ef847a0 100644 --- a/GeneralMods/StardustCore/Objects/MultiTileComponent.cs +++ b/GeneralMods/StardustCore/Objects/MultiTileComponent.cs @@ -18,7 +18,6 @@ namespace StardustCore.Objects public MultiTileComponent() { //this.TextureSheet = new Texture2DExtended(); - this.NetFields.AddField(new NetCode.NetTexture2DExtended(this.getExtendedTexture())); } public MultiTileComponent(CoreObject part) @@ -33,7 +32,6 @@ namespace StardustCore.Objects this.defaultBoundingBox = new Rectangle(0, 0, 16, 16); this.boundingBox.Value = new Rectangle((int)0 * Game1.tileSize, (int)0* Game1.tileSize, 1 * Game1.tileSize, 1 * Game1.tileSize); - this.NetFields.AddField(new NetCode.NetTexture2DExtended(this.getExtendedTexture())); } public MultiTileComponent(int which,String name, String description, Texture2DExtended texture) @@ -51,7 +49,6 @@ namespace StardustCore.Objects this.serializationName = this.GetType().ToString(); this.ParentSheetIndex = which; - this.NetFields.AddField(new NetCode.NetTexture2DExtended(this.getExtendedTexture())); } public MultiTileComponent(int which,String name, String description, Animations.AnimationManager animationManager) @@ -69,8 +66,6 @@ namespace StardustCore.Objects this.defaultSourceRect = this.sourceRect; this.serializationName = this.GetType().ToString(); this.ParentSheetIndex = which; - - this.NetFields.AddField(new NetCode.NetTexture2DExtended(this.getExtendedTexture())); } public override bool clicked(Farmer who) @@ -107,16 +102,14 @@ namespace StardustCore.Objects this.position = new Vector2(point.X, point.Y); this.TileLocation = new Vector2((float)point.X, (float)point.Y); this.boundingBox.Value = new Rectangle((int)TileLocation.X * Game1.tileSize, (int)TileLocation.Y * Game1.tileSize, 1 * Game1.tileSize, 1 * Game1.tileSize); - using (List.Enumerator enumerator3 = location.getFarmers().GetEnumerator()) + foreach (Farmer farmer in Game1.getAllFarmers()) { - while (enumerator3.MoveNext()) + if (farmer.currentLocation != location) continue; + if (farmer.GetBoundingBox().Intersects(this.boundingBox.Value)) { - if (enumerator3.Current.GetBoundingBox().Intersects(this.boundingBox.Value)) - { - Game1.showRedMessage("Can't place on top of a person."); - bool result = false; - return result; - } + Game1.showRedMessage("Can't place on top of a person."); + bool result = false; + return result; } } this.updateDrawPosition(); diff --git a/GeneralMods/StardustCore/StardustCore.csproj b/GeneralMods/StardustCore/StardustCore.csproj index 7d6bb229..df097d9d 100644 --- a/GeneralMods/StardustCore/StardustCore.csproj +++ b/GeneralMods/StardustCore/StardustCore.csproj @@ -95,15 +95,6 @@ - - - - - - - - - @@ -451,10 +442,7 @@ PreserveNewest - - - - +