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
-
-
-
-
+