Merge branch 'release/1.10.x'

This commit is contained in:
rdb 2023-02-20 19:27:58 +01:00
commit 5d63c7e898
11 changed files with 126 additions and 15 deletions

View File

@ -158,7 +158,7 @@ class ClusterServer(DirectObject.DirectObject):
self.controlPriorities[objectName] = priority
self.redoSortedPriorities()
else:
self.notify.debug('attempt to add duplicate controlled object: '+name)
self.notify.debug('attempt to add duplicate controlled object: ' + objectName)
def setControlMappingOffset(self, objectName, offset):
if objectName in self.controlMappings:

View File

@ -176,7 +176,7 @@ class DirectAnalogs(AnalogNode, DirectObject):
def normalizeChannel(self, chan, minVal = -1, maxVal = 1, sf = 1.0):
try:
return self.normalize(self[chan], minVal, maxVal, sfx)
return self.normalize(self[chan], minVal, maxVal, sf)
except IndexError:
return 0.0

View File

@ -83,7 +83,9 @@ defaultHiddenImports = {
'plyer': ['plyer.platforms'],
'scipy.linalg': ['scipy.linalg.cython_blas', 'scipy.linalg.cython_lapack'],
'scipy.sparse.csgraph': ['scipy.sparse.csgraph._validation'],
'scipy.spatial.qhull': ['scipy._lib.messagestream'],
'scipy.spatial._qhull': ['scipy._lib.messagestream'],
'scipy.spatial.transform.rotation': ['scipy.spatial.transform._rotation_groups'],
'scipy.spatial.transform._rotation': ['scipy.spatial.transform._rotation_groups'],
'scipy.special._ufuncs': ['scipy.special._ufuncs_cxx'],
'scipy.stats._stats': ['scipy.special.cython_special'],

View File

@ -1121,7 +1121,7 @@ class build_apps(setuptools.Command):
# Remove python version string
parts = basename.split('.')
if len(parts) >= 3 and '-' in parts[-2]:
if len(parts) >= 3 and ('-' in parts[-2] or parts[-2] == 'abi' + str(sys.version_info[0])):
parts = parts[:-2] + parts[-1:]
basename = '.'.join(parts)

View File

@ -114,9 +114,6 @@ class Icon:
for x in range(size):
pixel = image2.get_pixel(x, size - y - 1)
index = colors.index(pixel)
if index >= 256:
# Find closest pixel instead.
index = closest_indices[index - 256]
fp.write(struct.pack('<B', index))
fp.write(rowalign)
else:

View File

@ -64,11 +64,11 @@ class ObjectPaletteUI(wx.Panel):
data1 = self.tree.GetItemText(item1)
data2 = self.tree.GetItemText(item2)
if self.opSort == self.opSortAlpha:
return cmp(data1, data2)
return (data1 > data2) - (data1 < data2)
else:
index1 = self.palette.dataKeys.index(data1)
index2 = self.palette.dataKeys.index(data2)
return cmp(index1, index2)
return (index1 > index2) - (index1 < index2)
def getSelected(self):
return self.tree.GetItemData(self.tree.GetSelection())

View File

@ -200,9 +200,9 @@ class ProtoPaletteUI(wx.Panel):
data1 = self.tree.GetItemText(item1)
data2 = self.tree.GetItemText(item2)
if self.opSort == self.opSortAlpha:
return cmp(data1, data2)
return (data1 > data2) - (data1 < data2)
else:
items = list(self.palette.data.keys())
index1 = items.index(data1)
index2 = items.index(data2)
return cmp(index1, index2)
return (index1 > index2) - (index1 < index2)

View File

@ -1,5 +1,5 @@
from panda3d.core import NodePath
from panda3d.core import NodePath, Vec3
from panda3d.physics import LinearVectorForce
from direct.particles import ParticleEffect
from direct.particles import Particles

View File

@ -28,7 +28,7 @@ class PercentStats(pstats.Stats):
print()
indent = ' ' * 8
for func in self.top_level:
print(indent, func_get_function_name(func))
print(indent, pstats.func_get_function_name(func))
print(indent, self.total_calls, "function calls", end=' ')
if self.total_calls != self.prim_calls:

View File

@ -458,10 +458,8 @@ class ActorControl(Pmw.MegaWidget):
playRateList = ['1/24.0', '0.1', '0.5', '1.0', '2.0', '5.0', '10.0']
playRate = '%0.1f' % self['actor'].getPlayRate(self['active'])
if playRate not in playRateList:
def strCmp(a, b):
return cmp(eval(a), eval(b))
playRateList.append(playRate)
playRateList.sort(strCmp)
playRateList.sort(key=lambda s:eval(s))
playRateMenu = self.createcomponent(
'playRateMenu', (), None,
Pmw.ComboBox, (interior,),

View File

@ -0,0 +1,114 @@
from panda3d.core import GeomVertexArrayFormat, GeomVertexFormat, Geom
def test_format_arrays():
array1 = GeomVertexArrayFormat("vertex", 3, Geom.NT_float32, Geom.C_point)
array2 = GeomVertexArrayFormat("normal", 3, Geom.NT_float32, Geom.C_normal)
array3 = GeomVertexArrayFormat("color", 4, Geom.NT_float32, Geom.C_color)
array4 = GeomVertexArrayFormat("texcoord", 2, Geom.NT_float32, Geom.C_texcoord)
# Verify initial refcounts
assert array1.get_ref_count() == 1
assert array2.get_ref_count() == 1
assert array3.get_ref_count() == 1
assert array4.get_ref_count() == 1
format = GeomVertexFormat()
def expect_arrays(*args):
assert format.get_num_arrays() == len(args)
assert len(format.arrays) == len(args)
assert tuple(format.arrays) == args
arrays = format.get_arrays()
assert tuple(arrays) == args
assert array1.get_ref_count() == 1 + arrays.count(array1) * 2
assert array2.get_ref_count() == 1 + arrays.count(array2) * 2
assert array3.get_ref_count() == 1 + arrays.count(array3) * 2
assert array4.get_ref_count() == 1 + arrays.count(array4) * 2
# Verify empty state
expect_arrays()
# Append to end
format.add_array(array1)
expect_arrays(array1,)
format.add_array(array2)
expect_arrays(array1, array2)
format.add_array(array3)
expect_arrays(array1, array2, array3)
format.add_array(array4)
expect_arrays(array1, array2, array3, array4)
# Verify other accessors
assert format.get_num_arrays() == 4
assert len(format.arrays) == 4
assert tuple(format.get_arrays()) == (array1, array2, array3, array4)
# Remove from beginning
format.remove_array(0)
expect_arrays(array2, array3, array4)
format.remove_array(0)
expect_arrays(array3, array4)
format.remove_array(0)
expect_arrays(array4,)
format.remove_array(0)
expect_arrays()
# Insert at end
format.insert_array(0, array1)
expect_arrays(array1,)
format.insert_array(1, array2)
expect_arrays(array1, array2)
format.insert_array(2, array3)
expect_arrays(array1, array2, array3)
format.insert_array(3, array4)
expect_arrays(array1, array2, array3, array4)
# Remove from end
format.remove_array(3)
expect_arrays(array1, array2, array3)
format.remove_array(2)
expect_arrays(array1, array2)
format.remove_array(1)
expect_arrays(array1,)
format.remove_array(0)
expect_arrays()
# Insert at beginning
format.insert_array(0, array4)
expect_arrays(array4,)
format.insert_array(0, array3)
expect_arrays(array3, array4)
format.insert_array(0, array2)
expect_arrays(array2, array3, array4)
format.insert_array(0, array1)
expect_arrays(array1, array2, array3, array4)
# Remove from middle and insert back in middle
format.remove_array(2)
expect_arrays(array1, array2, array4)
format.insert_array(2, array3)
expect_arrays(array1, array2, array3, array4)
format.remove_array(1)
expect_arrays(array1, array3, array4)
format.remove_array(1)
expect_arrays(array1, array4)
format.insert_array(1, array2)
expect_arrays(array1, array2, array4)
format.insert_array(2, array3)
expect_arrays(array1, array2, array3, array4)
# Clear
format.clear_arrays()
expect_arrays()
# Add to end but with very high index
format.insert_array(0xffffffff, array1)
expect_arrays(array1,)
format.insert_array(0xffffffff, array2)
expect_arrays(array1, array2)
format.insert_array(0xffffffff, array3)
expect_arrays(array1, array2, array3)
format.insert_array(0xffffffff, array4)
expect_arrays(array1, array2, array3, array4)