AimCoords also added for LightSync. Small changes
This commit is contained in:
@ -478,6 +478,7 @@ namespace CoopClient
|
||||
player.VehicleVelocity = packet.VehVelocity.ToVector();
|
||||
player.VehicleSpeed = packet.VehSpeed;
|
||||
player.VehicleSteeringAngle = packet.VehSteeringAngle;
|
||||
player.AimCoords = packet.AimCoords.ToVector();
|
||||
player.VehIsEngineRunning = (packet.Flag.Value & (ushort)VehicleDataFlags.IsEngineRunning) > 0;
|
||||
player.VehAreLightsOn = (packet.Flag.Value & (ushort)VehicleDataFlags.AreLightsOn) > 0;
|
||||
player.VehAreHighBeamsOn = (packet.Flag.Value & (ushort)VehicleDataFlags.AreHighBeamsOn) > 0;
|
||||
|
@ -1165,6 +1165,8 @@ namespace CoopClient
|
||||
|
||||
public float VehSteeringAngle { get; set; }
|
||||
|
||||
public LVector3 AimCoords { get; set; }
|
||||
|
||||
public ushort? Flag { get; set; }
|
||||
|
||||
public float? Latency { get; set; }
|
||||
@ -1179,6 +1181,9 @@ namespace CoopClient
|
||||
// Write player netHandle
|
||||
byteArray.AddRange(BitConverter.GetBytes(NetHandle));
|
||||
|
||||
// Write vehicle flags
|
||||
byteArray.AddRange(BitConverter.GetBytes(Flag.Value));
|
||||
|
||||
// Write player health
|
||||
byteArray.AddRange(BitConverter.GetBytes(Health));
|
||||
|
||||
@ -1210,8 +1215,17 @@ namespace CoopClient
|
||||
// Write vehicle steering angle
|
||||
byteArray.AddRange(BitConverter.GetBytes(VehSteeringAngle));
|
||||
|
||||
// Write vehicle flags
|
||||
byteArray.AddRange(BitConverter.GetBytes(Flag.Value));
|
||||
// Check
|
||||
if (Flag.HasValue)
|
||||
{
|
||||
if ((Flag.Value & (ushort)VehicleDataFlags.OnTurretSeat) != 0)
|
||||
{
|
||||
// Write player aim coords
|
||||
byteArray.AddRange(BitConverter.GetBytes(AimCoords.X));
|
||||
byteArray.AddRange(BitConverter.GetBytes(AimCoords.Y));
|
||||
byteArray.AddRange(BitConverter.GetBytes(AimCoords.Z));
|
||||
}
|
||||
}
|
||||
|
||||
// Check if player latency has value
|
||||
if (Latency.HasValue)
|
||||
@ -1240,6 +1254,9 @@ namespace CoopClient
|
||||
// Read player netHandle
|
||||
NetHandle = reader.ReadLong();
|
||||
|
||||
// Read player flags
|
||||
Flag = reader.ReadUShort();
|
||||
|
||||
// Read player health
|
||||
Health = reader.ReadInt();
|
||||
|
||||
@ -1280,8 +1297,19 @@ namespace CoopClient
|
||||
// Read vehicle steering angle
|
||||
VehSteeringAngle = reader.ReadFloat();
|
||||
|
||||
// Read player flags
|
||||
Flag = reader.ReadUShort();
|
||||
// Check
|
||||
if (Flag.HasValue)
|
||||
{
|
||||
if ((Flag.Value & (ushort)VehicleDataFlags.OnTurretSeat) != 0)
|
||||
{
|
||||
AimCoords = new LVector3()
|
||||
{
|
||||
X = reader.ReadFloat(),
|
||||
Y = reader.ReadFloat(),
|
||||
Z= reader.ReadFloat()
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
// Try to read latency
|
||||
if (reader.CanRead(4))
|
||||
|
@ -47,11 +47,6 @@ namespace CoopClient
|
||||
}
|
||||
#endregion
|
||||
|
||||
public static dynamic Lerp(dynamic from, dynamic to, float fAlpha)
|
||||
{
|
||||
return (to - from) * fAlpha + from;
|
||||
}
|
||||
|
||||
public static T GetGameMs<T>() where T : IConvertible
|
||||
{
|
||||
return (T)Convert.ChangeType(1f / (Game.FPS > 60f ? 60f : Game.FPS) * 1000f, typeof(T));
|
||||
@ -117,6 +112,11 @@ namespace CoopClient
|
||||
return (end - start) * currentTime / duration + start;
|
||||
}
|
||||
|
||||
public static dynamic Lerp(dynamic from, dynamic to, float fAlpha)
|
||||
{
|
||||
return (to - from) * fAlpha + from;
|
||||
}
|
||||
|
||||
public static int GetResponsiblePedHandle(this Vehicle veh)
|
||||
{
|
||||
if (veh == null || veh.Handle == 0 || !veh.Exists())
|
||||
@ -352,7 +352,6 @@ namespace CoopClient
|
||||
|
||||
public static void SetVehicleDamageModel(this Vehicle veh, VehicleDamageModel model, bool leavedoors = true)
|
||||
{
|
||||
// Set doors
|
||||
for (int i = 0; i < 8; i++)
|
||||
{
|
||||
if ((model.BrokenDoors & (byte)(1 << i)) != 0)
|
||||
|
@ -1057,6 +1057,8 @@ namespace CoopServer
|
||||
|
||||
public float VehSteeringAngle { get; set; }
|
||||
|
||||
public LVector3 AimCoords { get; set; }
|
||||
|
||||
public ushort? Flag { get; set; }
|
||||
|
||||
public float? Latency { get; set; }
|
||||
@ -1071,6 +1073,9 @@ namespace CoopServer
|
||||
// Write player netHandle
|
||||
byteArray.AddRange(BitConverter.GetBytes(NetHandle));
|
||||
|
||||
// Write vehicle flags
|
||||
byteArray.AddRange(BitConverter.GetBytes(Flag.Value));
|
||||
|
||||
// Write player health
|
||||
byteArray.AddRange(BitConverter.GetBytes(Health));
|
||||
|
||||
@ -1102,8 +1107,17 @@ namespace CoopServer
|
||||
// Write vehicle steering angle
|
||||
byteArray.AddRange(BitConverter.GetBytes(VehSteeringAngle));
|
||||
|
||||
// Write vehicle flags
|
||||
byteArray.AddRange(BitConverter.GetBytes(Flag.Value));
|
||||
// Check
|
||||
if (Flag.HasValue)
|
||||
{
|
||||
if ((Flag.Value & (ushort)VehicleDataFlags.OnTurretSeat) != 0)
|
||||
{
|
||||
// Write player aim coords
|
||||
byteArray.AddRange(BitConverter.GetBytes(AimCoords.X));
|
||||
byteArray.AddRange(BitConverter.GetBytes(AimCoords.Y));
|
||||
byteArray.AddRange(BitConverter.GetBytes(AimCoords.Z));
|
||||
}
|
||||
}
|
||||
|
||||
// Check if player latency has value
|
||||
if (Latency.HasValue)
|
||||
@ -1132,6 +1146,9 @@ namespace CoopServer
|
||||
// Read player netHandle
|
||||
NetHandle = reader.ReadLong();
|
||||
|
||||
// Read player flags
|
||||
Flag = reader.ReadUShort();
|
||||
|
||||
// Read player health
|
||||
Health = reader.ReadInt();
|
||||
|
||||
@ -1172,8 +1189,19 @@ namespace CoopServer
|
||||
// Read vehicle steering angle
|
||||
VehSteeringAngle = reader.ReadFloat();
|
||||
|
||||
// Read player flags
|
||||
Flag = reader.ReadUShort();
|
||||
// Check
|
||||
if (Flag.HasValue)
|
||||
{
|
||||
if ((Flag.Value & (ushort)VehicleDataFlags.OnTurretSeat) != 0)
|
||||
{
|
||||
AimCoords = new LVector3()
|
||||
{
|
||||
X = reader.ReadFloat(),
|
||||
Y = reader.ReadFloat(),
|
||||
Z = reader.ReadFloat()
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
// Try to read latency
|
||||
if (reader.CanRead(4))
|
||||
|
Reference in New Issue
Block a user