diff options
Diffstat (limited to 'packets/messages')
| -rw-r--r-- | packets/messages/message.go | 71 | ||||
| -rw-r--r-- | packets/messages/types/SvcPacketEntities.go | 3 | ||||
| -rw-r--r-- | packets/messages/types/SvcSetPause.go | 4 | ||||
| -rw-r--r-- | packets/messages/types/SvcTempEntities.go | 4 | ||||
| -rw-r--r-- | packets/messages/types/SvcUserMessage.go | 4 |
5 files changed, 46 insertions, 40 deletions
diff --git a/packets/messages/message.go b/packets/messages/message.go index 05690cc..f934419 100644 --- a/packets/messages/message.go +++ b/packets/messages/message.go | |||
| @@ -2,6 +2,7 @@ package messages | |||
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | "bytes" | 4 | "bytes" |
| 5 | "fmt" | ||
| 5 | 6 | ||
| 6 | "github.com/pektezol/bitreader" | 7 | "github.com/pektezol/bitreader" |
| 7 | "github.com/pektezol/demoparser/packets/messages/types" | 8 | "github.com/pektezol/demoparser/packets/messages/types" |
| @@ -15,76 +16,78 @@ func ParseMessage(data []byte) []Message { | |||
| 15 | if err != nil { | 16 | if err != nil { |
| 16 | break | 17 | break |
| 17 | } | 18 | } |
| 19 | fmt.Printf("Reading message type: %d\n", messageType) | ||
| 18 | switch messageType { | 20 | switch messageType { |
| 19 | case 0x00: | 21 | case 0: |
| 20 | messages = append(messages, Message{Data: types.NetNop{}}) | 22 | messages = append(messages, Message{Data: types.NetNop{}}) |
| 21 | case 0x01: | 23 | case 1: |
| 22 | messages = append(messages, Message{Data: types.ParseNetDisconnect(reader)}) | 24 | messages = append(messages, Message{Data: types.ParseNetDisconnect(reader)}) |
| 23 | case 0x02: | 25 | case 2: |
| 24 | messages = append(messages, Message{Data: types.ParseNetFile(reader)}) | 26 | messages = append(messages, Message{Data: types.ParseNetFile(reader)}) |
| 25 | case 0x03: | 27 | case 3: |
| 26 | messages = append(messages, Message{Data: types.ParseNetSplitScreenUser(reader)}) | 28 | messages = append(messages, Message{Data: types.ParseNetSplitScreenUser(reader)}) |
| 27 | case 0x04: | 29 | case 4: |
| 28 | messages = append(messages, Message{Data: types.ParseNetTick(reader)}) | 30 | messages = append(messages, Message{Data: types.ParseNetTick(reader)}) |
| 29 | case 0x05: | 31 | case 5: |
| 30 | messages = append(messages, Message{Data: types.ParseNetStringCmd(reader)}) | 32 | messages = append(messages, Message{Data: types.ParseNetStringCmd(reader)}) |
| 31 | case 0x06: | 33 | case 6: |
| 32 | messages = append(messages, Message{Data: types.ParseNetSetConVar(reader)}) | 34 | messages = append(messages, Message{Data: types.ParseNetSetConVar(reader)}) |
| 33 | case 0x07: | 35 | case 7: |
| 34 | messages = append(messages, Message{Data: types.ParseNetSignOnState(reader)}) | 36 | messages = append(messages, Message{Data: types.ParseNetSignOnState(reader)}) |
| 35 | case 0x08: | 37 | case 8: |
| 36 | messages = append(messages, Message{Data: types.ParseSvcServerInfo(reader)}) | 38 | messages = append(messages, Message{Data: types.ParseSvcServerInfo(reader)}) |
| 37 | case 0x09: | 39 | case 9: |
| 38 | messages = append(messages, Message{Data: types.ParseSvcSendTable(reader)}) | 40 | messages = append(messages, Message{Data: types.ParseSvcSendTable(reader)}) |
| 39 | case 0x10: | 41 | case 10: |
| 40 | messages = append(messages, Message{Data: types.ParseSvcClassInfo(reader)}) | 42 | messages = append(messages, Message{Data: types.ParseSvcClassInfo(reader)}) |
| 41 | case 0x11: | 43 | case 11: |
| 42 | messages = append(messages, Message{Data: types.ParseSvcSetPause(reader)}) | 44 | messages = append(messages, Message{Data: types.ParseSvcSetPause(reader)}) |
| 43 | case 0x12: | 45 | case 12: |
| 44 | messages = append(messages, Message{Data: types.ParseSvcCreateStringTable(reader)}) | 46 | messages = append(messages, Message{Data: types.ParseSvcCreateStringTable(reader)}) |
| 45 | case 0x13: | 47 | case 13: |
| 46 | messages = append(messages, Message{Data: types.ParseSvcUpdateStringTable(reader)}) | 48 | messages = append(messages, Message{Data: types.ParseSvcUpdateStringTable(reader)}) |
| 47 | case 0x14: | 49 | case 14: |
| 48 | messages = append(messages, Message{Data: types.ParseSvcVoiceInit(reader)}) | 50 | messages = append(messages, Message{Data: types.ParseSvcVoiceInit(reader)}) |
| 49 | case 0x15: | 51 | case 15: |
| 50 | messages = append(messages, Message{Data: types.ParseSvcVoiceData(reader)}) | 52 | messages = append(messages, Message{Data: types.ParseSvcVoiceData(reader)}) |
| 51 | case 0x16: | 53 | case 16: |
| 52 | messages = append(messages, Message{Data: types.ParseSvcPrint(reader)}) | 54 | messages = append(messages, Message{Data: types.ParseSvcPrint(reader)}) |
| 53 | case 0x17: | 55 | case 17: |
| 54 | messages = append(messages, Message{Data: types.ParseSvcSounds(reader)}) | 56 | messages = append(messages, Message{Data: types.ParseSvcSounds(reader)}) |
| 55 | case 0x18: | 57 | case 18: |
| 56 | messages = append(messages, Message{Data: types.ParseSvcSetView(reader)}) | 58 | messages = append(messages, Message{Data: types.ParseSvcSetView(reader)}) |
| 57 | case 0x19: | 59 | case 19: |
| 58 | messages = append(messages, Message{Data: types.ParseSvcFixAngle(reader)}) | 60 | messages = append(messages, Message{Data: types.ParseSvcFixAngle(reader)}) |
| 59 | case 0x20: | 61 | case 20: |
| 60 | messages = append(messages, Message{Data: types.ParseSvcCrosshairAngle(reader)}) | 62 | messages = append(messages, Message{Data: types.ParseSvcCrosshairAngle(reader)}) |
| 61 | case 0x21: | 63 | case 21: |
| 62 | // TODO: SvcBspDecal | 64 | // TODO: SvcBspDecal |
| 63 | case 0x22: | 65 | case 22: |
| 64 | messages = append(messages, Message{Data: types.ParseSvcSplitScreen(reader)}) | 66 | messages = append(messages, Message{Data: types.ParseSvcSplitScreen(reader)}) |
| 65 | case 0x23: | 67 | case 23: |
| 66 | messages = append(messages, Message{Data: types.ParseSvcUserMessage(reader)}) | 68 | messages = append(messages, Message{Data: types.ParseSvcUserMessage(reader)}) |
| 67 | case 0x24: | 69 | case 24: |
| 68 | messages = append(messages, Message{Data: types.ParseSvcEntityMessage(reader)}) | 70 | messages = append(messages, Message{Data: types.ParseSvcEntityMessage(reader)}) |
| 69 | case 0x25: | 71 | case 25: |
| 70 | // TODO: SvcGameEvent | 72 | // TODO: SvcGameEvent |
| 71 | case 0x26: | 73 | case 26: |
| 72 | messages = append(messages, Message{Data: types.ParseSvcPacketEntities(reader)}) | 74 | messages = append(messages, Message{Data: types.ParseSvcPacketEntities(reader)}) |
| 73 | case 0x27: | 75 | case 27: |
| 74 | messages = append(messages, Message{Data: types.ParseSvcTempEntities(reader)}) | 76 | messages = append(messages, Message{Data: types.ParseSvcTempEntities(reader)}) |
| 75 | case 0x28: | 77 | case 28: |
| 76 | messages = append(messages, Message{Data: types.ParseSvcPrefetch(reader)}) | 78 | messages = append(messages, Message{Data: types.ParseSvcPrefetch(reader)}) |
| 77 | case 0x29: | 79 | case 29: |
| 78 | messages = append(messages, Message{Data: types.ParseSvcMenu(reader)}) | 80 | messages = append(messages, Message{Data: types.ParseSvcMenu(reader)}) |
| 79 | case 0x30: | 81 | case 30: |
| 80 | messages = append(messages, Message{Data: types.ParseSvcGameEventList(reader)}) | 82 | messages = append(messages, Message{Data: types.ParseSvcGameEventList(reader)}) |
| 81 | case 0x31: | 83 | case 31: |
| 82 | messages = append(messages, Message{Data: types.ParseSvcGetCvarValue(reader)}) | 84 | messages = append(messages, Message{Data: types.ParseSvcGetCvarValue(reader)}) |
| 83 | case 0x32: | 85 | case 32: |
| 84 | messages = append(messages, Message{Data: types.ParseSvcCmdKeyValues(reader)}) | 86 | messages = append(messages, Message{Data: types.ParseSvcCmdKeyValues(reader)}) |
| 85 | case 0x33: | 87 | case 33: |
| 86 | messages = append(messages, Message{Data: types.ParseSvcPaintmapData(reader)}) | 88 | messages = append(messages, Message{Data: types.ParseSvcPaintmapData(reader)}) |
| 87 | } | 89 | } |
| 90 | //fmt.Println(messages) | ||
| 88 | } | 91 | } |
| 89 | return messages | 92 | return messages |
| 90 | } | 93 | } |
diff --git a/packets/messages/types/SvcPacketEntities.go b/packets/messages/types/SvcPacketEntities.go index bc4c41a..5fc27db 100644 --- a/packets/messages/types/SvcPacketEntities.go +++ b/packets/messages/types/SvcPacketEntities.go | |||
| @@ -1,8 +1,6 @@ | |||
| 1 | package types | 1 | package types |
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | "fmt" | ||
| 5 | |||
| 6 | "github.com/pektezol/bitreader" | 4 | "github.com/pektezol/bitreader" |
| 7 | ) | 5 | ) |
| 8 | 6 | ||
| @@ -26,7 +24,6 @@ func ParseSvcPacketEntities(reader *bitreader.ReaderType) SvcPacketEntities { | |||
| 26 | baseline := reader.TryReadBool() | 24 | baseline := reader.TryReadBool() |
| 27 | updatedentries := reader.TryReadBits(11) | 25 | updatedentries := reader.TryReadBits(11) |
| 28 | length := reader.TryReadBits(20) | 26 | length := reader.TryReadBits(20) |
| 29 | fmt.Println(length) | ||
| 30 | return SvcPacketEntities{ | 27 | return SvcPacketEntities{ |
| 31 | MaxEntries: uint16(maxentries), | 28 | MaxEntries: uint16(maxentries), |
| 32 | IsDelta: isdelta, | 29 | IsDelta: isdelta, |
diff --git a/packets/messages/types/SvcSetPause.go b/packets/messages/types/SvcSetPause.go index 040fb6a..c71485c 100644 --- a/packets/messages/types/SvcSetPause.go +++ b/packets/messages/types/SvcSetPause.go | |||
| @@ -1,6 +1,8 @@ | |||
| 1 | package types | 1 | package types |
| 2 | 2 | ||
| 3 | import "github.com/pektezol/bitreader" | 3 | import ( |
| 4 | "github.com/pektezol/bitreader" | ||
| 5 | ) | ||
| 4 | 6 | ||
| 5 | type SvcSetPause struct { | 7 | type SvcSetPause struct { |
| 6 | Paused bool | 8 | Paused bool |
diff --git a/packets/messages/types/SvcTempEntities.go b/packets/messages/types/SvcTempEntities.go index cd021a8..ce89dca 100644 --- a/packets/messages/types/SvcTempEntities.go +++ b/packets/messages/types/SvcTempEntities.go | |||
| @@ -1,6 +1,8 @@ | |||
| 1 | package types | 1 | package types |
| 2 | 2 | ||
| 3 | import "github.com/pektezol/bitreader" | 3 | import ( |
| 4 | "github.com/pektezol/bitreader" | ||
| 5 | ) | ||
| 4 | 6 | ||
| 5 | type SvcTempEntities struct { | 7 | type SvcTempEntities struct { |
| 6 | NumEntries uint8 | 8 | NumEntries uint8 |
diff --git a/packets/messages/types/SvcUserMessage.go b/packets/messages/types/SvcUserMessage.go index 2e6f74a..d816f22 100644 --- a/packets/messages/types/SvcUserMessage.go +++ b/packets/messages/types/SvcUserMessage.go | |||
| @@ -1,6 +1,8 @@ | |||
| 1 | package types | 1 | package types |
| 2 | 2 | ||
| 3 | import "github.com/pektezol/bitreader" | 3 | import ( |
| 4 | "github.com/pektezol/bitreader" | ||
| 5 | ) | ||
| 4 | 6 | ||
| 5 | type SvcUserMessage struct { | 7 | type SvcUserMessage struct { |
| 6 | MsgType uint8 | 8 | MsgType uint8 |