mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-02 09:52:27 -04:00
Changed joybox scaling
This commit is contained in:
parent
fcadfa3d40
commit
096b751815
@ -135,28 +135,29 @@ class DirectAnalogs(AnalogNode, DirectObject):
|
|||||||
((val - self.analogMin) / self.analogRange)) + minVal)
|
((val - self.analogMin) / self.analogRange)) + minVal)
|
||||||
|
|
||||||
|
|
||||||
def normalize(self, val, minVal = -1, maxVal = 1):
|
def normalize(self, val, minVal = -1, maxVal = 1, sf = 1.0):
|
||||||
max = self.analogMax
|
max = self.analogMax
|
||||||
min = self.analogMin
|
min = self.analogMin
|
||||||
center = self.analogCenter
|
center = self.analogCenter
|
||||||
deadband = self.analogDeadband
|
deadband = self.analogDeadband
|
||||||
range = self.analogRange
|
range = self.analogRange
|
||||||
|
# Zero out values in deadband
|
||||||
|
if (abs(val) <= deadband):
|
||||||
|
return 0.0
|
||||||
|
# Apply scale factor
|
||||||
|
val *= sf
|
||||||
# Clamp value between min and max and scale around center
|
# Clamp value between min and max and scale around center
|
||||||
if (val >= center):
|
if (val >= center):
|
||||||
val = (val - center) / (max - center)
|
val = (val - center) / (max - center)
|
||||||
else:
|
else:
|
||||||
val = (val - center) / (center - min)
|
val = (val - center) / (center - min)
|
||||||
# Zero out values in deadband
|
|
||||||
if (abs(val) <= deadband):
|
|
||||||
val = 0.0
|
|
||||||
# Normalize values to given minVal and maxVal range
|
# Normalize values to given minVal and maxVal range
|
||||||
return (((maxVal - minVal) *
|
return (((maxVal - minVal) *
|
||||||
((val - min) / range)) + minVal)
|
((val - min) / range)) + minVal)
|
||||||
|
|
||||||
|
def normalizeChannel(self, chan, minVal = -1, maxVal = 1, sf = 1.0):
|
||||||
def normalizeChannel(self, chan, minVal = -1, maxVal = 1):
|
|
||||||
try:
|
try:
|
||||||
return self.normalize(self[chan], minVal, maxVal)
|
return self.normalize(self[chan], minVal, maxVal, sfx)
|
||||||
except IndexError:
|
except IndexError:
|
||||||
return 0.0
|
return 0.0
|
||||||
|
|
||||||
|
@ -409,7 +409,7 @@ class DirectJoybox(PandaObject):
|
|||||||
if (chan == L_TWIST) or (chan == R_TWIST):
|
if (chan == L_TWIST) or (chan == R_TWIST):
|
||||||
# These channels have reduced range
|
# These channels have reduced range
|
||||||
return self.analogs.normalize(
|
return self.analogs.normalize(
|
||||||
self.analogs.getControlState(chan) * 3.0, minVal, maxVal)
|
self.analogs.getControlState(chan), minVal, maxVal, 3.0)
|
||||||
else:
|
else:
|
||||||
return self.analogs.normalize(
|
return self.analogs.normalize(
|
||||||
self.analogs.getControlState(chan), minVal, maxVal)
|
self.analogs.getControlState(chan), minVal, maxVal)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user