From 8352bfc1d8deedd4d6a0a5b0698fe1f8b9a06e88 Mon Sep 17 00:00:00 2001 From: Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> Date: Mon, 7 Nov 2022 18:42:28 +0300 Subject: stringtable done, can't see data properly --- packets/classes/usercmd.go | 45 +++++++-------------------------------------- 1 file changed, 7 insertions(+), 38 deletions(-) (limited to 'packets/classes/usercmd.go') diff --git a/packets/classes/usercmd.go b/packets/classes/usercmd.go index a3183b6..78e9c58 100644 --- a/packets/classes/usercmd.go +++ b/packets/classes/usercmd.go @@ -1,94 +1,63 @@ package classes import ( + "bytes" + "github.com/pektezol/bitreader" ) -func ParseUserCmdInfo(reader *bitreader.ReaderType, size int) UserCmdInfo { - var bitCount int +func ParseUserCmdInfo(data []byte) UserCmdInfo { + reader := bitreader.Reader(bytes.NewReader(data), true) var userCmdInfo UserCmdInfo if reader.TryReadBool() { - userCmdInfo.CommandNumber = int(reader.TryReadInt32()) - bitCount += 32 + userCmdInfo.CommandNumber = int32(reader.TryReadInt32()) } - bitCount++ if reader.TryReadBool() { - userCmdInfo.TickCount = int(reader.TryReadInt32()) - bitCount += 32 + userCmdInfo.TickCount = int32(reader.TryReadInt32()) } - bitCount++ if reader.TryReadBool() { userCmdInfo.ViewAnglesX = reader.TryReadFloat32() - bitCount += 32 } - bitCount++ if reader.TryReadBool() { userCmdInfo.ViewAnglesY = reader.TryReadFloat32() - bitCount += 32 } - bitCount++ if reader.TryReadBool() { userCmdInfo.ViewAnglesZ = reader.TryReadFloat32() - bitCount += 32 } - bitCount++ if reader.TryReadBool() { userCmdInfo.ForwardMove = reader.TryReadFloat32() - bitCount += 32 } - bitCount++ if reader.TryReadBool() { userCmdInfo.SideMove = reader.TryReadFloat32() - bitCount += 32 } - bitCount++ if reader.TryReadBool() { userCmdInfo.UpMove = reader.TryReadFloat32() - bitCount += 32 } - bitCount++ if reader.TryReadBool() { - userCmdInfo.Buttons = int(reader.TryReadInt32()) - bitCount += 32 + userCmdInfo.Buttons = int32(reader.TryReadInt32()) } - bitCount++ if reader.TryReadBool() { userCmdInfo.Impulse = reader.TryReadInt8() - bitCount += 8 } - bitCount++ if reader.TryReadBool() { value, err := reader.ReadBits(11) if err != nil { panic(err) } userCmdInfo.WeaponSelect = int(value) - bitCount += 11 if reader.TryReadBool() { value, err := reader.ReadBits(6) if err != nil { panic(err) } userCmdInfo.WeaponSubtype = int(value) - bitCount += 6 } - bitCount++ } - bitCount++ if reader.TryReadBool() { userCmdInfo.MouseDx = int16(reader.TryReadInt16()) - bitCount += 16 } - bitCount++ if reader.TryReadBool() { userCmdInfo.MouseDy = int16(reader.TryReadInt16()) - bitCount += 16 } - bitCount++ - /*if bitCount > size*8 { - //reader.SkipBits(size * 8) - return userCmdInfo - }*/ - reader.SkipBits(size*8 - bitCount) return userCmdInfo } -- cgit v1.2.3