From 4e71a481884c0c43aea3d0ee695ae68cdec56478 Mon Sep 17 00:00:00 2001 From: BiSaXa <1669855+BiSaXa@users.noreply.github.com> Date: Wed, 7 Sep 2022 19:40:16 +0300 Subject: first rewrite commit using bisaxa/bitreader --- utils/bitreader.go | 94 ------------------------------------------------------ 1 file changed, 94 deletions(-) delete mode 100644 utils/bitreader.go (limited to 'utils/bitreader.go') diff --git a/utils/bitreader.go b/utils/bitreader.go deleted file mode 100644 index ec7454e..0000000 --- a/utils/bitreader.go +++ /dev/null @@ -1,94 +0,0 @@ -package utils - -import ( - "fmt" - "math" - "strconv" -) - -func ReadButtonsDataFromInt32(input int32) []string { - buttonList := [32]string{ - "Attack", - "Jump", - "Duck", - "Forward", - "Back", - "Use", - "Cancel", - "Left", - "Right", - "MoveLeft", - "MoveRight", - "Attack2", - "Run", - "Reload", - "Alt1", - "Alt2", - "Score", - "Speed", - "Walk", - "Zoom", - "Weapon1", - "Weapon2", - "BullRush", - "Grenade1", - "Grenade2", - "LookSpin", - "CurrentAbility", - "PreviousAbility", - "Ability1", - "Ability2", - "Ability3", - "Ability4", - } - var buttons []string - if input == 0 { - buttons = append(buttons, buttonList[0]) - return buttons - } - for i := 1; i < 33; i++ { - if ReadBitState(input, i) { - buttons = append(buttons, buttonList[i]) - } - } - return buttons -} - -func ReadBitState(input int32, index int) bool { - value := input & (1 << index) - return value > 0 -} - -func ReadBitStateLSB(input byte, index int) (bool, error) { - if index < 0 && index > 7 { - return false, fmt.Errorf("IndexOutOfBounds for type byte") - } - value := input & (1 << index) - return (value > 0), nil -} - -func Read32BitsAfterFirstBitInt32(input []byte, index int, step int) int32 { - binary := "" - binary += fmt.Sprintf("%08b", input[step])[8-index : 8] - binary += fmt.Sprintf("%08b", input[step-1]) - binary += fmt.Sprintf("%08b", input[step-2]) - binary += fmt.Sprintf("%08b", input[step-3]) - binary += fmt.Sprintf("%08b", input[step-4])[:8-index] - output, err := strconv.ParseInt(binary, 2, 32) - CheckError(err) - return int32(output) - -} - -func Read32BitsAfterFirstBitFloat32(input []byte, index int, step int) float32 { - binary := "" - binary += fmt.Sprintf("%08b", input[step])[8-index : 8] - binary += fmt.Sprintf("%08b", input[step-1]) - binary += fmt.Sprintf("%08b", input[step-2]) - binary += fmt.Sprintf("%08b", input[step-3]) - binary += fmt.Sprintf("%08b", input[step-4])[:8-index] - output, err := strconv.ParseUint(binary, 2, 32) - CheckError(err) - return math.Float32frombits(uint32(output)) - -} -- cgit v1.2.3