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