ServerEntityEventManager doesn't process received events until the character inputs of the client for the corresponding frame have been processed (fixes character movement lagging behind EntityEvents at the servers side)

+ split character networking logic into a separate file, characters drop items at the position of their collider instead of hands
This commit is contained in:
Regalis
2017-02-09 18:56:28 +02:00
parent 1f16bef01c
commit 52bf73722f
29 changed files with 959 additions and 827 deletions
@@ -333,9 +333,9 @@ namespace Barotrauma.Items.Components
powerConnection.TryAddLink(wire);
wire.Connect(powerConnection, false);
wire.Connect(powerConnection, false, false);
recipient.TryAddLink(wire);
wire.Connect(recipient, false);
wire.Connect(recipient, false, false);
}
private void CreateDoorBody()
@@ -756,7 +756,7 @@ namespace Barotrauma.Items.Components
}
}
public void ClientRead(ServerNetObject type, Lidgren.Network.NetIncomingMessage msg, float sendingTime)
public void ClientRead(ServerNetObject type, Lidgren.Network.NetBuffer msg, float sendingTime)
{
bool isDocked = msg.ReadBoolean();