Example #1
0
        private static string FormatDemoTaker(udtParseDataGameState info)
        {
            var name = SafeGetString(info.DemoTakerName, "N/A");

            return string.Format("{0} (player index {1})", name, info.DemoTakerPlayerIndex);
        }
Example #2
0
        private static void AddMatches(DemoInfo info, udtParseDataGameState data, string space)
        {
            var matchCount = data.MatchCount;
            if(matchCount == 0)
            {
                return;
            }

            info.Generic.Add(Tuple.Create(space + "Matches", data.MatchCount.ToString()));
            for(uint i = 0; i < matchCount; ++i)
            {
                var matchAddress = new IntPtr(data.Matches.ToInt64() + i * sizeof(udtMatchInfo));
                var matchData = (udtMatchInfo)Marshal.PtrToStructure(matchAddress, typeof(udtMatchInfo));

                var desc = space + "Match #" + (i + 1).ToString();
                var start = FormatMinutesSecondsFromMs(matchData.MatchStartTimeMs);
                var end = FormatMinutesSecondsFromMs(matchData.MatchEndTimeMs);
                var val = start + " - " + end;
                info.Generic.Add(Tuple.Create(desc, val));
            }
        }
Example #3
0
        private static void AddPlayers(DemoInfo info, udtParseDataGameState data, string space)
        {
            for(uint i = 0; i < data.PlayerCount; ++i)
            {
                var address = new IntPtr(data.Players.ToInt64() + i * sizeof(udtGameStatePlayerInfo));
                var player = (udtGameStatePlayerInfo)Marshal.PtrToStructure(address, typeof(udtGameStatePlayerInfo));

                var desc = space + "Client Number " + player.Index.ToString();
                var startTime = FormatMinutesSecondsFromMs(player.FirstSnapshotTimeMs);
                var endTime = FormatMinutesSecondsFromMs(player.LastSnapshotTimeMs);
                var time = startTime + " - " + endTime;
                var name = SafeGetString(player.FirstName, "N/A");
                var value = string.Format("{0}, {1}, team {2}", name, time, GetTeamName(player.FirstTeam));

                info.Generic.Add(Tuple.Create(desc, value));
            }
        }
Example #4
0
        private static void AddKeyValuePairs(DemoInfo info, udtParseDataGameState data, string space)
        {
            for(uint i = 0; i < data.KeyValuePairCount; ++i)
            {
                var address = new IntPtr(data.KeyValuePairs.ToInt64() + i * sizeof(udtGameStateKeyValuePair));
                var kvPair = (udtGameStateKeyValuePair)Marshal.PtrToStructure(address, typeof(udtGameStateKeyValuePair));

                var key = SafeGetString(kvPair.Name, "N/A");
                var value = SafeGetString(kvPair.Value, "N/A");
                info.Generic.Add(Tuple.Create(space + key, value));
            }
        }