197 Commits

Author SHA1 Message Date
rdb
6b726fa697 general: fix various compiler warnings and issues exposed thereby 2018-05-30 11:09:35 +02:00
rdb
3b4d12cb99 interrogate: also fall back to compare_to in Python 2
This is to create the same behaviour in Python 2 and 3.
2018-05-21 11:55:46 +02:00
rdb
7125a3e587 interrogate: allow passing None for args that have NULL as default value 2018-04-05 20:49:13 +02:00
rdb
2450f31ef5 interrogate: remove deprecated and unneeded downcastTo*() functions
They have not been needed for a very long time, and they create an awkward reverse dependency of base classes on derived classes.
2018-02-27 15:06:12 +01:00
rdb
193e4b5f59 interrogate: clean py_panda.h; use macros to access Dtool_PyInstDef 2017-12-12 23:03:38 +01:00
rdb
69b3468b2c interrogate: more improvements to seq/map wrappers
Gets rid of properties defined as both MAKE_SEQ_PROPERTY/MAKE_MAP_PROPERTY, which are just a bad idea. Instead, adds a way for map properties to define a separate "keys" interface.

Fixes: #203
2017-11-27 17:29:50 +01:00
rdb
404842e70b interrogate: fix warning message caused by erroneously wrapped remap
Fixes: #191
2017-11-11 20:36:58 +01:00
rdb
b8bf8bd641 interrogate: fix crash when calling functions returning TypedWritable 2017-11-08 00:04:00 +01:00
rdb
1b1d80cd27 More thoroughly fix issues with pickling Panda objects in Python 3
This also adds DatagramBuffer, a class for writing datagrams to memory and reading them from there again.
2017-11-08 00:02:35 +01:00
rdb
483a491ed7 interrogate: simplify coercion code
This remove support for coercing non-ReferenceCounted types that are neither default-constructible nor move-assignable, but it turns out none of the classes we really need it for matches that.
It further cuts down on the amount of code that is being generated to support coercion in cases where it makes absolutely no sense.
2017-11-06 19:53:38 +01:00
rdb
96d237377b interrogate: add various sequence/mapping methods to seq/map property 2017-11-05 18:01:39 +01:00
rdb
0c0f9adab9 Support coroutines and async/await in the task manager and loader 2017-10-31 18:56:41 +01:00
rdb
51d948a7fa Support compilation for Python 3.7 2017-10-13 12:40:47 +02:00
rdb
464cd5fc8b Replace __builtin_expect macros with LIKELY/UNLIKELY 2017-10-09 00:22:28 +02:00
rdb
bf190f7306 interrogate: support MAKE_MAP_PROPERTY 2017-10-09 00:02:46 +02:00
rdb
0e2b14cf4c pgraph: custom binding for set_shader_input()
Should be faster and more reliable at PTA handling
We no longer need the interrogate perf hack for the first-arg InternalName

Fixes: #161
2017-10-08 17:50:28 +02:00
rdb
7ff8b62fb8 interrogate: various fixes:
* handle static methods with explicit self
 * fix len() and __setitem__ of mapping types
 * fix inheritance of __getattr__ and __setattr__
 * fix overload resolution error with nullptr_t arguments
 * bool overloads now come after float/double overloads
 * record whether class is final in interrogatedb
 * add Dtool_EmptyTuple
 * optimization for final classes: no need for downcast
2017-09-19 18:46:21 +02:00
rdb
d1c34c3360 interrogate: support static properties 2017-08-07 22:04:56 +02:00
rdb
a387fb9f35 interrogate: nullptr handling, faster kwargs handling in some cases 2017-05-14 22:19:25 +02:00
rdb
e1c916cdc3 interrogate: handle implicit destructors correctly 2017-04-02 14:44:51 +02:00
Sam Edwards
ea1ba281b5 interrogate: Add missing cast in generated calls to PyObject_INIT_VAR 2017-03-08 01:54:21 -07:00
rdb
cfe810ace7 Add set_shader_inputs for efficiently setting multiple shader inputs 2017-02-06 13:16:27 +01:00
rdb
4ed199cece Fix various compile warnings and a few code consistency issues 2017-01-09 20:36:53 +01:00
rdb
32377cb618 interrogate: fix to allow pointers to forcetyped classes 2016-12-07 23:04:15 +01:00
rdb
29411f5e14 Merge remote-tracking branch 'origin/release/1.9.x' 2016-10-31 22:32:39 +01:00
rdb
5832ab8099 Fix errors when trying to raise vectors to a power 2016-10-31 22:10:47 +01:00
rdb
47388b0dbc Separate out CPython calls from core libs; eliminate need for pystub 2016-07-20 14:30:41 +02:00
rdb
8381118a97 Assorted tweaks and compile warning fixes 2016-07-14 12:54:39 +02:00
rdb
0821bec2d0 Backport 2f0bc01 to 1.9: Fix bug causing random crash during module initialization 2016-06-22 15:04:00 +02:00
rdb
4283a63a7d Merge branch 'release/1.9.x' 2016-06-11 01:29:14 +02:00
rdb
ba919b0948 Fix crash running TaskTester 2016-06-11 01:11:03 +02:00
rdb
7d6b7f40f5 Merge branch 'release/1.9.x' 2016-06-09 21:52:51 +02:00
rdb
b303962e96 Disable cycle detection in tasks for now, it is way too unstable 2016-06-09 16:48:31 +02:00
rdb
8d05ef3022 Assorted fixes 2016-06-03 22:23:42 +02:00
rdb
5543716660 Interrogate wraps vector<unsigned char> as Python 3 bytes object 2016-06-03 01:47:54 +02:00
rdb
ce29ae490d Interrogate improvements, more properties, MAKE_SEQ_PROPERTY 2016-05-11 00:16:53 +02:00
rdb
fb78fe6e2a Interrogate enum class support (maps to Python 3.4 enums), sanify wrapper code 2016-05-07 00:45:26 +02:00
rdb
5feecd2243 Fix iterator support in interrogate 2016-04-28 11:08:23 +02:00
rdb
2f0bc01b68 Fix bug causing random crash during module initialization 2016-04-18 14:34:50 +02:00
rdb
15b0ba45f9 Fix broken pickling in Python 3 build 2016-03-31 16:49:27 +02:00
tobspr
0fcfb8e372 New file headers, new comment style 2016-02-17 17:47:48 +01:00
rdb
ef72a0a410 Merge branch 'release/1.9.x' 2016-02-11 19:09:25 +01:00
rdb
bb684b2a07 Fix a few issues with obscure CPython-based deployments 2016-02-09 12:33:57 +01:00
rdb
090e912ce6 Cleanup of comments and whitespace 2016-02-01 22:30:43 +01:00
rdb
8a205ac100 MAKE_PROPERTY should ignore setter overloads that take the wrong number of arguments 2016-01-25 17:02:25 +01:00
rdb
bccddaf4e8 TextNode properties, fix setters that return error bool 2015-12-29 18:46:37 +01:00
rdb
db6f0342cc Add properties with has/clear (interrogatedb v3.1) 2015-12-24 14:25:45 +01:00
rdb
6480e82e3b First pass adding properties to many Panda classes 2015-12-10 16:23:06 +01:00
rdb
50d2e8324e Merge branch 'release/1.9.x'
Conflicts:
	.travis.yml
	direct/src/directtools/DirectLights.py
	panda/src/nativenet/buffered_datagramconnection.h
2015-12-06 22:32:12 +01:00
rdb
287c44ce53 Various fixes for Python 3 versions before Python 3.3 2015-12-06 22:05:44 +01:00