From a77cf8169b42a4394e62f7a381ca546b27d0f723 Mon Sep 17 00:00:00 2001 From: Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> Date: Mon, 7 Nov 2022 16:09:44 +0300 Subject: starting fresh for the third time --- messages/header.go | 29 ------------------- messages/messages.go | 78 ---------------------------------------------------- messages/types.go | 52 ----------------------------------- 3 files changed, 159 deletions(-) delete mode 100644 messages/header.go delete mode 100644 messages/messages.go delete mode 100644 messages/types.go (limited to 'messages') diff --git a/messages/header.go b/messages/header.go deleted file mode 100644 index 34b36d3..0000000 --- a/messages/header.go +++ /dev/null @@ -1,29 +0,0 @@ -package messages - -import ( - "fmt" - "os" - - "github.com/pektezol/bitreader" - "github.com/pektezol/demoparser/utils" -) - -func ParseHeader(file *os.File) { - var header Header - reader := bitreader.Reader(file, true) - header.DemoFileStamp = string(utils.ReadByteFromFile(file, 8)) - header.DemoProtocol = int32(reader.TryReadInt32()) - header.NetworkProtocol = int32(reader.TryReadInt32()) - header.ServerName = string(utils.ReadByteFromFile(file, 260)) - header.ClientName = string(utils.ReadByteFromFile(file, 260)) - header.MapName = string(utils.ReadByteFromFile(file, 260)) - header.GameDirectory = string(utils.ReadByteFromFile(file, 260)) - header.PlaybackTime = float32(reader.TryReadFloat32()) - header.PlaybackTicks = int32(reader.TryReadInt32()) - header.PlaybackFrames = int32(reader.TryReadInt32()) - header.SignOnLength = int32(reader.TryReadInt32()) - if header.DemoProtocol != 4 { // Old Engine == 2, 3 / New Engine == 4 - panic("Only New Engine is supported.") - } - fmt.Printf("%+v", header) -} diff --git a/messages/messages.go b/messages/messages.go deleted file mode 100644 index b40684b..0000000 --- a/messages/messages.go +++ /dev/null @@ -1,78 +0,0 @@ -package messages - -import ( - "fmt" - "os" - - "github.com/pektezol/bitreader" - "github.com/pektezol/demoparser/classes" - "github.com/pektezol/demoparser/classes/netsvc" - "github.com/pektezol/demoparser/utils" -) - -func ParseMessage(file *os.File) (statusCode int) { - reader := bitreader.Reader(file, true) - messageType := reader.TryReadInt8() - messageTick := reader.TryReadInt32() - messageSlot := reader.TryReadInt8() - //fmt.Println(messageType, messageTick, messageSlot) - switch messageType { - case 0x01: // SignOn - var packet Packet - packet.PacketInfo = classes.ParseCmdInfo(file, 2) - packet.InSequence = int32(reader.TryReadInt32()) - packet.OutSequence = int32(reader.TryReadInt32()) - packet.Size = int32(reader.TryReadInt32()) - data := utils.ReadByteFromFile(file, packet.Size) - //fmt.Println(data) - netsvc.ParseNetSvcMessage(data) - //reader.SkipBytes(int(packet.Size)) // TODO: NET/SVC Message Parsing - fmt.Printf("[%d] (%d) SignOn: %v\n", messageTick, messageSlot, packet) - return 1 - case 0x02: // Packet - var packet Packet - packet.PacketInfo = classes.ParseCmdInfo(file, 2) - packet.InSequence = int32(reader.TryReadInt32()) - packet.OutSequence = int32(reader.TryReadInt32()) - packet.Size = int32(reader.TryReadInt32()) - reader.SkipBytes(int(packet.Size)) // TODO: NET/SVC Message Parsing - //fmt.Printf("[%d] Packet: %v\n", messageTick, packet) - return 2 - case 0x03: // SyncTick - return 3 - case 0x04: // ConsoleCmd - var consolecmd ConsoleCmd - consolecmd.Size = int32(reader.TryReadInt32()) - consolecmd.Data = string(utils.ReadByteFromFile(file, consolecmd.Size)) - //fmt.Printf("[%d] ConsoleCmd: %s\n", messageTick, consolecmd.Data) - return 4 - case 0x05: // UserCmd - var usercmd UserCmd - usercmd.Cmd = int32(reader.TryReadInt32()) - usercmd.Size = int32(reader.TryReadInt32()) - usercmd.Data = classes.ParseUserCmdInfo(file, int(usercmd.Size)) - //fmt.Printf("[%d] UserCmd: %v\n", messageTick, usercmd.Data) - return 5 - case 0x06: // DataTables - var datatables DataTables - datatables.Size = int32(reader.TryReadInt32()) - reader.SkipBytes(int(datatables.Size)) // TODO: DataTables Data - return 6 - case 0x07: // Stop - fmt.Printf("[%d] Stop\n", messageTick) - return 7 - case 0x08: // CustomData - var customdata CustomData - customdata.Unknown = int32(reader.TryReadInt32()) - customdata.Size = int32(reader.TryReadInt32()) - reader.SkipBytes(int(customdata.Size)) // TODO: CustomData Data - return 8 - case 0x09: // StringTables - var stringtables StringTables - stringtables.Size = int32(reader.TryReadInt32()) - reader.SkipBytes(int(stringtables.Size)) // TODO: StringTables Data - return 9 - default: - return 0 - } -} diff --git a/messages/types.go b/messages/types.go deleted file mode 100644 index 9c92c54..0000000 --- a/messages/types.go +++ /dev/null @@ -1,52 +0,0 @@ -package messages - -import "github.com/pektezol/demoparser/classes" - -type Header struct { - DemoFileStamp string - DemoProtocol int32 - NetworkProtocol int32 - ServerName string - ClientName string - MapName string - GameDirectory string - PlaybackTime float32 - PlaybackTicks int32 - PlaybackFrames int32 - SignOnLength int32 -} - -type Packet struct { - PacketInfo []classes.CmdInfo - InSequence int32 - OutSequence int32 - Size int32 - Data []byte -} - -type ConsoleCmd struct { - Size int32 - Data string -} - -type UserCmd struct { - Cmd int32 - Size int32 - Data classes.UserCmdInfo -} - -type DataTables struct { - Size int32 - Data classes.DataTables -} - -type CustomData struct { - Unknown int32 - Size int32 - Data []byte -} - -type StringTables struct { - Size int32 - Data []classes.StringTable -} -- cgit v1.2.3