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/stringTables.go | 86 --------------------------------------------- 1 file changed, 86 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 45954be..0000000 --- a/pkg/classes/stringTables.go +++ /dev/null @@ -1,86 +0,0 @@ -package classes - -import ( - "github.com/pektezol/bitreader" -) - -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) - stringTable.TableEntries = make([]StringTableEntry, entryCount) - - for i := 0; i < int(entryCount); i++ { - var entry StringTableEntry - entry.Parse(reader) - stringTable.TableEntries[i] = entry - } - 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 - } - } -} - -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() - if reader.TryReadBool() { - dataLen := reader.TryReadBits(16) - stringTableClass.Data = reader.TryReadStringLength(dataLen) - } -} -- cgit v1.2.3