aboutsummaryrefslogtreecommitdiff
path: root/packets/classes/stringtable.go
diff options
context:
space:
mode:
Diffstat (limited to 'packets/classes/stringtable.go')
-rw-r--r--packets/classes/stringtable.go51
1 files changed, 0 insertions, 51 deletions
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 @@
1package classes
2
3import (
4 "bytes"
5
6 "github.com/pektezol/bitreader"
7)
8
9type StringTable struct {
10 TableName string
11 NumOfEntries int16
12 EntryName string
13 EntrySize int16
14 EntryData []byte
15 NumOfClientEntries int16
16 ClientEntryName string
17 ClientEntrySize int16
18 ClientEntryData []byte
19}
20
21func ParseStringTable(data []byte) []StringTable {
22 reader := bitreader.Reader(bytes.NewReader(data), true)
23 var stringTables []StringTable
24 numOfTables := reader.TryReadInt8()
25 for i := 0; i < int(numOfTables); i++ {
26 var stringTable StringTable
27 stringTable.TableName = reader.TryReadString()
28 stringTable.NumOfEntries = int16(reader.TryReadInt16())
29 stringTable.EntryName = reader.TryReadString()
30 if reader.TryReadBool() {
31 stringTable.EntrySize = int16(reader.TryReadInt16())
32 }
33 if reader.TryReadBool() {
34 stringTable.EntryData = reader.TryReadBytesToSlice(int(stringTable.EntrySize))
35 }
36 if reader.TryReadBool() {
37 stringTable.NumOfClientEntries = int16(reader.TryReadInt16())
38 }
39 if reader.TryReadBool() {
40 stringTable.ClientEntryName = reader.TryReadString()
41 }
42 if reader.TryReadBool() {
43 stringTable.ClientEntrySize = int16(reader.TryReadInt16())
44 }
45 if reader.TryReadBool() {
46 stringTable.ClientEntryData = reader.TryReadBytesToSlice(int(stringTable.ClientEntrySize))
47 }
48 stringTables = append(stringTables, stringTable)
49 }
50 return stringTables
51}