Commit Graph

24845 Commits

Author SHA1 Message Date
rdb 62d072cfb4 downloader: Remove unused HTTPChannel::request_path member 2021-02-14 17:28: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 2187ebaaa0 samples: Slight style tweaks to Roaming Ralph 2021-02-08 16:15:51 +01:00
rdb 7b5280c0dd Loader: clean up callback awaiter code via Python 3.6+ syntax 2021-02-07 17:00:42 +01:00
rdb a64dcd7c5d event: (BREAKING CHANGE) bare yield in task now means "cont"
This is more useful and consistent; you can after all just use "return" to end the task, whereas you can now just use "yield" to continue the next frame rather than "yield Task.cont".

This is a follow-up to f6b39345f7, which already enabled this behavior when an __await__ (that is awaited from a task) yielded None.
2021-02-07 15:14:04 +01:00
rdb e8b4b6476c Merge branch 'release/1.10.x' 2021-02-07 15:01:36 +01:00
rdb 8c8a73a1a7 event: Fix compilation with Python 2.7 2021-02-07 14:49:10 +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 f6b39345f7 event: don't exit task if future __await__ yields None
This matches the behavior of asyncio's Task implementation, where this is the equivalent of `yield Task.cont`.

I've kept regular generator tasks unaffected for now, since this might break existing usage.
2021-02-07 12:38:16 +01:00
rdb 3657eb9bce glgsg: Support texture transforms in default shader 2021-02-06 19:36:50 +01:00
rdb 64f0414f57 Merge branch 'release/1.10.x' 2021-02-06 19:36:39 +01:00
rdb af60f8200e glgsg: Gracefully degrade when using 64-bit float in OpenGL ES 2021-02-06 19:35:48 +01:00
rdb 926af198a8 deploy-stub: Fix compilation error 2021-02-06 19:14:25 +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 c5568c3d5f collide: Improve CollisionSphere viz, add outline 2021-02-06 01:25:07 +01:00
rdb c73c94c862 Merge branch 'release/1.10.x' 2021-02-06 01:23:34 +01:00
rdb 068ceaaf58 event: Clear exception flag after trying asyncio exception import 2021-02-06 01:21:52 +01:00
rdb 3052bcf289 pnmimagetypes: Remove vestigial init_pnm() call 2021-02-06 01:20:44 +01:00
rdb 5095778324 Update BACKERS.md
[skip ci]
2021-02-06 01:19:00 +01:00
rdb c89631488b prc: Add properties to ConfigPageManager 2021-02-05 23:51:25 +01:00
rdb 642f4a4e55 bullet: Implement make_copy() for BulletGhostNode 2021-02-05 23:48:41 +01:00
Stephen Imhoff cc4701d299 Add ability to persist ghost nodes. 2021-02-05 20:31:10 +00:00
Stephen Imhoff a9f3940577 Add bullet ghost node test 2021-02-05 20:31:01 +00:00
rdb 25e7e20ccd Update BACKERS.md
[skip ci]
2021-02-05 01:33:26 +01:00
rdb 492cce8a49 event: Compile out threaded code when compiling without HAVE_THREADS 2021-02-03 13:29:28 +01:00
rdb 8c2b3c3192 pgraph: Add missing InstancedNode::CData type handle 2021-02-03 13:27:07 +01:00
rdb a1e4cf059f glgsg: Fix attempt to detect glTexStorage1D in OpenGL ES 2021-02-03 12:53:20 +01:00
rdb 60f3ac5163 gobj: Assert instead of crash when printing unresolved GV(A)D 2021-01-30 20:06:32 +01:00
rdb 79dae16a2c glgsg: Show error for unrecognized p3d_TextureXYZ input 2021-01-30 20:05:36 +01:00
rdb b1942e8065 collide: Add wires to CollisionBox viz
This should make it a lot easier to see the box as opposed to looking at a continuous white shape.
2021-01-30 13:52:03 +01:00
rdb 06921aba93 CMake: replace "CVS" with "Git" 2021-01-18 23:50:08 +01:00
rdb 243fd10db0 CMake: Set PANDA_BUILD_DATE_STR if SOURCE_DATE_EPOCH is set
Adds CMake support for the 54638bfc10 change.

One thing to note, compared to makepanda, is that CMake doesn't automatically rebuild the file if this env var is changed.
2021-01-18 23:49:03 +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 29cdd78c4e mathutil: Fix scaling BoundingSphere to infinite causing assertions
This error occurs when a BoundingSphere with a large radius is scaled by an even larger radius such that the radius becomes infinite.  In this case, the BoundingSphere should be properly marked as infinite so that it behaves properly (and doesn't cause other assertions down the line).
2021-01-18 19:03:00 +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 f902eb7990 makepanda: Revert use of f-strings for now
This causes a syntax error for unsupported Python versions, which prevents display of the error message that tells people they are using a too-old Python version
2021-01-18 17:16:53 +01:00
rdb 54638bfc10 dtoolutil: Allow overriding PandaSystem::get_build_date()
This is useful to create bit-for-bit reproducible builds.  In the buildbots, we set it to the timestamp of the latest commit.
2021-01-18 16:41:22 +01:00
rdb 6520b68c2c progbase: respect SOURCE_DATE_EPOCH in -write-man option 2021-01-18 16:41:04 +01:00
rdb 3e1d98c105 multify: Respect SOURCE_DATE_EPOCH variable when used from command-line
That said, we should probably encourage the use of -T0 (which doesn't write out timestamps to begin with).
2021-01-18 14:16:25 +01:00
rdb 0b53355347 interrogate: respect SOURCE_DATE_EPOCH setting for file identifiers
This can be used to ensure that the build is bit-for-bit reproducible.

See https://reproducible-builds.org/docs/source-date-epoch/
2021-01-18 02:34:16 +01:00
rdb f392cc9fe6 dtoolutil: Mark PandaSystem::get_build_date() as deprecated
It results in the build not being reproduceable.
2021-01-18 00:52:04 +01:00
rdb 1f106a0a2a makewheel: Support deterministic wheel creation via SOURCE_DATE_EPOCH
Setting SOURCE_DATE_EPOCH to a UNIX timestamp will clamp all dates to that, which enables bit-for-bit recreation of wheel files (assuming the sources are also bit-for-bit identical).  Furthermore, files are sorted when added, to avoid filesystem indeterminism.
2021-01-18 00:19:56 +01:00
rdb ef4b1d5721 glgsg: Fix compile error with OpenGL ES 1 2021-01-18 00:19:39 +01:00