From 2f8c92f261586f68a976efce0cfcdd0401f402e0 Mon Sep 17 00:00:00 2001 From: Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> Date: Mon, 6 Nov 2023 18:37:11 +0300 Subject: dont try to understand it, feel it --- pkg/classes/consoleCmd.go | 15 -- pkg/classes/customData.go | 26 --- pkg/classes/dataTables.go | 232 ------------------------- pkg/classes/packet.go | 81 --------- pkg/classes/sarData.go | 403 -------------------------------------------- pkg/classes/signOn.go | 43 ----- pkg/classes/stop.go | 15 -- pkg/classes/stringTables.go | 86 ---------- pkg/classes/syncTick.go | 5 - pkg/classes/userCmd.go | 222 ------------------------ 10 files changed, 1128 deletions(-) delete mode 100644 pkg/classes/consoleCmd.go delete mode 100644 pkg/classes/customData.go delete mode 100644 pkg/classes/dataTables.go delete mode 100644 pkg/classes/packet.go delete mode 100644 pkg/classes/sarData.go delete mode 100644 pkg/classes/signOn.go delete mode 100644 pkg/classes/stop.go delete mode 100644 pkg/classes/stringTables.go delete mode 100644 pkg/classes/syncTick.go delete mode 100644 pkg/classes/userCmd.go (limited to 'pkg/classes') diff --git a/pkg/classes/consoleCmd.go b/pkg/classes/consoleCmd.go deleted file mode 100644 index fa9bbd0..0000000 --- a/pkg/classes/consoleCmd.go +++ /dev/null @@ -1,15 +0,0 @@ -package classes - -import ( - "github.com/pektezol/bitreader" -) - -type ConsoleCmd struct { - Size int32 - Data string -} - -func (consoleCmd *ConsoleCmd) ParseConsoleCmd(reader *bitreader.Reader) { - consoleCmd.Size = reader.TryReadSInt32() - consoleCmd.Data = reader.TryReadStringLength(uint64(consoleCmd.Size)) -} diff --git a/pkg/classes/customData.go b/pkg/classes/customData.go deleted file mode 100644 index 59cb121..0000000 --- a/pkg/classes/customData.go +++ /dev/null @@ -1,26 +0,0 @@ -package classes - -import ( - "github.com/pektezol/bitreader" -) - -type CustomData struct { - Type int32 - Size int32 - Data string -} - -func (customData *CustomData) ParseCustomData(reader *bitreader.Reader, tickNumber int32, packetType uint8) { - customData.Type = reader.TryReadSInt32() - customData.Size = reader.TryReadSInt32() - if customData.Type != 0 || customData.Size == 8 { - // Not SAR data - customData.Data = string(reader.TryReadBytesToSlice(uint64(customData.Size))) - return - } - // SAR data - sarData := SarData{} - data := reader.TryReadBytesToSlice(uint64(customData.Size)) - sarReader := bitreader.NewReaderFromBytes(data, true) - sarData.ParseSarData(sarReader) -} diff --git a/pkg/classes/dataTables.go b/pkg/classes/dataTables.go deleted file mode 100644 index c17e5f6..0000000 --- a/pkg/classes/dataTables.go +++ /dev/null @@ -1,232 +0,0 @@ -package classes - -import ( - "fmt" - - "github.com/pektezol/bitreader" -) - -type DataTables struct { - Size int32 - SendTable []SendTable - ServerClassInfo []ServerClassInfo -} - -type SendTable struct { - NeedsDecoder bool - NetTableName string - NumOfProps int16 - Props []prop -} - -type ServerClassInfo struct { - ClassId uint16 - ClassName string - DataTableName string -} - -type prop struct { - SendPropType sendPropType - SendPropName string - SendPropFlags uint32 - Priority uint8 - ExcludeDtName string - LowValue float32 - HighValue float32 - NumBits int32 - NumElements int32 -} - -func (dataTables *DataTables) ParseDataTables(reader *bitreader.Reader) { - dataTables.Size = int32(reader.TryReadSInt32()) - dataTableReader := bitreader.NewReaderFromBytes(reader.TryReadBytesToSlice(uint64(dataTables.Size)), true) - count := 0 - for dataTableReader.TryReadBool() { - count++ - dataTables.SendTable = append(dataTables.SendTable, ParseSendTable(dataTableReader)) - } - numOfClasses := dataTableReader.TryReadBits(16) - for count = 0; count < int(numOfClasses); count++ { - dataTables.ServerClassInfo = append(dataTables.ServerClassInfo, ParseServerClassInfo(dataTableReader, count, int(numOfClasses))) - } -} - -func ParseSendTable(reader *bitreader.Reader) SendTable { - sendTable := SendTable{ - NeedsDecoder: reader.TryReadBool(), - NetTableName: reader.TryReadString(), - NumOfProps: int16(reader.TryReadBits(10)), - } - if sendTable.NumOfProps < 0 { - return sendTable - } - for count := 0; count < int(sendTable.NumOfProps); count++ { - propType := int8(reader.TryReadBits(5)) - if propType >= int8(7) { - return sendTable - } - prop := prop{ - SendPropType: sendPropType(propType), - SendPropName: reader.TryReadString(), - SendPropFlags: uint32(reader.TryReadBits(19)), - Priority: reader.TryReadUInt8(), - } - if propType == int8(ESendPropTypeDataTable) || checkBit(prop.SendPropFlags, 6) { - prop.ExcludeDtName = reader.TryReadString() - } else { - switch propType { - case int8(ESendPropTypeString), int8(ESendPropTypeInt), int8(ESendPropTypeFloat), int8(ESendPropTypeVector3), int8(ESendPropTypeVector2): - prop.LowValue = reader.TryReadFloat32() - prop.HighValue = reader.TryReadFloat32() - prop.NumBits = int32(reader.TryReadBits(7)) - case int8(ESendPropTypeArray): - prop.NumElements = int32(reader.TryReadBits(10)) - default: - return sendTable - } - } - sendTable.Props = append(sendTable.Props, prop) - } - return sendTable -} - -func ParseServerClassInfo(reader *bitreader.Reader, count int, numOfClasses int) ServerClassInfo { - serverClassInfo := ServerClassInfo{ - ClassId: reader.TryReadUInt16(), - ClassName: reader.TryReadString(), - DataTableName: reader.TryReadString(), - } - return serverClassInfo -} - -// func serverClassBits(numOfClasses int) int { -// return highestBitIndex(uint(numOfClasses)) + 1 -// } - -// func highestBitIndex(i uint) int { -// var j int -// for j = 31; j >= 0 && (i&(1<