Commit Graph

8062 Commits

Author SHA1 Message Date
rdb 91dd802de6 dist: Include `_sysconfigdata` module properly
Fixes #1326
2022-06-29 16:07:48 +02:00
rdb c24a15ed40 task: Fix missing `taskMgr` reference when using managed tasks 2022-06-29 15:12:06 +02:00
rdb ecf4d19e83 Merge branch 'release/1.10.x' 2022-05-10 16:12:36 +02:00
Sergei Korotkov e3cf5be500 filter: Remove the silly dependency on the ShowBase instance
Closes #1302
2022-05-10 15:58:33 +02:00
rdb 59755a043e distributed: Fix regression from c917a9e (which was fix for #1262)
With that fix, getDatagram would return the wrong result after the datagram was reassigned in C++
2022-05-05 10:44:26 +02:00
rdb 1b21e604f0 Merge branch 'release/1.10.x' 2022-04-21 11:09:28 +02:00
rdb 98314da00f showbase: Fix BufferViewer frame in non-standard coordinate systems 2022-04-04 10:30:35 +02:00
rdb e7dd93d0d4 filter: Fix CommonFilters with non-default coordinate system
Fixes #1289
2022-04-04 10:28:18 +02:00
rdb 3084fcd8dc dist: Correct fix for android x86_64 ABI
[skip ci]
2022-03-17 13:29:13 +01:00
rdb e272de8708 dist: Fix accidental error message with x86_64 ABI with Android
[skip ci]
2022-03-17 09:23:38 +01:00
rdb cafcdede5f dist: Disable _bootlocale injection for Python 3.10+
Python 3.10 removed the _bootlocale module (see bpo-42208)

[skip ci]
2022-03-15 11:20:39 +01:00
rdb b610a6492e dist: Don't set sys.platform to "android" on Android
Let's just do what upstream does, so that there are no surprises.
2022-03-12 18:19:51 +01:00
rdb e02a9989fb android: Changes to add compatibility with pyjnius/plyer 2022-03-12 18:18:15 +01:00
rdb 5c03cd59fb dist: Add special support for hidden imports of plyer module 2022-03-12 16:52:12 +01:00
rdb 218f2af7fb dist: Support .* imports inside wheels
No longer try to import modules directly (we can do this if we really have to, but then we have to load it from the proper location) since we don't want to grab the system version of the package which may not be present or may be a different version.  Support discovering .* imports inside .whl files that are on sys.path.
2022-03-12 16:50:05 +01:00
rdb 683c54938c task: Don't capture SIGINT on Android
There's no point to doing that, and doing so restricts the ability to run Python in a separate thread
2022-03-09 16:23:37 +01:00
rdb 573df4b320 dist: Add more resource codes for AndroidManifest.xml values 2022-03-09 16:23:37 +01:00
rdb 37c48ea829 dist: Helpful error for invalid android_abis value 2022-03-09 16:23:37 +01:00
rdb 76fb49252c dist: Fix regression with data_dir NameError in build_apps
Fixes #1276

Also let's consistently use the term "assets" for all the application data (and not the gaming-specific term "game files") and use the term "data" for package data only
2022-03-02 10:45:57 +01:00
rdb 46c1b887ea Fix heap alignment with SSE2 on 32-bit Windows by inheriting MemoryBase
Fixes #510
2022-03-02 09:57:44 +01:00
rdb c917a9e1a1 distributed: PyDatagramIterator now retains reference to Datagram
Fixes #1262
2022-03-01 16:09:07 +01:00
rdb a0be50c769 general: Fix assorted compiler warnings 2022-03-01 16:09:07 +01:00
rdb cfc11ba430 dist: Fix issue when deploy_libs in .whl have inconsistent suffixes 2022-02-25 11:20:55 +01:00
rdb 8b5fc7d835 stdpy: Switch from deprecated ConditionVarFull to ConditionVar 2022-02-22 15:21:32 +01:00
rdb 65ee79158f showbase: Start recording right away when opening PStats connection
Don't wait until the next frame - makes it harder to diagnose long load times in the new Timeline view
2022-02-20 16:54:15 +01:00
rdb d7bbcfb0b7 pstats: Some collector reorganisation:
- "App:Show code:General" is gone, it was causing too much trouble
- Replace odd "Client::GuiObjects" with "Nodes:GUI"
- Regroup "Dirty PipelineCyclers" underneath "PipelineCyclers"
2022-02-17 12:48:36 +01:00
Maxwell175 350836cc38
PythonUtil: remove Enum class (#1253) 2022-02-01 10:31:14 +01:00
rdb ce7c1ec16c dist: Suppress warning about android_log module building for Android
This module is linked statically and provided via the built-in module loader
2022-01-14 10:56:42 +01:00
rdb b803ef2ac5 dist: Set default Linux target to manylinux2014
According to
https://github.com/mayeut/pep600_compliance/blob/master/README.rst
manylinux2010 is EOL, and so are all Linux distributions that support manylinux2010 but not manylinux2014.

Setting the default to manylinux2014 means that more thirdparty packages are supported and hopefully means we're not always behind and have to struggle to keep building for it.
2022-01-14 10:54:26 +01:00
rdb a56ee57422 Merge branch 'release/1.10.x' 2022-01-14 10:50:10 +01:00
rdb c32866fa33 showbase: Fix missing ClockObject import in JobManager
Regression in eefcae7b05
2022-01-14 10:48:25 +01:00
rdb 58afbbfaa0 dist: Add missing platforms to default installer dictionary 2022-01-14 10:46:56 +01:00
rdb 54606c8894 showbase: docstring fix
[skip ci]
2022-01-14 09:58:57 +01:00
rdb 40f54a766c Merge branch 'release/1.10.x' 2022-01-07 10:52:28 +01:00
rdb b736b3e4db filter: Accept floating-point values for FilterManager mul= parameter
Fixes #1231
Closes #1232
2022-01-07 10:15:49 +01:00
rdb d46651c032 Merge branch 'release/1.10.x' 2022-01-04 16:35:19 +01:00
rdb 28b566726a dist: Suppress spurious warnings about missing tkinter modules
[skip ci]
2022-01-04 16:00:45 +01:00
rdb 67b89983ac dist: Also accept manylinux wheels when requesting generic linux tag 2022-01-04 15:25:19 +01:00
rdb 6935d2badc dist: Add support for tkinter
Requires adding `tkinter` to `requirements.txt`. For now, wheels are only provided for Python 3.6 and up.

Fixes #780
2022-01-04 15:21:24 +01:00
rdb f8df5cac32 Merge branch 'release/1.10.x' 2022-01-02 20:11:41 +01:00
rdb 2aac58b5ab task: Restore previous interrupt handler after `taskMgr.step()`
Related to #1180
2022-01-02 10:39:52 +01:00
rdb b53895aa3d Merge branch 'release/1.10.x' 2022-01-01 18:18:46 +01:00
loonaticx 500491e6c9 CommonFilters: Documentation adjustments
* State that we're using Cg shaders, ideal for clarification.
* Commented out Josh's monologue since it doesn't particularly contribute to the API page
* Added documentation to the setBloom function to help clarify.

Closes #1200

Co-authored-by: rdb <git@rdb.name>
2022-01-01 15:20:57 +01:00
rdb 9598065641 Merge branch 'release/1.10.x' 2021-12-26 14:13:23 +01:00
rdb c38d582f8c showbase: Add `base.clock` alias for `globalClock`
Mirrors eefcae7b05 on master
2021-12-26 12:30:00 +01:00
rdb eefcae7b05 direct: Add `base.clock`, deprecate `globalClock` 2021-12-25 11:47:42 +01:00
rdb 68f0931f43 dist: Fix use of Python 3.8+-only syntax 2021-12-13 09:35:38 +01:00
rdb 73a27fa281 task: Get rid of unnecessary __makeTaskList
We can directly convert AsyncTaskCollection objects to a list (though even that is of questionable value since task collections behave list-like enough)
2021-12-12 13:46:26 +01:00
rdb b8c301164a dist: Implement more reliable solution for logging stdout/stderr
The previous trick doesn't seem to work on one of my devices.  The disadvantage of the new solution, however, is that it doesn't capture anything until site.py is successfully executed.
2021-12-10 14:56:13 +01:00
rdb 25d57e0eef dist: Fix incorrect arch check for Android in build_apps 2021-12-10 13:42:20 +01:00
rdb 1289d5bfb4 dist: Build multi-ABI distributions on Android
[skip ci]
2021-12-09 15:42:43 +01:00
rdb eb753be249 dist: Add support for automatically signing Android App Bundles 2021-12-08 14:50:05 +01:00
rdb 267907d329 dist: Support adding icons to Android applications
[skip ci]
2021-12-08 00:00:30 +01:00
rdb 17e00c5786 dist: Don't complain about libz.so being missing on Android
It's a system library there
2021-12-07 23:06:44 +01:00
rdb 46b7fc6ee2 dist: Fix bug with grayscale icons becoming blue when scaled 2021-12-07 23:05:29 +01:00
rdb 25667f4094 dist: Fix bug with grayscale icons becoming blue when scaled 2021-12-07 23:04:39 +01:00
rdb 44e10d10a0 Support deploying Python apps for Android using bdist_apps 2021-12-07 21:00:08 +01:00
rdb 4c7e513dfd dist: Always compile Python code with optimize level 2 2021-12-07 18:12:19 +01:00
rdb 5de31c6293 Merge branch 'release/1.10.x' 2021-12-04 21:57:35 +01:00
rdb 24755bc8eb gui: Allow OnscreenImage to be used before ShowBase is created
Use TexturePool directly instead of a loader being present in the builtins

Fixes #1209
2021-12-04 20:40:29 +01:00
rdb 6419acb56f actor: Fix deadlinks to renamed manual page in API reference 2021-12-04 20:37:50 +01:00
rdb 0bc0709b72 Merge branch 'release/1.10.x' 2021-11-02 15:20:41 +01:00
Epihaius 29294cb974 interval: Redefine some properties in MetaInterval class
The `play_rate` property invokes the underlying C++ `set_play_rate` method, which leads to a bug (#1202).
The property is now redefined to make it invoke the overriding `MetaInterval.set_play_rate` method instead.

Fixes #1202
Closes #1204
2021-11-02 15:13:17 +01:00
rdb e87a2a1f0f showbase: Fix typo in API reference 2021-11-02 15:01:18 +01:00
rdb 605651f0e8 Merge branch 'release/1.10.x' 2021-10-26 17:27:56 +02:00
rdb 594a26662e dist: Automatically include cacert.pem when depending on certifi 2021-10-26 13:59:39 +02:00
rdb ca061c98a6 dcparser: Improve assertion error message for invalid UTF-8 data 2021-10-26 13:58:40 +02:00
rdb cd9712270b dcparser: slight code cleanup in dcPacker.cxx 2021-10-26 13:51:04 +02:00
rdb de334f5597 PythonUtil: remove deadlink from normalDistrib docstring 2021-10-26 13:28:35 +02:00
rdb e9b5092734 dist: Fix frozen modules not packaged (such as zipimport in Python 3.8+) 2021-10-14 09:49:58 +02:00
rdb 98e3b1f03e dist: update linecache module with missing __all__ item 2021-10-14 09:47:46 +02:00
rdb 224d21352a dist: Suppress warnings about missing __builtin__ and _winapi 2021-10-14 09:47:03 +02:00
rdb 3d386d2d63 dist: Default to manylinux2010 for Python 3.10+
manylinux1 is not being offered for Python 3.10, so no thirdparty package will have wheels available for this
2021-08-30 18:15:37 +02:00
rdb 7462cee18b dist: Use manylinux2010 instead of manylinux1 by default 2021-08-26 10:47:38 +02:00
rdb c293ad3da2 Merge branch 'release/1.10.x' 2021-08-03 20:19:15 +02:00
rdb 1f84469cd9 filter: Fix issue with cached CullResult persisting after cleanup
This can cause issues if a DR gets assigned an inactive camera - the old cull result will persist and be used for draw.  Possibly we need to do this in set_camera.

Reproduced by #1166
2021-08-03 11:43:49 +02:00
rdb cdf5b16ddd task: Add AsyncFuture::shield() ability, part of #1136
This is modelled after `asyncio.shield()` and can be used to protect an inner future from cancellation when the outer future is cancelled.
2021-04-09 18:28:07 +02:00
rdb 5be46c4124 dgui: Fix DirectSlider unit test failure 2021-04-08 12:28:22 +02:00
Daniel bb6a66a582 direct: Fix undefined ConfigVariableBool name in ClockDelta 2021-04-01 17:08:13 +03:00
rdb 43fb82fa66 gobj: Add config switch for Panda not to default to packed vertex colors
See #981.  Setting `vertex-colors-prefer-packed` to false will make Panda default to OpenGL-style vertex colors, which is useful if are targeting OpenGL and not DirectX 9, avoiding a potential performance cost.
2021-03-25 23:15:58 +01:00
rdb eb6eb9f1dd Merge branch 'release/1.10.x' 2021-03-24 13:58:00 +01:00
rdb 1fb8480585 Exclude GLVND from built distributions 2021-03-24 11:56:24 +01:00
rdb 94806801e3 Add p3headlessgl render plug-in on Linux using EGL as fallback for GLX
Fixes #1086
2021-03-23 15:04:20 +01:00
rdb 3732d3f1e6 PythonUtil: Fix Python 3 next() for SerialNumGen, AlphabetCounter 2021-03-22 21:49:58 +01:00
rdb 3579855ff1 distributed: Switch DistributedSmoothNodeBase.BroadcastTypes to IntEnum
The Enum from PythonUtil is obsolete since the introduction of a proper enum module in Python 3.4.
2021-03-22 19:29:21 +01:00
rdb 107d338d88 PythonUtil: Remove old next() interface from EnumIter
This was just there to support Python 2, which we no longer support.
2021-03-22 19:00:25 +01:00
rdb 0e36a99574 Merge branch 'release/1.10.x' 2021-03-22 15:45:45 +01:00
rdb fe29aab568 dgui: Reset DirectOptionMenu highlighted index when replacing items
Not doing this causes issues if the item list is replaced by an item callback, since that means the unhighlight callback is never fired.

Fixes #1125
2021-03-22 10:08:31 +01:00
rdb b817e19ab6 Merge branch 'release/1.10.x' 2021-03-13 16:50:12 +01:00
rdb dc516c5ef1 dist: Remove aux-display lines for excluded plug-ins
No point trying to load optional modules that we know aren't included.
2021-03-13 14:03:54 +01:00
rdb 3c9673b48e dist: Actually replace p3fmod_audio with p3openal_audio
This was meant to be effected in 9e80282aff but was not properly checked in (only the warning was shown, but the change was not actually made).
2021-03-13 13:55:35 +01:00
rdb 84051384b8 dist: Some work on getting PyQt5 dlls found on Windows
There is more work to do to get PyQt5 to work, however.
2021-03-12 00:36:42 +01:00
rdb 3fe1780f16 direct: Fix use of various deprecated APIs 2021-03-09 19:21:26 +01:00
Timothy Paustian 2493c0689f direct: Use warnings module for more verbose deprecation prints
Closes #1067
Fixes #669
2021-03-09 18:34:53 +01:00
rdb 8cbe36b352 Merge branch 'release/1.10.x' 2021-03-01 19:33:27 +01:00
rdb 89a1c8bff7 motiontrail: Fix issue building with C++20 2021-03-01 10:16:19 +01:00
Michael Wass 12e86bd842 direct: change some variables to not override language builtins/keywords
Closes #1120
2021-02-24 12:14:17 +01:00
rdb 7a838e7212 Merge branch 'release/1.10.x' 2021-02-24 12:14:04 +01:00
rdb ce437629c2 filter: Respect depth-bits from Config.prc 2021-02-24 11:48:10 +01:00
Michael Wass ea49c121a0 direct: fix TypeError caused by py3 division changes 2021-02-24 09:46:53 +01:00
rdb fb9b334d58 Merge branch 'release/1.10.x' 2021-02-17 10:57:30 +01:00
rdb 17341b18ed dist: Add PACKAGE_DATA_DIRS entry for pytz zoneinfo database 2021-02-16 12:35:44 +01:00
rdb 9cb3c7726f fsm: Support asynchronous transitions via coroutine enter/exit funcs
Fixes #1037
2021-02-08 16:18:28 +01:00
rdb cdad2c6e58 Merge branch 'release/1.10.x' 2021-02-08 16:18:24 +01:00
rdb 03b96edfbc interval: Fix ability to await Sequence objects 2021-02-08 16:16:20 +01:00
rdb 7b5280c0dd Loader: clean up callback awaiter code via Python 3.6+ syntax 2021-02-07 17:00:42 +01:00
rdb e8b4b6476c Merge branch 'release/1.10.x' 2021-02-07 15:01:36 +01:00
rdb 28615c6a9e interval: Support awaiting CInterval from coroutines
This is a partial implementation of #909 - it is somewhat inefficient (not suspending the task using a future) and does not implement cancellation.  A more complete implementation may follow in 1.11.0.
2021-02-07 12:40:58 +01:00
rdb 0ac97387fa dist: enable log_filename_strftime by default if % in filename
See #1103
2021-02-06 12:46:30 +01:00
rdb 5a4ff7f6c0 Merge branch 'release/1.10.x' 2021-02-06 12:37:54 +01:00
rdb f55cdd8907 dist: Support strftime-style date formatting in log_filename
Fixes #1103
2021-02-06 12:36:14 +01:00
rdb 613441060b Merge branch 'release/1.10.x' 2021-01-18 23:47:36 +01:00
rdb d043df7d4e task: Add delay= argument to taskMgr.add()
This has the same effect as doMethodLater, but slightly better describes what it does
2021-01-18 23:37:23 +01:00
rdb a270a55ccd dist: Add ignoreImports mechanism, prevents every app including numpy
Apparently a host of thirdparty packages currently get included by default, such as importlib.metadata -> toml -> numpy, and this is getting rather out of hand.  The ignoreImports mechanism provides a way for us to flag certain imports as being optional dependencies.

Also added is various "builtins" imports in Python 2.7 (which are all under version checks and would otherwise lead to the PyPI "builtins" package being included, which would pull in "future", etc.)
2021-01-18 23:33:39 +01:00
rdb ef6aa9d6ca directtools: Fix repeated selections causing scaling node to get huge
This appears to be a regression from 0fe56bd0a9, but I can't be sure.  Before this fix, repeated clicks of an object would cause the scaling handles to get larger and larger, until eventually causing NaN assertions.
2021-01-18 19:05:45 +01:00
rdb 68daa238b1 dist: Add some determinism support to bdist_apps
It's necessary to set PYTHONHASHSEED=0 as well as SOURCE_DATE_EPOCH for deterministic compilation, and moreover, the generated zip files do still have timestamps in them.
2021-01-18 19:02:42 +01:00
rdb 842452594d Merge branch 'release/1.10.x' 2021-01-17 17:28:19 +01:00
rdb b3f0768656 Revert "directtools: Fix empty scaling node of object handle"
This reverts commit b507c88cd9.
2021-01-17 15:40:47 +01:00
rdb e099d9e787 Merge branch 'release/1.10.x' 2021-01-02 02:33:35 +01:00
Daniel acbf265e54 direct: Fix actor initialization 2021-01-02 02:57:13 +02:00
rdb 52b4df4aec stdpy: Expose DEFAULT_PROTOCOL and HIGHEST_PROTOCOL in direct.stdpy.pickle 2021-01-01 17:41:34 +01:00
rdb 9cb129597c stdpy: pickle improvements
* Define __all__
* Define missing exception types
* clear_memo() now clears Panda-specific state as well
2021-01-01 15:58:51 +01:00
rdb a5557bc38d stdpy: Fix pickle sometimes duplicating Panda objects
We have to unify multiple Python wrappers pointing to the same C++ object.
2020-12-31 16:55:34 +01:00
rdb ae7eae10c5 makepanda: Remove old and obsolete gendocs scripts 2020-12-31 12:24:27 +01:00
rdb be9dde1eee direct: add .pylintrc, perform major code cleanup pass
Closes #989

Co-authored-by: Daniel Stokes <kupomail@gmail.com>
2020-12-31 01:36:23 +01:00
rdb cf60284ca9 Merge branch 'release/1.10.x' 2020-12-31 00:05:10 +01:00
rdb a6580f5dd3 physics: Fix GlobalForceGroup 2020-12-30 23:57:43 +01:00
rdb f1a171bfd8 particles: Fix writing representation of AngularVectorForce 2020-12-30 23:57:27 +01:00
rdb b6e8163f97 dist: Add remaining manylinux libraries to exclude_dependencies
Prevents getting errors about these being missing.
2020-12-30 23:57:27 +01:00
rdb e0309a98aa dist: Remove liblzma, libreadline and libbz2 from exclude_dependencies
These are not part of the manylinux specs, and actually needed by the Python _lzma, readline, etc. modules.

This fixes the problem that these dependencies are not being picked up automatically.
2020-12-30 23:57:27 +01:00
rdb 42580a81de dist: Add hidden imports for pandas 2020-12-30 23:57:27 +01:00
rdb b6809defec dist: Remove unused import 2020-12-30 23:57:27 +01:00
rdb c141bef19b stdpy: Add missing threading.ThreadError 2020-12-30 23:57:27 +01:00
rdb 2ce373b0da distributed: Assorted error fixes 2020-12-30 22:53:15 +01:00
rdb 20f38cad66 direct: Fix a few remaining uses of file() instead of open() 2020-12-30 22:35:24 +01:00
rdb b7124da4aa directutil: Fix use of removed file() 2020-12-30 22:34:44 +01:00
rdb f7bd54b9ee directtools: Fix use of builtin direct instead of base.direct 2020-12-30 22:34:44 +01:00
rdb 65c1ef968c stdpy: Add PicklingError to pickle module 2020-12-30 22:34:44 +01:00
rdb bc7063be42 filter: Change default sort to come after shadow passes
Fixes #1036
2020-12-29 17:31:15 +01:00
Mitchell Stokes 33d688ec08 bdist_apps: Allow specifying custom installers with entry points
The entry point is 'panda3d.bdist_apps.installers'. The installer will
get added to bdist_apps.installer_functions.

Closes #1060
2020-12-29 16:08:32 +01:00
Mitchell Stokes d015b7e2f1 bdist_apps: Support user-defined installers
Custom installers can be added by specifying a build function in
bdist_apps options:

'installer_functions': {
    'custom': custom_func
}

Installer functions must accept three arguments:

  * command - the bdist_apps setuptools command function (can be used to
        gather build information)
  * basename - name of the output file (minus extension)
  * build_dir - path to the directory containing the built application
2020-12-29 16:08:18 +01:00
rdb 6c3e13d19d dist: Remove version checks for Python versions before 3.5 2020-12-29 14:50:41 +01:00
rdb 25b79a2aef Merge branch 'release/1.10.x' 2020-12-29 14:44:56 +01:00
rdb 2c209e0f02 stdpy: Fix direct.stdpy.pickle module for Python 3 2020-12-29 13:05:00 +01:00
rdb b38e9d552a Merge branch 'release/1.10.x' 2020-12-28 16:26:48 +01:00
janEntikan 5dc5d009c1 extensions_native: fix missing include for subdivideCollision()
Closes #1084
2020-12-28 15:36:02 +01:00
rdb e7a6d735e3 dgui: Add "versionadded" to docstrings of newly added methods 2020-12-27 10:48:12 +01:00
rdb 2156e6deb2 Merge branch 'release/1.10.x' 2020-12-26 14:00:29 +01:00
rdb d5c2dc6447 dgui: Add setTextPos, etc. aliases for setPos
setPos will be deprecated in a future version.

See #1041
2020-12-26 13:59:19 +01:00
rdb 84a6e900af dist: Fix error using build_apps in Python 2.7 2020-12-25 00:24:01 +01:00