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
+1 -1
View File
@@ -842,7 +842,7 @@ namespace Barotrauma
lastSentOxygen = OxygenPercentage;
}
public void ClientRead(ServerNetObject type, NetIncomingMessage message, float sendingTime)
public void ClientRead(ServerNetObject type, NetBuffer message, float sendingTime)
{
Volume = message.ReadRangedSingle(0.0f, 1.5f, 8) * FullVolume;
OxygenPercentage = message.ReadRangedSingle(0.0f, 100.0f, 8);
+1 -1
View File
@@ -872,7 +872,7 @@ namespace Barotrauma
}
}
public void ClientRead(ServerNetObject type, NetIncomingMessage msg, float sendingTime)
public void ClientRead(ServerNetObject type, NetBuffer msg, float sendingTime)
{
for (int i = 0; i < sections.Count(); i++)
{
+1 -1
View File
@@ -1286,7 +1286,7 @@ namespace Barotrauma
msg.Write(PhysicsBody.SimPosition.Y);
}
public void ClientRead(ServerNetObject type, NetIncomingMessage msg, float sendingTime)
public void ClientRead(ServerNetObject type, NetBuffer msg, float sendingTime)
{
var newTargetPosition = new Vector2(
msg.ReadFloat(),