mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-01 09:23:03 -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)
|
||||
|
||||
|
||||
def normalize(self, val, minVal = -1, maxVal = 1):
|
||||
def normalize(self, val, minVal = -1, maxVal = 1, sf = 1.0):
|
||||
max = self.analogMax
|
||||
min = self.analogMin
|
||||
center = self.analogCenter
|
||||
deadband = self.analogDeadband
|
||||
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
|
||||
if (val >= center):
|
||||
val = (val - center) / (max - center)
|
||||
else:
|
||||
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
|
||||
return (((maxVal - minVal) *
|
||||
((val - min) / range)) + minVal)
|
||||
|
||||
|
||||
def normalizeChannel(self, chan, minVal = -1, maxVal = 1):
|
||||
def normalizeChannel(self, chan, minVal = -1, maxVal = 1, sf = 1.0):
|
||||
try:
|
||||
return self.normalize(self[chan], minVal, maxVal)
|
||||
return self.normalize(self[chan], minVal, maxVal, sfx)
|
||||
except IndexError:
|
||||
return 0.0
|
||||
|
||||
|
@ -409,7 +409,7 @@ class DirectJoybox(PandaObject):
|
||||
if (chan == L_TWIST) or (chan == R_TWIST):
|
||||
# These channels have reduced range
|
||||
return self.analogs.normalize(
|
||||
self.analogs.getControlState(chan) * 3.0, minVal, maxVal)
|
||||
self.analogs.getControlState(chan), minVal, maxVal, 3.0)
|
||||
else:
|
||||
return self.analogs.normalize(
|
||||
self.analogs.getControlState(chan), minVal, maxVal)
|
||||
|
Loading…
x
Reference in New Issue
Block a user