diff options
Diffstat (limited to 'pkg/messages')
35 files changed, 251 insertions, 44 deletions
diff --git a/pkg/messages/messages.go b/pkg/messages/messages.go index 9e7dfae..efa9460 100644 --- a/pkg/messages/messages.go +++ b/pkg/messages/messages.go | |||
| @@ -1,11 +1,11 @@ | |||
| 1 | package messages | 1 | package messages |
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | "fmt" | ||
| 5 | "reflect" | 4 | "reflect" |
| 6 | 5 | ||
| 7 | "github.com/pektezol/bitreader" | 6 | "github.com/pektezol/bitreader" |
| 8 | messages "github.com/pektezol/demoparser/pkg/messages/types" | 7 | messages "github.com/pektezol/demoparser/pkg/messages/types" |
| 8 | "github.com/pektezol/demoparser/pkg/writer" | ||
| 9 | ) | 9 | ) |
| 10 | 10 | ||
| 11 | func ParseMessages(messageType int, reader *bitreader.Reader) any { | 11 | func ParseMessages(messageType int, reader *bitreader.Reader) any { |
| @@ -82,6 +82,7 @@ func ParseMessages(messageType int, reader *bitreader.Reader) any { | |||
| 82 | default: | 82 | default: |
| 83 | return nil | 83 | return nil |
| 84 | } | 84 | } |
| 85 | fmt.Printf("\t\t(%d) %s:\n\t\t\t%+v\n", messageType, reflect.ValueOf(messageData).Type(), messageData) | 85 | writer.AppendLine("\tMessage: %s (%d):", reflect.ValueOf(messageData).Type(), messageType) |
| 86 | writer.AppendOutputFromTemp() | ||
| 86 | return messageData | 87 | return messageData |
| 87 | } | 88 | } |
diff --git a/pkg/messages/types/netDisconnect.go b/pkg/messages/types/netDisconnect.go index 3ecf8e1..c2e22c1 100644 --- a/pkg/messages/types/netDisconnect.go +++ b/pkg/messages/types/netDisconnect.go | |||
| @@ -1,13 +1,18 @@ | |||
| 1 | package messages | 1 | package messages |
| 2 | 2 | ||
| 3 | import "github.com/pektezol/bitreader" | 3 | import ( |
| 4 | "github.com/pektezol/bitreader" | ||
| 5 | "github.com/pektezol/demoparser/pkg/writer" | ||
| 6 | ) | ||
| 4 | 7 | ||
| 5 | type NetDisconnect struct { | 8 | type NetDisconnect struct { |
| 6 | Text string | 9 | Text string |
| 7 | } | 10 | } |
| 8 | 11 | ||
| 9 | func ParseNetDisconnect(reader *bitreader.Reader) NetDisconnect { | 12 | func ParseNetDisconnect(reader *bitreader.Reader) NetDisconnect { |
| 10 | return NetDisconnect{ | 13 | netDisconnect := NetDisconnect{ |
| 11 | Text: reader.TryReadString(), | 14 | Text: reader.TryReadString(), |
| 12 | } | 15 | } |
| 16 | writer.TempAppendLine("\t\tText: %s", netDisconnect.Text) | ||
| 17 | return netDisconnect | ||
| 13 | } | 18 | } |
diff --git a/pkg/messages/types/netFile.go b/pkg/messages/types/netFile.go index c9c587d..4ebd770 100644 --- a/pkg/messages/types/netFile.go +++ b/pkg/messages/types/netFile.go | |||
| @@ -4,6 +4,7 @@ import ( | |||
| 4 | "fmt" | 4 | "fmt" |
| 5 | 5 | ||
| 6 | "github.com/pektezol/bitreader" | 6 | "github.com/pektezol/bitreader" |
| 7 | "github.com/pektezol/demoparser/pkg/writer" | ||
| 7 | ) | 8 | ) |
| 8 | 9 | ||
| 9 | type NetFile struct { | 10 | type NetFile struct { |
| @@ -34,9 +35,13 @@ func (netFileFlags NetFileFlags) String() string { | |||
| 34 | } | 35 | } |
| 35 | 36 | ||
| 36 | func ParseNetFile(reader *bitreader.Reader) NetFile { | 37 | func ParseNetFile(reader *bitreader.Reader) NetFile { |
| 37 | return NetFile{ | 38 | netFile := NetFile{ |
| 38 | TransferId: reader.TryReadUInt32(), | 39 | TransferId: reader.TryReadUInt32(), |
| 39 | FileName: reader.TryReadString(), | 40 | FileName: reader.TryReadString(), |
| 40 | FileFlags: NetFileFlags(reader.TryReadBits(2)).String(), | 41 | FileFlags: NetFileFlags(reader.TryReadBits(2)).String(), |
| 41 | } | 42 | } |
| 43 | writer.TempAppendLine("\t\tTransfer ID: %d", netFile.TransferId) | ||
| 44 | writer.TempAppendLine("\t\tFile Name: %s", netFile.FileName) | ||
| 45 | writer.TempAppendLine("\t\tFile Flags: %s", netFile.FileFlags) | ||
| 46 | return netFile | ||
| 42 | } | 47 | } |
diff --git a/pkg/messages/types/netNop.go b/pkg/messages/types/netNop.go index f942786..0ee1d0d 100644 --- a/pkg/messages/types/netNop.go +++ b/pkg/messages/types/netNop.go | |||
| @@ -1,9 +1,13 @@ | |||
| 1 | package messages | 1 | package messages |
| 2 | 2 | ||
| 3 | import "github.com/pektezol/bitreader" | 3 | import ( |
| 4 | "github.com/pektezol/bitreader" | ||
| 5 | "github.com/pektezol/demoparser/pkg/writer" | ||
| 6 | ) | ||
| 4 | 7 | ||
| 5 | type NetNop struct{} | 8 | type NetNop struct{} |
| 6 | 9 | ||
| 7 | func ParseNetNop(reader *bitreader.Reader) NetNop { | 10 | func ParseNetNop(reader *bitreader.Reader) NetNop { |
| 11 | writer.TempAppendLine("\t\t{}") | ||
| 8 | return NetNop{} | 12 | return NetNop{} |
| 9 | } | 13 | } |
diff --git a/pkg/messages/types/netSetConVar.go b/pkg/messages/types/netSetConVar.go index 44b75b9..530cb6b 100644 --- a/pkg/messages/types/netSetConVar.go +++ b/pkg/messages/types/netSetConVar.go | |||
| @@ -1,6 +1,9 @@ | |||
| 1 | package messages | 1 | package messages |
| 2 | 2 | ||
| 3 | import "github.com/pektezol/bitreader" | 3 | import ( |
| 4 | "github.com/pektezol/bitreader" | ||
| 5 | "github.com/pektezol/demoparser/pkg/writer" | ||
| 6 | ) | ||
| 4 | 7 | ||
| 5 | type NetSetConVar struct { | 8 | type NetSetConVar struct { |
| 6 | Length uint8 | 9 | Length uint8 |
| @@ -15,11 +18,13 @@ type conVar struct { | |||
| 15 | func ParseNetSetConVar(reader *bitreader.Reader) NetSetConVar { | 18 | func ParseNetSetConVar(reader *bitreader.Reader) NetSetConVar { |
| 16 | length := reader.TryReadUInt8() | 19 | length := reader.TryReadUInt8() |
| 17 | convars := []conVar{} | 20 | convars := []conVar{} |
| 21 | writer.TempAppendLine("\t\tLength: %d", length) | ||
| 18 | for count := 0; count < int(length); count++ { | 22 | for count := 0; count < int(length); count++ { |
| 19 | convar := conVar{ | 23 | convar := conVar{ |
| 20 | Name: reader.TryReadString(), | 24 | Name: reader.TryReadString(), |
| 21 | Value: reader.TryReadString(), | 25 | Value: reader.TryReadString(), |
| 22 | } | 26 | } |
| 27 | writer.TempAppendLine("\t\t[%d] %s: %s", count, convar.Name, convar.Value) | ||
| 23 | convars = append(convars, convar) | 28 | convars = append(convars, convar) |
| 24 | } | 29 | } |
| 25 | return NetSetConVar{ | 30 | return NetSetConVar{ |
diff --git a/pkg/messages/types/netSignOnState.go b/pkg/messages/types/netSignOnState.go index 78d03aa..f784b0a 100644 --- a/pkg/messages/types/netSignOnState.go +++ b/pkg/messages/types/netSignOnState.go | |||
| @@ -4,6 +4,7 @@ import ( | |||
| 4 | "fmt" | 4 | "fmt" |
| 5 | 5 | ||
| 6 | "github.com/pektezol/bitreader" | 6 | "github.com/pektezol/bitreader" |
| 7 | "github.com/pektezol/demoparser/pkg/writer" | ||
| 7 | ) | 8 | ) |
| 8 | 9 | ||
| 9 | type NetSignOnState struct { | 10 | type NetSignOnState struct { |
| @@ -59,12 +60,17 @@ func ParseNetSignOnState(reader *bitreader.Reader) NetSignOnState { | |||
| 59 | NumServerPlayers: reader.TryReadUInt32(), | 60 | NumServerPlayers: reader.TryReadUInt32(), |
| 60 | IdsLength: reader.TryReadUInt32(), | 61 | IdsLength: reader.TryReadUInt32(), |
| 61 | } | 62 | } |
| 63 | writer.TempAppendLine("\t\tSign On State: %s", netSignOnState.SignOnState) | ||
| 64 | writer.TempAppendLine("\t\tSpawn Count: %d", netSignOnState.SpawnCount) | ||
| 65 | writer.TempAppendLine("\t\tNumber Of Server Players: %d", netSignOnState.NumServerPlayers) | ||
| 62 | if netSignOnState.IdsLength > 0 { | 66 | if netSignOnState.IdsLength > 0 { |
| 63 | netSignOnState.PlayersNetworksIds = reader.TryReadBytesToSlice(uint64(netSignOnState.IdsLength)) | 67 | netSignOnState.PlayersNetworksIds = reader.TryReadBytesToSlice(uint64(netSignOnState.IdsLength)) |
| 68 | writer.TempAppendLine("\t\tPlayer Network IDs: %v", netSignOnState.PlayersNetworksIds) | ||
| 64 | } | 69 | } |
| 65 | netSignOnState.MapNameLength = reader.TryReadUInt32() | 70 | netSignOnState.MapNameLength = reader.TryReadUInt32() |
| 66 | if netSignOnState.MapNameLength > 0 { | 71 | if netSignOnState.MapNameLength > 0 { |
| 67 | netSignOnState.MapName = reader.TryReadStringLength(uint64(netSignOnState.MapNameLength)) | 72 | netSignOnState.MapName = reader.TryReadStringLength(uint64(netSignOnState.MapNameLength)) |
| 73 | writer.TempAppendLine("\t\tMap Name: %s", netSignOnState.MapName) | ||
| 68 | } | 74 | } |
| 69 | return netSignOnState | 75 | return netSignOnState |
| 70 | } | 76 | } |
diff --git a/pkg/messages/types/netSplitScreenUser.go b/pkg/messages/types/netSplitScreenUser.go index 9e4caa8..6068a28 100644 --- a/pkg/messages/types/netSplitScreenUser.go +++ b/pkg/messages/types/netSplitScreenUser.go | |||
| @@ -1,13 +1,18 @@ | |||
| 1 | package messages | 1 | package messages |
| 2 | 2 | ||
| 3 | import "github.com/pektezol/bitreader" | 3 | import ( |
| 4 | "github.com/pektezol/bitreader" | ||
| 5 | "github.com/pektezol/demoparser/pkg/writer" | ||
| 6 | ) | ||
| 4 | 7 | ||
| 5 | type NetSplitScreenUser struct { | 8 | type NetSplitScreenUser struct { |
| 6 | Unknown bool | 9 | Slot bool |
| 7 | } | 10 | } |
| 8 | 11 | ||
| 9 | func ParseNetSplitScreenUser(reader *bitreader.Reader) NetSplitScreenUser { | 12 | func ParseNetSplitScreenUser(reader *bitreader.Reader) NetSplitScreenUser { |
| 10 | return NetSplitScreenUser{ | 13 | netSplitScreenUser := NetSplitScreenUser{ |
| 11 | Unknown: reader.TryReadBool(), | 14 | Slot: reader.TryReadBool(), |
| 12 | } | 15 | } |
| 16 | writer.TempAppendLine("\t\tSlot: %t", netSplitScreenUser.Slot) | ||
| 17 | return netSplitScreenUser | ||
| 13 | } | 18 | } |
diff --git a/pkg/messages/types/netStringCmd.go b/pkg/messages/types/netStringCmd.go index da5a75b..57ae813 100644 --- a/pkg/messages/types/netStringCmd.go +++ b/pkg/messages/types/netStringCmd.go | |||
| @@ -1,13 +1,20 @@ | |||
| 1 | package messages | 1 | package messages |
| 2 | 2 | ||
| 3 | import "github.com/pektezol/bitreader" | 3 | import ( |
| 4 | "strings" | ||
| 5 | |||
| 6 | "github.com/pektezol/bitreader" | ||
| 7 | "github.com/pektezol/demoparser/pkg/writer" | ||
| 8 | ) | ||
| 4 | 9 | ||
| 5 | type NetStringCmd struct { | 10 | type NetStringCmd struct { |
| 6 | Command string | 11 | Command string |
| 7 | } | 12 | } |
| 8 | 13 | ||
| 9 | func ParseNetStringCmd(reader *bitreader.Reader) NetStringCmd { | 14 | func ParseNetStringCmd(reader *bitreader.Reader) NetStringCmd { |
| 10 | return NetStringCmd{ | 15 | netStringCmd := NetStringCmd{ |
| 11 | Command: reader.TryReadString(), | 16 | Command: reader.TryReadString(), |
| 12 | } | 17 | } |
| 18 | writer.TempAppendLine("\t\tCommand: \"%s\"", strings.TrimSpace(netStringCmd.Command)) | ||
| 19 | return netStringCmd | ||
| 13 | } | 20 | } |
diff --git a/pkg/messages/types/netTick.go b/pkg/messages/types/netTick.go index dc941ad..1c01171 100644 --- a/pkg/messages/types/netTick.go +++ b/pkg/messages/types/netTick.go | |||
| @@ -1,6 +1,9 @@ | |||
| 1 | package messages | 1 | package messages |
| 2 | 2 | ||
| 3 | import "github.com/pektezol/bitreader" | 3 | import ( |
| 4 | "github.com/pektezol/bitreader" | ||
| 5 | "github.com/pektezol/demoparser/pkg/writer" | ||
| 6 | ) | ||
| 4 | 7 | ||
| 5 | type NetTick struct { | 8 | type NetTick struct { |
| 6 | Tick uint32 | 9 | Tick uint32 |
| @@ -9,9 +12,13 @@ type NetTick struct { | |||
| 9 | } | 12 | } |
| 10 | 13 | ||
| 11 | func ParseNetTick(reader *bitreader.Reader) NetTick { | 14 | func ParseNetTick(reader *bitreader.Reader) NetTick { |
| 12 | return NetTick{ | 15 | netTick := NetTick{ |
| 13 | Tick: reader.TryReadUInt32(), | 16 | Tick: reader.TryReadUInt32(), |
| 14 | HostFrameTime: float32(reader.TryReadUInt16()) / 1e5, | 17 | HostFrameTime: float32(reader.TryReadUInt16()) / 1e5, |
| 15 | HostFrameTimeStdDeviation: float32(reader.TryReadUInt16()) / 1e5, | 18 | HostFrameTimeStdDeviation: float32(reader.TryReadUInt16()) / 1e5, |
| 16 | } | 19 | } |
| 20 | writer.TempAppendLine("\t\tTick: %d", netTick.Tick) | ||
| 21 | writer.TempAppendLine("\t\tHost Frame Time: %f", netTick.HostFrameTime) | ||
| 22 | writer.TempAppendLine("\t\tHost Frame Time Std Deviation: %f", netTick.HostFrameTimeStdDeviation) | ||
| 23 | return netTick | ||
| 17 | } | 24 | } |
diff --git a/pkg/messages/types/svcBspDecal.go b/pkg/messages/types/svcBspDecal.go index 220f63a..cf94c1d 100644 --- a/pkg/messages/types/svcBspDecal.go +++ b/pkg/messages/types/svcBspDecal.go | |||
| @@ -2,6 +2,7 @@ package messages | |||
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | "github.com/pektezol/bitreader" | 4 | "github.com/pektezol/bitreader" |
| 5 | "github.com/pektezol/demoparser/pkg/writer" | ||
| 5 | ) | 6 | ) |
| 6 | 7 | ||
| 7 | type SvcBspDecal struct { | 8 | type SvcBspDecal struct { |
| @@ -27,6 +28,11 @@ func ParseSvcBspDecal(reader *bitreader.Reader) SvcBspDecal { | |||
| 27 | svcBspDecal.ModelIndex = uint16(reader.TryReadBits(11)) | 28 | svcBspDecal.ModelIndex = uint16(reader.TryReadBits(11)) |
| 28 | } | 29 | } |
| 29 | svcBspDecal.LowPriority = reader.TryReadBool() | 30 | svcBspDecal.LowPriority = reader.TryReadBool() |
| 31 | writer.TempAppendLine("\t\tPosition: %v", svcBspDecal.Pos) | ||
| 32 | writer.TempAppendLine("\t\tDecal Texture Index: %d", svcBspDecal.DecalTextureIndex) | ||
| 33 | writer.TempAppendLine("\t\tEntity Index: %d", svcBspDecal.EntityIndex) | ||
| 34 | writer.TempAppendLine("\t\tModel Index: %d", svcBspDecal.ModelIndex) | ||
| 35 | writer.TempAppendLine("\t\tLow Priority: %t", svcBspDecal.LowPriority) | ||
| 30 | return svcBspDecal | 36 | return svcBspDecal |
| 31 | } | 37 | } |
| 32 | 38 | ||
diff --git a/pkg/messages/types/svcClassInfo.go b/pkg/messages/types/svcClassInfo.go index d2f6a90..384c501 100644 --- a/pkg/messages/types/svcClassInfo.go +++ b/pkg/messages/types/svcClassInfo.go | |||
| @@ -4,6 +4,7 @@ import ( | |||
| 4 | "math" | 4 | "math" |
| 5 | 5 | ||
| 6 | "github.com/pektezol/bitreader" | 6 | "github.com/pektezol/bitreader" |
| 7 | "github.com/pektezol/demoparser/pkg/writer" | ||
| 7 | ) | 8 | ) |
| 8 | 9 | ||
| 9 | type SvcClassInfo struct { | 10 | type SvcClassInfo struct { |
| @@ -24,14 +25,19 @@ func ParseSvcClassInfo(reader *bitreader.Reader) SvcClassInfo { | |||
| 24 | CreateOnClient: reader.TryReadBool(), | 25 | CreateOnClient: reader.TryReadBool(), |
| 25 | } | 26 | } |
| 26 | classes := []serverClass{} | 27 | classes := []serverClass{} |
| 28 | writer.TempAppendLine("\t\tCreate On Client: %t", svcClassInfo.CreateOnClient) | ||
| 27 | if !svcClassInfo.CreateOnClient { | 29 | if !svcClassInfo.CreateOnClient { |
| 30 | writer.TempAppendLine("\t\t%d Server Classes:", svcClassInfo.ClassCount) | ||
| 28 | for count := 0; count < int(svcClassInfo.ClassCount); count++ { | 31 | for count := 0; count < int(svcClassInfo.ClassCount); count++ { |
| 29 | classes = append(classes, serverClass{ | 32 | classes = append(classes, serverClass{ |
| 30 | ClassId: int16(reader.TryReadBits(uint64(math.Log2(float64(svcClassInfo.ClassCount)) + 1))), | 33 | ClassId: int16(reader.TryReadBits(uint64(math.Log2(float64(svcClassInfo.ClassCount)) + 1))), |
| 31 | ClassName: reader.TryReadString(), | 34 | ClassName: reader.TryReadString(), |
| 32 | DataTableName: reader.TryReadString(), | 35 | DataTableName: reader.TryReadString(), |
| 33 | }) | 36 | }) |
| 37 | writer.TempAppendLine("\t\t\t[%d] %s (%s)", classes[len(classes)-1].ClassId, classes[len(classes)-1].ClassName, classes[len(classes)-1].DataTableName) | ||
| 34 | } | 38 | } |
| 39 | } else { | ||
| 40 | writer.TempAppendLine("\t\t%d Server Classes", svcClassInfo.ClassCount) | ||
| 35 | } | 41 | } |
| 36 | svcClassInfo.ServerClasses = classes | 42 | svcClassInfo.ServerClasses = classes |
| 37 | return svcClassInfo | 43 | return svcClassInfo |
diff --git a/pkg/messages/types/svcCmdKeyValues.go b/pkg/messages/types/svcCmdKeyValues.go index 8fdd076..5c80d0b 100644 --- a/pkg/messages/types/svcCmdKeyValues.go +++ b/pkg/messages/types/svcCmdKeyValues.go | |||
| @@ -1,6 +1,9 @@ | |||
| 1 | package messages | 1 | package messages |
| 2 | 2 | ||
| 3 | import "github.com/pektezol/bitreader" | 3 | import ( |
| 4 | "github.com/pektezol/bitreader" | ||
| 5 | "github.com/pektezol/demoparser/pkg/writer" | ||
| 6 | ) | ||
| 4 | 7 | ||
| 5 | type SvcCmdKeyValues struct { | 8 | type SvcCmdKeyValues struct { |
| 6 | Length uint32 | 9 | Length uint32 |
| @@ -12,5 +15,6 @@ func ParseSvcCmdKeyValues(reader *bitreader.Reader) SvcCmdKeyValues { | |||
| 12 | Length: reader.TryReadUInt32(), | 15 | Length: reader.TryReadUInt32(), |
| 13 | } | 16 | } |
| 14 | svcCmdKeyValues.Data = reader.TryReadBytesToSlice(uint64(svcCmdKeyValues.Length)) | 17 | svcCmdKeyValues.Data = reader.TryReadBytesToSlice(uint64(svcCmdKeyValues.Length)) |
| 18 | writer.TempAppendLine("\t\tData: %v", svcCmdKeyValues.Data) | ||
| 15 | return svcCmdKeyValues | 19 | return svcCmdKeyValues |
| 16 | } | 20 | } |
diff --git a/pkg/messages/types/svcCreateStringTable.go b/pkg/messages/types/svcCreateStringTable.go index aea40b0..ff2e27d 100644 --- a/pkg/messages/types/svcCreateStringTable.go +++ b/pkg/messages/types/svcCreateStringTable.go | |||
| @@ -4,6 +4,7 @@ import ( | |||
| 4 | "math" | 4 | "math" |
| 5 | 5 | ||
| 6 | "github.com/pektezol/bitreader" | 6 | "github.com/pektezol/bitreader" |
| 7 | "github.com/pektezol/demoparser/pkg/writer" | ||
| 7 | ) | 8 | ) |
| 8 | 9 | ||
| 9 | type SvcCreateStringTable struct { | 10 | type SvcCreateStringTable struct { |
| @@ -31,6 +32,13 @@ func ParseSvcCreateStringTable(reader *bitreader.Reader) SvcCreateStringTable { | |||
| 31 | svcCreateStringTable.UserDataSizeBits = int8(reader.TryReadBits(4)) | 32 | svcCreateStringTable.UserDataSizeBits = int8(reader.TryReadBits(4)) |
| 32 | } | 33 | } |
| 33 | svcCreateStringTable.Flags = int8(reader.TryReadBits(2)) | 34 | svcCreateStringTable.Flags = int8(reader.TryReadBits(2)) |
| 35 | writer.TempAppendLine("\t\tName: %s", svcCreateStringTable.Name) | ||
| 36 | writer.TempAppendLine("\t\tMax Enties: %d", svcCreateStringTable.MaxEntries) | ||
| 37 | writer.TempAppendLine("\t\tNumber Of Entiries: %d", svcCreateStringTable.NumEntries) | ||
| 38 | writer.TempAppendLine("\t\tUser Data Fixed Size: %t", svcCreateStringTable.UserDataFixedSize) | ||
| 39 | writer.TempAppendLine("\t\tUser Data Size: %d", svcCreateStringTable.UserDataSize) | ||
| 40 | writer.TempAppendLine("\t\tUser Data Size In Bits: %d", svcCreateStringTable.UserDataSizeBits) | ||
| 41 | writer.TempAppendLine("\t\tFlags: %d", svcCreateStringTable.Flags) | ||
| 34 | reader.SkipBits(uint64(svcCreateStringTable.Length)) // TODO: StringTable parsing | 42 | reader.SkipBits(uint64(svcCreateStringTable.Length)) // TODO: StringTable parsing |
| 35 | return svcCreateStringTable | 43 | return svcCreateStringTable |
| 36 | } | 44 | } |
diff --git a/pkg/messages/types/svcCrosshairAngle.go b/pkg/messages/types/svcCrosshairAngle.go index b7d234c..efd6d77 100644 --- a/pkg/messages/types/svcCrosshairAngle.go +++ b/pkg/messages/types/svcCrosshairAngle.go | |||
| @@ -1,6 +1,9 @@ | |||
| 1 | package messages | 1 | package messages |
| 2 | 2 | ||
| 3 | import "github.com/pektezol/bitreader" | 3 | import ( |
| 4 | "github.com/pektezol/bitreader" | ||
| 5 | "github.com/pektezol/demoparser/pkg/writer" | ||
| 6 | ) | ||
| 4 | 7 | ||
| 5 | type SvcCrosshairAngle struct { | 8 | type SvcCrosshairAngle struct { |
| 6 | Angle crosshairAngles | 9 | Angle crosshairAngles |
| @@ -13,11 +16,15 @@ type crosshairAngles struct { | |||
| 13 | } | 16 | } |
| 14 | 17 | ||
| 15 | func ParseSvcCrosshairAngle(reader *bitreader.Reader) SvcCrosshairAngle { | 18 | func ParseSvcCrosshairAngle(reader *bitreader.Reader) SvcCrosshairAngle { |
| 16 | return SvcCrosshairAngle{ | 19 | svcCrosshairAngle := SvcCrosshairAngle{ |
| 17 | Angle: crosshairAngles{ | 20 | Angle: crosshairAngles{ |
| 18 | X: float32(reader.TryReadBits(16)), | 21 | X: float32(reader.TryReadBits(16)), |
| 19 | Y: float32(reader.TryReadBits(16)), | 22 | Y: float32(reader.TryReadBits(16)), |
| 20 | Z: float32(reader.TryReadBits(16)), | 23 | Z: float32(reader.TryReadBits(16)), |
| 21 | }, | 24 | }, |
| 22 | } | 25 | } |
| 26 | writer.TempAppendLine("\t\tX: %f", svcCrosshairAngle.Angle.X) | ||
| 27 | writer.TempAppendLine("\t\tY: %f", svcCrosshairAngle.Angle.Y) | ||
| 28 | writer.TempAppendLine("\t\tZ: %f", svcCrosshairAngle.Angle.Z) | ||
| 29 | return svcCrosshairAngle | ||
| 23 | } | 30 | } |
diff --git a/pkg/messages/types/svcEntityMessage.go b/pkg/messages/types/svcEntityMessage.go index 58f42ba..a511fea 100644 --- a/pkg/messages/types/svcEntityMessage.go +++ b/pkg/messages/types/svcEntityMessage.go | |||
| @@ -1,6 +1,9 @@ | |||
| 1 | package messages | 1 | package messages |
| 2 | 2 | ||
| 3 | import "github.com/pektezol/bitreader" | 3 | import ( |
| 4 | "github.com/pektezol/bitreader" | ||
| 5 | "github.com/pektezol/demoparser/pkg/writer" | ||
| 6 | ) | ||
| 4 | 7 | ||
| 5 | type SvcEntityMessage struct { | 8 | type SvcEntityMessage struct { |
| 6 | EntityIndex uint16 | 9 | EntityIndex uint16 |
| @@ -16,5 +19,8 @@ func ParseSvcEntityMessage(reader *bitreader.Reader) SvcEntityMessage { | |||
| 16 | Length: uint16(reader.TryReadBits(11)), | 19 | Length: uint16(reader.TryReadBits(11)), |
| 17 | } | 20 | } |
| 18 | svcEntityMessage.Data = reader.TryReadBitsToSlice(uint64(svcEntityMessage.Length)) | 21 | svcEntityMessage.Data = reader.TryReadBitsToSlice(uint64(svcEntityMessage.Length)) |
| 22 | writer.TempAppendLine("\t\tEntity Index: %d", svcEntityMessage.EntityIndex) | ||
| 23 | writer.TempAppendLine("\t\tClass ID: %d", svcEntityMessage.ClassId) | ||
| 24 | writer.TempAppendLine("\t\tData: %v", svcEntityMessage.Data) | ||
| 19 | return svcEntityMessage | 25 | return svcEntityMessage |
| 20 | } | 26 | } |
diff --git a/pkg/messages/types/svcFixAngle.go b/pkg/messages/types/svcFixAngle.go index 95f67ec..b79c02d 100644 --- a/pkg/messages/types/svcFixAngle.go +++ b/pkg/messages/types/svcFixAngle.go | |||
| @@ -1,6 +1,9 @@ | |||
| 1 | package messages | 1 | package messages |
| 2 | 2 | ||
| 3 | import "github.com/pektezol/bitreader" | 3 | import ( |
| 4 | "github.com/pektezol/bitreader" | ||
| 5 | "github.com/pektezol/demoparser/pkg/writer" | ||
| 6 | ) | ||
| 4 | 7 | ||
| 5 | type SvcFixAngle struct { | 8 | type SvcFixAngle struct { |
| 6 | Relative bool | 9 | Relative bool |
| @@ -14,7 +17,7 @@ type fixAngles struct { | |||
| 14 | } | 17 | } |
| 15 | 18 | ||
| 16 | func ParseSvcFixAngle(reader *bitreader.Reader) SvcFixAngle { | 19 | func ParseSvcFixAngle(reader *bitreader.Reader) SvcFixAngle { |
| 17 | return SvcFixAngle{ | 20 | svcFixAngle := SvcFixAngle{ |
| 18 | Relative: reader.TryReadBool(), | 21 | Relative: reader.TryReadBool(), |
| 19 | Angle: fixAngles{ | 22 | Angle: fixAngles{ |
| 20 | X: float32(reader.TryReadBits(16)), | 23 | X: float32(reader.TryReadBits(16)), |
| @@ -22,4 +25,9 @@ func ParseSvcFixAngle(reader *bitreader.Reader) SvcFixAngle { | |||
| 22 | Z: float32(reader.TryReadBits(16)), | 25 | Z: float32(reader.TryReadBits(16)), |
| 23 | }, | 26 | }, |
| 24 | } | 27 | } |
| 28 | writer.TempAppendLine("\t\tRelative: %t", svcFixAngle.Relative) | ||
| 29 | writer.TempAppendLine("\t\tX: %f", svcFixAngle.Angle.X) | ||
| 30 | writer.TempAppendLine("\t\tY: %f", svcFixAngle.Angle.Y) | ||
| 31 | writer.TempAppendLine("\t\tZ: %f", svcFixAngle.Angle.Z) | ||
| 32 | return svcFixAngle | ||
| 25 | } | 33 | } |
diff --git a/pkg/messages/types/svcGameEvent.go b/pkg/messages/types/svcGameEvent.go index 9e4564a..e12d75a 100644 --- a/pkg/messages/types/svcGameEvent.go +++ b/pkg/messages/types/svcGameEvent.go | |||
| @@ -1,6 +1,9 @@ | |||
| 1 | package messages | 1 | package messages |
| 2 | 2 | ||
| 3 | import "github.com/pektezol/bitreader" | 3 | import ( |
| 4 | "github.com/pektezol/bitreader" | ||
| 5 | "github.com/pektezol/demoparser/pkg/writer" | ||
| 6 | ) | ||
| 4 | 7 | ||
| 5 | type SvcGameEvent struct { | 8 | type SvcGameEvent struct { |
| 6 | Length uint16 | 9 | Length uint16 |
| @@ -12,5 +15,6 @@ func ParseSvcGameEvent(reader *bitreader.Reader) SvcGameEvent { | |||
| 12 | Length: uint16(reader.TryReadBits(11)), | 15 | Length: uint16(reader.TryReadBits(11)), |
| 13 | } | 16 | } |
| 14 | svcGameEvent.Data = reader.TryReadBitsToSlice(uint64(svcGameEvent.Length)) | 17 | svcGameEvent.Data = reader.TryReadBitsToSlice(uint64(svcGameEvent.Length)) |
| 18 | writer.TempAppendLine("\t\tData: %v", svcGameEvent.Data) | ||
| 15 | return svcGameEvent | 19 | return svcGameEvent |
| 16 | } | 20 | } |
diff --git a/pkg/messages/types/svcGameEventList.go b/pkg/messages/types/svcGameEventList.go index c6eb896..1fa7589 100644 --- a/pkg/messages/types/svcGameEventList.go +++ b/pkg/messages/types/svcGameEventList.go | |||
| @@ -1,6 +1,9 @@ | |||
| 1 | package messages | 1 | package messages |
| 2 | 2 | ||
| 3 | import "github.com/pektezol/bitreader" | 3 | import ( |
| 4 | "github.com/pektezol/bitreader" | ||
| 5 | "github.com/pektezol/demoparser/pkg/writer" | ||
| 6 | ) | ||
| 4 | 7 | ||
| 5 | type SvcGameEventList struct { | 8 | type SvcGameEventList struct { |
| 6 | Events int16 | 9 | Events int16 |
| @@ -17,5 +20,6 @@ func ParseSvcGameEventList(reader *bitreader.Reader) SvcGameEventList { | |||
| 17 | Length: int32(reader.TryReadBits(20)), | 20 | Length: int32(reader.TryReadBits(20)), |
| 18 | } | 21 | } |
| 19 | reader.TryReadBitsToSlice(uint64(svcGameEventList.Length)) | 22 | reader.TryReadBitsToSlice(uint64(svcGameEventList.Length)) |
| 23 | writer.TempAppendLine("\t\tEvents: %d", svcGameEventList.Events) | ||
| 20 | return svcGameEventList | 24 | return svcGameEventList |
| 21 | } | 25 | } |
diff --git a/pkg/messages/types/svcGetCvarValue.go b/pkg/messages/types/svcGetCvarValue.go index 19fc362..939e6b6 100644 --- a/pkg/messages/types/svcGetCvarValue.go +++ b/pkg/messages/types/svcGetCvarValue.go | |||
| @@ -1,6 +1,9 @@ | |||
| 1 | package messages | 1 | package messages |
| 2 | 2 | ||
| 3 | import "github.com/pektezol/bitreader" | 3 | import ( |
| 4 | "github.com/pektezol/bitreader" | ||
| 5 | "github.com/pektezol/demoparser/pkg/writer" | ||
| 6 | ) | ||
| 4 | 7 | ||
| 5 | type SvcGetCvarValue struct { | 8 | type SvcGetCvarValue struct { |
| 6 | Cookie int32 | 9 | Cookie int32 |
| @@ -12,5 +15,7 @@ func ParseSvcGetCvarValue(reader *bitreader.Reader) SvcGetCvarValue { | |||
| 12 | Cookie: reader.TryReadSInt32(), | 15 | Cookie: reader.TryReadSInt32(), |
| 13 | CvarName: reader.TryReadString(), | 16 | CvarName: reader.TryReadString(), |
| 14 | } | 17 | } |
| 18 | writer.TempAppendLine("\t\tCookie: %d", svcGetCvarValue.Cookie) | ||
| 19 | writer.TempAppendLine("\t\tCvar: \"%s\"", svcGetCvarValue.CvarName) | ||
| 15 | return svcGetCvarValue | 20 | return svcGetCvarValue |
| 16 | } | 21 | } |
diff --git a/pkg/messages/types/svcMenu.go b/pkg/messages/types/svcMenu.go index 9e8e2eb..33ccb70 100644 --- a/pkg/messages/types/svcMenu.go +++ b/pkg/messages/types/svcMenu.go | |||
| @@ -1,6 +1,9 @@ | |||
| 1 | package messages | 1 | package messages |
| 2 | 2 | ||
| 3 | import "github.com/pektezol/bitreader" | 3 | import ( |
| 4 | "github.com/pektezol/bitreader" | ||
| 5 | "github.com/pektezol/demoparser/pkg/writer" | ||
| 6 | ) | ||
| 4 | 7 | ||
| 5 | type SvcMenu struct { | 8 | type SvcMenu struct { |
| 6 | Type uint16 | 9 | Type uint16 |
| @@ -14,5 +17,7 @@ func ParseSvcMenu(reader *bitreader.Reader) SvcMenu { | |||
| 14 | Length: reader.TryReadUInt32(), | 17 | Length: reader.TryReadUInt32(), |
| 15 | } | 18 | } |
| 16 | svcMenu.Data = reader.TryReadBitsToSlice(uint64(svcMenu.Length)) | 19 | svcMenu.Data = reader.TryReadBitsToSlice(uint64(svcMenu.Length)) |
| 20 | writer.TempAppendLine("\t\tType: %d", svcMenu.Type) | ||
| 21 | writer.TempAppendLine("\t\tData: %v", svcMenu.Data) | ||
| 17 | return svcMenu | 22 | return svcMenu |
| 18 | } | 23 | } |
diff --git a/pkg/messages/types/svcPacketEntities.go b/pkg/messages/types/svcPacketEntities.go index 2d86bf2..05b6794 100644 --- a/pkg/messages/types/svcPacketEntities.go +++ b/pkg/messages/types/svcPacketEntities.go | |||
| @@ -2,6 +2,7 @@ package messages | |||
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | "github.com/pektezol/bitreader" | 4 | "github.com/pektezol/bitreader" |
| 5 | "github.com/pektezol/demoparser/pkg/writer" | ||
| 5 | ) | 6 | ) |
| 6 | 7 | ||
| 7 | type SvcPacketEntities struct { | 8 | type SvcPacketEntities struct { |
| @@ -30,5 +31,12 @@ func ParseSvcPacketEntities(reader *bitreader.Reader) SvcPacketEntities { | |||
| 30 | svcPacketEntities.Length = uint32(reader.TryReadBits(20)) | 31 | svcPacketEntities.Length = uint32(reader.TryReadBits(20)) |
| 31 | svcPacketEntities.UpdatedBaseline = reader.TryReadBool() | 32 | svcPacketEntities.UpdatedBaseline = reader.TryReadBool() |
| 32 | svcPacketEntities.Data = reader.TryReadBitsToSlice(uint64(svcPacketEntities.Length)) | 33 | svcPacketEntities.Data = reader.TryReadBitsToSlice(uint64(svcPacketEntities.Length)) |
| 34 | writer.TempAppendLine("\t\tMax Entries: %d", svcPacketEntities.MaxEntries) | ||
| 35 | writer.TempAppendLine("\t\tIs Delta: %t", svcPacketEntities.IsDelta) | ||
| 36 | writer.TempAppendLine("\t\tDelta From: %d", svcPacketEntities.DeltaFrom) | ||
| 37 | writer.TempAppendLine("\t\tBaseline: %t", svcPacketEntities.BaseLine) | ||
| 38 | writer.TempAppendLine("\t\tUpdated Baseline: %t", svcPacketEntities.UpdatedBaseline) | ||
| 39 | writer.TempAppendLine("\t\t%d Updated Entries:", svcPacketEntities.UpdatedEntries) | ||
| 40 | writer.TempAppendLine("\t\tData: %v", svcPacketEntities.Data) | ||
| 33 | return svcPacketEntities | 41 | return svcPacketEntities |
| 34 | } | 42 | } |
diff --git a/pkg/messages/types/svcPaintmapData.go b/pkg/messages/types/svcPaintmapData.go index 380016a..40f6ad0 100644 --- a/pkg/messages/types/svcPaintmapData.go +++ b/pkg/messages/types/svcPaintmapData.go | |||
| @@ -1,6 +1,9 @@ | |||
| 1 | package messages | 1 | package messages |
| 2 | 2 | ||
| 3 | import "github.com/pektezol/bitreader" | 3 | import ( |
| 4 | "github.com/pektezol/bitreader" | ||
| 5 | "github.com/pektezol/demoparser/pkg/writer" | ||
| 6 | ) | ||
| 4 | 7 | ||
| 5 | type SvcPaintmapData struct { | 8 | type SvcPaintmapData struct { |
| 6 | Length uint32 | 9 | Length uint32 |
| @@ -12,5 +15,6 @@ func ParseSvcPaintmapData(reader *bitreader.Reader) SvcPaintmapData { | |||
| 12 | Length: reader.TryReadUInt32(), | 15 | Length: reader.TryReadUInt32(), |
| 13 | } | 16 | } |
| 14 | svcPaintmapData.Data = reader.TryReadBitsToSlice(uint64(svcPaintmapData.Length)) | 17 | svcPaintmapData.Data = reader.TryReadBitsToSlice(uint64(svcPaintmapData.Length)) |
| 18 | writer.TempAppendLine("\t\tData: %v", svcPaintmapData.Data) | ||
| 15 | return svcPaintmapData | 19 | return svcPaintmapData |
| 16 | } | 20 | } |
diff --git a/pkg/messages/types/svcPrefetch.go b/pkg/messages/types/svcPrefetch.go index 50d01e9..b71e61f 100644 --- a/pkg/messages/types/svcPrefetch.go +++ b/pkg/messages/types/svcPrefetch.go | |||
| @@ -1,13 +1,18 @@ | |||
| 1 | package messages | 1 | package messages |
| 2 | 2 | ||
| 3 | import "github.com/pektezol/bitreader" | 3 | import ( |
| 4 | "github.com/pektezol/bitreader" | ||
| 5 | "github.com/pektezol/demoparser/pkg/writer" | ||
| 6 | ) | ||
| 4 | 7 | ||
| 5 | type SvcPrefetch struct { | 8 | type SvcPrefetch struct { |
| 6 | SoundIndex int16 | 9 | SoundIndex int16 |
| 7 | } | 10 | } |
| 8 | 11 | ||
| 9 | func ParseSvcPrefetch(reader *bitreader.Reader) SvcPrefetch { | 12 | func ParseSvcPrefetch(reader *bitreader.Reader) SvcPrefetch { |
| 10 | return SvcPrefetch{ | 13 | svcPrefetch := SvcPrefetch{ |
| 11 | SoundIndex: int16(reader.TryReadBits(13)), | 14 | SoundIndex: int16(reader.TryReadBits(13)), |
| 12 | } | 15 | } |
| 16 | writer.TempAppendLine("\t\tSound Index: %d", svcPrefetch.SoundIndex) | ||
| 17 | return svcPrefetch | ||
| 13 | } | 18 | } |
diff --git a/pkg/messages/types/svcPrint.go b/pkg/messages/types/svcPrint.go index f31d046..760a3c5 100644 --- a/pkg/messages/types/svcPrint.go +++ b/pkg/messages/types/svcPrint.go | |||
| @@ -1,13 +1,21 @@ | |||
| 1 | package messages | 1 | package messages |
| 2 | 2 | ||
| 3 | import "github.com/pektezol/bitreader" | 3 | import ( |
| 4 | "strings" | ||
| 5 | |||
| 6 | "github.com/pektezol/bitreader" | ||
| 7 | "github.com/pektezol/demoparser/pkg/writer" | ||
| 8 | ) | ||
| 4 | 9 | ||
| 5 | type SvcPrint struct { | 10 | type SvcPrint struct { |
| 6 | Message string | 11 | Message string |
| 7 | } | 12 | } |
| 8 | 13 | ||
| 9 | func ParseSvcPrint(reader *bitreader.Reader) SvcPrint { | 14 | func ParseSvcPrint(reader *bitreader.Reader) SvcPrint { |
| 10 | return SvcPrint{ | 15 | svcPrint := SvcPrint{ |
| 11 | Message: reader.TryReadString(), | 16 | Message: reader.TryReadString(), |
| 12 | } | 17 | } |
| 18 | // common psycopath behaviour | ||
| 19 | writer.TempAppendLine("\t\t%s", strings.Replace(strings.ReplaceAll(strings.ReplaceAll(svcPrint.Message, "\n", "\n\t\t"), "\n\t\t\n\t\t", ""), "\n\t\t", "", 1)) | ||
| 20 | return svcPrint | ||
| 13 | } | 21 | } |
diff --git a/pkg/messages/types/svcSendTable.go b/pkg/messages/types/svcSendTable.go index 2395e9f..78df195 100644 --- a/pkg/messages/types/svcSendTable.go +++ b/pkg/messages/types/svcSendTable.go | |||
| @@ -1,6 +1,9 @@ | |||
| 1 | package messages | 1 | package messages |
| 2 | 2 | ||
| 3 | import "github.com/pektezol/bitreader" | 3 | import ( |
| 4 | "github.com/pektezol/bitreader" | ||
| 5 | "github.com/pektezol/demoparser/pkg/writer" | ||
| 6 | ) | ||
| 4 | 7 | ||
| 5 | type SvcSendTable struct { | 8 | type SvcSendTable struct { |
| 6 | NeedsDecoder bool | 9 | NeedsDecoder bool |
| @@ -14,5 +17,8 @@ func ParseSvcSendTable(reader *bitreader.Reader) SvcSendTable { | |||
| 14 | Length: reader.TryReadUInt8(), | 17 | Length: reader.TryReadUInt8(), |
| 15 | } | 18 | } |
| 16 | svcSendTable.Props = uint32(reader.TryReadBits(uint64(svcSendTable.Length))) | 19 | svcSendTable.Props = uint32(reader.TryReadBits(uint64(svcSendTable.Length))) |
| 20 | writer.TempAppendLine("\t\tNeeds Decoder: %t", svcSendTable.NeedsDecoder) | ||
| 21 | writer.TempAppendLine("\t\tLength: %d", svcSendTable.Length) | ||
| 22 | writer.TempAppendLine("\t\tProps: %d", svcSendTable.Props) | ||
| 17 | return svcSendTable | 23 | return svcSendTable |
| 18 | } | 24 | } |
diff --git a/pkg/messages/types/svcServerInfo.go b/pkg/messages/types/svcServerInfo.go index 7d44569..a6acd53 100644 --- a/pkg/messages/types/svcServerInfo.go +++ b/pkg/messages/types/svcServerInfo.go | |||
| @@ -1,6 +1,9 @@ | |||
| 1 | package messages | 1 | package messages |
| 2 | 2 | ||
| 3 | import "github.com/pektezol/bitreader" | 3 | import ( |
| 4 | "github.com/pektezol/bitreader" | ||
| 5 | "github.com/pektezol/demoparser/pkg/writer" | ||
| 6 | ) | ||
| 4 | 7 | ||
| 5 | type SvcServerInfo struct { | 8 | type SvcServerInfo struct { |
| 6 | Protocol uint16 | 9 | Protocol uint16 |
| @@ -22,7 +25,7 @@ type SvcServerInfo struct { | |||
| 22 | } | 25 | } |
| 23 | 26 | ||
| 24 | func ParseSvcServerInfo(reader *bitreader.Reader) SvcServerInfo { | 27 | func ParseSvcServerInfo(reader *bitreader.Reader) SvcServerInfo { |
| 25 | return SvcServerInfo{ | 28 | svcServerInfo := SvcServerInfo{ |
| 26 | Protocol: reader.TryReadUInt16(), | 29 | Protocol: reader.TryReadUInt16(), |
| 27 | ServerCount: reader.TryReadUInt32(), | 30 | ServerCount: reader.TryReadUInt32(), |
| 28 | IsHltv: reader.TryReadBool(), | 31 | IsHltv: reader.TryReadBool(), |
| @@ -40,4 +43,21 @@ func ParseSvcServerInfo(reader *bitreader.Reader) SvcServerInfo { | |||
| 40 | SkyName: reader.TryReadString(), | 43 | SkyName: reader.TryReadString(), |
| 41 | HostName: reader.TryReadString(), | 44 | HostName: reader.TryReadString(), |
| 42 | } | 45 | } |
| 46 | writer.TempAppendLine("\t\tNetwork Protocol: %d", svcServerInfo.Protocol) | ||
| 47 | writer.TempAppendLine("\t\tServer Count: %d", svcServerInfo.ServerCount) | ||
| 48 | writer.TempAppendLine("\t\tIs Hltv: %t", svcServerInfo.IsHltv) | ||
| 49 | writer.TempAppendLine("\t\tIs Dedicated: %t", svcServerInfo.IsDedicated) | ||
| 50 | writer.TempAppendLine("\t\tServer Client CRC: %d", svcServerInfo.ClientCrc) | ||
| 51 | writer.TempAppendLine("\t\tString Table CRC: %d", svcServerInfo.StringTableCrc) | ||
| 52 | writer.TempAppendLine("\t\tMax Server Classes: %d", svcServerInfo.MaxServerClasses) | ||
| 53 | writer.TempAppendLine("\t\tServer Map CRC: %d", svcServerInfo.MapCrc) | ||
| 54 | writer.TempAppendLine("\t\tCurrent Player Count: %d", svcServerInfo.PlayerCount) | ||
| 55 | writer.TempAppendLine("\t\tMax Player Count: %d", svcServerInfo.MaxClients) | ||
| 56 | writer.TempAppendLine("\t\tInterval Per Tick: %f", svcServerInfo.TickInterval) | ||
| 57 | writer.TempAppendLine("\t\tPlatform: %s", svcServerInfo.Platform) | ||
| 58 | writer.TempAppendLine("\t\tGame Directory: %s", svcServerInfo.GameDir) | ||
| 59 | writer.TempAppendLine("\t\tMap Name: %s", svcServerInfo.MapName) | ||
| 60 | writer.TempAppendLine("\t\tSky Name: %s", svcServerInfo.SkyName) | ||
| 61 | writer.TempAppendLine("\t\tHost Name: %s", svcServerInfo.HostName) | ||
| 62 | return svcServerInfo | ||
| 43 | } | 63 | } |
diff --git a/pkg/messages/types/svcSetPause.go b/pkg/messages/types/svcSetPause.go index 551a4d3..d979ac5 100644 --- a/pkg/messages/types/svcSetPause.go +++ b/pkg/messages/types/svcSetPause.go | |||
| @@ -1,13 +1,18 @@ | |||
| 1 | package messages | 1 | package messages |
| 2 | 2 | ||
| 3 | import "github.com/pektezol/bitreader" | 3 | import ( |
| 4 | "github.com/pektezol/bitreader" | ||
| 5 | "github.com/pektezol/demoparser/pkg/writer" | ||
| 6 | ) | ||
| 4 | 7 | ||
| 5 | type SvcSetPause struct { | 8 | type SvcSetPause struct { |
| 6 | Paused bool | 9 | Paused bool |
| 7 | } | 10 | } |
| 8 | 11 | ||
| 9 | func ParseSvcSetPause(reader *bitreader.Reader) SvcSetPause { | 12 | func ParseSvcSetPause(reader *bitreader.Reader) SvcSetPause { |
| 10 | return SvcSetPause{ | 13 | svcSetPause := SvcSetPause{ |
| 11 | Paused: reader.TryReadBool(), | 14 | Paused: reader.TryReadBool(), |
| 12 | } | 15 | } |
| 16 | writer.TempAppendLine("\t\tPaused: %t", svcSetPause.Paused) | ||
| 17 | return svcSetPause | ||
| 13 | } | 18 | } |
diff --git a/pkg/messages/types/svcSetView.go b/pkg/messages/types/svcSetView.go index 4ba5e3c..bdb6203 100644 --- a/pkg/messages/types/svcSetView.go +++ b/pkg/messages/types/svcSetView.go | |||
| @@ -1,13 +1,18 @@ | |||
| 1 | package messages | 1 | package messages |
| 2 | 2 | ||
| 3 | import "github.com/pektezol/bitreader" | 3 | import ( |
| 4 | "github.com/pektezol/bitreader" | ||
| 5 | "github.com/pektezol/demoparser/pkg/writer" | ||
| 6 | ) | ||
| 4 | 7 | ||
| 5 | type SvcSetView struct { | 8 | type SvcSetView struct { |
| 6 | EntityIndex uint16 | 9 | EntityIndex uint16 |
| 7 | } | 10 | } |
| 8 | 11 | ||
| 9 | func ParseSvcSetView(reader *bitreader.Reader) SvcSetView { | 12 | func ParseSvcSetView(reader *bitreader.Reader) SvcSetView { |
| 10 | return SvcSetView{ | 13 | svcSetView := SvcSetView{ |
| 11 | EntityIndex: uint16(reader.TryReadBits(11)), | 14 | EntityIndex: uint16(reader.TryReadBits(11)), |
| 12 | } | 15 | } |
| 16 | writer.TempAppendLine("\t\tEntity Index: %d", svcSetView.EntityIndex) | ||
| 17 | return svcSetView | ||
| 13 | } | 18 | } |
diff --git a/pkg/messages/types/svcSounds.go b/pkg/messages/types/svcSounds.go index 1553450..1affeb4 100644 --- a/pkg/messages/types/svcSounds.go +++ b/pkg/messages/types/svcSounds.go | |||
| @@ -1,6 +1,9 @@ | |||
| 1 | package messages | 1 | package messages |
| 2 | 2 | ||
| 3 | import "github.com/pektezol/bitreader" | 3 | import ( |
| 4 | "github.com/pektezol/bitreader" | ||
| 5 | "github.com/pektezol/demoparser/pkg/writer" | ||
| 6 | ) | ||
| 4 | 7 | ||
| 5 | type SvcSounds struct { | 8 | type SvcSounds struct { |
| 6 | ReliableSound bool | 9 | ReliableSound bool |
| @@ -21,5 +24,8 @@ func ParseSvcSounds(reader *bitreader.Reader) SvcSounds { | |||
| 21 | svcSounds.Length = reader.TryReadUInt16() | 24 | svcSounds.Length = reader.TryReadUInt16() |
| 22 | } | 25 | } |
| 23 | svcSounds.Data = reader.TryReadBitsToSlice(uint64(svcSounds.Length)) | 26 | svcSounds.Data = reader.TryReadBitsToSlice(uint64(svcSounds.Length)) |
| 27 | writer.TempAppendLine("\t\tReliable Sound: %t", svcSounds.ReliableSound) | ||
| 28 | writer.TempAppendLine("\t\tSound Count: %d", svcSounds.SoundCount) | ||
| 29 | writer.TempAppendLine("\t\tData: %v", svcSounds.Data) | ||
| 24 | return svcSounds | 30 | return svcSounds |
| 25 | } | 31 | } |
diff --git a/pkg/messages/types/svcSplitScreen.go b/pkg/messages/types/svcSplitScreen.go index 5ddc131..653438a 100644 --- a/pkg/messages/types/svcSplitScreen.go +++ b/pkg/messages/types/svcSplitScreen.go | |||
| @@ -1,6 +1,9 @@ | |||
| 1 | package messages | 1 | package messages |
| 2 | 2 | ||
| 3 | import "github.com/pektezol/bitreader" | 3 | import ( |
| 4 | "github.com/pektezol/bitreader" | ||
| 5 | "github.com/pektezol/demoparser/pkg/writer" | ||
| 6 | ) | ||
| 4 | 7 | ||
| 5 | type SvcSplitScreen struct { | 8 | type SvcSplitScreen struct { |
| 6 | RemoveUser bool | 9 | RemoveUser bool |
| @@ -14,5 +17,7 @@ func ParseSvcSplitScreen(reader *bitreader.Reader) SvcSplitScreen { | |||
| 14 | Length: uint16(reader.TryReadBits(11)), | 17 | Length: uint16(reader.TryReadBits(11)), |
| 15 | } | 18 | } |
| 16 | svcSplitScreen.Data = reader.TryReadBitsToSlice(uint64(svcSplitScreen.Length)) | 19 | svcSplitScreen.Data = reader.TryReadBitsToSlice(uint64(svcSplitScreen.Length)) |
| 20 | writer.TempAppendLine("\t\tRemove User: %t", svcSplitScreen.RemoveUser) | ||
| 21 | writer.TempAppendLine("\t\tData: %v", svcSplitScreen.Data) | ||
| 17 | return svcSplitScreen | 22 | return svcSplitScreen |
| 18 | } | 23 | } |
diff --git a/pkg/messages/types/svcTempEntities.go b/pkg/messages/types/svcTempEntities.go index 9c20a65..407bfd6 100644 --- a/pkg/messages/types/svcTempEntities.go +++ b/pkg/messages/types/svcTempEntities.go | |||
| @@ -1,6 +1,9 @@ | |||
| 1 | package messages | 1 | package messages |
| 2 | 2 | ||
| 3 | import "github.com/pektezol/bitreader" | 3 | import ( |
| 4 | "github.com/pektezol/bitreader" | ||
| 5 | "github.com/pektezol/demoparser/pkg/writer" | ||
| 6 | ) | ||
| 4 | 7 | ||
| 5 | type SvcTempEntities struct { | 8 | type SvcTempEntities struct { |
| 6 | NumEntries uint8 | 9 | NumEntries uint8 |
| @@ -14,5 +17,7 @@ func ParseSvcTempEntities(reader *bitreader.Reader) SvcTempEntities { | |||
| 14 | Length: uint32(reader.TryReadBits(17)), | 17 | Length: uint32(reader.TryReadBits(17)), |
| 15 | } | 18 | } |
| 16 | svcTempEntities.Data = reader.TryReadBitsToSlice(uint64(svcTempEntities.Length)) | 19 | svcTempEntities.Data = reader.TryReadBitsToSlice(uint64(svcTempEntities.Length)) |
| 20 | writer.TempAppendLine("\t\tNumber Of Entries: %d", svcTempEntities.NumEntries) | ||
| 21 | writer.TempAppendLine("\t\tData: %v", svcTempEntities.Data) | ||
| 17 | return svcTempEntities | 22 | return svcTempEntities |
| 18 | } | 23 | } |
diff --git a/pkg/messages/types/svcUpdateStringTable.go b/pkg/messages/types/svcUpdateStringTable.go index 0ff076c..68c8fb5 100644 --- a/pkg/messages/types/svcUpdateStringTable.go +++ b/pkg/messages/types/svcUpdateStringTable.go | |||
| @@ -1,6 +1,9 @@ | |||
| 1 | package messages | 1 | package messages |
| 2 | 2 | ||
| 3 | import "github.com/pektezol/bitreader" | 3 | import ( |
| 4 | "github.com/pektezol/bitreader" | ||
| 5 | "github.com/pektezol/demoparser/pkg/writer" | ||
| 6 | ) | ||
| 4 | 7 | ||
| 5 | type SvcUpdateStringTable struct { | 8 | type SvcUpdateStringTable struct { |
| 6 | TableId uint8 | 9 | TableId uint8 |
| @@ -18,5 +21,7 @@ func ParseSvcUpdateStringTable(reader *bitreader.Reader) SvcUpdateStringTable { | |||
| 18 | } | 21 | } |
| 19 | svcUpdateStringTable.Length = int32(reader.TryReadBits(20)) | 22 | svcUpdateStringTable.Length = int32(reader.TryReadBits(20)) |
| 20 | svcUpdateStringTable.Data = reader.TryReadBitsToSlice(uint64(svcUpdateStringTable.Length)) | 23 | svcUpdateStringTable.Data = reader.TryReadBitsToSlice(uint64(svcUpdateStringTable.Length)) |
| 24 | writer.TempAppendLine("\t\tTable ID: %d", svcUpdateStringTable.TableId) | ||
| 25 | writer.TempAppendLine("\t\tNumber Of Changed Entries: %d", svcUpdateStringTable.NumChangedEntries) | ||
| 21 | return svcUpdateStringTable | 26 | return svcUpdateStringTable |
| 22 | } | 27 | } |
diff --git a/pkg/messages/types/svcUserMessage.go b/pkg/messages/types/svcUserMessage.go index 3cc6de2..e5b1943 100644 --- a/pkg/messages/types/svcUserMessage.go +++ b/pkg/messages/types/svcUserMessage.go | |||
| @@ -1,6 +1,9 @@ | |||
| 1 | package messages | 1 | package messages |
| 2 | 2 | ||
| 3 | import "github.com/pektezol/bitreader" | 3 | import ( |
| 4 | "github.com/pektezol/bitreader" | ||
| 5 | "github.com/pektezol/demoparser/pkg/writer" | ||
| 6 | ) | ||
| 4 | 7 | ||
| 5 | type SvcUserMessage struct { | 8 | type SvcUserMessage struct { |
| 6 | Type int8 | 9 | Type int8 |
| @@ -86,6 +89,8 @@ func ParseSvcUserMessage(reader *bitreader.Reader) SvcUserMessage { | |||
| 86 | Length: int16(reader.TryReadBits(12)), | 89 | Length: int16(reader.TryReadBits(12)), |
| 87 | } | 90 | } |
| 88 | svcUserMessage.Data = reader.TryReadBitsToSlice(uint64(svcUserMessage.Length)) | 91 | svcUserMessage.Data = reader.TryReadBitsToSlice(uint64(svcUserMessage.Length)) |
| 92 | writer.TempAppendLine("\t\tType: %d", svcUserMessage.Type) | ||
| 93 | writer.TempAppendLine("\t\tData: %v", svcUserMessage.Data) | ||
| 89 | return svcUserMessage | 94 | return svcUserMessage |
| 90 | } | 95 | } |
| 91 | 96 | ||
diff --git a/pkg/messages/types/svcVoiceData.go b/pkg/messages/types/svcVoiceData.go index efcae85..c3e08ee 100644 --- a/pkg/messages/types/svcVoiceData.go +++ b/pkg/messages/types/svcVoiceData.go | |||
| @@ -1,6 +1,9 @@ | |||
| 1 | package messages | 1 | package messages |
| 2 | 2 | ||
| 3 | import "github.com/pektezol/bitreader" | 3 | import ( |
| 4 | "github.com/pektezol/bitreader" | ||
| 5 | "github.com/pektezol/demoparser/pkg/writer" | ||
| 6 | ) | ||
| 4 | 7 | ||
| 5 | type SvcVoiceData struct { | 8 | type SvcVoiceData struct { |
| 6 | FromClient uint8 | 9 | FromClient uint8 |
| @@ -18,5 +21,8 @@ func ParseSvcVoiceData(reader *bitreader.Reader) SvcVoiceData { | |||
| 18 | svcVoiceData.Proximity = true | 21 | svcVoiceData.Proximity = true |
| 19 | } | 22 | } |
| 20 | svcVoiceData.Data = reader.TryReadBitsToSlice(uint64(svcVoiceData.Length)) | 23 | svcVoiceData.Data = reader.TryReadBitsToSlice(uint64(svcVoiceData.Length)) |
| 24 | writer.TempAppendLine("\t\tFrom Client: %d", svcVoiceData.FromClient) | ||
| 25 | writer.TempAppendLine("\t\tProximity: %t", svcVoiceData.Proximity) | ||
| 26 | writer.TempAppendLine("\t\tData: %v", svcVoiceData.Data) | ||
| 21 | return svcVoiceData | 27 | return svcVoiceData |
| 22 | } | 28 | } |
diff --git a/pkg/messages/types/svcVoiceInit.go b/pkg/messages/types/svcVoiceInit.go index a6d711a..03e0e25 100644 --- a/pkg/messages/types/svcVoiceInit.go +++ b/pkg/messages/types/svcVoiceInit.go | |||
| @@ -1,6 +1,9 @@ | |||
| 1 | package messages | 1 | package messages |
| 2 | 2 | ||
| 3 | import "github.com/pektezol/bitreader" | 3 | import ( |
| 4 | "github.com/pektezol/bitreader" | ||
| 5 | "github.com/pektezol/demoparser/pkg/writer" | ||
| 6 | ) | ||
| 4 | 7 | ||
| 5 | type SvcVoiceInit struct { | 8 | type SvcVoiceInit struct { |
| 6 | Codec string | 9 | Codec string |
| @@ -22,5 +25,8 @@ func ParseSvcVoiceInit(reader *bitreader.Reader) SvcVoiceInit { | |||
| 22 | svcVoiceInit.SampleRate = 11025 | 25 | svcVoiceInit.SampleRate = 11025 |
| 23 | } | 26 | } |
| 24 | } | 27 | } |
| 28 | writer.TempAppendLine("\t\tCodec: %s", svcVoiceInit.Codec) | ||
| 29 | writer.TempAppendLine("\t\tQuality: %d", svcVoiceInit.Quality) | ||
| 30 | writer.TempAppendLine("\t\tSample Rate: %d", svcVoiceInit.SampleRate) | ||
| 25 | return svcVoiceInit | 31 | return svcVoiceInit |
| 26 | } | 32 | } |