Commit Graph

8062 Commits

Author SHA1 Message Date
David Crompton 581f374ba6 Notifier: Add custom exception type for Notifier.error 2023-01-10 23:15:20 +01:00
David Crompton cd6ad8285e ShowBase: Add a private DirectObject to allow use of base.accept for window-events 2023-01-10 21:50:20 +00:00
Cary Sandvig b10b49bd6b fix SocketStream::flush() covariant 2023-01-03 11:48:36 -05:00
rdb cfd18bb16f display: Add support for asynchronous screenshot download 2022-12-26 20:01:38 +01:00
rdb 92185bcb28 Merge branch 'release/1.10.x' 2022-12-19 16:42:29 +01:00
rdb eafcfe1d70 motiontrail: Fix Python implementation error in double-prec mode 2022-12-19 15:17:19 +01:00
rdb aa852973f7 motiontrail: Switch usage_hint for geometry to `UH_stream`
Seems to better match the actual usage.
2022-12-16 20:16:14 +01:00
rdb e08a502c88 motiontrail: Calculate bounding volume much more efficiently
A lot of time was going into updating the bounding volume.
2022-12-16 20:15:13 +01:00
rdb 32297ecd02 showbase: Fix some members not showing up in API documentation 2022-12-16 19:37:49 +01:00
rdb 42372e139c motiontrail: Update API documentation 2022-12-16 19:37:28 +01:00
rdb c366dab405 motiontrail: Further cleanup of CMotionTrail code 2022-12-16 18:18:12 +01:00
rdb 8354e175cf Merge branch 'release/1.10.x' 2022-12-16 17:36:04 +01:00
rdb 19186781f3 motiontrail: Clean up and optimization of C++ implementation 2022-12-16 16:14:06 +01:00
Daniel 24c14296c0 direct: Clean up broken usage of "types" module with Python 3 2022-12-15 20:29:33 +01:00
rdb cce46b5edb motiontrail: Set `start_color` and `end_color` in `add_vertex()` 2022-12-15 20:23:55 +01:00
rdb 5912630e01 Merge branch 'release/1.10.x' 2022-12-15 19:59:00 +01:00
rdb 8ab37b8804 motiontrail: Add easier way to call `add_vertex()`
Currently, you must pass in a function, which is a little awkward compared to just passing in a position.  Now you can just pass in a vertex position, similar to the C++ interface.
2022-12-15 17:58:46 +01:00
rdb 154223d075 motiontrail: Clean up and document MotionTrail class 2022-12-15 17:58:23 +01:00
rdb e1b4083d6d Merge branch 'release/1.10.x' 2022-12-12 17:19:10 +01:00
rdb 1375d38725 showbase: Fix assorted issues with GarbageReport:
* Use of removed `types.InstanceType`
* New-style classes are not reported very neatly
* Extreme amount of digits in report due to float division

Fixes #1304
2022-12-09 17:34:27 +01:00
rdb 5fcc04ba7f distributed: Change `gc-save-all` to 0 by default
Fixes #1407
2022-12-07 13:54:47 +01:00
rdb 5f3f2339e6 dist: Drop egg2bam handler, add egg/gltf/glb to bam_model_extensions
See #714
2022-12-06 20:04:45 +01:00
rdb c82f95ad6b Merge branch 'release/1.10.x' 2022-12-06 20:02:35 +01:00
rdb 3f3fd74f86 dist: Use Panda loader system for converting models to .bam
Set bam_model_extensions in order to specify which formats are automatically converted to .bam

Fixes #714
2022-12-06 19:41:00 +01:00
rdb 765d76740d dist: Use manylinux2014_x86_64 for linux_x86_64 alias on Py 3.11 2022-12-06 19:37:38 +01:00
rdb 32ebe11b06 dist: Add an option to retain docstrings in compiled Python code
Fixes #1341
2022-12-06 15:21:39 +01:00
rdb ffbfdb22e0 dist: Add `prefer_discrete_gpu` option to force use of dedicated GPU
Currently only implemented on Windows.

Fixes #680
2022-12-06 15:20:57 +01:00
rdb ecbd262ac4 dist: Always use manylinux2014 for Python 3.11+, add manylinux_2_28 2022-12-06 14:43:47 +01:00
rdb 95a77e4f75 showbase: Add `do_events()` and `process_event()` snake_case aliases 2022-12-06 12:57:02 +01:00
rdb 867f60dcca pstats: Rename "Show code" collector to "Tasks"
Also remove outdated definitions from pStatProperties.cxx
2022-11-29 20:50:18 +01:00
rdb 9bd66baa1c Merge branch 'release/1.10.x' 2022-11-21 19:02:50 +01:00
rdb 03d411c937 dist: Workaround to disable autodiscovery in setuptools>=61.0.0
See #1394 - creates a new finalize_distribution_options entry point that makes sure that either `py_modules` or `packages` is present, otherwise setuptools  will activate its new auto-discovery system, even for custom commands that don't need setuptools' discovery system.

However, this is not a great solution, because it applies when running all setuptools commands, not just build_apps.
2022-11-19 13:14:18 +01:00
rdb 68111b2c42 Merge branch 'release/1.10.x' 2022-11-07 18:05:03 +01:00
Erica M. ("Loonatic") 40618e104d chore: Remove extraneous print statement
There's no reason why this should be printed out by default. It can create a lot of spam in the output when utilizing this module.

Fixes #1383
2022-11-07 13:01:59 +01:00
rdb 316b0009ae Merge branch 'release/1.10.x' 2022-10-31 23:10:39 +01:00
rdb e0c3c8a8d9 filter: Add docstring for CommonFilters.setMSAA
[skip ci]
2022-10-25 17:51:32 +02:00
rdb 9768cbb6c2 Merge branch 'release/1.10.x' 2022-10-25 16:44:24 +02:00
rdb a71b417aec filter: Add "MSAA" filter to CommonFilters
This provides an easy way to enable MSAA for the offscreen color buffer only without having to enable it on the main window.

When using this filter, it is important to have framebuffer-multisample turned off in Config.prc.
2022-10-25 16:26:30 +02:00
rdb 14f08361ce Merge branch 'release/1.10.x' 2022-10-24 13:24:03 +02:00
rdb 2396bd26dc deadrec: Fix compiler warning 2022-10-23 17:01:02 +02:00
rdb 00de2771fc dcparser: fix Python 3 regression unpacking uint types
Backport of d1d0dab990 (#1380)

Co-authored-by: Nat <56046513+NathaanTFM@users.noreply.github.com>
2022-10-22 10:31:26 +02:00
Nat d1d0dab990
dcparser: fix uint32s being signed on Windows 2022-10-21 23:44:32 +02:00
rdb 7c4e2660a4 actor: Minor style improvements 2022-10-20 20:58:17 +02:00
rdb 79bd743957 Merge branch 'release/1.10.x' 2022-09-02 23:14:15 +02:00
LD e30d88d9db showbase: Fix regression with BufferViewer in double prec build
Regression was introduced in 98314da00f

Use explicitly Vec3F in calls to addData3f to avoid crash on double precision builds

Closes #1365
2022-09-02 23:08:07 +02:00
rdb 2bd34a806d dist: Add hidden imports for scipy 2022-09-02 07:54:34 +02:00
rdb ba8c1f0325 dist: Fix finding sysconfigdata module in Python 3.6 and 3.7
Also fix fatal error when sysconfigdata module isn't found (may be use of older wheels), just report it as a missing module

Fixes #1326 for Python 3.6 and 3.7
2022-08-31 13:50:10 +02:00
rdb cf04a04e32 Merge branch 'release/1.10.x' 2022-07-24 21:43:09 +02:00
Derzsi Dániel 89ee20bcf7 distributed: Import inspect only during DC file read
Closes #1336
2022-07-24 21:40:11 +02:00
rdb 20334cce05 Merge branch 'release/1.10.x' 2022-06-29 19:09:59 +02:00
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