static void Prefix(PlayerSnapshotToClientMessage __instance) { if (__instance.m_snapshots.Length == 8) { __instance.m_snapshots = new PlayerSnapshot[16]; } }
public static void OnNewPlayerSnapshotToClient(NetworkMessage msg) { if (NetworkMatch.GetMatchState() == MatchState.PREGAME || NetworkMatch.InGameplay()) { PlayerSnapshotToClientMessage item = msg.ReadMessage <NewPlayerSnapshotToClientMessage>().ToPlayerSnapshotToClientMessage(); Client.m_PendingPlayerSnapshotMessages.Enqueue(item); } }
public static bool Prefix(NetworkMessage msg) { if (NetworkMatch.GetMatchState() == MatchState.PREGAME || NetworkMatch.InGameplay()) { PlayerSnapshotToClientMessage item = msg.ReadMessage <PlayerSnapshotToClientMessage>(); NewPlayerSnapshotToClientMessage newItem = new NewPlayerSnapshotToClientMessage { m_num_snapshots = item.m_num_snapshots, m_server_timestamp = 0, // Unused. m_snapshots = item.m_snapshots.Select(m => NewPlayerSnapshot.FromOldSnapshot(m)).ToArray() }; MPClientShipReckoning.AddNewPlayerSnapshot(newItem, true); } return(false); }
private static PlayerSnapshot GetPlayerSnapshotFromInterpolationBuffer(Player p, PlayerSnapshotToClientMessage msg) { for (int i = 0; i < msg.m_num_snapshots; i++) { PlayerSnapshot playerSnapshot = msg.m_snapshots[i]; if (GetPlayerFromNetId(playerSnapshot.m_net_id) == p) { return(playerSnapshot); } } return(null); }