package main import ( "fmt" "os" "github.com/pektezol/bitreader" "github.com/pektezol/demoparser/pkg/packets" "github.com/pektezol/demoparser/pkg/writer" ) const littleEndian bool = true 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.NewReader(file, littleEndian) demoParserHandler(reader) defer file.Close() defer fmt.Println(writer.GetString()) return } 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.NewReader(file, littleEndian) demoParserHandler(reader) defer file.Close() defer fmt.Println(writer.GetString()) } } func demoParserHandler(reader *bitreader.Reader) { packets.ParseHeaders(reader) for { packet := packets.ParsePackets(reader) if packet.PacketType == 7 { break } } }