Just checking to see if anyone has figured out a workaround for the joystick deadzone.
I mean, the deadzone is ENORMOUS!!!
It's almost as big as my... well, it's big.
Right now it's like I'm trying to drive a nail to hang a picture frame while using a sledge hammer.
Technically I can get the job done, but there's no finesse available.
Anyways, here's what I've looked at so far. Maybe someone has more insight than I do...
***Here's the input_filters.cfg***
pitchvalue = { 0, 0 }
rollvalue = { 0, 0 }
RegisterNewFilter("filter_power", 3, "PowFilterFunc");
RegisterNewFilter("filter_roll", 4, "RollFilterFunc");
RegisterNewFilter("filter_pitch", 3, "PitchFilterFunc");
RegisterNewFilter("filter_assistance", 2, "AssistanceFilterFunc");
RegisterNewFilter("filter_changecamera", 4, "CameraFilterFunc");
function PowFilterFunc(val, dt, pow)
return val^pow;
end
function RollFilterFunc (val,dt,div,idx)
rollvalue[idx] = val
local maxpitch = pitchvalue[1]
if(maxpitch < pitchvalue[2]) then
maxpitch = pitchvalue[2]
end
-- local rolldeadzone = maxpitch*div ***Tried modifying this portion to 0, and saw no change in play***
local rolldeadzone = 0
local finalvalue = 0;
if (val < rolldeadzone) then
finalvalue = 0;
else
finalvalue = val
end
-- print (pitchvalue,rolldeadzone,finalvalue)
return finalvalue;
end
function PitchFilterFunc (val,dt, idx)
pitchvalue [idx] = val
return val
end
function AssistanceFilterFunc(val, dt)
local finalvalue = 0
if (pitchvalue[1] < 0.9) and (rollvalue[1] < 0.9) and (pitchvalue[2] < 0.9) and (rollvalue[2] < 0.9)then
finalvalue = val
end
return finalvalue
end
--kos.zag
camera_key_sum_dt = { 0.0, 0.0 };
camera_old_val = { 0.0, 0.0 };
function CameraFilterFunc(val, dt, hold_dt, slot)
local res_val = 0.0;
--user hold key
if (val > 0.5) then
camera_key_sum_dt[slot] = camera_key_sum_dt[slot] + dt;
end
--user unhold key
if ( (camera_old_val[slot]>0.5) and (val<0.5) and (camera_key_sum_dt[slot]<hold_dt)) then
res_val = 1.0;
camera_key_sum_dt[slot] = 0.0;
end
--the key not pressed
if (val<0.5) then
camera_key_sum_dt[slot] = 0.0;
end
--print (camera_key_sum_dt);
camera_old_val[slot] = val;
return res_val;
end
***End File***
My guess is that it's hard-coded and therefore no way to fix it currently.



Reply With Quote


