rdb
e080d33e31
interrogate: temp hack to make encrypt_string return bytes
...
Fixes #684
2019-07-10 09:54:57 +02:00
rdb
0ac36185a9
Merge branch 'release/1.10.x'
2019-05-02 21:34:25 +02:00
rdb
204cbe4464
interrogate: support unicode characters in Python 3 for 'char' arg
...
Fixes #626
2019-05-01 17:05:12 +02:00
rdb
daa57733cb
Merge branch 'release/1.10.x'
2019-04-14 23:11:03 +02:00
rdb
3ca3dfd13a
interrogate: fix in-place or (|=) operators (see #588 )
2019-04-14 17:10:52 +02:00
rdb
ba256a8b07
interrogate: fix regression in 2c91fdda1b
2019-03-04 22:51:20 +01:00
rdb
cbb3c182a5
Merge branch 'release/1.10.x'
2019-03-04 16:57:52 +01:00
rdb
8e4add0326
interrogate: fix refcount trouble assigning PyObject* properties
...
In particular, this fixes accessing PythonTask.__dict__
2019-03-04 16:46:28 +01:00
rdb
fa6c066b2f
interrogate: enable true division in Python 2 as well
...
This allows using "from __future__ import division" and get the expected result for divisions in Python 2.
Fixes #529
2019-03-03 10:29:39 +01:00
rdb
2c91fdda1b
interrogate: support in-place ops on properties (eg. light.color *= 2)
2019-02-19 13:46:38 +01:00
rdb
c37a33baef
interrogate: don't export bindings for global operators
...
linmath exports a global __mul__, which isn't really useful.
2019-02-19 13:45:37 +01:00
rdb
376cef51c4
interrogate: fix Python 3 crash with optional std::wstring args
...
This would cause PyMem_Free to be called on an uninitialized pointer if a default argument was not specified.
Fixes #542
2019-01-26 19:27:50 +01:00
Sam Edwards
0c890f059d
interrogate: Export Python entry points with EXPORT_CLASS
...
Closes #505
2019-01-03 12:39:22 +01:00
rdb
a9d6d3be46
interrogate: refactor default argument handling
2018-12-26 22:47:14 +01:00
rdb
e32388c2f8
interrogate: fix crash reading static property
2018-11-24 22:44:09 +01:00
rdb
598664ab80
interrogate: disambiguate case where static method shadows a property
...
While it becomes possible to do this now, it should not become standard practice, and we should deprecate cases where we already do it by renaming either the static method or the property.
Fixes #444
2018-11-12 16:31:54 +01:00
Sam Edwards
a9dfd8352e
general: Distinguish local/system includes
...
This changes includes so that local includes are consistently
#include "localFile.h"
while system and third-party includes are consistently
#include <systemFile.h>
This commit mostly converts the former to the latter; the two
exceptions are in android_main.cxx and fmodAudioSound.h, where
the reverse was necessary.
2018-11-10 18:00:10 -07:00
rdb
5ba09ec5a0
interrogate: fix compile error when building with LINK_ALL_STATIC
...
Fixes #442
2018-11-09 11:38:41 +01:00
rdb
49b72fb198
Move Python support code from libp3interrogatedb to generated module
...
This prevents libp3interrogatedb from having a dependency on the Python library.
See #387
2018-11-06 19:24:37 +01:00
rdb
e6f870ece6
Remove Python type tables from interrogatedb
2018-11-05 22:14:25 +01:00
rdb
cb9e65720a
interrogate: do not use MOVE in generated code, but use std::move
2018-09-09 13:48:50 +02:00
Mitchell Stokes
f663d215d5
Remove some unused variables
2018-08-19 16:55:07 +02:00
rdb
c4b657b5b2
interrogate: support implicit typecast operators in some cases
...
For example, this will let us pass a ConfigVariableFilename to anything that accepts a Filename, just like in C++.
Does not work if the return value if the typecast operator requires management.
2018-08-19 16:06:16 +02:00
rdb
68e7f681f4
interrogate: support enum class to limited extent in Python 2
...
Only the basics are supported; the __members__ or iter interface is not supported at this time.
See also #351 for discussion on pulling in enum34 module.
2018-07-02 12:16:35 +02:00
rdb
9441c28f61
interrogate: do not wrap methods with rvalue arguments
...
This could in theory be supported, but this is not really intuitive from a Python user's point of view.
2018-06-30 21:38:45 +02:00
rdb
b2c04a8c7a
interrogate: support scoped enum args and return values
2018-06-30 21:38:40 +02:00
rdb
c03a75d755
interrogate: use range for in various places for code cleanliness
2018-06-30 17:18:14 +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
b88bd99704
Various compiler warning fixes
2018-06-12 12:38:07 +02:00
rdb
4fe7fe4c88
interrogate: fix int8_t / signed char range checking on Android
2018-06-12 11:08:02 +02:00
rdb
1c476203fc
interrogate: remove Dtool_AddToDictionary (let me know if anyone uses this)
...
If any code is relying on this, please let me know and I will add it back. It appears to be redundant, though, since one can access DtoolClassDict directly.
Symbol kept around temporarily in order to keep ABI compatibility for a short while as people may not update their interrogate and Panda in sync, but it can soon be removed.
2018-06-11 13:43:30 +02:00
rdb
3cc88cd304
interrogate: clean up py_panda.h a bit more
...
Inching towards reducing code in py_panda and eventually having no Python-specific code in interrogatedb anymore.
2018-06-11 13:39:45 +02:00
rdb
be282627a8
express: make PointerTo directly initializable from nullptr
2018-06-04 11:21:18 +02:00
Sam Edwards
a9ffb9630b
dtool: Generate code using nullptr over NULL/0
2018-06-03 16:36:07 -06:00
Sam Edwards
e2b4353800
general: Replace NULL (and 0 as pointer) with C++11 nullptr
...
Exceptions to this replacement are:
- .c files
- Headers included by a .c file
- stb_image.h
- dr_flac.h
- Strings
- Comments
2018-06-03 16:35:13 -06:00
rdb
db5dd98d33
general: further warning fixes, use -Wno-unused-variable if NDEBUG
...
Disabling unused variable checking is needed in NDEBUG builds because of the heavy use of temporary variables in asserts.
2018-05-30 22:51:04 +02:00
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
rdb
1b857d6bda
A few interrogate improvements
2015-11-28 17:54:01 +01:00
rdb
0a9f9887f9
Merge branch 'release/1.9.x'
...
Conflicts:
direct/src/p3d/Packager.py
direct/src/p3d/ppackage.py
makepanda/makepandacore.py
2015-11-21 03:17:33 +01:00
rdb
4c61db6374
Consider non-const overload before considering const overload in Python bindings
2015-11-20 20:24:58 +01:00
rdb
d3885b665e
Fix static MAKE_SEQs (eg WebcamVideo.get_options(), MicrophoneAudio.get_options())
2015-11-20 02:05:44 +01:00
rdb
ac1c036cac
interrogatedb 3.0 to restructure make_seq, improve make_seq handling and performance
2015-11-09 18:03:30 +01:00
rdb
da17cce447
Fix error and warnings in 32-bit Windows build
2015-11-01 16:57:52 +01:00
rdb
0ae2df7e02
Merge branch 'release/1.9.x'
2015-11-01 15:54:58 +01:00
rdb
63a9b5dfec
Re-expose MouseWatcherGroup; clearer error message for make_seq when getter is not exposed
2015-11-01 15:45:52 +01:00
rdb
7738294657
Fix a few more type size issues
2015-10-07 19:10:52 +02:00
rdb
18ad6d1543
Replace many int params with size_t params where appropriate, and work towards fixing type conversion warnings
2015-10-07 18:58:26 +02:00
rdb
036adff924
Merge branch 'release/1.9.x'
2015-09-30 14:07:21 +02:00
rdb
fcd3bfd15c
Fix interrogate issues with long, streampos, streamoff, streamsize and ptrdiff_t
2015-09-28 13:08:38 +02:00
rdb
d3487eba6b
Set visibility attributes on all exported bindings
2015-09-07 23:31:15 +02:00
rdb
3cd15c3d48
Merge branch 'release/1.9.x'
2015-08-31 15:59:06 +02:00