From 9991801e4037d8dc530876584f21c1674c9e3bba Mon Sep 17 00:00:00 2001 From: Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> Date: Sat, 23 Sep 2023 10:06:39 +0300 Subject: init: will look at this later --- pkg/classes/stringTables.go | 100 -------------------------------------------- 1 file changed, 100 deletions(-) delete mode 100644 pkg/classes/stringTables.go (limited to 'pkg/classes/stringTables.go') diff --git a/pkg/classes/stringTables.go b/pkg/classes/stringTables.go deleted file mode 100644 index 01939b2..0000000 --- a/pkg/classes/stringTables.go +++ /dev/null @@ -1,100 +0,0 @@ -package classes - -import ( - "github.com/pektezol/bitreader" - "github.com/pektezol/demoparser/pkg/writer" -) - -type StringTables struct { - Size int32 - Data []StringTable -} - -type StringTable struct { - Name string - TableEntries []StringTableEntry - Classes []StringTableClass -} - -type StringTableEntry struct { - Name string - EntryData StringTableEntryData -} - -type StringTableEntryData struct { - // TODO: Parse StringTableEntry -} - -type StringTableClass struct { - Name string - Data string -} - -func (stringTables *StringTables) ParseStringTables(reader *bitreader.Reader) { - stringTables.Size = reader.TryReadSInt32() - stringTableReader := bitreader.NewReaderFromBytes(reader.TryReadBytesToSlice(uint64(stringTables.Size)), true) - tableCount := stringTableReader.TryReadBits(8) - tables := make([]StringTable, tableCount) - for i := 0; i < int(tableCount); i++ { - var table StringTable - table.ParseStream(stringTableReader) - tables[i] = table - } - stringTables.Data = tables -} - -func (stringTable *StringTable) ParseStream(reader *bitreader.Reader) { - stringTable.Name = reader.TryReadString() - entryCount := reader.TryReadBits(16) - writer.AppendLine("\tTable Name: %s", stringTable.Name) - stringTable.TableEntries = make([]StringTableEntry, entryCount) - - for i := 0; i < int(entryCount); i++ { - var entry StringTableEntry - entry.Parse(reader) - stringTable.TableEntries[i] = entry - } - if entryCount != 0 { - writer.AppendLine("\t\t%d Table Entries:", entryCount) - writer.AppendOutputFromTemp() - } else { - writer.AppendLine("\t\tNo Table Entries") - } - if reader.TryReadBool() { - classCount := reader.TryReadBits(16) - stringTable.Classes = make([]StringTableClass, classCount) - - for i := 0; i < int(classCount); i++ { - var class StringTableClass - class.Parse(reader) - stringTable.Classes[i] = class - } - writer.AppendLine("\t\t%d Classes:", classCount) - writer.AppendOutputFromTemp() - } else { - writer.AppendLine("\t\tNo Class Entries") - } -} - -func (stringTableEntry *StringTableEntry) Parse(reader *bitreader.Reader) { - stringTableEntry.Name = reader.TryReadString() - if reader.TryReadBool() { - byteLen, err := reader.ReadBits(16) - if err != nil { - return - } - dataBsr := reader.TryReadBytesToSlice(byteLen) - _ = bitreader.NewReaderFromBytes(dataBsr, true) // TODO: Parse StringTableEntry - // stringTableEntry.EntryData.ParseStream(entryReader) - } -} - -func (stringTableClass *StringTableClass) Parse(reader *bitreader.Reader) { - stringTableClass.Name = reader.TryReadString() - writer.TempAppendLine("\t\t\tName: %s", stringTableClass.Name) - if reader.TryReadBool() { - dataLen := reader.TryReadBits(16) - stringTableClass.Data = reader.TryReadStringLength(dataLen) - writer.TempAppendLine("\t\t\tData: %s", stringTableClass.Data) - } -} -- cgit v1.2.3