25328 Commits

Author SHA1 Message Date
rdb
6419acb56f actor: Fix deadlinks to renamed manual page in API reference 2021-12-04 20:37:50 +01:00
rdb
985ec3061c makepanda: Fix deprecated spelling for threading API
The new spelling is available since Python 2.6, so there is no chance of breakage here.
2021-12-04 20:37:14 +01:00
rdb
11edd1a0dc ffmpeg: Change thread to use lambda 2021-12-01 11:34:48 +01:00
rdb
b1b05c2be9 thread: Allow arbitrary std::function (incl. lambdas) in GenericThread 2021-12-01 11:31:45 +01:00
rdb
37b45a010d gobj: More efficient tracking of simple image changes
Remove the separate simple_image_modified field, instead, the image_modified value is updated if the simple image is changed while there is no RAM image.

This robustifies the tracking on the GSG end, which previously ended up repeatedly calling upload_texture() unnecessarily
2021-11-30 10:56:48 +01:00
rdb
fa0ea312ea gobj: Move TextureReloadRequest to new Texture::async_ensure_ram_image()
The task is implemented with just a simple lambda, much more compact than a whole TextureReloadRequest task.  The latter is now deprecated.

Since Loader can't be used within Texture, there's now a new task chain, configurable with texture-reload-num-threads and texture-reload-thread-priority.  This does mean that it no longer happens on the same thread as model loads, but I think that's fine, and perhaps texture reloads should be higher priority than model loads anyway since a long texture reload delay with allow-incomplete-render directly and negatively affects user experience during gameplay.

The new name also better communicates that it just calls get_ram_image(), it doesn't force a reload, but we could add an async_reload() for that if we want.
2021-11-30 10:34:00 +01:00
rdb
9e7ca63662 Add missing @since to docstrings of some new methods 2021-11-29 16:02:22 +01:00
rdb
b42fd4ee4f makepanda: Don't copy over old Python 2-only Pmw versions 2021-11-29 14:50:01 +01:00
rdb
ab9830b6ff egg-qtess: Squelch compiler warning 2021-11-29 14:49:41 +01:00
rdb
653cc3e091 event: Support C++11 lambdas as event handlers
It's unfortunate that we now have three maps on EventHandler for three different types of functions.  I'd love to unify them all under std::function, but the fact that it doesn't support comparison means the behavior would be different.

Perhaps in the future we can create a new interface or deprecate the existing behaviors and unify everything under std::function.
2021-11-29 14:48:06 +01:00
rdb
4af5bc9e6d event: Support lambdas as tasks via new FunctionAsyncTask
This is intended to replace GenericAsyncTask.
2021-11-29 14:47:44 +01:00
rdb
7dab0df061 cmath: Fix compilation error on macOS with sincos 2021-11-28 16:48:45 +01:00
rdb
c980643649 chan: Lock PartBundle while binding animation
This seems like the right thing to do that could prevent some potential race conditions; let me known if this is breaking anything.
2021-11-28 16:21:59 +01:00
rdb
480226a97a cmath: Use combined sincos on GNU where it is available 2021-11-28 16:14:36 +01:00
rdb
78fb565f2b Merge branch 'release/1.10.x' 2021-11-28 16:14:18 +01:00
loonaticx
15c84afbe9 doc: Improve egg syntax documentation
[skip ci]

Closes #1199
2021-11-28 16:12:44 +01:00
rdb
980399d142 event: Expose ButtonEvent to Python 2021-11-28 14:36:20 +01:00
rdb
2abf867203 gobj: Don't load textures when loading bam file if preloading is off
This is wasteful (especially when the bam file already has the simple RAM images baked in if needed) since we are throwing away the texture data right away anyway.  Just locate it on disk, it will be loaded later when it is needed.

Fixes #1208
2021-11-28 14:04:41 +01:00
rdb
c0a9123dde gobj: Fix TextureReloadRequest not reloading in certain situations
This prevented async texture loading from working unless mipmapping was enabled
2021-11-28 14:01:33 +01:00
rdb
5eaa67fbc9 gobj: Add TexturePool::get_texture() for querying tex from pool 2021-11-28 14:00:59 +01:00
rdb
5cad0eb973 glgsg: Don't use simple RAM image in shaders for non-sampler2D types
Simple RAM images are always 2D right now, so this would otherwise cause an error.
2021-11-28 13:59:46 +01:00
rdb
8f9d23ff29 linmath: Remove redundant sin() calculation in LQuaternion 2021-11-28 13:58:13 +01:00
rdb
54de9f9fa4 glgsg: Fix possibility of simple RAM image going out of scope 2021-11-28 13:57:20 +01:00
rdb
ea61e53ab2 event: Fix ButtonEvent docstring 2021-11-28 13:56:55 +01:00
rdb
13db762a33 makepanda: Add missing version of Windows 10 SDK 2021-11-28 13:56:21 +01:00
rdb
6adb6be4b5 egg2pg: slight comment cleanup in characterMaker.cxx
[skip ci]
2021-11-16 17:55:32 +01:00
rdb
3aa77a1260 framework: Fix unnecessary ternary check 2021-11-16 17:31:27 +01:00
rdb
9ebfef4b83 pgraph: Change TransformState hashing not to require grabbing lock
Instead, set it atomically, with a special hash value used instead of a flag for indicating that the hash is not known.
2021-11-16 17:30:36 +01:00
rdb
60c5589671 pgraph: Optimize handling/checking of identity/invalid transforms 2021-11-16 17:30:36 +01:00
rdb
fac6916151 pgraph: Major traversal optimizations
In particular, these optimize the traversal of nodes that are not in view, which are discarded more efficiently.
This change affects both the cull and collision traversers.
2021-11-16 17:30:33 +01:00
rdb
df7892b683 dtoolutil: Fix _WIN32 macros that should be _MSC_VER 2021-11-16 16:35:13 +01:00
rdb
20e4704be2 Merge branch 'release/1.10.x' into incoming 2021-11-16 16:35:08 +01:00
rdb
0f7a575ac0 bullet: Add bullet-split-impulse config variable
Fixes #1201

Co-authored-by: K9Kraken <K9Kraken@users.noreply.github.com>
2021-11-16 15:16:25 +01:00
rdb
b6e5217154 ai: Add name property to AICharacter class
Closes #1205
2021-11-16 15:10:15 +01:00
rdb
ab6d3b2e15 gobj: Show better error if calling tex.write() with unknown extension 2021-11-16 15:04:46 +01:00
rdb
32584f0a68 pgraph: Fix prepare_scene() not properly invoking the shader generator 2021-11-09 15:46:14 +01:00
rdb
77710bb813 workflow: Change Ubuntu Xenial builder to Bionic 2021-11-02 15:35:54 +01:00
rdb
cf681eb8dd bullet: Clean up fix for #1193
See ad7cbcd4ec447d4423e05b0e0b813327bd722bf3
2021-11-02 15:34:26 +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
04c6636744 pgraph: Add some missing properties to PlaneNode 2021-11-02 15:02:40 +01:00
rdb
9587965c5d bullet: Add some API documentation strings for BulletDebugNode 2021-11-02 15:02:14 +01:00
rdb
c1888ba437 makepackage: Add Python 3.11 to installer.nsi 2021-11-02 15:01:42 +01:00
rdb
e87a2a1f0f showbase: Fix typo in API reference 2021-11-02 15:01:18 +01:00
rdb
c1bb28b6d8 workflow: Update Ubuntu builder to 18.04 2021-11-02 14:08:27 +01:00
Fireclaw
3d8f824081 Add Distributed Network samples
1: Simple client-server connection
2: Client-server connection with timeManager
3: Create distributed objects, sending and receiving messages
4: Distributed model file
5: Simple text chat
6: Simple smooth moving actor
2021-10-28 09:54:17 +02:00
rdb
ad7cbcd4ec bullet: Fix memory leak getting persistent manifolds from Python
These classes ought to be returned by value. Cleaner fix will be in master.

Fixes #1193
2021-10-27 11:20:19 +02:00
rdb
a4ea476cce linmath: Implement read-only buffer protocol support for vectors
Fixes #1194
2021-10-27 10:53:35 +02:00
rdb
77c6bc199d gobj: Remove unused member variable from TexturePeeker 2021-10-27 10:46:43 +02:00
rdb
b7b2ce0cd6 Replace FreeNode with Libera Chat
[skip ci]
2021-10-26 18:06:18 +02:00