diff options
Diffstat (limited to 'messages/header.go')
| -rw-r--r-- | messages/header.go | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/messages/header.go b/messages/header.go new file mode 100644 index 0000000..6320c71 --- /dev/null +++ b/messages/header.go | |||
| @@ -0,0 +1,26 @@ | |||
| 1 | package messages | ||
| 2 | |||
| 3 | import ( | ||
| 4 | "fmt" | ||
| 5 | "os" | ||
| 6 | |||
| 7 | "github.com/bisaxa/bitreader" | ||
| 8 | "github.com/bisaxa/demoparser/utils" | ||
| 9 | ) | ||
| 10 | |||
| 11 | func ParseHeader(file *os.File) { | ||
| 12 | var header Header | ||
| 13 | reader := bitreader.Reader(file, true) | ||
| 14 | header.DemoFileStamp = string(utils.ReadByteFromFile(file, 8)) | ||
| 15 | header.DemoProtocol = int32(reader.TryReadInt32()) | ||
| 16 | header.NetworkProtocol = int32(reader.TryReadInt32()) | ||
| 17 | header.ServerName = string(utils.ReadByteFromFile(file, 260)) | ||
| 18 | header.ClientName = string(utils.ReadByteFromFile(file, 260)) | ||
| 19 | header.MapName = string(utils.ReadByteFromFile(file, 260)) | ||
| 20 | header.GameDirectory = string(utils.ReadByteFromFile(file, 260)) | ||
| 21 | header.PlaybackTime = float32(reader.TryReadFloat32()) | ||
| 22 | header.PlaybackTicks = int32(reader.TryReadInt32()) | ||
| 23 | header.PlaybackFrames = int32(reader.TryReadInt32()) | ||
| 24 | header.SignOnLength = int32(reader.TryReadInt32()) | ||
| 25 | fmt.Printf("%+v", header) | ||
| 26 | } | ||