From 82871ba1bac1d62f69e1933b66659e62d2e5e063 Mon Sep 17 00:00:00 2001 From: Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> Date: Tue, 12 Sep 2023 20:53:09 +0300 Subject: another rewrite, v1.0.0 --- cmd/parser.go | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 cmd/parser.go (limited to 'cmd/parser.go') diff --git a/cmd/parser.go b/cmd/parser.go new file mode 100644 index 0000000..d03fa9c --- /dev/null +++ b/cmd/parser.go @@ -0,0 +1,50 @@ +package main + +import ( + "fmt" + "os" + "reflect" + + "github.com/pektezol/bitreader" + "github.com/pektezol/demoparser/pkg/packets" +) + +func main() { + if len(os.Args) != 2 { + panic("specify file in command line arguments") + } + files, err := os.ReadDir(os.Args[1]) + if err != nil { // If it's not a directory + file, err := os.Open(os.Args[1]) + if err != nil { + panic(err) + } + reader := bitreader.Reader(file, true) + demoParserHandler(reader) + defer file.Close() + } + for _, fileinfo := range files { // If it is a directory + file, err := os.Open(os.Args[1] + fileinfo.Name()) + if err != nil { + panic(err) + } + reader := bitreader.Reader(file, true) + demoParserHandler(reader) + defer file.Close() + } + // fmt.Scanln() +} + +func demoParserHandler(reader *bitreader.ReaderType) { + packets.ParseHeaders(reader) + for { + packet := packets.ParsePackets(reader) + if packet.PacketType == 7 { + break + } + // if packet.PacketType != 5 { + // continue + // } + fmt.Printf("[%d] %s (%d):\n\t%+v\n", packet.TickNumber, reflect.ValueOf(packet.Data).Type(), packet.PacketType, packet.Data) + } +} -- cgit v1.2.3