Commit Graph

1680 Commits

Author SHA1 Message Date
rdb 6640e5698d EventManager: various microoptimizations to Python event handling 2019-02-12 14:30:04 +01:00
rdb 3024e6daeb direct: fix various syntax warnings in Python 3.8 2019-02-11 23:35:56 +01:00
rdb 649372d333 Loader: work around Python 3.7 await headache caused by PEP 479
Generators can no longer raise StopIteration, and we are supposed to use "return" instead.  But, return with value inside generator is a syntax error in Python 2.

Fixes #513
2019-01-09 22:14:50 +01:00
rdb 2da791b9fb Audio3DManager: fix regression with setSoundVelocityAuto() 2019-01-06 09:32:41 +01:00
rdb 6e730a2e95 Audio3DManager: accept tuple in setSoundVelocity/setListenerVelocity 2019-01-06 09:32:41 +01:00
rdb 3a3cb01148 showbase: return Transitions fade to aspect2d, fix focus issue
This implements a slightly different solution for #311 that maintains the behaviour for the fade screen to prevent clicks from propagating to the geometry below it.

Fixes #475
Fixes #311
2018-12-16 18:43:31 +01:00
rdb 70bfe21a63 Merge branch 'master' into input-overhaul 2018-11-06 22:10:39 +01:00
rdb 5ac3cf3fc6 Eliminate C++ DConfig; replace it with a Python compatibility shim 2018-11-02 23:27:07 +01:00
rdb 76365f3ed1 showbase: make input device binding explicit, not automatic 2018-09-16 20:22:40 +02:00
rdb e30b597926 Merge branch 'master' into input-overhaul 2018-09-16 12:28:22 +02:00
jspam a333353af6 Make Loader.loadSound() accept a MovieAudio instance as soundPath
This functionality seems to have inadvertently been removed by
refactoring commit 23bf9ea5.

Closes #383
2018-09-09 20:22:51 +02:00
Sam Edwards 4695557a5d general: Don't require BUILDING_* for static builds 2018-08-31 23:54:32 -06:00
rdb 1d6c3f6486 Merge branch 'master' into input-overhaul 2018-08-26 19:03:21 +02:00
bfrisby2000 7c375ac531
showbase: Add blendType argument for Fade/Iris/Letterbox
This allows the 'blendType' argument to be passed through the three transitions' Lerp Intervals.
2018-08-07 20:23:16 -04:00
rdb 234fd675b1 Merge branch 'master' into input-overhaul 2018-06-23 23:24:09 +02:00
Sam Edwards b2bfb31114 general: Remove `using std::*` from headers
Also remove most `using namespace std;` statements. The only one that remains is in py_panda.h.

Closes #350
Closes #335
2018-06-14 16:04:49 +02:00
rdb ba2de46beb Merge branch 'master' into input-overhaul 2018-06-08 15:23:47 +02:00
rdb 8c80ff1681 Audio3DManager: remove sounds when attached object is deleted
This now uses WeakNodePaths in order to prevent holding a reference to the corresponding nodes.

Closes #145
2018-05-20 18:46:27 +02:00
rdb 71eee6df3f showbase: make iris/fade/letterbox transitions awaitable
This allows using a coroutine to build up a more complex sequence including transitions (eg. scripted cutscene), as well as provide a standard way to register callbacks upon completion of the transition.
2018-05-05 23:05:50 +02:00
rdb cf58de4d04 showbase: make base.movie() awaitable (by returning a future) 2018-05-05 23:02:11 +02:00
rdb 11e21af52c showbase: fix iris/fade transitions for extreme aspect ratios
Fixes #311
2018-05-05 22:08:52 +02:00
rdb f986f8de1b showbase: add back clampScalar and PriorityCallbacks to PythonUtil
These were removed by 88dbb31daa under the assumption that they were not used, but it has recently come to my attention that there is still code out there that uses these.

PriorityCallbacks has been updated to be compatible with Python 3 by only comparing the priority, rather than the (priority, callback) tuple. This also has the side-effect of ditching the bisect dependency.

Also moves testing code from the source to the unit tests.
2018-04-21 11:43:46 +02:00
Sam Edwards 9dd37e9dbc general: Add guards to ensure proper BUILDING_ macros defined
This is designed to sanity-check the buildsystem, ensuring that the
expected BUILDING_ macros are defined at the expected time. It
also helps catch cases where the wrong BUILDING_/EXPCL_ macros
are used.
2018-03-25 13:17:52 -06:00
Sam Edwards f231ba4cd7 directbase: Introduce BUILDING_ defines for each component
Ditto everything before, but for direct.
2018-03-25 13:17:52 -06:00
rdb b0b32b9d6a direct: fix Python 3 support in Pmw-based tools
Fixes #276
2018-03-08 11:21:14 +01:00
Michael Wass 89799bc024 direct: Fix some NameErrors
Squashed merge of GitHub PR #273
2018-03-05 18:32:27 -07:00
rdb b62435a373 general: remove all uses of deprecated upcastTo*() methods
These methods have not been needed for a very long time, so we should not encourage their use.
2018-02-27 15:02:49 +01:00
rdb aa90b7b0c0 showbase: disable track-gui-items by default, remove want-e3-hacks 2018-02-23 22:26:27 +01:00
rdb e6c2d3b609 showbase: allow DirectGui elements to be created before ShowBase
This is done by precreating aspect2d inside ShowBaseGlobal.
2018-02-23 22:15:34 +01:00
rdb 0cf605ce7d showbase: move run() and __dev__ to ShowBaseGlobal
Also remove ShowBaseGlobal notify category, it doesn't really add anything
2018-02-23 21:26:49 +01:00
rdb 27bd7ae4ac Merge branch 'master' into input-overhaul 2018-01-07 12:08:59 +01:00
rdb bdb53b8cb5 showbase: fixes for aspect-ratio adjustment of pixel2d(p) 2018-01-05 19:49:14 +01:00
rdb 27fb1a4a9e showbase: fix aspect ratio calculation
backs out part of 7a46b2ca60, from PR #204
2018-01-05 15:00:21 +01:00
rdb 962e6e31e4 Merge branch 'master' into input-overhaul 2018-01-03 14:46:13 +01:00
rdb 4f50f6abd0 showbase: use ShowBaseGlobal module as alternative to builtin scope
Allows accessing `base` object and several other builtins from the ShowBaseGlobal module.

It doesn't bother with builtins that are available as members of the base object such as `render` and `loader`.

Fixes #182
2018-01-03 14:25:27 +01:00
rdb 8e6cf2a60b Merge branch 'master' into input-overhaul 2017-12-17 13:04:15 +01:00
deflected e4a817b469 Loader: Fixed crash when canceling async loading of model
- Clean up the _loader after we clean up the requests,
        not before that

Signed-off-by: deflected <deflected@users.noreply.github.com>
2017-12-13 13:42:29 +02:00
deflected bdd53d60fc ShowBase: Fixed crash when want-render2dp is False
- Fixed crash in ShowBase when want-render2dp setting
        is set to 0(False).

Signed-off-by: deflected <deflected@users.noreply.github.com>
2017-12-04 22:46:30 +01:00
deflected 7a46b2ca60 ShowBase: Minor fixes over aspect ratio and size calculations
- Do not take into accound SBS if it is not enabled
        - Always return value for getSize()
        - Properly handle SBS for window-events
        - Redo positioning of aspect2d(p) markers exactly as
        they are created when adjusting aspect ratio

Signed-off-by: deflected <deflected@users.noreply.github.com>
2017-12-04 22:46:22 +01:00
rdb 2e20a0f16e Implement awaitable thread-safe future for async operations
This introduces AsyncFuture as a new base class of AsyncTask.  It's modelled after asyncio's Future class, except that it is thread-safe and you can use result() to block the current thread waiting for the future to finish (of course this is not necessary for use with coroutines).

AsyncFuture should be used for any operation that finishes in the future, to get the benefit of awaitability within coroutines as well as a standard interface for querying status and results of the operation as well as cancelling it.  As such, it's been implemented in various places, including texture.prepare() and win.trigger_copy().

Note that AsyncFuture is intended to be used *once*; it cannot be used more than once.  As an example of how this works, tex.prepare() will return the same future as long as the prepare isn't complete, but when it is done, subsequent calls to tex.prepare() will return a new future.
2017-12-04 22:25:28 +01:00
fireclawthefox 936ef1953c Small extensions for the mirror demo
Add extra parameters for buffer size and clear color
Add sample code at the bottom to display usage of mirror demo

Closes: #195
2017-11-12 00:19:50 +01:00
fireclawthefox feb36d9818 Fixed mirror demo
Set "mirror" camera to always have the same roll as the mirror
-> otherwise the model in the mirror will move unexpectedly
Set y coordinate of the mirror corners to the cameras distance
-> This fixes a crash and keep the mirrored model at correct sizer

Closes: #194
2017-11-12 00:15:58 +01:00
fireclawthefox 649a9abf8d Fix initial usage of letterbox
Set start position of letterbox frames to the hidden position

Closes: #193
2017-11-12 00:06:13 +01:00
rdb 0c0f9adab9 Support coroutines and async/await in the task manager and loader 2017-10-31 18:56:41 +01:00
wezu 40c6f41da2 direct: provide snake_case functions for some classes
Closes #147
2017-06-20 21:56:03 +02:00
rdb d576c6b638 Improvements to generated API docs, especially in direct tree.
Also add an entry point for pfreeze.
2017-05-24 13:30:21 +02:00
wezu 353ccfebc1 Remove print() from Messenger.find() and Messenger.findAll()
If one needs to use find() or findAll() not for debugging purposes (like for getting the function or arguments for some binding), then the print functions in these methods are really unwelcome. find() is the only nice way to get this info (other then de-name-mangling __callbacks)
2017-04-22 13:39:14 +02:00
rdb 8434914ab6 Merge branch 'master' into input-overhaul 2016-12-28 17:26:58 +01:00
rdb 83507e413f Fix Mac OS X Snow Leopard build 2016-12-05 16:30:44 -05:00
rdb d3008c56e0 Merge branch 'input-overhaul' of github.com:grimfang/panda3d into input-overhaul 2016-11-22 12:15:37 +01:00