Hello, I'm currently working on a cross-platform demo strategy analyzer for CSGO: The goal of this soft is to play demo on a overview 2D map.
I understand that I'm running into quite bleeding edge and technical stuff. First thing for this, I need to understand the CSGO demo file format. So the pointers I gathered about this are quite few : -CSGO protobuf Msgs: http://hg.alliedmods.net/hl2sdks/hl2sdk-csgo/file/73e56a4a4d67/public/game/shared/csgo/protobuf This is the most useful also the most confusing : -Demo file format https://developer.valvesoftware.com/wiki/DEM_Format Any more information is warmly welcome :) So from the previous link : Frame { int ServerFrame; int ClientFrame; //ServerFrame and ClientFrame delta probably correspond to client ping. int SubPacketSize; *buffer = new char[SubPacketSize]; // State update message? Packet pkt = (rest of frame as data exists) // All demo commands are strung together in this area, structure below JunkData data = (unknown) // ex: 0x8f 5a b5 04 94 e6 7c 24 00 00 00 00 00 ... (40 bytes of 0x00 after the 0x24) // This could either be the end of the frame or the start of the next frame. } Packet { char CmdType; int Unknown; int TickCount; //This only sporadically appears. int SizeOfPacket; *buffer = new char[SizeOfPacket]; } Here are my questions: 1)How could we know the end of a frame? when we have a 0x00 ? 2)What does represent the *buffer ? The next raw Packet? That would then need to be unserialized? Any help would be very appreciated so thanks in advance. _______________________________________________ Csgo_sdk mailing list [email protected] https://list.valvesoftware.com/cgi-bin/mailman/listinfo/csgo_sdk
