Commit Graph

1709 Commits

Author SHA1 Message Date
rdb 35eeb27386 VFSImporter: fix detection of source file encoding in Python 3
Incidentally, this should (in theory) also fix the _bootlocale import loop referenced in #1065
2020-12-09 15:46:51 +01:00
rdb 4e7742b8e2 VFSImporter: replace deprecated U open() flag
Fixes #1063
2020-11-28 22:22:32 +01:00
Daniel 7eba53cffa showbase: Fix an entire DirectSession being (re)created on node selection
Closes #1051
2020-11-17 12:02:53 +01:00
rdb f1ca8a9018 direct: Additional linking in Loader API documentation 2020-11-17 12:01:42 +01:00
rdb 54238e9730 direct: Add more links to manual pages in module docstrings
See panda3d/panda3d-docs#53

[skip ci]
2020-09-11 13:15:58 +02:00
rdb dae9e31223 direct: fix various uses of types.MethodType in Python 3 (from #1000) 2020-09-01 10:54:38 +02:00
rdb 32143055bd PythonUtil: Fix usage of reduce() for Python 3
Backport to 1.10.7; see #980
2020-08-04 11:08:51 +02:00
rdb 3c4f666509 direct: Improvements to API reference, better cross-linking 2020-07-27 13:40:31 +02:00
rdb 52127f6805 ShowBase: None comparison cleanup 2020-07-25 12:49:58 +02:00
rdb 43b5345588 ShowBase: significant improvements to ShowBase API documentation
Fixes #198
2020-07-25 12:48:54 +02:00
Fireclaw 86cfbc22b1 direct: Fix errors in PythonUtil.detectLeaks() function (#955)
* Replaced removed choice() function with ternary expression
* Add sanity check for _crashOnProactiveLeakDetect, don't crash by default

Closes #955
2020-06-15 15:26:17 +02:00
rdb 73ea170f2b showbase: improve docstrings of ShowBase and ShowBaseGlobal 2020-04-01 18:32:22 +02:00
rdb 8672054e30 showbase: fix erroneous docstring (audio unit is metres by default) 2020-03-30 13:57:15 +02:00
rdb 15d6e0c543 actor: support custom Python loader hooks
Fixes #750
2019-12-29 14:57:43 +01:00
rdb 55f624e073 windisplay: add a variable to disable Panda's message pump
This is particularly important for Tcl/Tk, which assumes it is in charge of the Windows event loop.

Fixes #586
2019-12-08 15:04:06 +01:00
rdb 69e8b4ed3c showbase: make render2d available to GUI items without ShowBase 2019-11-03 12:09:36 +01:00
rdb 39988e4787 general: update a few outdated links in API documentation 2019-11-02 19:41:56 +01:00
rdb f149fb4ab0 direct: big formatting changes for the benefit of API reference
Part of the effort to move the API reference to Sphinx, see panda3d/panda3d-docs#21
2019-10-29 20:43:41 +01:00
rdb 2575c01261 Loader: fix passing a tuple to loader.loadModel 2019-08-22 10:44:34 +02:00
rdb 43a5719bac dgui: allow using various GUI items without instantiating ShowBase
This is done by eliminating dependency on the `hidden` built-in, which can now instead be imported from ShowBaseGlobal.
2019-08-14 13:26:27 +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
pythonengineer 46a3a72029 PythonUtil: weightedChoice should throw IndexError on empty list
Also includes a unit test.

Closes #682
2019-07-15 19:39:31 +02:00
rdb e8fc76747a showbase: rename attachInputDevice gui=True arg to watch=True
It describes more accurately what it does, which is attach the MouseWatcher to it.  Though it was intended to help with GUI navigation, it can also be used for eg. polling button states.
2019-05-13 13:53:33 +02:00
rdb b8b6f2f2dc showbase: fix BufferViewer error when opening window right away 2019-05-09 19:18:25 +02:00
rdb 11808862f2 showbase: fix BufferViewer when main window is opened later
Fixes #648
2019-05-09 18:45:38 +02:00
rdb 541a2a73f0 showbase: allow attaching default MouseWatcher in attachInputDevice
This makes it easier to control GUIs using a gamepad.
2019-05-03 16:24:13 +02:00
nate97 d786709a49 sfxplayer: fixes bug when using the "node argument" in SoundInterval, also fixes Py3 TypeError exception
Closes #640
2019-05-01 17:17:06 +02:00
rdb d89da168bb PythonUtil: fix use of types.InstanceType in Python 3 in itype()
Really, though, don't use this function.  It does not consider new-style classes, is not consistent in its return values and it seems to do nothing that repr(type(x)) doesn't do.
2019-04-09 12:53:13 +02:00
rdb 9f9665e090 direct: don't use types.InstanceType in Messenger.detailedRepr
Fixes #591
2019-04-09 12:42:06 +02:00
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