local N=.2 local H=false local W=false local r=1 local function a(N,H,W)if W<H then W=H end return math.clamp(N,H,W)end local function g(N)return N==N and(N~=1/0 and N~=-1/0)end local function X(N)return g(N.x)and(g(N.y)and g(N.z))end
--
local THUMBSTICK_DEADZONE = 0.2
local r3ButtonDown = false
local l3ButtonDown = false
local currentZoomSpeed = 1 -- Multiplier, so 1 == no zooming

local function clamp(value, minValue, maxValue)
	if maxValue < minValue then
		maxValue = minValue
	end
	return math.clamp(value, minValue, maxValue)
end

local function IsFinite(num)
	return num == num and num ~= 1/0 and num ~= -1/0
end

local function IsFiniteVector3(vec3)
	return IsFinite(vec3.x) and IsFinite(vec3.y) and IsFinite(vec3.z)
end
