Use TickCount64 instead of TickCount
This commit is contained in:
@ -31,7 +31,7 @@ namespace CoopClient
|
||||
}
|
||||
}
|
||||
|
||||
private int LastMessageTime { get; set; }
|
||||
private ulong LastMessageTime { get; set; }
|
||||
|
||||
private bool CurrentHidden { get; set; }
|
||||
private bool Hidden
|
||||
@ -73,7 +73,7 @@ namespace CoopClient
|
||||
|
||||
public void Tick()
|
||||
{
|
||||
if ((Environment.TickCount - LastMessageTime) > 15000 && !Focused && !Hidden)
|
||||
if ((Util.GetTickCount64() - LastMessageTime) > 15000 && !Focused && !Hidden)
|
||||
{
|
||||
Hidden = true;
|
||||
}
|
||||
@ -94,7 +94,7 @@ namespace CoopClient
|
||||
public void AddMessage(string sender, string msg)
|
||||
{
|
||||
MainScaleForm.CallFunction("ADD_MESSAGE", sender + ":", msg);
|
||||
LastMessageTime = Environment.TickCount;
|
||||
LastMessageTime = Util.GetTickCount64();
|
||||
Hidden = false;
|
||||
}
|
||||
|
||||
|
@ -15,7 +15,7 @@ namespace CoopClient
|
||||
{
|
||||
private bool AllDataAvailable = false;
|
||||
public bool LastSyncWasFull { get; set; } = false;
|
||||
public long LastUpdateReceived { get; set; }
|
||||
public ulong LastUpdateReceived { get; set; }
|
||||
public float Latency { get; set; }
|
||||
|
||||
public Ped Character { get; set; }
|
||||
@ -44,7 +44,7 @@ namespace CoopClient
|
||||
public Blip PedBlip;
|
||||
|
||||
#region -- IN VEHICLE --
|
||||
private int VehicleStopTime { get; set; }
|
||||
private ulong VehicleStopTime { get; set; }
|
||||
|
||||
public bool IsInVehicle { get; set; }
|
||||
public int VehicleModelHash { get; set; }
|
||||
@ -450,11 +450,11 @@ namespace CoopClient
|
||||
MainVehicle.Velocity = VehicleVelocity + forceMultiplier * (VehiclePosition - MainVehicle.Position);
|
||||
MainVehicle.Quaternion = Quaternion.Slerp(MainVehicle.Quaternion, VehicleRotation, 0.5f);
|
||||
|
||||
VehicleStopTime = Environment.TickCount;
|
||||
VehicleStopTime = Util.GetTickCount64();
|
||||
}
|
||||
else if ((Environment.TickCount - VehicleStopTime) <= 1000)
|
||||
else if ((Util.GetTickCount64() - VehicleStopTime) <= 1000)
|
||||
{
|
||||
Vector3 posTarget = Util.LinearVectorLerp(MainVehicle.Position, VehiclePosition + (VehiclePosition - MainVehicle.Position), Environment.TickCount - VehicleStopTime, 1000);
|
||||
Vector3 posTarget = Util.LinearVectorLerp(MainVehicle.Position, VehiclePosition + (VehiclePosition - MainVehicle.Position), Util.GetTickCount64() - VehicleStopTime, 1000);
|
||||
|
||||
MainVehicle.PositionNoOffset = posTarget;
|
||||
MainVehicle.Quaternion = Quaternion.Slerp(MainVehicle.Quaternion, VehicleRotation, 0.5f);
|
||||
|
@ -26,7 +26,7 @@ namespace CoopClient.Entities
|
||||
{
|
||||
localNpcs = new Dictionary<long, EntitiesNpc>(Main.Npcs);
|
||||
|
||||
int tickCount = Environment.TickCount;
|
||||
ulong tickCount = Util.GetTickCount64();
|
||||
foreach (KeyValuePair<long, EntitiesNpc> npc in new Dictionary<long, EntitiesNpc>(localNpcs))
|
||||
{
|
||||
if ((tickCount - npc.Value.LastUpdateReceived) > 3000)
|
||||
|
@ -1,5 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
|
||||
@ -95,7 +94,7 @@ namespace CoopClient
|
||||
|
||||
public static bool IsPlayerListVisible()
|
||||
{
|
||||
return Environment.TickCount - PlayerList.Pressed < 5000;
|
||||
return Util.GetTickCount64() - PlayerList.Pressed < 5000;
|
||||
}
|
||||
|
||||
public static string GetCurrentVersion()
|
||||
|
@ -51,7 +51,7 @@ namespace CoopClient
|
||||
Util.NativeMemory();
|
||||
}
|
||||
|
||||
private int LastDataSend;
|
||||
private ulong LastDataSend;
|
||||
private void OnTick(object sender, EventArgs e)
|
||||
{
|
||||
if (Game.IsLoading)
|
||||
@ -104,14 +104,14 @@ namespace CoopClient
|
||||
}
|
||||
#endif
|
||||
|
||||
if ((Environment.TickCount - LastDataSend) < (1000 / 60))
|
||||
if ((Util.GetTickCount64() - LastDataSend) < (1000 / 60))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
MainNetworking.SendPlayerData();
|
||||
|
||||
LastDataSend = Environment.TickCount;
|
||||
LastDataSend = Util.GetTickCount64();
|
||||
}
|
||||
|
||||
#if !NON_INTERACTIVE
|
||||
@ -164,7 +164,7 @@ namespace CoopClient
|
||||
{
|
||||
if (MainNetworking.IsOnServer())
|
||||
{
|
||||
int currentTimestamp = Environment.TickCount;
|
||||
ulong currentTimestamp = Util.GetTickCount64();
|
||||
PlayerList.Pressed = (currentTimestamp - PlayerList.Pressed) < 5000 ? (currentTimestamp - 6000) : currentTimestamp;
|
||||
}
|
||||
return;
|
||||
@ -217,9 +217,9 @@ namespace CoopClient
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
private int ArtificialLagCounter;
|
||||
private ulong ArtificialLagCounter;
|
||||
public static EntitiesPlayer DebugSyncPed;
|
||||
public static int LastFullDebugSync = 0;
|
||||
public static ulong LastFullDebugSync = 0;
|
||||
public static bool UseDebug = false;
|
||||
|
||||
private void Debug()
|
||||
@ -231,12 +231,12 @@ namespace CoopClient
|
||||
DebugSyncPed = Players[0];
|
||||
}
|
||||
|
||||
if ((Environment.TickCount - ArtificialLagCounter) < 157)
|
||||
if ((Util.GetTickCount64() - ArtificialLagCounter) < 157)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
bool fullSync = (Environment.TickCount - LastFullDebugSync) > 1500;
|
||||
bool fullSync = (Util.GetTickCount64() - LastFullDebugSync) > 1500;
|
||||
|
||||
if (fullSync)
|
||||
{
|
||||
@ -316,7 +316,7 @@ namespace CoopClient
|
||||
}
|
||||
}
|
||||
|
||||
int currentTimestamp = Environment.TickCount;
|
||||
ulong currentTimestamp = Util.GetTickCount64();
|
||||
|
||||
DebugSyncPed.LastUpdateReceived = currentTimestamp;
|
||||
DebugSyncPed.Latency = currentTimestamp - ArtificialLagCounter;
|
||||
|
@ -256,7 +256,7 @@ namespace CoopClient
|
||||
{
|
||||
SocialClubName = packet.SocialClubName,
|
||||
Username = packet.Username,
|
||||
LastUpdateReceived = Environment.TickCount
|
||||
LastUpdateReceived = Util.GetTickCount64()
|
||||
};
|
||||
|
||||
Main.Players.Add(packet.ID, player);
|
||||
@ -304,7 +304,7 @@ namespace CoopClient
|
||||
player.IsInVehicle = false;
|
||||
|
||||
player.Latency = packet.Extra.Latency;
|
||||
player.LastUpdateReceived = Environment.TickCount;
|
||||
player.LastUpdateReceived = Util.GetTickCount64();
|
||||
}
|
||||
}
|
||||
|
||||
@ -340,7 +340,7 @@ namespace CoopClient
|
||||
player.VehicleDead = (packet.Flag.Value & (byte)VehicleDataFlags.IsDead) > 0;
|
||||
|
||||
player.Latency = packet.Extra.Latency;
|
||||
player.LastUpdateReceived = Environment.TickCount;
|
||||
player.LastUpdateReceived = Util.GetTickCount64();
|
||||
}
|
||||
}
|
||||
|
||||
@ -367,7 +367,7 @@ namespace CoopClient
|
||||
player.IsInVehicle = false;
|
||||
|
||||
player.Latency = packet.Extra.Latency;
|
||||
player.LastUpdateReceived = Environment.TickCount;
|
||||
player.LastUpdateReceived = Util.GetTickCount64();
|
||||
}
|
||||
}
|
||||
|
||||
@ -395,7 +395,7 @@ namespace CoopClient
|
||||
player.VehicleDead = (packet.Flag.Value & (byte)VehicleDataFlags.IsDead) > 0;
|
||||
|
||||
player.Latency = packet.Extra.Latency;
|
||||
player.LastUpdateReceived = Environment.TickCount;
|
||||
player.LastUpdateReceived = Util.GetTickCount64();
|
||||
}
|
||||
}
|
||||
|
||||
@ -409,7 +409,7 @@ namespace CoopClient
|
||||
player.Position = packet.Extra.Position.ToVector();
|
||||
|
||||
player.Latency = packet.Extra.Latency;
|
||||
player.LastUpdateReceived = Environment.TickCount;
|
||||
player.LastUpdateReceived = Util.GetTickCount64();
|
||||
}
|
||||
}
|
||||
|
||||
@ -463,7 +463,7 @@ namespace CoopClient
|
||||
{
|
||||
EntitiesNpc npc = Main.Npcs[packet.ID];
|
||||
|
||||
npc.LastUpdateReceived = Environment.TickCount;
|
||||
npc.LastUpdateReceived = Util.GetTickCount64();
|
||||
|
||||
npc.ModelHash = packet.ModelHash;
|
||||
npc.Props = packet.Props;
|
||||
@ -487,7 +487,7 @@ namespace CoopClient
|
||||
{
|
||||
Main.Npcs.Add(packet.ID, new EntitiesNpc()
|
||||
{
|
||||
LastUpdateReceived = Environment.TickCount,
|
||||
LastUpdateReceived = Util.GetTickCount64(),
|
||||
|
||||
ModelHash = packet.ModelHash,
|
||||
Props = packet.Props,
|
||||
@ -519,7 +519,7 @@ namespace CoopClient
|
||||
{
|
||||
EntitiesNpc npc = Main.Npcs[packet.ID];
|
||||
|
||||
npc.LastUpdateReceived = Environment.TickCount;
|
||||
npc.LastUpdateReceived = Util.GetTickCount64();
|
||||
|
||||
npc.ModelHash = packet.ModelHash;
|
||||
npc.Props = packet.Props;
|
||||
@ -549,7 +549,7 @@ namespace CoopClient
|
||||
{
|
||||
Main.Npcs.Add(packet.ID, new EntitiesNpc()
|
||||
{
|
||||
LastUpdateReceived = Environment.TickCount,
|
||||
LastUpdateReceived = Util.GetTickCount64(),
|
||||
|
||||
ModelHash = packet.ModelHash,
|
||||
Props = packet.Props,
|
||||
@ -582,7 +582,7 @@ namespace CoopClient
|
||||
#endregion
|
||||
|
||||
#region -- SEND --
|
||||
private int LastPlayerFullSync = 0;
|
||||
private ulong LastPlayerFullSync = 0;
|
||||
public void SendPlayerData()
|
||||
{
|
||||
Ped player = Game.Player.Character;
|
||||
@ -590,7 +590,7 @@ namespace CoopClient
|
||||
NetOutgoingMessage outgoingMessage = Client.CreateMessage();
|
||||
NetDeliveryMethod messageType;
|
||||
|
||||
if ((Environment.TickCount - LastPlayerFullSync) > 500)
|
||||
if ((Util.GetTickCount64() - LastPlayerFullSync) > 500)
|
||||
{
|
||||
messageType = NetDeliveryMethod.UnreliableSequenced;
|
||||
|
||||
@ -681,7 +681,7 @@ namespace CoopClient
|
||||
}.PacketToNetOutGoingMessage(outgoingMessage);
|
||||
}
|
||||
|
||||
LastPlayerFullSync = Environment.TickCount;
|
||||
LastPlayerFullSync = Util.GetTickCount64();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -11,8 +11,8 @@ namespace CoopClient
|
||||
public class PlayerList : Script
|
||||
{
|
||||
private readonly Scaleform MainScaleform = new Scaleform("mp_mm_card_freemode");
|
||||
private int LastUpdate = Environment.TickCount;
|
||||
public static int Pressed { get; set; }
|
||||
private ulong LastUpdate = Util.GetTickCount64();
|
||||
public static ulong Pressed { get; set; }
|
||||
|
||||
public PlayerList()
|
||||
{
|
||||
@ -28,12 +28,12 @@ namespace CoopClient
|
||||
return;
|
||||
}
|
||||
|
||||
if ((Environment.TickCount - LastUpdate) >= 1000)
|
||||
if ((Util.GetTickCount64() - LastUpdate) >= 1000)
|
||||
{
|
||||
Update(Main.Players, Main.MainSettings.Username);
|
||||
}
|
||||
|
||||
if ((Environment.TickCount - Pressed) < 5000 && !Main.MainChat.Focused
|
||||
if ((Util.GetTickCount64() - Pressed) < 5000 && !Main.MainChat.Focused
|
||||
#if !NON_INTERACTIVE
|
||||
&& !Main.MainMenu.MenuPool.AreAnyVisible
|
||||
#endif
|
||||
@ -53,7 +53,7 @@ namespace CoopClient
|
||||
|
||||
private void Update(Dictionary<long, EntitiesPlayer> players, string localUsername)
|
||||
{
|
||||
LastUpdate = Environment.TickCount;
|
||||
LastUpdate = Util.GetTickCount64();
|
||||
|
||||
MainScaleform.CallFunction("SET_DATA_SLOT_EMPTY", 0);
|
||||
MainScaleform.CallFunction("SET_DATA_SLOT", 0, $"{Main.MainNetworking.Latency * 1000:N0}ms", localUsername, 116, 0, 0, "", "", 2, "", "", ' ');
|
||||
|
@ -3,6 +3,7 @@ using System.IO;
|
||||
using System.Xml.Serialization;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Runtime.InteropServices;
|
||||
using static System.Runtime.InteropServices.Marshal;
|
||||
|
||||
using GTA;
|
||||
@ -104,7 +105,7 @@ namespace CoopClient
|
||||
return Comparer<T>.Default.Compare(item, start) >= 0 && Comparer<T>.Default.Compare(item, end) <= 0;
|
||||
}
|
||||
|
||||
public static Vector3 LinearVectorLerp(Vector3 start, Vector3 end, int currentTime, int duration)
|
||||
public static Vector3 LinearVectorLerp(Vector3 start, Vector3 end, ulong currentTime, int duration)
|
||||
{
|
||||
return new Vector3()
|
||||
{
|
||||
@ -114,7 +115,7 @@ namespace CoopClient
|
||||
};
|
||||
}
|
||||
|
||||
public static float LinearFloatLerp(float start, float end, int currentTime, int duration)
|
||||
public static float LinearFloatLerp(float start, float end, ulong currentTime, int duration)
|
||||
{
|
||||
return (end - start) * currentTime / duration + start;
|
||||
}
|
||||
@ -468,5 +469,8 @@ namespace CoopClient
|
||||
|
||||
return camPos + dir * raycastToDist;
|
||||
}
|
||||
|
||||
[DllImport("kernel32.dll")]
|
||||
public static extern ulong GetTickCount64();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user