aboutsummaryrefslogtreecommitdiff
path: root/pkg/messages/types/svcUpdateStringTable.go
blob: ca716eb3e0774ff8583b0e36f3875dca258d188a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package messages

import (
	"github.com/pektezol/bitreader"
)

type SvcUpdateStringTable struct {
	TableId           uint8
	NumChangedEntries uint16
	Length            int32
	Data              []byte
}

func ParseSvcUpdateStringTable(reader *bitreader.Reader) SvcUpdateStringTable {
	svcUpdateStringTable := SvcUpdateStringTable{
		TableId: uint8(reader.TryReadBits(5)),
	}
	if reader.TryReadBool() {
		svcUpdateStringTable.NumChangedEntries = reader.TryReadUInt16()
	}
	svcUpdateStringTable.Length = int32(reader.TryReadBits(20))
	svcUpdateStringTable.Data = reader.TryReadBitsToSlice(uint64(svcUpdateStringTable.Length))

	return svcUpdateStringTable
}