Fixed occasional invalid object header errors when attempting to send a status NetworkEvent for a character (easy way to reproduce was to kill multiple characters during the same frame with an explosion).
This commit is contained in:
@@ -197,8 +197,12 @@ namespace Barotrauma
|
|||||||
IsRemotePlayer = ownerID > 0;
|
IsRemotePlayer = ownerID > 0;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
case 2:
|
||||||
|
ReadStatus(msg);
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
msg.ReadPadBits();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1045,7 +1045,6 @@ namespace Barotrauma.Networking
|
|||||||
fl.Close();
|
fl.Close();
|
||||||
|
|
||||||
throw new Exception("Error while reading update from server: please send us \"crashreport_object.bin\"!");
|
throw new Exception("Error while reading update from server: please send us \"crashreport_object.bin\"!");
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
prevObjHeader = objHeader;
|
prevObjHeader = objHeader;
|
||||||
prevBitPos = inc.Position;
|
prevBitPos = inc.Position;
|
||||||
|
|||||||
@@ -379,8 +379,7 @@ namespace Barotrauma
|
|||||||
if (GameMain.Server == null) return;
|
if (GameMain.Server == null) return;
|
||||||
|
|
||||||
if (extraData != null)
|
if (extraData != null)
|
||||||
{
|
{
|
||||||
|
|
||||||
switch ((NetEntityEvent.Type)extraData[0])
|
switch ((NetEntityEvent.Type)extraData[0])
|
||||||
{
|
{
|
||||||
case NetEntityEvent.Type.InventoryState:
|
case NetEntityEvent.Type.InventoryState:
|
||||||
@@ -392,6 +391,13 @@ namespace Barotrauma
|
|||||||
Client owner = ((Client)extraData[1]);
|
Client owner = ((Client)extraData[1]);
|
||||||
msg.Write(owner == null ? (byte)0 : owner.ID);
|
msg.Write(owner == null ? (byte)0 : owner.ID);
|
||||||
break;
|
break;
|
||||||
|
case NetEntityEvent.Type.Status:
|
||||||
|
msg.WriteRangedInteger(0, 2, 2);
|
||||||
|
WriteStatus(msg);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
DebugConsole.ThrowError("Invalid NetworkEvent type for entity " + ToString() + " (" + (NetEntityEvent.Type)extraData[0] + ")");
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
msg.WritePadBits();
|
msg.WritePadBits();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user