aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmd/parser.go3
-rw-r--r--pkg/messages/messages.go2
-rw-r--r--pkg/packets/headers.go12
3 files changed, 15 insertions, 2 deletions
diff --git a/cmd/parser.go b/cmd/parser.go
index cf82529..556033d 100644
--- a/cmd/parser.go
+++ b/cmd/parser.go
@@ -15,12 +15,14 @@ func main() {
15 if len(os.Args) != 2 { 15 if len(os.Args) != 2 {
16 panic("specify file in command line arguments") 16 panic("specify file in command line arguments")
17 } 17 }
18 writer.AppendLine("Generated By: github.com/pektezol/demoparser")
18 files, err := os.ReadDir(os.Args[1]) 19 files, err := os.ReadDir(os.Args[1])
19 if err != nil { // If it's not a directory 20 if err != nil { // If it's not a directory
20 file, err := os.Open(os.Args[1]) 21 file, err := os.Open(os.Args[1])
21 if err != nil { 22 if err != nil {
22 panic(err) 23 panic(err)
23 } 24 }
25 writer.AppendLine("\nFile Name: %s", file.Name())
24 reader := bitreader.NewReader(file, littleEndian) 26 reader := bitreader.NewReader(file, littleEndian)
25 demoParserHandler(reader) 27 demoParserHandler(reader)
26 defer file.Close() 28 defer file.Close()
@@ -32,6 +34,7 @@ func main() {
32 if err != nil { 34 if err != nil {
33 panic(err) 35 panic(err)
34 } 36 }
37 writer.AppendLine("\nFile Name: %s", file.Name())
35 reader := bitreader.NewReader(file, littleEndian) 38 reader := bitreader.NewReader(file, littleEndian)
36 demoParserHandler(reader) 39 demoParserHandler(reader)
37 defer file.Close() 40 defer file.Close()
diff --git a/pkg/messages/messages.go b/pkg/messages/messages.go
index 5cc781d..626f462 100644
--- a/pkg/messages/messages.go
+++ b/pkg/messages/messages.go
@@ -58,7 +58,7 @@ func ParseMessages(messageType uint64, reader *bitreader.Reader) any {
58 case 22: 58 case 22:
59 messageData = messages.ParseSvcSplitScreen(reader) // skipped 59 messageData = messages.ParseSvcSplitScreen(reader) // skipped
60 case 23: 60 case 23:
61 messageData = messages.ParseSvcUserMessage(reader) // TODO: 61 messageData = messages.ParseSvcUserMessage(reader)
62 case 24: 62 case 24:
63 messageData = messages.ParseSvcEntityMessage(reader) // skipped 63 messageData = messages.ParseSvcEntityMessage(reader) // skipped
64 case 25: 64 case 25:
diff --git a/pkg/packets/headers.go b/pkg/packets/headers.go
index d92b22d..a8de4e7 100644
--- a/pkg/packets/headers.go
+++ b/pkg/packets/headers.go
@@ -42,6 +42,16 @@ func ParseHeaders(reader *bitreader.Reader) Headers {
42 if headers.NetworkProtocol != 2001 { 42 if headers.NetworkProtocol != 2001 {
43 panic("this parser only supports demos from portal 2") 43 panic("this parser only supports demos from portal 2")
44 } 44 }
45 writer.AppendLine("Headers: %+v", headers) 45 writer.AppendLine("\nDemo File Stamp: %s", headers.DemoFileStamp)
46 writer.AppendLine("Demo Protocol: %d", headers.DemoProtocol)
47 writer.AppendLine("Network Protocol: %d", headers.NetworkProtocol)
48 writer.AppendLine("Server Name: %s", headers.ServerName)
49 writer.AppendLine("Client Name: %s", headers.ClientName)
50 writer.AppendLine("Map Name: %s", headers.MapName)
51 writer.AppendLine("Game Directory: %s", headers.GameDirectory)
52 writer.AppendLine("Playback Time: %f", headers.PlaybackTime)
53 writer.AppendLine("Playback Ticks: %d", headers.PlaybackTicks)
54 writer.AppendLine("Playback Frames: %d", headers.PlaybackFrames)
55 writer.AppendLine("Sign On Length: %d\n", headers.SignOnLength)
46 return headers 56 return headers
47} 57}