Unstable v0.19.3.0
This commit is contained in:
@@ -6,11 +6,11 @@ namespace Barotrauma.Items.Components
|
||||
{
|
||||
public void ServerEventWrite(IWriteMessage msg, Client c, NetEntityEvent.IData extraData = null)
|
||||
{
|
||||
msg.Write(docked);
|
||||
msg.WriteBoolean(docked);
|
||||
if (docked)
|
||||
{
|
||||
msg.Write(DockingTarget.item.ID);
|
||||
msg.Write(IsLocked);
|
||||
msg.WriteUInt16(DockingTarget.item.ID);
|
||||
msg.WriteBoolean(IsLocked);
|
||||
}
|
||||
}
|
||||
public void ServerEventRead(IReadMessage msg, Client c)
|
||||
|
||||
@@ -38,13 +38,13 @@ namespace Barotrauma.Items.Components
|
||||
bool forcedOpen = TryExtractEventData<EventData>(extraData, out var eventData) && eventData.ForcedOpen;
|
||||
base.ServerEventWrite(msg, c, extraData);
|
||||
|
||||
msg.Write(isOpen);
|
||||
msg.Write(isBroken);
|
||||
msg.Write(forcedOpen); //forced open
|
||||
msg.Write(isStuck);
|
||||
msg.Write(isJammed);
|
||||
msg.WriteBoolean(isOpen);
|
||||
msg.WriteBoolean(isBroken);
|
||||
msg.WriteBoolean(forcedOpen); //forced open
|
||||
msg.WriteBoolean(isStuck);
|
||||
msg.WriteBoolean(isJammed);
|
||||
msg.WriteRangedSingle(stuck, 0.0f, 100.0f, 8);
|
||||
msg.Write(lastUser == null ? (UInt16)0 : lastUser.ID);
|
||||
msg.WriteUInt16(lastUser == null ? (UInt16)0 : lastUser.ID);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,14 +6,14 @@ namespace Barotrauma.Items.Components
|
||||
{
|
||||
public void ServerEventWrite(IWriteMessage msg, Client c, NetEntityEvent.IData extraData = null)
|
||||
{
|
||||
msg.Write(tainted);
|
||||
msg.WriteBoolean(tainted);
|
||||
if (tainted)
|
||||
{
|
||||
msg.Write(selectedTaintedEffect?.UintIdentifier ?? 0);
|
||||
msg.WriteUInt32(selectedTaintedEffect?.UintIdentifier ?? 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
msg.Write(selectedEffect?.UintIdentifier ?? 0);
|
||||
msg.WriteUInt32(selectedEffect?.UintIdentifier ?? 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ namespace Barotrauma.Items.Components
|
||||
|
||||
public void ServerEventWrite(IWriteMessage msg, Client c, NetEntityEvent.IData extraData = null)
|
||||
{
|
||||
msg.WriteRangedSingle(Health, 0f, (float) MaxHealth, 8);
|
||||
msg.WriteRangedSingle(Health, 0f, (float)MaxHealth, 8);
|
||||
if (TryExtractEventData(extraData, out EventData eventData))
|
||||
{
|
||||
int offset = eventData.Offset;
|
||||
@@ -48,11 +48,11 @@ namespace Barotrauma.Items.Components
|
||||
{
|
||||
VineTile vine = Vines[i];
|
||||
var (x, y) = vine.Position;
|
||||
msg.WriteRangedInteger((byte) vine.Type, 0b0000, 0b1111);
|
||||
msg.WriteRangedInteger((byte)vine.Type, 0b0000, 0b1111);
|
||||
msg.WriteRangedInteger(vine.FlowerConfig.Serialize(), 0, 0xFFF);
|
||||
msg.WriteRangedInteger(vine.LeafConfig.Serialize(), 0, 0xFFF);
|
||||
msg.Write((byte) (x / VineTile.Size));
|
||||
msg.Write((byte) (y / VineTile.Size));
|
||||
msg.WriteByte((byte)(x / VineTile.Size));
|
||||
msg.WriteByte((byte)(y / VineTile.Size));
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
@@ -10,13 +10,13 @@ namespace Barotrauma.Items.Components
|
||||
base.ServerEventWrite(msg, c, extraData);
|
||||
|
||||
bool writeAttachData = attachable && body != null;
|
||||
msg.Write(writeAttachData);
|
||||
msg.WriteBoolean(writeAttachData);
|
||||
if (!writeAttachData) { return; }
|
||||
|
||||
msg.Write(Attached);
|
||||
msg.Write(body.SimPosition.X);
|
||||
msg.Write(body.SimPosition.Y);
|
||||
msg.Write(item.Submarine?.ID ?? Entity.NullEntityID);
|
||||
msg.WriteBoolean(Attached);
|
||||
msg.WriteSingle(body.SimPosition.X);
|
||||
msg.WriteSingle(body.SimPosition.Y);
|
||||
msg.WriteUInt16(item.Submarine?.ID ?? Entity.NullEntityID);
|
||||
}
|
||||
|
||||
public void ServerEventRead(IReadMessage msg, Client c)
|
||||
|
||||
@@ -8,7 +8,7 @@ namespace Barotrauma.Items.Components
|
||||
|
||||
public void ServerEventWrite(IWriteMessage msg, Client c, NetEntityEvent.IData extraData = null)
|
||||
{
|
||||
msg.Write(deattachTimer);
|
||||
msg.WriteSingle(deattachTimer);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -78,7 +78,7 @@ namespace Barotrauma.Items.Components
|
||||
|
||||
public void ServerEventWrite(IWriteMessage msg, Client c, NetEntityEvent.IData extraData = null)
|
||||
{
|
||||
msg.Write(Text);
|
||||
msg.WriteString(Text);
|
||||
lastSentText = Text;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,7 +38,7 @@ namespace Barotrauma.Items.Components
|
||||
|
||||
public void ServerEventWrite(IWriteMessage msg, Client c, NetEntityEvent.IData extraData = null)
|
||||
{
|
||||
msg.Write(IsActive);
|
||||
msg.WriteBoolean(IsActive);
|
||||
lastSentState = IsActive;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,8 +6,8 @@ namespace Barotrauma.Items.Components
|
||||
{
|
||||
public void ServerEventWrite(IWriteMessage msg, Client c, NetEntityEvent.IData extraData = null)
|
||||
{
|
||||
msg.Write(State);
|
||||
msg.Write(user == null ? (ushort)0 : user.ID);
|
||||
msg.WriteBoolean(State);
|
||||
msg.WriteUInt16(user == null ? (ushort)0 : user.ID);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,9 +18,9 @@ namespace Barotrauma.Items.Components
|
||||
|
||||
public void ServerEventWrite(IWriteMessage msg, Client c, NetEntityEvent.IData extraData = null)
|
||||
{
|
||||
msg.Write(user?.ID ?? 0);
|
||||
msg.Write(IsActive);
|
||||
msg.Write(progressTimer);
|
||||
msg.WriteUInt16(user?.ID ?? 0);
|
||||
msg.WriteBoolean(IsActive);
|
||||
msg.WriteSingle(progressTimer);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ namespace Barotrauma.Items.Components
|
||||
{
|
||||
//force can only be adjusted at 10% intervals -> no need for more accuracy than this
|
||||
msg.WriteRangedInteger((int)(targetForce / 10.0f), -10, 10);
|
||||
msg.Write(User == null ? Entity.NullEntityID : User.ID);
|
||||
msg.WriteUInt16(User == null ? Entity.NullEntityID : User.ID);
|
||||
}
|
||||
|
||||
public void ServerEventRead(IReadMessage msg, Client c)
|
||||
|
||||
@@ -55,18 +55,18 @@ namespace Barotrauma.Items.Components
|
||||
public void ServerEventWrite(IWriteMessage msg, Client c, NetEntityEvent.IData extraData = null)
|
||||
{
|
||||
var componentData = ExtractEventData<EventData>(extraData);
|
||||
msg.Write((byte)componentData.State);
|
||||
msg.Write(timeUntilReady);
|
||||
msg.WriteByte((byte)componentData.State);
|
||||
msg.WriteSingle(timeUntilReady);
|
||||
uint recipeHash = fabricatedItem?.RecipeHash ?? 0;
|
||||
msg.Write(recipeHash);
|
||||
msg.WriteUInt32(recipeHash);
|
||||
UInt16 userId = fabricatedItem is null || user is null ? (UInt16)0 : user.ID;
|
||||
msg.Write(userId);
|
||||
msg.WriteUInt16(userId);
|
||||
|
||||
var reachedLimits = fabricationLimits.Where(kvp => kvp.Value <= 0);
|
||||
msg.Write((ushort)reachedLimits.Count());
|
||||
msg.WriteUInt16((ushort)reachedLimits.Count());
|
||||
foreach (var kvp in reachedLimits)
|
||||
{
|
||||
msg.Write(kvp.Key);
|
||||
msg.WriteUInt32(kvp.Key);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,16 +49,16 @@ namespace Barotrauma.Items.Components
|
||||
{
|
||||
//flowpercentage can only be adjusted at 10% intervals -> no need for more accuracy than this
|
||||
msg.WriteRangedInteger((int)(flowPercentage / 10.0f), -10, 10);
|
||||
msg.Write(IsActive);
|
||||
msg.Write(Hijacked);
|
||||
msg.WriteBoolean(IsActive);
|
||||
msg.WriteBoolean(Hijacked);
|
||||
if (TargetLevel != null)
|
||||
{
|
||||
msg.Write(true);
|
||||
msg.Write(TargetLevel.Value);
|
||||
msg.WriteBoolean(true);
|
||||
msg.WriteSingle(TargetLevel.Value);
|
||||
}
|
||||
else
|
||||
{
|
||||
msg.Write(false);
|
||||
msg.WriteBoolean(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,8 +45,8 @@ namespace Barotrauma.Items.Components
|
||||
|
||||
public void ServerEventWrite(IWriteMessage msg, Client c, NetEntityEvent.IData extraData = null)
|
||||
{
|
||||
msg.Write(autoTemp);
|
||||
msg.Write(_powerOn);
|
||||
msg.WriteBoolean(autoTemp);
|
||||
msg.WriteBoolean(_powerOn);
|
||||
msg.WriteRangedSingle(temperature, 0.0f, 100.0f, 8);
|
||||
msg.WriteRangedSingle(TargetFissionRate, 0.0f, 100.0f, 8);
|
||||
msg.WriteRangedSingle(TargetTurbineOutput, 0.0f, 100.0f, 8);
|
||||
|
||||
@@ -100,30 +100,30 @@ namespace Barotrauma.Items.Components
|
||||
|
||||
public void ServerEventWrite(IWriteMessage msg, Barotrauma.Networking.Client c, NetEntityEvent.IData extraData = null)
|
||||
{
|
||||
msg.Write(autoPilot);
|
||||
msg.Write(TryExtractEventData<EventData>(extraData, out var eventData) && eventData.DockingButtonClicked);
|
||||
msg.Write(user?.ID ?? Entity.NullEntityID);
|
||||
msg.WriteBoolean(autoPilot);
|
||||
msg.WriteBoolean(TryExtractEventData<EventData>(extraData, out var eventData) && eventData.DockingButtonClicked);
|
||||
msg.WriteUInt16(user?.ID ?? Entity.NullEntityID);
|
||||
|
||||
if (!autoPilot)
|
||||
{
|
||||
//no need to write steering info if autopilot is controlling
|
||||
msg.Write(steeringInput.X);
|
||||
msg.Write(steeringInput.Y);
|
||||
msg.Write(targetVelocity.X);
|
||||
msg.Write(targetVelocity.Y);
|
||||
msg.Write(steeringAdjustSpeed);
|
||||
msg.WriteSingle(steeringInput.X);
|
||||
msg.WriteSingle(steeringInput.Y);
|
||||
msg.WriteSingle(targetVelocity.X);
|
||||
msg.WriteSingle(targetVelocity.Y);
|
||||
msg.WriteSingle(steeringAdjustSpeed);
|
||||
}
|
||||
else
|
||||
{
|
||||
msg.Write(posToMaintain != null);
|
||||
msg.WriteBoolean(posToMaintain != null);
|
||||
if (posToMaintain != null)
|
||||
{
|
||||
msg.Write(((Vector2)posToMaintain).X);
|
||||
msg.Write(((Vector2)posToMaintain).Y);
|
||||
msg.WriteSingle(((Vector2)posToMaintain).X);
|
||||
msg.WriteSingle(((Vector2)posToMaintain).Y);
|
||||
}
|
||||
else
|
||||
{
|
||||
msg.Write(LevelStartSelected);
|
||||
msg.WriteBoolean(LevelStartSelected);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,39 +25,39 @@ namespace Barotrauma.Items.Components
|
||||
var eventData = ExtractEventData<EventData>(extraData);
|
||||
bool launch = eventData.Launch;
|
||||
|
||||
msg.Write(launch);
|
||||
msg.WriteBoolean(launch);
|
||||
if (launch)
|
||||
{
|
||||
msg.Write(User.ID);
|
||||
msg.Write(launchPos.X);
|
||||
msg.Write(launchPos.Y);
|
||||
msg.Write(launchRot);
|
||||
msg.WriteUInt16(User.ID);
|
||||
msg.WriteSingle(launchPos.X);
|
||||
msg.WriteSingle(launchPos.Y);
|
||||
msg.WriteSingle(launchRot);
|
||||
}
|
||||
|
||||
bool stuck = StickTarget != null && !item.Removed && !StickTargetRemoved();
|
||||
msg.Write(stuck);
|
||||
msg.WriteBoolean(stuck);
|
||||
if (stuck)
|
||||
{
|
||||
msg.Write(item.Submarine?.ID ?? Entity.NullEntityID);
|
||||
msg.Write(item.CurrentHull?.ID ?? Entity.NullEntityID);
|
||||
msg.Write(item.SimPosition.X);
|
||||
msg.Write(item.SimPosition.Y);
|
||||
msg.Write(jointAxis.X);
|
||||
msg.Write(jointAxis.Y);
|
||||
msg.WriteUInt16(item.Submarine?.ID ?? Entity.NullEntityID);
|
||||
msg.WriteUInt16(item.CurrentHull?.ID ?? Entity.NullEntityID);
|
||||
msg.WriteSingle(item.SimPosition.X);
|
||||
msg.WriteSingle(item.SimPosition.Y);
|
||||
msg.WriteSingle(jointAxis.X);
|
||||
msg.WriteSingle(jointAxis.Y);
|
||||
if (StickTarget.UserData is Structure structure)
|
||||
{
|
||||
msg.Write(structure.ID);
|
||||
msg.WriteUInt16(structure.ID);
|
||||
int bodyIndex = structure.Bodies.IndexOf(StickTarget);
|
||||
msg.Write((byte)(bodyIndex == -1 ? 0 : bodyIndex));
|
||||
msg.WriteByte((byte)(bodyIndex == -1 ? 0 : bodyIndex));
|
||||
}
|
||||
else if (StickTarget.UserData is Entity entity)
|
||||
{
|
||||
msg.Write(entity.ID);
|
||||
msg.WriteUInt16(entity.ID);
|
||||
}
|
||||
else if (StickTarget.UserData is Limb limb)
|
||||
{
|
||||
msg.Write(limb.character.ID);
|
||||
msg.Write((byte)Array.IndexOf(limb.character.AnimController.Limbs, limb));
|
||||
msg.WriteUInt16(limb.character.ID);
|
||||
msg.WriteByte((byte)Array.IndexOf(limb.character.AnimController.Limbs, limb));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -44,13 +44,13 @@ namespace Barotrauma.Items.Components
|
||||
|
||||
public void ServerEventWrite(IWriteMessage msg, Client c, NetEntityEvent.IData extraData = null)
|
||||
{
|
||||
msg.Write(deteriorationTimer);
|
||||
msg.Write(deteriorateAlwaysResetTimer);
|
||||
msg.Write(DeteriorateAlways);
|
||||
msg.Write(tinkeringDuration);
|
||||
msg.Write(tinkeringStrength);
|
||||
msg.Write(tinkeringPowersDevices);
|
||||
msg.Write(CurrentFixer == null ? (ushort)0 : CurrentFixer.ID);
|
||||
msg.WriteSingle(deteriorationTimer);
|
||||
msg.WriteSingle(deteriorateAlwaysResetTimer);
|
||||
msg.WriteBoolean(DeteriorateAlways);
|
||||
msg.WriteSingle(tinkeringDuration);
|
||||
msg.WriteSingle(tinkeringStrength);
|
||||
msg.WriteBoolean(tinkeringPowersDevices);
|
||||
msg.WriteUInt16(CurrentFixer == null ? (ushort)0 : CurrentFixer.ID);
|
||||
msg.WriteRangedInteger((int)currentFixerAction, 0, 2);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,25 +6,25 @@ namespace Barotrauma.Items.Components
|
||||
{
|
||||
public void ServerEventWrite(IWriteMessage msg, Client c, NetEntityEvent.IData extraData = null)
|
||||
{
|
||||
msg.Write(Snapped);
|
||||
msg.WriteBoolean(Snapped);
|
||||
|
||||
if (!Snapped)
|
||||
{
|
||||
msg.Write(target?.ID ?? Entity.NullEntityID);
|
||||
msg.WriteUInt16(target?.ID ?? Entity.NullEntityID);
|
||||
if (source is Entity entity && !entity.Removed)
|
||||
{
|
||||
msg.Write(entity?.ID ?? Entity.NullEntityID);
|
||||
msg.Write((byte)0);
|
||||
msg.WriteUInt16(entity?.ID ?? Entity.NullEntityID);
|
||||
msg.WriteByte((byte)0);
|
||||
}
|
||||
else if (source is Limb limb && limb.character != null && !limb.character.Removed)
|
||||
{
|
||||
msg.Write(limb.character?.ID ?? Entity.NullEntityID);
|
||||
msg.Write((byte)limb.character.AnimController.Limbs.IndexOf(limb));
|
||||
msg.WriteUInt16(limb.character?.ID ?? Entity.NullEntityID);
|
||||
msg.WriteByte((byte)limb.character.AnimController.Limbs.IndexOf(limb));
|
||||
}
|
||||
else
|
||||
{
|
||||
msg.Write(Entity.NullEntityID);
|
||||
msg.Write((byte)0);
|
||||
msg.WriteUInt16(Entity.NullEntityID);
|
||||
msg.WriteByte((byte)0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ namespace Barotrauma.Items.Components
|
||||
|
||||
public void ServerEventWrite(IWriteMessage msg, Client c, NetEntityEvent.IData extraData = null)
|
||||
{
|
||||
msg.Write(scanTimer);
|
||||
msg.WriteSingle(scanTimer);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -208,7 +208,7 @@ namespace Barotrauma.Items.Components
|
||||
|
||||
public void ServerEventWrite(IWriteMessage msg, Client c, NetEntityEvent.IData extraData = null)
|
||||
{
|
||||
msg.Write(user == null ? (ushort)0 : user.ID);
|
||||
msg.WriteUInt16(user == null ? (ushort)0 : user.ID);
|
||||
ClientEventWrite(msg, extraData);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -72,15 +72,15 @@ namespace Barotrauma.Items.Components
|
||||
var element = customInterfaceElementList[i];
|
||||
if (element.HasPropertyName)
|
||||
{
|
||||
msg.Write(element.Signal);
|
||||
msg.WriteString(element.Signal);
|
||||
}
|
||||
else if(element.ContinuousSignal)
|
||||
{
|
||||
msg.Write(element.State);
|
||||
msg.WriteBoolean(element.State);
|
||||
}
|
||||
else
|
||||
{
|
||||
msg.Write(extraData is Item.ComponentStateEventData { ComponentData: EventData eventData } && eventData.BtnElement == customInterfaceElementList[i]);
|
||||
msg.WriteBoolean(extraData is Item.ComponentStateEventData { ComponentData: EventData eventData } && eventData.BtnElement == customInterfaceElementList[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,7 +38,7 @@ namespace Barotrauma.Items.Components
|
||||
|
||||
public void ServerEventWrite(IWriteMessage msg, Client c, NetEntityEvent.IData extraData = null)
|
||||
{
|
||||
msg.Write(Value);
|
||||
msg.WriteString(Value);
|
||||
lastSentValue = Value;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -101,11 +101,11 @@ namespace Barotrauma.Items.Components
|
||||
{
|
||||
if (TryExtractEventData(extraData, out ServerEventData eventData))
|
||||
{
|
||||
msg.Write(eventData.MsgToSend);
|
||||
msg.WriteString(eventData.MsgToSend);
|
||||
}
|
||||
else
|
||||
{
|
||||
msg.Write(OutputValue);
|
||||
msg.WriteString(OutputValue);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,8 +41,8 @@ namespace Barotrauma.Items.Components
|
||||
msg.WriteRangedInteger(nodeCount, 0, MaxNodesPerNetworkEvent);
|
||||
for (int i = nodeStartIndex; i < nodeStartIndex + nodeCount; i++)
|
||||
{
|
||||
msg.Write(nodes[i].X);
|
||||
msg.Write(nodes[i].Y);
|
||||
msg.WriteSingle(nodes[i].X);
|
||||
msg.WriteSingle(nodes[i].Y);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user