Commit Graph

10615 Commits

Author SHA1 Message Date
rdb 833f778cb7 pnmimage: add quantize feature to reduce number of colors in image 2019-08-28 22:44:16 +02:00
rdb f63b3a86b9 loader: add LoaderFileTypeRegistry.unregister_type() 2019-08-20 13:23:11 +02:00
rdb c2f49f4c4a loader: a few additional checks for Python loader plug-ins 2019-08-20 13:23:11 +02:00
rdb 6364485b49 ffmpeg: fix an unprotected debug print 2019-08-19 21:58:08 +02:00
rdb 818ed57894 linmath: work around obscure MSVC optimization bug with Eigen 2019-08-18 18:07:00 +02:00
rdb 1e846709d3 Add various @since tags to methods that are new in 1.10.4 2019-08-17 13:49:47 +02:00
rdb 0e27f19d94 bullet: fix various unprotected debug() prints 2019-08-14 15:07:06 +02:00
rdb c54f964a3b bullet: workaround for deadlock adding shape to scaled body (#689) 2019-08-14 14:38:58 +02:00
rdb acb0a41049 ode: fix several unprotected debug() prints
This should especially help with trimesh generation performance, which previously formatted a complete description of the trimesh to the debug output even if it was disabled.
2019-08-14 13:11:02 +02:00
rdb 8f9d0ab6f6 pgraph: fix some TextureAttrib state cache issues
The _render_stages and _render_ff_stages cannot simply be copied, because they contain pointer references to the previous TextureAttrib.  Never copy them, and always mark _sort_seq as stale.

This fixes a test failure in replace_texture.
2019-08-13 18:08:48 +02:00
rdb 8be70ed16d glgsg: auto convert to srgb(a) if sluminance not supported
This is particularly the case when requesting a core-only profile (gl-version 3 2) where luminance textures are deprecated.

There is apparently no way to emulate them with swizzles (as we do with luminance textures), so we'll have to duplicate the channels out.

Fixes #693
2019-08-12 21:04:48 +02:00
rdb dc599901bc Work around shutdown hang when compiling with SIMPLE_THREADS=1
This is a workaround for a specific case of #508
2019-08-12 19:37:11 +02:00
rdb 932e981572 device: fix deadlock when building with SIMPLE_THREADS=1
GetMessage blocks without yielding, so we need to use an alternative message pump using PeekMessage instead.

Fixes #704
2019-08-12 19:34:17 +02:00
rdb 42dff65e4d general: fix various unprotected debug() outputs
These should be protected by an is_debug() check so that they can be optimized out properly in a release build.  Setting check-debug-notify-protect in Config.prc can be used to track down cases of missed checks.
2019-08-03 10:33:43 +02:00
Mitchell Stokes f2686c5ad8 glsl: Fix Shader::_error_flag not being set on compile errors (#622) 2019-08-01 12:14:31 +02:00
rdb 7f385b5ddf glsl: fix use of multiple p3d_TextureMatrix[] values 2019-07-30 19:30:15 +02:00
rdb 5449f963a5 loader: fix leak of EntryPoint.name reference 2019-07-30 19:29:18 +02:00
rdb aea5ee8c7a task: work around MSVC compiler bug crashing test suite in release mode 2019-07-30 18:38:16 +02:00
rdb 93ed9632ac loader: fix incorrect EXPCL that prevents compilation on Windows 2019-07-30 13:28:10 +02:00
rdb 7b9f87412a loader: support Python loader plug-ins
This allows defining custom loader types from Python code.  Packages can use metadata entry points to register file types with the loader.

Example code: https://gist.github.com/rdb/cb3c2f4a98ce371c722e3f297b445153
2019-07-30 13:04:46 +02:00
rdb f989bce584 wgldisplay: don't restore gamma atexit if we never modified it
This avoids possible instability (see #685) when this feature isn't even used
2019-07-29 17:05:36 +02:00
rdb 224a32090f task: fix other task chains still running after exception occurs
A task returning DS_interrupt would only interrupt the current task chain, not the entire task manager.  This meant that other tasks might get run with an exception state set, causing the exception state to get stomped on or the Python interpreter to complain.

Fixes #692
2019-07-26 08:30:16 +02:00
rdb 9dd35f9c3a gobj: default current_thread arg for Geom.get_animated_vertex_data() 2019-07-16 13:40:14 +02:00
rdb 23232a5b20 pgraphnodes: fix assert when analyzing geoms with strip cut index 2019-07-15 19:42:33 +02:00
rdb ce6d02b8d7 egg: remove unused matrix_2d variable 2019-07-15 14:54:55 +02:00
rdb 11990833fe text: fix compilation warnings with implicit int->char32_t cast 2019-07-10 11:20:15 +02:00
rdb 4bb31029f0 pgraph: fix ScissorAttrib compare (fix flickering DirectScrolledFrame)
Fixes #681
2019-07-10 11:14:54 +02:00
rdb bac376541f pgraph: add NodePath.replace_texture() 2019-07-10 09:53:42 +02:00
rdb ab238bd153 gobj: support non-affine transformations in calc_tight_bounds
This makes it possible to get the 2D bounding volume of an object as it appears on screen.
2019-07-10 09:30:16 +02:00
rdb 291f3825f4 ffmpeg: fix rare "bad src image pointers" after seek
Fixes #391
2019-05-13 13:53:34 +02:00
rdb f183d901cb bullet: sync rigid body transform when node is reparented
Reparenting a node will change its net transform, so it should cause a transform sync.

Fixes #629
2019-05-13 13:53:33 +02:00
rdb 750afbb188 device: Linux fixes for Trust GXT 24 and a few other cheap gamepads
Fixes #576
2019-05-12 20:34:19 +02:00
rdb c1c74e2cd3 mathutil: add some more assertion checks to PerlinNoise2 2019-05-12 19:22:26 +02:00
rdb f25532db78 glgsg: properly handle shader compilation failure
Fixes #645
2019-05-03 20:49:08 +02:00
rdb 0568312324 windisplay: add config var to disable Ctrl+V behaviour
Fixes #512
2019-05-03 19:41:27 +02:00
rdb 54c6eaeb96 pgui: allow keyboard keys to be added as PGButton click buttons
These will respond as clicks not when the mouse cursor is hovering over them, but when they have keyboard focus.

Fixes #600
2019-05-03 19:22:21 +02:00
rdb 475bd55bb1 glgsg: add gl-forward-compatible config variable
This is meant to be used alongside gl-version to request a "forward compatible" OpenGL 3.0 or 3.1 context, which removes support for deprecated features such as the fixed-function pipeline.
2019-05-03 15:46:01 +02:00
rdb 53612512d5 glgsg: more reliable check for core/compat profile
Fixes #643
2019-05-03 15:43:20 +02:00
rdb 7f0ac22ca5 device: fix mappings for various generic gamepads on Windows
See also #576
2019-05-02 21:32:31 +02:00
rdb cc4d5259cc linmath: fix mat4.get_col3() and mat4.get_row3() when using Eigen 2019-05-02 19:40:23 +02:00
Sebastian Hoffmann 16c3ca5c87 device: Fix swapped axes on right stick for Jess Colour Rumble Pad
Closes #639
2019-05-01 17:19:18 +02:00
rdb d9d30cdfd2 collide: compat for typo'ed respect_prev_transform property in 1.10 2019-04-29 22:29:36 +02:00
rdb 333db2b17e movies: fix compilation issue in MSVC 2015 2019-04-29 22:28:59 +02:00
rdb fa1ff3d489 movies: fix for loading unseekable Opus files
Same fix as 00b3fbdb1a but for Opus files.
2019-04-29 11:41:13 +02:00
rdb 2c55663472 movies: allow seeking compressed Ogg Vorbis file to beginning 2019-04-29 11:39:30 +02:00
rdb a726592244 movies: support looping compressed .wav files
Any kind of skipping is supported on any kind of stream, actually, but some uses may require reopening the file and skipping some number of bytes, so a warning will be displayed in some cases.

I figure this feature is particularly interesting for .wav files since they are (1) often used for short samples, where skipping bytes is not really a big deal, and (2) aren't inherently compressed so would benefit particularly from zlib compression.
2019-04-29 10:48:04 +02:00
rdb 00b5faca2d ode: add OdeBody.joints property 2019-04-29 01:06:44 +02:00
Rishabh Tewari bfb50ab7ff device: don't crash on Linux if no devices are found
Fixes #634
Closes #635
2019-04-29 00:32:34 +02:00
rdb 00b3fbdb1a movies: fix for loading unseekable ogg vorbis files
Now, compressed/encrypted ogg files will properly be detected as unseekable, and will still be able to be played.
2019-04-28 22:57:06 +02:00
rdb ca5b4e7b54 ode: fix OdeJoint.attach with None parameters
Fixes #633
2019-04-28 22:29:29 +02:00