aboutsummaryrefslogtreecommitdiff
path: root/pkg/classes/customData.go
blob: 1fc8a1e22e29595af75ccba19c3f114d353c6ea0 (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
26
27
28
29
package classes

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

type CustomData struct {
	Type int32
	Size int32
	Data string
}

func (customData *CustomData) ParseCustomData(reader *bitreader.Reader, tickNumber int32, packetType uint8) {
	customData.Type = reader.TryReadSInt32()
	customData.Size = reader.TryReadSInt32()
	if customData.Type != 0 || customData.Size == 8 {
		// Not SAR data

		customData.Data = string(reader.TryReadBytesToSlice(uint64(customData.Size)))

		return
	}
	// SAR data

	sarData := SarData{}
	data := reader.TryReadBytesToSlice(uint64(customData.Size))
	sarReader := bitreader.NewReaderFromBytes(data, true)
	sarData.ParseSarData(sarReader)
}