Commit Graph

8035 Commits

Author SHA1 Message Date
Donny Lawrence 23041ec069 FreezeTool: Make blob_size multiple of page size
A Mach-O segment must be sized in 4KiB increments. This shouldn't change
behavior for other platforms since mmap would round it up to hit a
page boundary anyway.
2020-06-22 22:41:30 +02:00
Donny Lawrence 46ae5a52d3 FreezeTool: Don't write blobinfo to wrong offset
The mechanism for searching for a specific symbol in a Mach-O binary got
tripped up when hitting the blobinfo stab entry, causing it to return an
offset of 0.
2020-06-22 22:41:26 +02:00
rdb 4a21329a79 Merge remote-tracking branch 'origin/release/1.10.x' 2020-06-20 19:49:55 +02:00
Fireclaw 86cfbc22b1 direct: Fix errors in PythonUtil.detectLeaks() function (#955)
* Replaced removed choice() function with ternary expression
* Add sanity check for _crashOnProactiveLeakDetect, don't crash by default

Closes #955
2020-06-15 15:26:17 +02:00
Kyle Smith 7f9680bd69 dcparser: The dcparser now compiles outside of panda
Closes #945
2020-06-14 13:10:01 +02:00
rdb f469edf71c direct: remove a few more Python 2-isms 2020-06-14 12:32:19 +02:00
rdb 36c3d3e622 Merge branch 'release/1.10.x' 2020-05-05 18:15:57 +02:00
rdb 9159fc1029 operator delete should check for null pointer before deallocating
It is a pervasive belief that using "delete" with a null pointer is safe, so our custom delete operators should also handle this case correctly.

This may fix regressions introduced by #934
2020-05-05 18:13:13 +02:00
Fireclaw 316d254c64 distributed: Fix two ServerRepository issues in Python 3 2020-05-05 17:28:32 +02:00
rdb e4573ef0fe cleanup: Remove more unnecessary nullptr checks before delete
Follow-up to #934
2020-05-05 14:46:30 +02:00
Chitresh13 929202bd9b dist: Remove Python 2 code from deployment system
Closes #892

Co-authored-by: rdb <git@rdb.name>
2020-04-26 20:22:11 +02:00
rdb d799a09002 cleanup: Remove support for EOL versions of Python
Fixes #905
2020-04-26 20:07:56 +02:00
rdb e2177ecbdb Merge branch 'release/1.10.x' 2020-04-26 00:16:25 +02:00
rdb 98c82ddb9c wxwidgets: don't create ShowBase instance upon importing WxPandaShell 2020-04-25 14:33:39 +02:00
rdb 202a871a7e showbase: remove wantUberdog from builtin scope
Applications that need it can trivially copy it to their own modules.

Closes #895
2020-04-13 12:25:16 +02:00
rdb 9e80282aff dist: replace p3fmod_audio with p3openal_audio if former is missing
This helps when deploying to macOS, where p3fmod_audio is the default for 1.10 builds, a fact that is very easy to overlook when deploying to macOS and only including the p3openal_audio plug-in.
2020-04-02 22:34:04 +02:00
rdb 69296585a4 dist: make config.prc handling a bit more robust
Strip comments after value, don't look for variable names mid-string, and sort the prc files deterministically.
2020-04-02 22:31:13 +02:00
Derzsi Dániel 7ce1a9ffed direct: Fix RuntimeError during ControlManager deletion
Closes #884
2020-04-02 13:52:47 +02:00
rdb 30d9f88f8e Merge branch 'release/1.10.x' 2020-04-01 18:53:00 +02:00
rdb 73ea170f2b showbase: improve docstrings of ShowBase and ShowBaseGlobal 2020-04-01 18:32:22 +02:00
rdb 8672054e30 showbase: fix erroneous docstring (audio unit is metres by default) 2020-03-30 13:57:15 +02:00
rdb 6a7bd49296 dist: don't warn about missing libc++.1.dylib on macOS 2020-03-30 13:55:59 +02:00
rdb f524f00e8e Merge branch 'release/1.10.x' 2020-03-14 15:01:38 +01:00
Derzsi Dániel 32a9ea2cef dgui: Fix DirectScrolledList scrollTo error in Python 3
As a rule of thumb, Python 3 divisions always have float results. Unfortunately, this piece of code is still relying on the old Python 2.7 behavior.

Closes #880
2020-03-14 14:55:32 +01:00
rdb 918d268b80 Merge branch 'release/1.10.x' 2020-02-28 15:57:06 +01:00
Derzsi Dániel eccfce4606 task: Fix memory leak related to Python 3 signal API changes
Python 3's signal.py API does not properly support custom signal handlers. An exception is created every frame because of this, which fills up the memory of the application.

Closes #873
2020-02-28 15:55:28 +01:00
Fireclaw c73415b4ba dgui: fix sizing after changing Slider/Scrollbar orientation
Closes #700
2020-02-23 16:28:40 +01:00
Thaumaturge 50d27166d8 particles: expose birth_litter() to support burst emission
Closes #524
Closes #340
2020-02-23 15:17:57 +01:00
fireclawthefox f21ab509ec FSM: support "any" state transitions
Closes #344
2020-02-23 14:54:30 +01:00
rdb c59b91f503 Merge branch 'release/1.10.x' 2020-02-23 14:53:16 +01:00
Mitchell Stokes 391578ea1f build_apps: Fix running with Pip 20
Fixes #854
Closes #856
2020-02-22 12:10:49 +01:00
rdb fda898807a Merge branch 'release/1.10.x' into master 2020-02-10 13:52:05 +01:00
Fireclaw 5d93237386 dgui: fix regression in DirectScrolledFrame (see #699)
Made initialization ignore the setScrollBarWidth function
Respect the length/height of the scrollbar and only change the actual
width in the setScrollBarWidth function
Added a very basic unittest class for the scrolledFrame

Closes #864
2020-02-10 13:17:05 +01:00
Leandro (Cerberus1746) Benedet Garcia 5f7809469c general: removed all WIN32, WIN32_VC and friends 2020-02-05 22:45:03 -07:00
rdb b272af8bbf Merge branch 'cmake' 2020-01-22 11:20:51 +01:00
rdb 26b86dfe5f Merge branch 'release/1.10.x' 2020-01-22 11:20:24 +01:00
rdb bd3dd63cbe actor: only remove control effects of given animations in unloadAnims
The previous behavior was for unloadAnims() to remove the control effects from all animations, even when only one animation was passed in, which is unintuitive behavior.

Fixes #853
2020-01-22 08:40:50 +01:00
rdb 05d5bac598 Merge branch 'release/1.10.x' into incoming 2020-01-21 15:34:25 +01:00
rdb 2960b67c7a actor: minor style fixes 2020-01-21 15:27:31 +01:00
rdb 3b361974dc actor: improve API documentation for Actor.cleanup()
Intended to address panda3d/panda3d-docs#40

[skip ci]
2020-01-19 11:23:35 +01:00
Sam Edwards 28b85d2f58 CMake: Work around CMake issue 20206 2020-01-10 16:48:59 -07:00
rdb b212d254d0 Merge branch 'release/1.10.x' into incoming 2020-01-07 22:09:59 +01:00
rdb a50d375c35 dgui: fix DirectSlider regression on Python 2 2020-01-07 22:07:39 +01:00
rdb 6b12fbe6f2 dgui: show assertion when passing a NaN into DirectSlider
If we don't do this, we get an assertion somewhere in the bowels of the scene graph, which will be much less helpful for tracking down the origin of the NaN.
2020-01-07 21:41:04 +01:00
rdb 1c4773a8e4 dist: move "import pip" from module level to download_wheels
The aim of this is that pip is no longer a dependency to be able to run test_imports.
2020-01-07 14:52:06 +01:00
LD 201f9a48be dist: Also use copy_with_dependencies() for executables to flatten their dependencies
Closes #837
2020-01-07 14:50:38 +01:00
rdb 81b33a7afa Merge branch 'release/1.10.x' 2020-01-06 21:06:57 +01:00
rdb b245c480c0 dist: fix ModuleFinder reading .pyc files in Python 2.7-3.3, 3.7 and 3.8
Fixes #836
2020-01-06 21:05:22 +01:00
LD f09ee92582 dist: glob pattern must be lowercase as it is compared to lowercase filenames
Closes #832
2020-01-06 18:18:04 +01:00
LD bd5841781c dist: Add missing dependency for CEFPython on macOS
Closes #835
2020-01-06 18:18:04 +01:00
LD 8d0d733da8 dist: Flatten also @rpath/ dynamic library references
Closes #834
2020-01-06 18:18:04 +01:00
rdb 389cc4bfdb Merge branch 'release/1.10.x' 2020-01-06 03:25:22 +01:00
rdb ca89b7420a Update Python 2.7 EOL warnings to indicate that EOL date is reached
[skip ci]
2020-01-06 00:36:49 +01:00
rdb a8a775ad09 Merge branch 'release/1.10.x' 2020-01-04 02:49:28 +01:00
rdb 3367fe266f tkpanels: properly test "None" return from askopenfilename 2020-01-03 18:19:39 +01:00
rdb 7ca66bfe6f tkpanels: work around tkinter bug cancelling file open dialog on macOS
Fixes #811
2020-01-02 01:06:03 +01:00
rdb c02bbe50af p3d: add deprecation notice to all direct.p3d modules 2019-12-31 17:15:34 +01:00
rdb 3755e157bf dgui: remove erroneous `p3d.` prefix (regression from #819) 2019-12-30 03:24:16 +01:00
LD 88fd65394b dgui: Add DirectGui events for wheel up and down mouse events
Closes #819
2019-12-30 03:07:52 +01:00
rdb b78b7be326 Merge branch 'release/1.10.x' 2019-12-30 01:50:54 +01:00
rdb 15d6e0c543 actor: support custom Python loader hooks
Fixes #750
2019-12-29 14:57:43 +01:00
rdb 0972dfa457 dcparser: fix ability to compile outside of Panda
Fixes #759
2019-12-29 14:27:05 +01:00
rdb c0fd600454 stdpy: threading2: join non-daemonic threads at interpreter shutdown
Fixes #758
2019-12-28 23:51:54 +01:00
rdb bb3bfebdc2 stdpy: support name and daemon properties in threading2 module 2019-12-28 23:48:04 +01:00
rdb 2f31c9ce68 stdpy: recognize daemon=True argument in Thread constructor 2019-12-28 23:46:58 +01:00
rdb cb53e5d822 dcparser: fix unpacking uint64 and int64
Closes #751
2019-12-25 16:57:06 +01:00
Derzsi Dániel 9455fb3f73 dgui: resolve DirectFrame regression
Closes #810
2019-12-20 11:44:25 +01:00
rdb f1575eafbc dist: set default platform tag for macOS to macosx_10_9_x86_64
This is in accordance with #300.  It will still pick macosx_10_6_x86_64 wheels if the 10.9 wheels are not available.
2019-12-18 18:00:51 +01:00
rdb 390abac276 Merge branch 'release/1.10.x' 2019-12-18 18:00:41 +01:00
rdb 8e6ae703c1 dist: use macosx_10_9_x86_64 by default for Python 3.8+
This is because Python 3.8 is only available for macOS 10.9+, and no longer for 10.6.
2019-12-18 09:10:58 -05:00
rdb 0b52241e95 stdpy: return number of bytes from write() method 2019-12-17 22:58:12 +01:00
rdb 25217d9f73 Merge branch 'release/1.10.x' 2019-12-11 18:03:39 +01:00
max 2ca37b8c97 dgui: refactor code common to DirectFrame setGeom, setImage, setText
Closes #776

Co-authored-by: rdb <git@rdb.name>
2019-12-11 17:57:15 +01:00
rdb c3052f3ae0 dist: support implicit namespace packages (as per PEP 420)
Fixes #778
2019-12-11 16:10:46 +01:00
rdb 9565d99fab Merge branch 'release/1.10.x' 2019-12-08 15:18:51 +01:00
rdb 55f624e073 windisplay: add a variable to disable Panda's message pump
This is particularly important for Tcl/Tk, which assumes it is in charge of the Windows event loop.

Fixes #586
2019-12-08 15:04:06 +01:00
rdb b43b0c9fad dist: ship regular "distutils" even when in PyPI "virtualenv" env
Fixes #747
2019-12-08 12:42:05 +01:00
rdb 1ea8c9f299 Merge branch 'release/1.10.x' 2019-11-28 22:28:31 +01:00
rdb 92476a3788 dist: fix exception when module has None __path__ 2019-11-17 20:36:40 +01:00
rdb d088263f6f Merge branch 'release/1.10.x' 2019-11-11 03:28:39 +01:00
Mitchell Stokes 47feac9a3d build_apps: Fix defaults for package_data_dirs
Fixes #779
2019-11-10 16:58:39 -08:00
Thaumaturge c0daa75353 particles: add parameter to delay particle birth in soft_start()
Also adds a get_tics_since_birth() getter.

This feature can be used to synchronize different particle effects.

Closes #769
2019-11-10 20:33:45 +01:00
rdb f47fd8875c particles: add snake-case aliases to Python particle classes 2019-11-10 20:26:45 +01:00
Sam Edwards 9b7bcf2564 Merge branch 'master' into cmake 2019-11-07 21:21:04 -07:00
rdb 847ebf667f Merge branch 'release/1.10.x' 2019-11-06 10:49:05 +01:00
rdb 2e3b350510 dgui: allow creating DirectOptionMenu without ShowBase 2019-11-03 12:12:42 +01:00
rdb 69e8b4ed3c showbase: make render2d available to GUI items without ShowBase 2019-11-03 12:09:36 +01:00
fireclawthefox eb3b45ebb1 dgui: Fix reset text scale on DirectOptionMenu item unhighlight
Set text scale to previous unhighlighted scale on unhighlight to keep
custom scales
2019-11-03 11:51:36 +01:00
rdb 6d96028b71 Merge branch 'release/1.10.x' 2019-11-02 20:42:32 +01:00
rdb 39988e4787 general: update a few outdated links in API documentation 2019-11-02 19:41:56 +01:00
rdb 22e88a5b6a direct: a few improvements to API documentation 2019-11-02 19:41:11 +01:00
rdb 40b3c7ccc9 direct: remove empty useless direct.controls.PhysicsRoller module 2019-10-29 23:55:14 +01:00
rdb a72be90f17 Merge branch 'release/1.10.x' 2019-10-29 23:13:22 +01:00
fireclawthefox b3c79096e5 distributed: fix division exception in ServerRepository
change operator to double slash for integer division

Closes #762
2019-10-29 20:47:48 +01:00
rdb f149fb4ab0 direct: big formatting changes for the benefit of API reference
Part of the effort to move the API reference to Sphinx, see panda3d/panda3d-docs#21
2019-10-29 20:43:41 +01:00
rdb ffeb8937bf task: fix unnecessary use of PythonUtil.Queue class
A standard list will do just fine here.
2019-10-29 14:57:20 +01:00
rdb 0a622d08e9 direct: fix a few broken imports 2019-10-29 14:57:04 +01:00
Sam Edwards 12c16eb9ff Merge branch 'master' into cmake 2019-10-15 23:43:25 -06:00
rdb 247f3c415a Merge branch 'release/1.10.x' 2019-10-08 19:50:48 +02:00
rdb 099be1f652 stdpy: fix bad performance reading all data from file
See Moguri/panda3d-gltf#31
2019-10-08 19:44:29 +02:00
Sam Edwards 5961cc2ee0 Merge branch 'master' into cmake 2019-10-05 15:00:49 -06:00
rdb 114a7c0995 Merge branch 'release/1.10.x' 2019-10-05 21:13:42 +02:00
Aidan Noll 984d70e8e0 dgui: update DirectScrolledList type checking for Python 2/3 compatibility 2019-10-05 21:10:05 +02:00
rdb 6c0a4c722c dist: fix various errors in icon.py 2019-09-30 13:51:40 +02:00
Sam Edwards 9645aaee07 CMake: Fix generated pandac.PandaModules on Py2
Python 2 doesn't use the fully qualified module name in
its ImportError output; only the local name. Test for that.
2019-09-18 01:13:33 -06:00
Sam Edwards fe7fdc0976 CMake: Reclassify direct/distributed/ headers as installed headers 2019-09-16 17:43:03 -06:00
Mitchell Stokes 660249a5cc Remove p3d/AppRunner/plugin system
Co-authored-by: rdb <git@rdb.name>

Closes #734
2019-09-10 16:49:57 +02:00
rdb 2c42cfcc1a Merge branch 'release/1.10.x' 2019-09-10 16:34:11 +02:00
rdb 5339b8239c dist: style fix for None comparison in FreezeTool.py 2019-09-08 09:51:41 +02:00
Ian Eborn (Thaumaturge) 73d6c52da6 deploy-ng: fix typo in FreezeTool.py
This causes an error when a module referenced by a star pattern doesn't exist.

Fixes #721
Closes #725
2019-09-07 09:45:06 +02:00
Paul m. p. P ec1c3ef347 extract_docs: fix reference to undefined typename
Closes #730
2019-09-06 16:02:51 +02:00
rdb df848965fb showbase: *Global.py modules should not export 'sys' module 2019-09-06 16:02:51 +02:00
rdb 6428e1b3cb Merge branch 'release/1.10.x' 2019-09-06 15:51:34 +02:00
rdb e535473b65 tkwidgets: fix missing sys import from Valuator.py
[skip ci]
2019-09-06 14:12:04 +02:00
rdb 504257f4d2 ParticleEffect: loadConfig should respect model-path
Fixes #687
2019-09-06 14:11:13 +02:00
rdb 31a054c933 tkwidgets: change how TreeNode icons are located/loaded
This makes it follow the regular resolution rules of the model-path and doesn't risk a RuntimeError when importing the module.
2019-09-06 14:01:55 +02:00
Sam Edwards dbe7a2f94b Merge branch 'master' into cmake 2019-09-06 04:05:12 -06:00
rdb d92b440617 Merge branch 'release/1.10.x' 2019-09-06 09:46:20 +02:00
rdb ba1023efa9 stdpy: clarify comment to indicate os.PathLike is supported in open() 2019-09-04 12:26:43 +02:00
rdb 2e03eb405b deploy-ng: handle .pz and .gz models correctly 2019-09-03 22:45:40 +02:00
rdb 35135ea0e1 Merge branch 'release/1.10.x' 2019-09-01 21:54:57 +02:00
Sam Edwards 5fa4af9189 CMake: Rely on GNUInstallDirs to specify install paths
This makes multiarch OSes happy as they can dictate that
64-bit libraries go into 'lib64'
2019-08-31 00:48:42 -06:00
Sam Edwards 1a654cba04 CMake: Record the location that headers are installed
This populates INTERFACE_INCLUDE_DIRECTORIES on the targets
after they're installed.
2019-08-30 22:58:18 -06:00
rdb d843c5c198 deploy-ng: use median cut algorithm when palettizing icon
This prevents infrequently occurring colors from being washed out.

See #718
2019-08-28 22:58:59 +02:00
rdb 28d9a33db4 deploy-ng: fix an exception when all icon images could not be read 2019-08-28 22:58:50 +02:00
rdb 00376c9d0a deploy-ng: fix some Python 3 issues in icon generation code
See #718
2019-08-28 22:41:58 +02:00
Sam Edwards 855d217f35 CMake: Update for upstream changes
- Miles is gone; remove all references
- pystub is gone; remove all references
- dcparser uses Interrogate extensions properly; don't depend on Python
- stringStream* moved to express from downloader
2019-08-24 18:07:22 -06:00
Sam Edwards 19ed9f6b47 Merge branch 'master' into cmake 2019-08-24 18:07:12 -06:00
Sam Edwards 6c3013a29c dcparser: move Python-specific code to extension files
We can now build dcparser without linking to Python and dcparse.exe's dependency on pystub is removed.

Co-authored-by: rdb <git@rdb.name>
2019-08-23 18:58:19 +02:00
Sam Edwards 36df3bdf0b dcparser: Delete dcPython.h
py_panda.h has the same purpose; we also don't want
Python.h brought in from the headers (only from the
.cxx files) so that including the headers won't require
linkage against Python.
2019-08-23 13:15:36 +02:00
rdb 665d2fc56b Merge branch 'release/1.10.x' into incoming 2019-08-23 10:53:09 +02:00
rdb 2575c01261 Loader: fix passing a tuple to loader.loadModel 2019-08-22 10:44:34 +02:00
rdb 1e6be1b2ee Merge branch 'release/1.10.x' into incoming 2019-08-20 01:26:32 +02:00
rdb 062460cbe0 dgui: store guiItems on ShowBase class dict instead of module 2019-08-20 01:07:39 +02:00
rdb a0aa7de291 dgui: fix critical regression introduced by 43a5719 2019-08-19 21:26:35 +02:00
rdb a40228202b Merge branch 'release/1.10.x' 2019-08-18 22:34:23 +02:00
rdb 170ad017bb deploy-ng: fix some issues with .icns files generated on macOS
Also add support for 1024x1024 icons, supported as of Mac OS X 10.7

I'm not sure that it's significant to put the mask before the respective sized image, but I've seen other working icons do it, so it can't hurt.
2019-08-18 11:14:39 +02:00
Mitchell Stokes d3c9199d9f deploy-ng: add icon support for macOS (#468) 2019-08-18 11:13:18 +02:00
rdb f708402760 deploy-ng: add 128, 256 to req. icon sizes, prefer scale from double 2019-08-18 11:10:40 +02:00
rdb 2fe0599255 deploy-ng: support adding icons to Windows binaries (part of #468) 2019-08-17 22:42:52 +02:00
Sam Edwards 31c9a88dcf CMake: Ugh, just give p3distributed a dummy .cxx instead
Windows won't even create the .lib unless there's at least one
source file. Whatever, this is easy to do.
2019-08-15 16:47:55 -06:00
Sam Edwards d008037244 CMake: Use Python::Module, not Python::Python, for extension linkage
CMake 3.15+ provides the former, which extension modules should link
against in order to ensure the ABI-appropriate linkage for the
platform.

For older versions of CMake, try to hack up the correct linkage for
the platform. If the platform isn't recognized, tell the user to
upgrade CMake.

This also tweaks p3pystub just a bit, since now it's actually relied
upon to resolve runtime link issues when p3dcparse pulls in direct,
as p3dcparse doesn't link against Python at all.
2019-08-15 16:47:53 -06:00
rdb 5a804925ec deploy-ng: set module suffixes properly for Python 3.8 2019-08-14 15:24:40 +02:00
fireclawthefox 24d48d8cb0 dgui: allow setting DirectEntryScroll entry after the fact
Closes #702
2019-08-14 13:31:08 +02:00
rdb 5c99cf16f8 dgui: fix DirectEntry._autoCapitalize() on Python 3.x (#628) 2019-08-14 13:26:33 +02:00
rdb 43a5719bac dgui: allow using various GUI items without instantiating ShowBase
This is done by eliminating dependency on the `hidden` built-in, which can now instead be imported from ShowBaseGlobal.
2019-08-14 13:26:27 +02:00
rdb bc563c8664 Merge branch 'release/1.10.x' 2019-08-03 11:24:05 +02:00
fireclawthefox 2b64a7d74f dgui: Scrollbar width changeable after initialization
Closes #699
2019-08-03 09:42:16 +02:00
fireclawthefox c395460390 directtools: Added missing imports
Closes #698
2019-08-03 09:40:11 +02:00
rdb b558bc8bfb Merge branch 'release/1.10.x' 2019-07-30 19:32:16 +02:00
rdb 7b9f87412a loader: support Python loader plug-ins
This allows defining custom loader types from Python code.  Packages can use metadata entry points to register file types with the loader.

Example code: https://gist.github.com/rdb/cb3c2f4a98ce371c722e3f297b445153
2019-07-30 13:04:46 +02:00
rdb 7ab377f28e dgui: fix option menu's cancelFrame not working in scrolled frame
Fixes #658
2019-07-29 13:07:26 +02:00
rdb 36e1b66349 Merge branch 'release/1.10.x' 2019-07-18 20:21:07 +02:00
rdb 22d50297a2 actor: fix makeSubpart on models with pre-bound animations
Fixes #647
2019-07-18 20:18:22 +02:00
rdb 3a7ab6c319 Merge branch 'release/1.10.x' 2019-07-15 19:51:19 +02:00
pythonengineer 46a3a72029 PythonUtil: weightedChoice should throw IndexError on empty list
Also includes a unit test.

Closes #682
2019-07-15 19:39:31 +02:00
Sam Edwards 1bd15dad60 CMake: Manually set p3distributed's linker language
It doesn't contain any source files anymore (see last commit),
so for non-metalib builds, this is necessary for CMake to
understand how to invoke the linker/archiver.
2019-07-10 15:39:46 -06:00
Mitchell Stokes 1a03d997b2 Remove support for Miles audio system
See #440 for discussion on why this is being removed.

Closes #660
2019-07-10 14:13:36 +02:00
rdb d5788d9422 Merge branch 'release/1.10.x' 2019-07-10 12:22:56 +02:00
rdb 2c9d16f62e ParticlePanel: set reasonable max values for integer sliders
Fixes #672
2019-07-10 12:01:55 +02:00
Sam Edwards e3cd658642 CMake: C++ code in direct.distributed should be an extension
This code is so heavily dependent on Python (and makepanda
doesn't even build it into libp3direct) that we shouldn't
even try to put it in the libp3direct library ourselves.
2019-07-07 16:09:52 -06:00
Donny Lawrence f0b4d7637b CMake: Separate composite files by extension. 2019-06-27 17:38:18 -06:00
wezu 617f3f7c7b
Snake-case aliases for BufferViewer
Add snake_case aliases for BufferViewer
2019-06-16 12:01:54 +02:00
rdb 1302b215ea Merge branch 'release/1.10.x' 2019-06-07 22:18:26 +02:00
Fireclaw 387b43adde dgui: Fix popupMarker_pos related crash
Set initial popupMarker position to previous default by using None as default
2019-06-07 22:13:25 +02:00
Sam Edwards 039f5af34e Merge branch 'master' into cmake 2019-06-03 23:12:23 -06:00
rdb 2e9395b766 Merge branch 'release/1.10.x' 2019-05-14 14:41:43 +02:00
rdb 7b77888e5a FilterManager: allow specifying custom fbprops in renderQuadInto
Corollary to ea0210640c (see #599)
2019-05-13 14:25:22 +02:00
rdb e8fc76747a showbase: rename attachInputDevice gui=True arg to watch=True
It describes more accurately what it does, which is attach the MouseWatcher to it.  Though it was intended to help with GUI navigation, it can also be used for eg. polling button states.
2019-05-13 13:53:33 +02:00
rdb 3f312eccd9 Merge branch 'release/1.10.x' 2019-05-12 21:03:14 +02:00
rdb c4a01ac564 pipeline: give Mutex and ReMutex more Pythonic semantics
This allows using mutices in with-blocks and wraps up the functionality of acquire() and try_acquire() into a single acquire(blocking=True).

Furthermore, the GIL is no longer released in cases of no contention.
2019-05-12 20:58:13 +02:00
rdb b8b6f2f2dc showbase: fix BufferViewer error when opening window right away 2019-05-09 19:18:25 +02:00
rdb 11808862f2 showbase: fix BufferViewer when main window is opened later
Fixes #648
2019-05-09 18:45:38 +02:00
rdb a92dce29cc Merge branch 'release/1.10.x' 2019-05-03 21:03:49 +02:00
rdb db00baa230 deploy-ng: add link to index for thirdparty wheels
This is where we can host wheels for packages that haven't uploaded wheels for all platforms, such as PyYAML and esper.

[skip ci]
2019-05-03 17:57:27 +02:00
rdb 541a2a73f0 showbase: allow attaching default MouseWatcher in attachInputDevice
This makes it easier to control GUIs using a gamepad.
2019-05-03 16:24:13 +02:00
rdb ea0210640c FilterManager: allow specifying custom fbprops in renderSceneInto
Fixes #599
2019-05-03 16:24:13 +02:00
rdb b08e38cf3d deploy-ng: add nag screen warning users who are still on Python 2
See #602
2019-05-03 16:24:13 +02:00
rdb 0ac36185a9 Merge branch 'release/1.10.x' 2019-05-02 21:34:25 +02:00
rdb 6d9b217c2c tkwidgets: fix exceptions hovering over rgbPanel menu items 2019-05-02 16:18:22 +02:00
rdb a3b4486ef3 tkpanels: fix a few exceptions in AnimPanel 2019-05-02 16:18:09 +02:00
rdb f32dc3cf2b tkpanels: add missing AnimPanel imports 2019-05-02 16:17:17 +02:00
Sam Edwards 49865c103a CMake: Modify install_python_package() so it keeps the build-dir copy up-to-date too 2019-05-01 23:44:47 -06:00
Maverick Liberty 4d33db2028 DirectOptionMenu: Fix popup menu reset of the popup marker's pos
Also defines popupMarker_pos and raises an assertion error if #showPopupMenu() is called when no items have been specified.

Fixes #636
Closes #637
2019-05-01 17:23:04 +02:00
nate97 d786709a49 sfxplayer: fixes bug when using the "node argument" in SoundInterval, also fixes Py3 TypeError exception
Closes #640
2019-05-01 17:17:06 +02:00
Sam Edwards 65d11a4cfa CMake: Fix pandac.PandaModules generation 2019-04-27 22:45:51 -06:00
Sam Edwards b3f5c38ef3 CMake: Remove references to "panda3d" from Interrogate 2019-04-14 23:10:49 -06:00
Sam Edwards 6097d34ead CMake: Neatly format everything for readability and consistency 2019-04-14 22:37:18 -06:00
Sam Edwards 671f15e052 Merge branch 'master' into cmake 2019-04-13 17:29:44 -06:00
rdb 552916efea Merge branch 'release/1.10.x' 2019-04-09 13:31:51 +02:00
rdb d89da168bb PythonUtil: fix use of types.InstanceType in Python 3 in itype()
Really, though, don't use this function.  It does not consider new-style classes, is not consistent in its return values and it seems to do nothing that repr(type(x)) doesn't do.
2019-04-09 12:53:13 +02:00
rdb 9f9665e090 direct: don't use types.InstanceType in Messenger.detailedRepr
Fixes #591
2019-04-09 12:42:06 +02:00
rdb bf8a959d60 direct: remove multi-line strings with unrunnable test code 2019-04-02 22:45:25 +02:00
Christopher Snow b06b5791ca Task: Couple two clauses which execute the same logic.
Closes #589
2019-03-29 12:18:37 +01:00
Sam Edwards f8161cc529 Merge branch 'master' into cmake 2019-03-12 02:03:16 -06:00
rdb 8d1bdf0118 Merge branch 'release/1.10.x' 2019-03-10 20:49:52 +01:00
rdb 088b90e887 TexMemWatcher: fix compatibility issues with Python 3
Closes #578
2019-03-10 20:21:54 +01:00
rdb cbb3c182a5 Merge branch 'release/1.10.x' 2019-03-04 16:57:52 +01:00
rdb 58df4064da ParticlePanel: fix Pmw error spam when hovering over File menu items
Fixes #552
2019-03-04 14:23:33 +01:00
Derzsi Dániel c337e58f4d direct: Resolve DirectScrolledFrame crash on destroy
Destroying DirectScrolledFrames currently crashes the game, because they are destroyed twice. This commit makes sure to destroy the scrolls only once.

Closes #574
2019-03-04 12:18:21 +01:00
rdb 73873ba767 direct: remove obsolete FindCtaPaths module 2019-02-20 23:11:37 +01:00
rdb 6d927aaa52 Merge tag 'v1.10.1' 2019-02-14 23:21:57 +01:00
rdb b75982a610 interval: fix QuatInterval not normalizing the start quaternion 2019-02-14 19:18:14 +01:00
rdb 6640e5698d EventManager: various microoptimizations to Python event handling 2019-02-12 14:30:04 +01:00
rdb 80bb5c09fe Merge branch 'release/1.10.x' 2019-02-12 01:13:56 +01:00
rdb 3024e6daeb direct: fix various syntax warnings in Python 3.8 2019-02-11 23:35:56 +01:00
tc 33d11dba27 ParticlePanel: fixed an issue that prevented saving with Python 3
Since in Python 3 `str == bytes` no longer holds true, I modified
the source to write a text file, which it actually is, instead of a
binary file.

Closes #553
Fixes #543
2019-02-08 15:46:52 +01:00
rdb 86c266fd88 Merge branch 'release/1.10.x' 2019-01-31 00:58:29 +01:00
John Cote 2627c433d6 particles: Import SpriteAnim in Particles.py
Fixes #544
Closes #545
2019-01-31 00:06:34 +01:00
rdb d8891674e3 Merge branch 'release/1.10.x' 2019-01-23 23:28:28 +01:00
rdb 9d12a4c437 general: improvements to doxygen API reference:
* In C++ reference, only pick up classes defined in .h file
* Add a few excludes to C++ reference that aren't public API
* On class index pages, reduce number of columns
* Add @since for some methods/classes that are new in 1.10.0
* Fix/improve a few docstrings here and there
2019-01-23 22:24:02 +01:00
rdb fc90ca7fdf Merge branch 'release/1.10.x' 2019-01-20 17:02:15 +01:00
LD 1389ada384 setuptools: os.makedirs does not support 'exist_ok' parameter in Python2
Closes #540
2019-01-19 22:56:54 +01:00
rdb 9d0b074162 Merge branch 'release/1.10.x' 2019-01-09 23:09:17 +01:00
rdb 649372d333 Loader: work around Python 3.7 await headache caused by PEP 479
Generators can no longer raise StopIteration, and we are supposed to use "return" instead.  But, return with value inside generator is a syntax error in Python 2.

Fixes #513
2019-01-09 22:14:50 +01:00
rdb 7262f16ed8 tkwidgets: fix missing import from Valuator module
Fixes #519
2019-01-09 19:24:45 +01:00
Kyle Smith 8cf28e8d2c wx: Fixed deprecation warnings/errors
- Warnings/Errors associated with LevelEditor.
2019-01-06 18:54:08 -07:00
Kyle Smith 4f548889a8 leveleditor: Use panda3d.core 2019-01-06 18:54:08 -07:00
Kyle Smith 294dc5fc40 leveleditor: Fixed relative import for start
- Relative imports only work within modules, not in scripts (as LevelEditorStart is expected to be called directly, not imported).
2019-01-06 18:54:08 -07:00
Sam Edwards 1a17808991 Merge branch 'master' into cmake 2019-01-06 15:37:07 -07:00
rdb 2da791b9fb Audio3DManager: fix regression with setSoundVelocityAuto() 2019-01-06 09:32:41 +01:00
rdb 6e730a2e95 Audio3DManager: accept tuple in setSoundVelocity/setListenerVelocity 2019-01-06 09:32:41 +01:00
Mitchell Stokes 863e25b6e0 setuptools bdist_apps: Better support relative paths for --build-base option 2019-01-04 18:55:04 -08:00
rdb 4d6b7e96c9 directscripts: change doxygen reference color scheme 2019-01-03 16:01:10 +01:00
rdb 984f83d94b directbase: fix a stray pandac.PandaModules 2019-01-03 16:01:06 +01:00
rdb 3e22578529 New branding images for 1.10.0 2019-01-03 14:44:17 +01:00
Mitchell Stokes 3be7c63d42 setuptools build_apps: Add p3assimp to the check_plugins list
This gets rid of the runtime error message about missing Assimp.
2019-01-02 20:29:21 -08:00
Sam Edwards 211ac763d1 CMake: Update the list of pure-Python packages under direct 2018-12-29 02:55:01 -07:00
Sam Edwards 3b194c75e4 Merge branch 'master' into cmake 2018-12-28 22:15:44 -07:00
Sam Edwards bddd7c1b4b CMake: Generate/install exported target sets 2018-12-27 17:39:22 -07:00
rdb 01915a36db Merge branch 'master' into deploy-ng 2018-12-26 23:41:50 +01:00
rdb b7e7986198 deploy-ng: rewrite relative dependencies in macOS dylibs 2018-12-26 23:18:17 +01:00
rdb 3a2a29a1aa deploy-ng: catch more egg2bam errors with Python 2.7 2018-12-26 22:54:19 +01:00
rdb 6b27dae24d deploy-ng: add hidden imports for numpy on macOS 2018-12-26 22:54:01 +01:00
Mitchell Stokes 950ffd6eb8 deploy-ng: Add https://archive.panda3d.org/simple/opt as an optimized wheel index for release builds
Fixes #469
2018-12-24 12:05:39 -08:00
rdb d28e99db82 directscripts: some fixes for C++ API reference 2018-12-23 16:24:38 +01:00
rdb c0c202a423 directscripts: bring Python documentation generation up-to-date
Fixes #484
2018-12-23 15:50:00 +01:00
rdb a0a2bf59bb actor: remove commented-out code that is confusing doxygen 2018-12-23 15:42:43 +01:00
rdb 0668509791 stdpy: remove commented-out method that is confusing Doxygen 2018-12-23 15:42:31 +01:00
Mitchell Stokes 88fc3d4ca3 deploy-ng: Add --skip-build and --dist-dir options to bdist_apps
dist-dir defaults to 'dist' like sdist and bdist_wheel, which makes
bdist_apps more consistent with the rest of the Python ecosystem.
2018-12-22 14:13:40 -08:00
Mitchell Stokes ec3c2ad25a deploy-ng: Add __init__.py to direct.dist 2018-12-19 18:52:09 -08:00
rdb 92539a3107 dcparser: rebuild dcParser.{cxx,h}.prebuilt 2018-12-19 13:14:21 +01:00
rdb e4f493b872 dcparser: use vector_uchar for blobs, step towards Python 3 compat
Closes #298
2018-12-19 12:45:32 +01:00
Mitchell Stokes 587237577f deploy-ng: Move distribution related files from direct.showtutil to direct.dist 2018-12-18 20:33:12 -08:00
Mitchell Stokes d98301b8d3 deploy-ng: Add direct.particles.ParticleManagerGlobal as hidden import for direct.particles
Fixes #481
2018-12-18 19:03:08 -08:00
rdb 4c0fa1e75d Merge branch 'master' into deploy-ng 2018-12-16 22:36:45 +01:00
rdb 3a3cb01148 showbase: return Transitions fade to aspect2d, fix focus issue
This implements a slightly different solution for #311 that maintains the behaviour for the fade screen to prevent clicks from propagating to the geometry below it.

Fixes #475
Fixes #311
2018-12-16 18:43:31 +01:00
rdb b11debcf3d pfreeze: fixes for Python 3.7
See python/cpython#5432 - imp module now has the proper name
The DL_IMPORT and DL_EXPORT macros seem to have been removed.
2018-12-16 15:32:18 +01:00
Sam Edwards c50bf63aee CMake: Fix showbase build error on macOS 2018-12-11 18:28:12 -07:00
rdb 8a9cac8c49 deploy-ng: use proper patch matching for globs 2018-12-09 21:24:51 +01:00
rdb 083e3ecc74 deploy-ng: add DLL search directory for scipy wheel 2018-12-09 21:18:03 +01:00
Mitchell Stokes 09bbee8dea deploy-ng: Default platforms to a list of platforms instead of the host platform
The list is:
  * manylinux1_x86_64
  * macosx_10_6_x86_64
  * win_amd64

Of note, win32 is missing from this list. We can add it later if there
is desire.

Also of note, there is now no path to *not* using wheels. We will need
to evaluate if we want to keep this around and, if so, expose it as an
option to users.
2018-12-08 16:19:35 -08:00
Sam Edwards 99fee1a64d CMake: Assign COMPONENT and EXPORT to all targets 2018-12-06 17:48:44 -07:00
rdb 192913bf8e freezer: work around Python modulefinder bug (bpo-35376) 2018-12-02 16:26:47 +01:00
Sam Edwards 368cdc2802 CMake: Move pandac.* generation to be part of direct 2018-12-01 14:43:41 -07:00
rdb c560c502b9 Merge branch 'master' into deploy-ng 2018-12-01 22:14:01 +01:00
rdb 7ed8b01a84 Merge branch 'input-overhaul' 2018-11-30 22:04:13 +01:00
rdb d7124d4df4 Merge branch 'master' into deploy-ng 2018-11-29 12:57:49 +01:00
Sam Edwards df805bd02b Merge branch 'master' into cmake 2018-11-28 21:54:58 -07:00
Sam Edwards 8df53698f4 CMake: Add missing .h/.I files that weren't getting installed 2018-11-28 16:13:05 -07:00
rdb 97d4e32a06 general: use nassert_raise instead of nassertv(false) et al
Even a brief error message in the assertion is infinitely more useful to a user who is not at home in the source code, especially for assertions that may reasonably be triggered by honest user mistakes.
2018-11-28 17:35:20 +01:00
rdb 26fcf131c9 Merge branch 'master' into input-overhaul 2018-11-25 17:10:31 +01:00
rdb b1eec5fae0 CommonFilters: give passes a unique name for debugging/PStats 2018-11-20 00:39:47 +01:00
Mitchell Stokes 0c1572ce33 deploy-ng: Fix reference (e.g., texture) paths when using egg2bam
Fixes #277
2018-11-17 14:19:04 -08:00
Sam Edwards 6b26889e7e Merge branch 'master' into cmake 2018-11-12 15:41:42 -07:00
rdb ea832efb81 deploy-ng: fix run error with frozen attr module 2018-11-12 18:32:48 +01:00
rdb 3d7fcf2ce9 Merge branch 'master' into deploy-ng 2018-11-12 18:31:43 +01:00
Sam Edwards a9dfd8352e general: Distinguish local/system includes
This changes includes so that local includes are consistently
#include "localFile.h"
while system and third-party includes are consistently
#include <systemFile.h>

This commit mostly converts the former to the latter; the two
exceptions are in android_main.cxx and fmodAudioSound.h, where
the reverse was necessary.
2018-11-10 18:00:10 -07:00
rdb 70bfe21a63 Merge branch 'master' into input-overhaul 2018-11-06 22:10:39 +01:00
Sam Edwards a6877a6def Merge branch 'master' into cmake 2018-11-03 22:55:13 -06:00
rdb a799bcaec9 Merge branch 'master' into deploy-ng 2018-11-03 22:51:32 +01:00
Mitchell Stokes d9256755e3 deploy-ng: Allow setting build_apps command line options via bdist_apps command line options 2018-11-03 12:32:29 -07:00
Mitchell Stokes a42ebaea74 deploy-ng: Allow platforms to be specified on the command line
This makes it easier to build for one platform even if multiple
platforms are specified in setup.py/cfg. For example:

python setup.py build_apps -p win_amd64

Or, for multiple platforms:

python setup.py build_apps -p win32,win_amd64
2018-11-03 12:13:51 -07:00
rdb 5ac3cf3fc6 Eliminate C++ DConfig; replace it with a Python compatibility shim 2018-11-02 23:27:07 +01:00
Sam Edwards 62f7aabe91 Merge branch 'master' into cmake 2018-11-01 22:33:04 -06:00
rdb 14411f592e Remove obsolete .init files in configfiles directories
These look like they were part of some now-defunct Disney tool.
2018-11-01 16:26:07 +01:00
rdb 357b6d3093 Merge branch 'master' into input-overhaul 2018-10-29 23:40:46 +01:00
rdb 55371e0aad deploy-ng: fix some issues finding relative library deps in wheels
In particular, this fixes deploying with numpy for macOS, since the numpy whl has library dependencies with .. in the path.
2018-10-28 21:20:46 +01:00
rdb 305621338f deploy-ng: fix wrong platform tag for 32-bit Linux in bdist_apps 2018-10-28 20:47:44 +01:00
Sam Edwards 58c065d970 Merge branch 'master' into cmake 2018-10-28 05:11:14 -06:00
Mitchell Stokes b16f9f8f4f Merge branch 'master' into deploy-ng 2018-10-18 17:58:21 -07:00
rdb f8b47dc14c direct: fix slowness in big games with Func(messenger.send) 2018-10-18 22:19:55 +02:00
Mitchell Stokes 18c1e242f8 deploy-ng: Include all encodings by default
For Python 3.7 on 64bit Linux, this adds about 300-400KB to built
applications.
2018-10-17 22:21:41 -07:00
Mitchell Stokes 6f311007f5 deploy-ng: Do not error if the panda3d wheel has no localtag 2018-10-17 22:08:00 -07:00
rdb ed489ac03a deploy-ng: fix egg2bam error handling on Python 2.7 2018-10-16 23:03:44 +02:00
Sam Edwards b3f1b7d40b Merge branch 'cmake' of https://github.com/treamology/panda3d into cmake
# Conflicts:
#	.travis.yml
#	direct/src/showbase/CMakeLists.txt
#	dtool/dtool_config.h.in
#	dtool/src/prc/CMakeLists.txt
#	panda/src/cocoadisplay/CMakeLists.txt
#	panda/src/express/CMakeLists.txt
#	panda/src/osxdisplay/CMakeLists.txt
2018-10-14 02:26:56 -06:00
Sam Edwards f1c5352cc1 CMake: Remove redundant target_compile_definitions(WITHIN_PANDA)
This is no longer needed since they should now propagate from
dcparser automatically.
2018-10-13 15:07:09 -06:00
Sam Edwards 90d3b29767 CMake: Sort direct/dtool/panda/pandatool subdirectories
This forces us to make sure the inter-target dependencies work
in an order-independent way.
2018-10-10 20:16:32 -06:00
Mitchell Stokes 665bdb16ea deploy-ng: Add options for using optimized wheels for panda3d
This works by adding extra index urls. Optimized wheels have local
version tags that should take precedence over non-optimized wheels. If
no optimized wheel if found for a platform, a warning is issued and a
non-optimized wheel is used instead.
2018-10-08 18:36:23 -07:00
Mitchell Stokes 90b0f501dc deply-ng: Add libedit.*.dylib to list of macOS system libraries 2018-10-07 12:31:17 -07:00
Mitchell Stokes 33e6b6bf7a deploy-ng: Setup system dependencies to ignore on Linux and macOS 2018-10-04 22:07:34 -07:00
Sam Edwards 53920e7aee CMake: Move __init__.py generation to Python.cmake
This also allows us to generate a suitable __init__.py for fixing
up PATH and/or __path__ on platforms that need it to properly
import Python extension modules.
2018-09-28 21:24:26 -06:00
Sam Edwards 2e2a8eae98 CMake: Byte-compile all .py files when building Panda
This also involves the creation a new include: Python.cmake

This file will contain utility functions for building Python
modules and installing Python packages.
2018-09-28 17:15:56 -06:00
Mitchell Stokes 3dbdb55782 deploy-ng: Initial NSIS installer support
This creates a Windows installer. Still TODO:

  * Dealing with creating shortcuts
  * Add license information to installers
  * Possibly tweak various names (e.g., display names, version numbers,
  etc.)
  * Application does not show up in Windows 7 list of programs in the
  control panel (still has an uninstaller in the start menu)
  * Add all built binaries to Start Menu
2018-09-24 19:51:38 -07:00
Sam Edwards e917c54433 Merge branch 'master' into cmake 2018-09-22 15:55:59 -06:00
Sam Edwards 1520d712d4 CMake: Remove target_use_packages
Instead, let's use a PKG::PKGNAME interface library, which simplifies
the linking and also allows us to use imported libraries from
find_package in the future.
2018-09-21 10:17:05 -06:00
rdb 338b428e65 Merge branch 'master' into deploy-ng 2018-09-17 17:37:07 +02:00
rdb 76365f3ed1 showbase: make input device binding explicit, not automatic 2018-09-16 20:22:40 +02:00
rdb e30b597926 Merge branch 'master' into input-overhaul 2018-09-16 12:28:22 +02:00
rdb 822f89fadb dgui: accept arg in setText, setImage, setGeom, also add clearers
This enables the "setters" to behave in a way that people expect setters to behave.  Since `setText(None)` now does not behave expectedly, a `clearText()` has also been added to remove the text.

Closes #385
2018-09-13 21:14:04 +02:00