aboutsummaryrefslogtreecommitdiff
path: root/packets/classes/cmdinfo.go
blob: d11bebc165c6e9ccd8a5c52247f3bee6587974c3 (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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
package classes

import "github.com/pektezol/bitreader"

type CmdInfo struct {
	Flags            int32
	ViewOrigin       []float32
	ViewAngles       []float32
	LocalViewAngles  []float32
	ViewOrigin2      []float32
	ViewAngles2      []float32
	LocalViewAngles2 []float32
}

func ParseCmdInfo(reader *bitreader.ReaderType, MSSC int) []CmdInfo {
	var out []CmdInfo
	for i := 0; i < MSSC; i++ {
		flags := int32(reader.TryReadInt32())
		viewOrigin := []float32{
			reader.TryReadFloat32(),
			reader.TryReadFloat32(),
			reader.TryReadFloat32(),
		}
		viewAngles := []float32{
			reader.TryReadFloat32(),
			reader.TryReadFloat32(),
			reader.TryReadFloat32(),
		}
		localViewAngles := []float32{
			reader.TryReadFloat32(),
			reader.TryReadFloat32(),
			reader.TryReadFloat32(),
		}
		viewOrigin2 := []float32{
			reader.TryReadFloat32(),
			reader.TryReadFloat32(),
			reader.TryReadFloat32(),
		}
		viewAngles2 := []float32{
			reader.TryReadFloat32(),
			reader.TryReadFloat32(),
			reader.TryReadFloat32(),
		}
		localViewAngles2 := []float32{
			reader.TryReadFloat32(),
			reader.TryReadFloat32(),
			reader.TryReadFloat32(),
		}
		cmdInfo := CmdInfo{
			Flags:            flags,
			ViewOrigin:       viewOrigin,
			ViewAngles:       viewAngles,
			LocalViewAngles:  localViewAngles,
			ViewOrigin2:      viewOrigin2,
			ViewAngles2:      viewAngles2,
			LocalViewAngles2: localViewAngles2,
		}
		out = append(out, cmdInfo)
	}
	return out
}