aboutsummaryrefslogtreecommitdiff
path: root/pkg/messages/types/svcClassInfo.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/messages/types/svcClassInfo.go')
-rw-r--r--pkg/messages/types/svcClassInfo.go10
1 files changed, 4 insertions, 6 deletions
diff --git a/pkg/messages/types/svcClassInfo.go b/pkg/messages/types/svcClassInfo.go
index 27862bf..d2f6a90 100644
--- a/pkg/messages/types/svcClassInfo.go
+++ b/pkg/messages/types/svcClassInfo.go
@@ -1,14 +1,13 @@
1package messages 1package messages
2 2
3import ( 3import (
4 "fmt"
5 "math" 4 "math"
6 5
7 "github.com/pektezol/bitreader" 6 "github.com/pektezol/bitreader"
8) 7)
9 8
10type SvcClassInfo struct { 9type SvcClassInfo struct {
11 Length int16 10 ClassCount uint16
12 CreateOnClient bool 11 CreateOnClient bool
13 ServerClasses []serverClass 12 ServerClasses []serverClass
14} 13}
@@ -21,15 +20,14 @@ type serverClass struct {
21 20
22func ParseSvcClassInfo(reader *bitreader.Reader) SvcClassInfo { 21func ParseSvcClassInfo(reader *bitreader.Reader) SvcClassInfo {
23 svcClassInfo := SvcClassInfo{ 22 svcClassInfo := SvcClassInfo{
24 Length: int16(reader.TryReadBits(16)), 23 ClassCount: reader.TryReadUInt16(),
25 CreateOnClient: reader.TryReadBool(), 24 CreateOnClient: reader.TryReadBool(),
26 } 25 }
27 classes := []serverClass{} 26 classes := []serverClass{}
28 if !svcClassInfo.CreateOnClient { 27 if !svcClassInfo.CreateOnClient {
29 for count := 0; count < int(svcClassInfo.Length); count++ { 28 for count := 0; count < int(svcClassInfo.ClassCount); count++ {
30 fmt.Println(classes)
31 classes = append(classes, serverClass{ 29 classes = append(classes, serverClass{
32 ClassId: int16(reader.TryReadBits(uint64(math.Log2(float64(svcClassInfo.Length)) + 1))), 30 ClassId: int16(reader.TryReadBits(uint64(math.Log2(float64(svcClassInfo.ClassCount)) + 1))),
33 ClassName: reader.TryReadString(), 31 ClassName: reader.TryReadString(),
34 DataTableName: reader.TryReadString(), 32 DataTableName: reader.TryReadString(),
35 }) 33 })