From 2f8c92f261586f68a976efce0cfcdd0401f402e0 Mon Sep 17 00:00:00 2001 From: Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> Date: Mon, 6 Nov 2023 18:37:11 +0300 Subject: dont try to understand it, feel it --- pkg/messages/types/svcBspDecal.go | 62 --------------------------------------- 1 file changed, 62 deletions(-) delete mode 100644 pkg/messages/types/svcBspDecal.go (limited to 'pkg/messages/types/svcBspDecal.go') diff --git a/pkg/messages/types/svcBspDecal.go b/pkg/messages/types/svcBspDecal.go deleted file mode 100644 index 6bf96a3..0000000 --- a/pkg/messages/types/svcBspDecal.go +++ /dev/null @@ -1,62 +0,0 @@ -package messages - -import ( - "github.com/pektezol/bitreader" -) - -type SvcBspDecal struct { - Pos []vectorCoord - DecalTextureIndex int16 - EntityIndex uint16 - ModelIndex uint16 - LowPriority bool -} - -type vectorCoord struct { - Value float32 - Valid bool -} - -func ParseSvcBspDecal(reader *bitreader.Reader) SvcBspDecal { - svcBspDecal := SvcBspDecal{ - Pos: readVectorCoords(reader), - DecalTextureIndex: int16(reader.TryReadBits(9)), - } - if reader.TryReadBool() { - svcBspDecal.EntityIndex = uint16(reader.TryReadBits(11)) - svcBspDecal.ModelIndex = uint16(reader.TryReadBits(11)) - } - svcBspDecal.LowPriority = reader.TryReadBool() - - return svcBspDecal -} - -func readVectorCoords(reader *bitreader.Reader) []vectorCoord { - const COORD_INTEGER_BITS uint8 = 14 - const COORD_FRACTIONAL_BITS uint8 = 5 - const COORD_DENOMINATOR uint8 = 1 << COORD_FRACTIONAL_BITS - const COORD_RESOLUTION float32 = 1.0 / float32(COORD_DENOMINATOR) - readVectorCoord := func() float32 { - value := float32(0) - integer := reader.TryReadBits(1) - fraction := reader.TryReadBits(1) - if integer != 0 || fraction != 0 { - sign := reader.TryReadBits(1) - if integer != 0 { - integer = reader.TryReadBits(uint64(COORD_INTEGER_BITS)) + 1 - } - if fraction != 0 { - fraction = reader.TryReadBits(uint64(COORD_FRACTIONAL_BITS)) - } - value = float32(integer) + float32(fraction)*COORD_RESOLUTION - if sign != 0 { - value = -value - } - } - return value - } - x := reader.TryReadBits(1) - y := reader.TryReadBits(1) - z := reader.TryReadBits(1) - return []vectorCoord{{Value: readVectorCoord(), Valid: x != 0}, {Value: readVectorCoord(), Valid: y != 0}, {Value: readVectorCoord(), Valid: z != 0}} -} -- cgit v1.2.3