Commit Graph

10440 Commits

Author SHA1 Message Date
rdb e2574af82d collide: create compatibility header collisionTube.h
This is a separate commit from the previous one in order not to confuse Git's rename tracking.
2018-12-23 22:28:12 +01:00
rdb bd6ef2b0ea Rename CollisionTube to CollisionCapsule (bam 6.44)
Adds ability to register "obsolete" names for certain types under older .bam versions, so that we are still able to write out old .bam files.

Fixes #347
2018-12-23 22:28:06 +01:00
rdb b40ecd6c51 general: fix some old-style docstring comment blocks 2018-12-23 16:27:08 +01:00
rdb 729a2364bc windisplay: remove unused WHQL stuff 2018-12-23 16:25:29 +01:00
rdb 9035b4a610 pgraph: don't bother calling xform() on empty BoundingVolume 2018-12-19 20:56:42 +01:00
rdb 837d3d6b6d tform: add properties to MouseWatcherRegion 2018-12-19 20:54:48 +01:00
rdb cbda6166a8 tform: fix MouseWatcherRegion area calculation
Fixes #233
2018-12-19 20:54:34 +01:00
rdb daa3100bf1 pgraph: mark TransformState as invalid in destructor
This, in combination with ebef9f3de8, makes it easier to catch issues in code that is accidentally letting get temporary TransformState objects get destroyed.  It does not affect release builds.
2018-12-19 20:47:57 +01:00
rdb ebef9f3de8 pgraph: add assertions to prevent invalid TransformState
If this commit is causing crashes in your code, it is probably exposing a bug in some other system that is assigning bad TransformState objects.
2018-12-19 20:45:57 +01:00
rdb 5cafe8552b gobj: add F_rg, F_rg16, F_rg32, F_rgb32 to TexturePeeker 2018-12-19 20:26:51 +01:00
rdb 840f28ef18 glgsg: fix framebuffer_copy_to_ram format for float framebuffers 2018-12-19 12:43:39 +01:00
Mitchell Stokes 8dcb735f2b x11display: Release M_relative mouse when window loses focus
Fixes #480
2018-12-18 19:43:37 -08:00
rdb 11526852ed glgsg: add ability to get red/rg-only floating-point renderbuffers 2018-12-18 20:00:59 +01:00
Derzsi Dániel b7d638e53d
pgraph: fix BillboardEffect regression with older models
In older BAM files (version <= 6.42), _fixed_depth will have an uncertain value after loading, leading to incorrect transform calculations, which cause rendering issues (see issue #474)
2018-12-18 16:49:00 +02:00
rdb 6b8814f9c9 mathutil: add some properties for bounding volumes 2018-12-16 21:03:43 +01:00
rdb 65a86d1b3f shader: warn if GLSL shader does not contain #version line
Shaders without #version line (which are supposed to indicate GLSL 1.10) will be interpreted differently by different drivers, so this is almost certainly a mistake.  In the future, we can forbid this altogether or insert #version 110 automatically.
2018-12-16 21:01:38 +01:00
rdb 73452957ee gobj: better handle NaNs in vertex data when calculating bounds 2018-12-16 20:43:30 +01:00
rdb a17ac6516c pgraph: fix regression in 89236ac136 2018-12-09 20:19:40 +01:00
rdb b5b77e5956 pgraph: fix issues with serializing empty NodePaths 2018-12-09 20:16:55 +01:00
loblao 68b7986557 NodePath: Implement replace_material
Closes #472
2018-12-09 19:05:25 +01:00
rdb 4213e0a50a Remove awesomium (see #440) 2018-12-09 15:53:23 +01:00
Mitchell Stokes a5ad186a66 x11display: Do not grab the mouse in confined mode when the window does not have focus 2018-12-08 17:21:59 -08:00
rdb ca9ad5f174 pgraph: fix ignored fixed_depth parameter 2018-12-07 00:57:21 +01:00
rdb 89236ac136 pgraph: fixed-depth billboards, bam additions (6.43)
This makes it possible to use BillboardEffect to specify a fixed distance to the camera, in order to keep them at a fixed apparent size.

This also enables serialization to .bam of the reference NodePaths of BillboardEffect and CompassEffect.
2018-12-06 23:52:58 +01:00
rdb b38faadf5f bullet: restore behavior of in_contact flag
c18abad8c3 added a call that resets the m_isInContact flag, so this resets it, for better or worse.  We may want to revisit whether #349 was indeed the right fix to #250.

Fixes #453
2018-12-06 22:29:09 +01:00
rdb 3adc7d977e glgsg: fix compilation in double-precision mode 2018-12-04 16:16:05 +01:00
rdb fb8a2f2af0 Revert "openal: Grab volume from manager instead of assuming max volume."
This reverts commit 7fb30ae070.

See #64 for discussion.
2018-12-04 15:54:02 +01:00
rdb 3c6b6e47ec glgsg: don't call glLineWidth with higher value than maximum
Officially, in core profile OpenGL 3.2+, calling it with a value higher than 1.0 is an error, but many vendors seem to let us.  Apple's implementation does not.  It appears that checking the maximum line width is a way to deal with this.

Fixes #466
2018-12-04 15:53:56 +01:00
rdb 301957c591 gobj: improve performance of GeomPrimitive::make_nonindexed()
It now no longer has to create two GeomVertexArrayDataHandle objects for every vertex it visits.
2018-12-04 12:36:03 +01:00
Donny Lawrence 8a0f438156 Get rid of the flickering that occurs on Mojave as a result of changes in the way AppKit handles view layers. 2018-12-03 23:05:05 -05:00
Younguk Kim ad8a6b4a88 display: fix pointer casting in get_pointer() 2018-12-02 14:44:40 +09:00
rdb 7ed8b01a84 Merge branch 'input-overhaul' 2018-11-30 22:04:13 +01:00
rdb 585ba2d647 Prepare input API for multipointer support 2018-11-30 20:54:37 +01:00
rdb 29170278e9 device: a few InputDevice API tweaks
find_button() and find_axis() should not error since there is no way to find out whether a button/axis exists or not
2018-11-30 20:54:35 +01:00
rdb 2087d8ee84 device: change InputDevice enums to enum classes 2018-11-30 20:41:06 +01:00
rdb cc08bacec5 cocoa: fix compilation error 2018-11-30 17:13:35 +01:00
David Staer aa750f4046 Fix BulletCapsuleShape creation from Panda CollisionTube
Functions get_point_a() and get_point_b() appear to return the top of the cylinder section of the tube, not the tip of the endcap, making subtracting the radius unnecessary.
2018-11-29 23:24:09 +08:00
rdb 97d4e32a06 general: use nassert_raise instead of nassertv(false) et al
Even a brief error message in the assertion is infinitely more useful to a user who is not at home in the source code, especially for assertions that may reasonably be triggered by honest user mistakes.
2018-11-28 17:35:20 +01:00
rdb 594e6b394b chan: add various property interfaces to animation system 2018-11-28 16:46:49 +01:00
rdb 69f8f8b7b7 ffmpeg: remove call deprecated in ffmpeg's libavformat 58.9.100 2018-11-28 16:22:27 +01:00
rdb 85cb742f79 ffmpeg: drain avcodec contexts on close, fixes leak
Fixes #398
2018-11-28 16:14:45 +01:00
rdb 32df05b528 Fix crash when unmounting/closing multifile while streams are open
It's not really reasonable to expect a user to find every occurrence of a cached resource that might be using an open stream and remove it or crash otherwise.

This is fixed by keeping the multifile stream open as long as any substreams are still pointing to it, using a simplified reference counting (care is taken not to fully make StreamWrapper reference-counted, since it's not in express and existing uses should not be broken).

Fixes #449
Also see #428
2018-11-27 21:19:38 +01:00
rdb 7ed9655e06 openal: fix leak of sound data when uncache_sound on stream
This is an addendum to cd2ea97b1f (fix for #428) which did
not properly delete the SoundData when uncaching sounds that were loaded as streams.
2018-11-27 21:11:57 +01:00
rdb 5dd0db300b flac: fix leak; properly close stream upon closing FlacAudioCursor 2018-11-27 20:59:51 +01:00
rdb da079c5ffe glxdisplay: remove lock in dtor, which causes crash on shutdown 2018-11-27 17:10:40 +01:00
rdb c427357db9 pnmimage: fix PixelSpec coercion, add PixelSpec unit test 2018-11-27 17:09:40 +01:00
rdb 37d2ff64de putil: add id and pressure fields to PointerData 2018-11-25 23:38:07 +01:00
rdb 26fcf131c9 Merge branch 'master' into input-overhaul 2018-11-25 17:10:31 +01:00
rdb 272f13023e glgsg: unbind buffers after draw callback
Some libraries (eg. Kivy) leave their buffers bound, so this takes care of that.
2018-11-25 16:46:38 +01:00
rdb 7c0a77af78 display: disable depth test before DisplayRegion draw callback
Having depth test disabled is the default OpenGL state, and callbacks may quite reasonably expect to see the default state.  Kivy seems to expect this, for one.
2018-11-24 22:45:41 +01:00