Commit Graph

8035 Commits

Author SHA1 Message Date
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