From 82871ba1bac1d62f69e1933b66659e62d2e5e063 Mon Sep 17 00:00:00 2001 From: Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> Date: Tue, 12 Sep 2023 20:53:09 +0300 Subject: another rewrite, v1.0.0 --- packets/classes/cmdinfo.go | 61 -------------------------------- packets/classes/datatable.go | 66 ---------------------------------- packets/classes/stringtable.go | 51 --------------------------- packets/classes/usercmd.go | 80 ------------------------------------------ 4 files changed, 258 deletions(-) delete mode 100644 packets/classes/cmdinfo.go delete mode 100644 packets/classes/datatable.go delete mode 100644 packets/classes/stringtable.go delete mode 100644 packets/classes/usercmd.go (limited to 'packets/classes') diff --git a/packets/classes/cmdinfo.go b/packets/classes/cmdinfo.go deleted file mode 100644 index d11bebc..0000000 --- a/packets/classes/cmdinfo.go +++ /dev/null @@ -1,61 +0,0 @@ -package classes - -import "github.com/pektezol/bitreader" - -type CmdInfo struct { - Flags int32 - ViewOrigin []float32 - ViewAngles []float32 - LocalViewAngles []float32 - ViewOrigin2 []float32 - ViewAngles2 []float32 - LocalViewAngles2 []float32 -} - -func ParseCmdInfo(reader *bitreader.ReaderType, MSSC int) []CmdInfo { - var out []CmdInfo - for i := 0; i < MSSC; i++ { - flags := int32(reader.TryReadInt32()) - viewOrigin := []float32{ - reader.TryReadFloat32(), - reader.TryReadFloat32(), - reader.TryReadFloat32(), - } - viewAngles := []float32{ - reader.TryReadFloat32(), - reader.TryReadFloat32(), - reader.TryReadFloat32(), - } - localViewAngles := []float32{ - reader.TryReadFloat32(), - reader.TryReadFloat32(), - reader.TryReadFloat32(), - } - viewOrigin2 := []float32{ - reader.TryReadFloat32(), - reader.TryReadFloat32(), - reader.TryReadFloat32(), - } - viewAngles2 := []float32{ - reader.TryReadFloat32(), - reader.TryReadFloat32(), - reader.TryReadFloat32(), - } - localViewAngles2 := []float32{ - reader.TryReadFloat32(), - reader.TryReadFloat32(), - reader.TryReadFloat32(), - } - cmdInfo := CmdInfo{ - Flags: flags, - ViewOrigin: viewOrigin, - ViewAngles: viewAngles, - LocalViewAngles: localViewAngles, - ViewOrigin2: viewOrigin2, - ViewAngles2: viewAngles2, - LocalViewAngles2: localViewAngles2, - } - out = append(out, cmdInfo) - } - return out -} diff --git a/packets/classes/datatable.go b/packets/classes/datatable.go deleted file mode 100644 index 405dae6..0000000 --- a/packets/classes/datatable.go +++ /dev/null @@ -1,66 +0,0 @@ -package classes - -import ( - "bytes" - "fmt" - - "github.com/pektezol/bitreader" -) - -type DataTable struct { - SendTable []SendTable - ServerClassInfo []ServerClassInfo -} - -type SendTable struct { - NeedsDecoder bool - NetTableName string - NumOfProps uint16 - SendPropType int8 - SendPropName string - SendPropFlags int16 -} - -type ServerClassInfo struct { - ClassId int16 - ClassName string - DataTableName string -} - -func ParseDataTable(data []byte) DataTable { - reader := bitreader.Reader(bytes.NewReader(data), true) - sendtable := parseSendTable(reader) - serverclassinfo := parseServerClassInfo(reader) - return DataTable{ - SendTable: sendtable, - ServerClassInfo: serverclassinfo, - } -} - -func parseSendTable(reader *bitreader.ReaderType) []SendTable { - var sendtables []SendTable - for reader.TryReadBool() { - sendtables = append(sendtables, SendTable{ - NeedsDecoder: reader.TryReadBool(), - NetTableName: reader.TryReadString(), - NumOfProps: uint16(reader.TryReadBits(10)), - SendPropType: int8(reader.TryReadBits(5)), - SendPropName: reader.TryReadString(), - SendPropFlags: int16(reader.TryReadInt16()), - }) - } - return sendtables -} -func parseServerClassInfo(reader *bitreader.ReaderType) []ServerClassInfo { - var serverclassinfo []ServerClassInfo - numofclasses := reader.TryReadInt16() - fmt.Println(numofclasses) - for i := 0; i < int(numofclasses); i++ { - serverclassinfo = append(serverclassinfo, ServerClassInfo{ - ClassId: int16(reader.TryReadInt16()), - ClassName: reader.TryReadString(), - DataTableName: reader.TryReadString(), - }) - } - return serverclassinfo -} diff --git a/packets/classes/stringtable.go b/packets/classes/stringtable.go deleted file mode 100644 index a1432f9..0000000 --- a/packets/classes/stringtable.go +++ /dev/null @@ -1,51 +0,0 @@ -package classes - -import ( - "bytes" - - "github.com/pektezol/bitreader" -) - -type StringTable struct { - TableName string - NumOfEntries int16 - EntryName string - EntrySize int16 - EntryData []byte - NumOfClientEntries int16 - ClientEntryName string - ClientEntrySize int16 - ClientEntryData []byte -} - -func ParseStringTable(data []byte) []StringTable { - reader := bitreader.Reader(bytes.NewReader(data), true) - var stringTables []StringTable - numOfTables := reader.TryReadInt8() - for i := 0; i < int(numOfTables); i++ { - var stringTable StringTable - stringTable.TableName = reader.TryReadString() - stringTable.NumOfEntries = int16(reader.TryReadInt16()) - stringTable.EntryName = reader.TryReadString() - if reader.TryReadBool() { - stringTable.EntrySize = int16(reader.TryReadInt16()) - } - if reader.TryReadBool() { - stringTable.EntryData = reader.TryReadBytesToSlice(int(stringTable.EntrySize)) - } - if reader.TryReadBool() { - stringTable.NumOfClientEntries = int16(reader.TryReadInt16()) - } - if reader.TryReadBool() { - stringTable.ClientEntryName = reader.TryReadString() - } - if reader.TryReadBool() { - stringTable.ClientEntrySize = int16(reader.TryReadInt16()) - } - if reader.TryReadBool() { - stringTable.ClientEntryData = reader.TryReadBytesToSlice(int(stringTable.ClientEntrySize)) - } - stringTables = append(stringTables, stringTable) - } - return stringTables -} diff --git a/packets/classes/usercmd.go b/packets/classes/usercmd.go deleted file mode 100644 index d3328fd..0000000 --- a/packets/classes/usercmd.go +++ /dev/null @@ -1,80 +0,0 @@ -package classes - -import ( - "bytes" - - "github.com/pektezol/bitreader" -) - -type UserCmdInfo struct { - CommandNumber int32 - TickCount int32 - ViewAnglesX float32 - ViewAnglesY float32 - ViewAnglesZ float32 - ForwardMove float32 - SideMove float32 - UpMove float32 - Buttons int32 - Impulse byte - WeaponSelect int - WeaponSubtype int - MouseDx int16 - MouseDy int16 -} - -func ParseUserCmdInfo(data []byte) UserCmdInfo { - reader := bitreader.Reader(bytes.NewReader(data), true) - var userCmdInfo UserCmdInfo - if reader.TryReadBool() { - userCmdInfo.CommandNumber = int32(reader.TryReadInt32()) - } - if reader.TryReadBool() { - userCmdInfo.TickCount = int32(reader.TryReadInt32()) - } - if reader.TryReadBool() { - userCmdInfo.ViewAnglesX = reader.TryReadFloat32() - } - if reader.TryReadBool() { - userCmdInfo.ViewAnglesY = reader.TryReadFloat32() - } - if reader.TryReadBool() { - userCmdInfo.ViewAnglesZ = reader.TryReadFloat32() - } - if reader.TryReadBool() { - userCmdInfo.ForwardMove = reader.TryReadFloat32() - } - if reader.TryReadBool() { - userCmdInfo.SideMove = reader.TryReadFloat32() - } - if reader.TryReadBool() { - userCmdInfo.UpMove = reader.TryReadFloat32() - } - if reader.TryReadBool() { - userCmdInfo.Buttons = int32(reader.TryReadInt32()) - } - if reader.TryReadBool() { - userCmdInfo.Impulse = reader.TryReadInt8() - } - if reader.TryReadBool() { - value, err := reader.ReadBits(11) - if err != nil { - panic(err) - } - userCmdInfo.WeaponSelect = int(value) - if reader.TryReadBool() { - value, err := reader.ReadBits(6) - if err != nil { - panic(err) - } - userCmdInfo.WeaponSubtype = int(value) - } - } - if reader.TryReadBool() { - userCmdInfo.MouseDx = int16(reader.TryReadInt16()) - } - if reader.TryReadBool() { - userCmdInfo.MouseDy = int16(reader.TryReadInt16()) - } - return userCmdInfo -} -- cgit v1.2.3