StatsHelix / demoinfo

A library to analyze CS:GO demos in C#
MIT License
321 stars 78 forks source link

FaceIt Demos #160

Open MSDOSMAN opened 4 years ago

MSDOSMAN commented 4 years ago

I am trying to parse a faceit demo but I can't get it to work. I create a file stream, parser instance, and register my events. When it comes to parsing through the demo, on the 5th tick (and always on the 5th tick) I get a "System.NotImplementedException" from DemoInfo.dll. On the first tick, I get a couple unknown weapon complaints about "sensorgrenade", "snowball", "shield", and "zonerepulsor".

I tested this with recent FPL demos as well as some from last year but the same issue persists. Normal demos work fine. This is the demo I tested with: https://www.faceit.com/en/csgo/room/1-c3cbeafb-c3c1-46d3-80dd-7333da2d764d

master117 commented 4 years ago

Please provide the code you are running or any other minimum reproducible example.

MSDOSMAN commented 4 years ago
static void Main(string[] args)
        {
            string dev_file = @"D:\CSGO Demos\testing\03865f52-38f2-4c8f-b8b6-4fa494e93015.dem";
            using (var fs = File.OpenRead(dev_file))
            {
                using (DemoParser parser = new DemoParser(fs))
                {
                    parser.ParseHeader();
                    parser.ParseToEnd();
                }
            }
        }

That's the simplest code that throws the error I described. "D:\CSGO Demos\testing\03865f52-38f2-4c8f-b8b6-4fa494e93015.dem" is the demo from the link in my first message.

timonla commented 4 years ago

I get the same result when trying to parse Faceit or Esea demos. 5 ticks work fine and then when DemoParser.IngameTick reaches 0 I get this exception.

   at DemoInfo.DP.Handler.PacketEntitesHandler.PropertyCollector..ctor(Entity underlying, IList`1 capture)
   at DemoInfo.DP.Handler.PacketEntitesHandler.ReadEnterPVS(IBitStream reader, Int32 id, DemoParser parser)
   at DemoInfo.DP.Handler.PacketEntitesHandler.Apply(PacketEntities packetEntities, IBitStream reader, DemoParser parser)
   at DemoInfo.PacketEntities.Parse(IBitStream bitstream, DemoParser parser)
   at DemoInfo.DP.DemoPacketParser.ParsePacket(IBitStream bitstream, DemoParser demo)
   at DemoInfo.DemoParser.ParseDemoPacket()
   at DemoInfo.DemoParser.ParseTick()
   at DemoInfo.DemoParser.ParseNextTick()
   at cs_auto_coach.DemoAnalyzer..ctor(String demoPath) in C:\Users\tmn\repos\cs-auto-coach\cs-auto-coach\DemoAnalyzer.cs:line 24
   at cs_auto_coachTests.DemoAnalyzer_RoundWins.Setup() in C:\Users\tmn\repos\cs-auto-coach\cs-auto-coach.Tests\DemoAnalyzerTest.cs:line 12
timonla commented 4 years ago

@MSDOSMAN Were you also using the NuGet package? I realized that the error does not appear when I include the project from the master branch into my solution. Version 1.2.0 (latest Release on github and latest NuGet package) is almost 5 years old....