Commit Graph

1766 Commits

Author SHA1 Message Date
Mitchell Stokes d90e59ca2d Merge branch 'master' into deploy-ng 2017-12-02 18:36:47 -08:00
Younguk Kim 3abf3a0c88 Add HAVE_PYTHON macro to build without python 2017-11-28 13:04:57 +09:00
rdb 27f20c80fd Don't include dlmalloc_src.cxx in interrogate
Fixes: #200
2017-11-27 18:49:28 +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
Mitchell Stokes fcb1d9308b Merge branch 'master' into deploy-ng 2017-11-25 14:58:25 -08:00
Mitchell Stokes aba26bd862 Merge branch 'master' into deploy-ng 2017-11-25 14:55:47 -08:00
rdb 409b241b40 Fix compile errors 2017-11-24 22:38:51 +01:00
rdb d755de849c deploy-ng: new extensible blob format with PRC configurability 2017-11-24 21:48:18 +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 08629ef1a0 Fix a few compiler warnings 2017-11-07 15:38:40 +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 dd2806c8bd Mark constructors 'explicit' for which coercion makes no sense 2017-11-06 19:47:38 +01:00
rdb 96d237377b interrogate: add various sequence/mapping methods to seq/map property 2017-11-05 18:01:39 +01:00
frainfreeze f22c0cdd83 Add README.md files for various directories
Closes: #10
2017-10-31 19:20:24 +01:00
rdb 0c0f9adab9 Support coroutines and async/await in the task manager and loader 2017-10-31 18:56:41 +01:00
rdb dee8d83998 interrogate: fix regression with setter of MAKE_PROPERTY2
See also tobspr/RenderPipeline#86
2017-10-17 21:18:51 +02: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 1583196022 pystub: fix faulty definition of PyTuple_Type symbol 2017-09-19 19:41:18 +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
Younguk Kim 99cf21acec Fix failure to load DLL with unicode path
- Change LoadLibrary API to unicode version on Windows
2017-08-22 23:42:42 +09:00
rdb 3e6dc3b046 Fix Python 3.2 compilation error 2017-08-07 23:32:45 +02:00
rdb d1c34c3360 interrogate: support static properties 2017-08-07 22:04:56 +02:00
rdb 925ce854d0 general: make DO_MEMORY_USAGE setting not change ABI compatibility 2017-07-10 19:50:09 +02:00
rdb 7228bc7e5f Fix NATIVE_WORDSIZE on 64-bit Windows (fixes memory alignment) 2017-07-10 01:51:12 +02:00
rdb 2b537d2263 Use XDG basedir spec for model-cache-dir (now $XDG_CACHE_HOME/panda3d which is usually $HOME/.cache/panda3d)
User appdata directory on posix is now $XDG_DATA_HOME (usually $HOME/.local/share).
Common appdata dir is /usr/share (or /usr/local/share on FreeBSD)
2017-07-03 22:27:37 +02:00
rdb fa1c480508 general: clean up use of override keyword 2017-07-03 12:56:23 +02:00
rdb f57a3f9cde Hack to remove build warning on MSVC 2010
Fixes LP #1700329
2017-07-03 11:13:02 +02:00
rdb a66b497f2b We no longer support GCC 4.6. Version 4.8+ is recommended.
Ubuntu Precise users can install GCC 4.8 from the ppa:ubuntu-toolchain-r/test repository.
CentOS 5/6 users can install devtoolset-2 or later.
2017-06-12 19:47:54 +02:00
rdb 88e963b936 Fix compilation errors in GCC 4.6 and 4.8 2017-06-09 20:36:45 +02:00
rdb 4bcf225baf openssl: fix use of deprecated calls 2017-05-25 21:35:02 +02:00
rdb d6657baf29 cppparser: fix scope bug in constructor inits
This also fixes the Android build.
2017-05-25 13:20:11 +02:00
rdb 828f1c10ca Support loading Opus audio files via libopusfile. 2017-05-24 22:21:54 +02:00
rdb 904209b277 Split out interrogate jobs for dtool directories from express 2017-05-24 13:44:52 +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
rdb 65a705217e Compile fixes for older Python 3 versions 2017-05-14 23:14:37 +02:00
rdb a387fb9f35 interrogate: nullptr handling, faster kwargs handling in some cases 2017-05-14 22:19:25 +02:00
rdb 652f2d7f21 bullet: improve performance of adding geometry to BulletTriangleMesh 2017-05-14 22:17:41 +02:00
rdb 325ac4c114 Fix memory tracking bug - DeletedBufferChain erroneously showed leak 2017-05-13 21:59:29 +02:00
rdb 160f652d58 text: use HarfBuzz for text shaping; support right-to-left text 2017-04-25 12:25:31 +02:00
rdb a175ad6a82 interrogate: fix compile error with default values that call scoped functions 2017-04-07 13:56:47 +02:00
rdb 2669cc8710 Remove unused macros 2017-04-07 13:56:35 +02:00
rdb 6f8b379bda Big patch full of performance improvements
This particularly benefits applications with a lot of nodes.
2017-04-03 01:41:23 +02:00
rdb e1c916cdc3 interrogate: handle implicit destructors correctly 2017-04-02 14:44:51 +02:00
Sam Edwards 4d59ad4014 interrogatedb: Build even when _PyErr_OCCURRED is undefined 2017-03-08 01:59:02 -07:00
Sam Edwards ea1ba281b5 interrogate: Add missing cast in generated calls to PyObject_INIT_VAR 2017-03-08 01:54:21 -07:00
rdb edb83fe89a Various optimizations to reduce performance overhead of rendering 2017-02-21 02:20:06 +01:00
deflected f6e2e2ea05 Fix compile issue on FreeBSD 11 2017-02-20 15:10:15 +01:00
rdb f5f51c5d5b Remove OpenSSL includes from headers, so C++ users don't need to have OpenSSL 2017-02-17 16:15:04 +01:00
rdb 8c914a2855 Work towards ABI stability wrt allocation. Let MemoryHook take advantage of dlmalloc's internal bookkeeping. 2017-02-17 13:02:01 +01:00
rdb 29edf55069 GlobPattern: support trailing slash and globstar (eg. **/*.egg) 2017-02-17 13:02:01 +01:00
Sam Edwards ec3c2c5681 general: Fix missing include 2017-02-15 03:44:48 -07:00
rdb 2acde88695 New alignment code to hopefully fix the alignment issues 2017-02-10 03:01:32 +01:00
rdb 18f09c48dd cppparser: parse template friend declaration 2017-02-09 23:52:38 +01:00
rdb 218ad7058d pystub: definitions for debug version of Python 2017-02-09 23:50:14 +01:00
rdb cfe810ace7 Add set_shader_inputs for efficiently setting multiple shader inputs 2017-02-06 13:16:27 +01:00
rdb c0191a3126 cppparser: update cppBison prebuilt files 2017-01-17 22:51:04 +01:00
rdb e2771d39a9 cppparser: support for various C++11/C++14/C++17 features:
- decltype(auto)
 - attributes (ie. [[deprecated]]), incl. with C++17 "using"
 - extern template class (parses)
 - sizeof struct members
 - aggregate initialization
 - initializers in capture lists
 - alignas (parses)
2017-01-15 15:39:34 +01:00
rdb e12420571b cppparser: support C++11 lambda expressions 2017-01-14 22:37:33 +01:00
rdb 5aabd56697 cppparser: support C++11 raw string literals 2017-01-14 22:35:38 +01:00
rdb a15d84dbeb Fix compile errors and warnings in MSVC 2010 / GCC 4.6 2017-01-12 15:18:48 +01:00
rdb e60d1e292e Make better use of C++ rules for implicit generation; allow PointerTo and some mutex impls to be static initialised 2017-01-12 12:34:15 +01:00
rdb 4ed199cece Fix various compile warnings and a few code consistency issues 2017-01-09 20:36:53 +01:00
rdb ba5bba42b0 Fix interrogate warnings, flesh out iterator header 2017-01-08 17:51:09 -05:00
rdb 41d26284d7 Fix various compilation issues on Mac.
Work around bugs in Apple Clang that ships with XCode 4 with C++11 by disabling constexpr
Use move() instead of std::move()
It also looks like we'll have to continue using pystub for tools that use libp3interrogatedb for now.
2017-01-08 17:17:56 -05:00
rdb 816b2ac3ba C++11 polyfills. This should fix Snow Leopard build. 2017-01-05 23:26:13 +01:00
rdb 40ea0ab786 cppparser: support directives __LINE__, __FILE__, __has_include 2017-01-04 22:46:57 +01:00
rdb cf105f276c More alignment fixes for 32-byte AVX 2016-12-28 20:23:27 +01:00
rdb 8434914ab6 Merge branch 'master' into input-overhaul 2016-12-28 17:26:58 +01:00
rdb fb2568afad Fix faulty merge 2016-12-26 17:36:11 +01:00
rdb 9c789db918 Compile fix for Python 3.2 2016-12-25 23:58:08 +01:00
rdb ab5b5e7e74 Merge branch 'release/1.9.x' 2016-12-25 22:47:22 +01:00
rdb 0c742d59e5 Fix crash due to incorrect alignment when building Eigen with AVX extensions
Consequentially, we now use 32-byte alignment when building with eigen if __AVX__ is set.
2016-12-25 22:13:05 +01:00
rdb 45356e85e1 Backward compat with older OpenSSL versions 2016-12-25 11:48:38 +01:00
rdb 122d9dd3ff Support building with OpenSSL 1.1.0 2016-12-24 22:19:51 +01:00
rdb 637767fec8 Flush nout before inducing crash in assert-abort 2016-12-20 23:15:21 +01:00
rdb c422f5952f Increase default alignment to 2x word size, make DeletedBufferChain allocations more efficient
NB. NeverFreeMemory no longer performs alignment.
This fixes the Bullet crash on Win64.  Need to check Win32.
2016-12-08 23:22:16 +01:00
rdb 32377cb618 interrogate: fix to allow pointers to forcetyped classes 2016-12-07 23:04:15 +01:00
rdb e778c529b2 Implement Python 3.6 fspath protocol; allow passing a pathlib.Path wherever Filename is expected
The Python 3.6 fspath protocol allows passing Filename objects into any Python standard library calls that take a path.
2016-12-07 00:42:44 +01:00
rdb b182224463 interrogate: fix issues with abstract classes and covariance (fixes EggPolygon constructor) 2016-12-05 17:22:24 -05:00
rdb a056543d5a Support push_macro and pop_macro in cppparser 2016-12-05 02:02:25 +01:00
Sam Edwards 573dad8dde general: Fix missing includes. 2016-11-30 19:21:34 -08:00
rdb d0e9f136c0 Merge branch 'master' into input-overhaul 2016-11-22 12:15:21 +01:00
rdb b0a8408755 Fix issue with Windows build 2016-11-04 00:49:04 +07:00
rdb d54d43ac34 cppparser: fix issue with templated external method definitions 2016-11-03 18:04:14 +01:00
tobspr c0fd29d822 Add functional header to parser-inc (#126)
* Support for the functional header

* Add unordered_map and initializer_list

* Add unordered_set header

* Fix spacing, and remove unecessary defines

* Add missing definitions to memory header

* Use variadic templates in functional header
2016-11-03 14:08:25 +01:00
rdb c2abb4b2f8 Revert code that is triggering an odd compiler quirk in MSVC 2016-11-03 19:27:04 +07:00
rdb 22f0b50851 More Interrogate C++11 support changes:
* Parse variadic templates
 * Add (incomplete) type_traits support
 * Parse anonymous class template params
 * Parse volatile/lvalue/rvalue methods
 * Don't generate destructor for indestructible types
 * Add xmmintrin.h header
 * Allow invoking extensions with references
2016-11-03 12:17:11 +01:00
rdb 1467541b8d Interrogate issues: "fix #pragma once" for files specified on command-line, fix "unexpected $end" not having line numbers when parsing template parameter list 2016-11-01 12:19:11 +01:00
tobspr 50e8d5d08d Update stdint.h
This adds missing definitions from the standard library header ` stdint.h` to the interrogate header.
I also changed the `typedef` to the C++11 style `using`.

Closes: #125
2016-10-31 22:34:47 +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
Mitchell Stokes 59b0913b0b Cleanup .gitignore files
Remove all .gitignore files in subdirectories and add a few new ignores
to the top-level directory .gitignore file.
2016-10-30 20:06:12 -07:00
rdb f1f4951fb5 Merge remote-tracking branch 'origin/release/1.9.x' 2016-10-13 00:25:57 +02:00
rdb 955ca0d334 Fix support for passing keyword arguments to methods named make()
such as *Attrib.make() and Shader.make()
2016-10-13 00:21:59 +02:00
rdb 06cc1794fc Drop support for OpenSSL versions before 0.9.7 2016-10-10 14:47:00 +02:00
rdb 33c6e21352 Fix regression that stopped buffer protocol from working 2016-08-09 01:45:26 +02:00
rdb 29ea65bb3f Merge branch 'release/1.9.x' 2016-08-09 01:44:21 +02:00
rdb db97747981 cppparser: Parse nonstandard specifier order like "const static" 2016-08-09 01:27:30 +02:00
rdb 47388b0dbc Separate out CPython calls from core libs; eliminate need for pystub 2016-07-20 14:30:41 +02:00
rdb a4554a7dfe gcc build fix 2016-07-14 13:21:39 +02:00
rdb 8381118a97 Assorted tweaks and compile warning fixes 2016-07-14 12:54:39 +02:00
rdb 6f168446d0 Merge branch 'release/1.9.x' 2016-07-12 14:57:48 +02:00
rdb 69f15258e4 Fix race condition reading filename/string from config var 2016-07-12 14:47:20 +02:00
rdb 5dcaac9c75 Map size_t to int if possible. Fixes regression with __len__(). 2016-07-03 09:17:43 +02:00
rdb b3bb19180e Fix LNK4217 linker warnings on Windows 2016-06-29 19:10:50 +02:00
rdb 733456cb41 Merge branch 'release/1.9.x' 2016-06-28 02:58:47 +02:00
rdb 99f7fb6fcd Show error instead of crash when using method or property before C++ object is constructed 2016-06-28 02:58:06 +02:00
Sam Edwards 2933b8ed39 general: Fix missing includes. 2016-06-25 19:10:38 -07:00
rdb b98d3c06ee Merge branch 'master' into input-overhaul 2016-06-24 10:51:41 +02:00
rdb 9963fe2c3c Fix a couple of compile warnings, reduce unnecessary includes 2016-06-23 22:59:50 +02:00
rdb 7e08b87ff7 IPv6 support, improve URL handling/comparison 2016-06-22 17:57:40 +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 d53b2ca80e Backport various bugfixes from master, among which:
- Fix Windows pbuffer crash on Intel cards
 - Fix crash when using pnmimage.write with unsupported format
 - Fix GLSL diagnostics on Mesa GLES2 compiler
 - Reduce warning severity when resizing immutable storage texture
 - Print more debug info when FrameBufferProperties are insufficient
 - Fix "Bam file contains objects of unknown type: MovingPart<LMatrix4f>"
 - Fix memory leak in BulletTriangleMesh
 - Fix pmerge in Python 3
2016-06-07 14:40:27 +02:00
rdb 8d05ef3022 Assorted fixes 2016-06-03 22:23:42 +02:00
rdb 08db72a2ca Update dlmalloc 2016-06-03 17:42:49 +02:00
rdb 5543716660 Interrogate wraps vector<unsigned char> as Python 3 bytes object 2016-06-03 01:47:54 +02:00
rdb 242cc5f57d Support template "using" definitions in interrogate 2016-05-31 18:48:32 +02:00
rdb 18874fa151 Replace PN_int/uint types with stdint.h types, since all compilers we support have them.
Plus, we already had code that relied on them being available anyway.
2016-05-11 00:27:58 +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 dc09e28ed9 Also accept a .gz wherever a .pz file is accepted 2016-04-29 16:54:25 +02:00
rdb 5feecd2243 Fix iterator support in interrogate 2016-04-28 11:08:23 +02:00
rdb 2c1cb4c313 Compile fixes for latest VRPN and TIFF 2016-04-22 17:18:27 +02:00
rdb 2f0bc01b68 Fix bug causing random crash during module initialization 2016-04-18 14:34:50 +02:00
rdb 33ed30b178 Support defining bam factory functions in Python 2016-04-09 19:28:33 +02:00
rdb 15b0ba45f9 Fix broken pickling in Python 3 build 2016-03-31 16:49:27 +02:00
rdb a3a42874f3 Merge remote-tracking branch 'origin/master' into input-overhaul 2016-03-29 12:28:53 +02:00
rdb ba4c38112c Merge remote-tracking branch 'origin/release/1.9.x' 2016-03-25 17:22:00 +01:00
rdb ce947adf8f Replace uses of "delete" with "delete[]" where appropriate 2016-03-24 23:56:12 +01:00
rdb 1cc79633c1 Merge branch 'master' into input-overhaul
Conflicts:
	panda/src/device/buttonNode.cxx
	panda/src/device/clientAnalogDevice.I
	panda/src/device/clientAnalogDevice.cxx
	panda/src/device/clientButtonDevice.I
	panda/src/device/clientButtonDevice.cxx
	panda/src/device/clientDevice.I
	panda/src/device/clientDevice.cxx
	panda/src/device/clientDevice.h
	panda/src/device/clientTrackerDevice.I
	panda/src/device/trackerNode.I
	panda/src/device/trackerNode.h
	panda/src/display/callbackGraphicsWindow.cxx
	panda/src/display/graphicsWindow.cxx
	panda/src/display/graphicsWindowInputDevice.I
	panda/src/display/graphicsWindowInputDevice.cxx
	panda/src/display/graphicsWindowInputDevice.h
	panda/src/tinydisplay/tinyOsxGraphicsWindow.mm
	panda/src/tinydisplay/tinyXGraphicsWindow.cxx
	panda/src/windisplay/winGraphicsWindow.cxx
	panda/src/windisplay/winGraphicsWindow.h
	panda/src/x11display/x11GraphicsWindow.cxx
2016-03-19 14:54:56 +01:00
Sam Edwards d28608aed1 cppparser: Fix missing includes. 2016-03-15 18:30:24 -07:00
rdb f933eb4e96 Fix compile warnings (incl. "Attempt to define invalid type" spam), define _Dtool_CheckErrorOccurred in release builds for binary compat 2016-02-27 16:45:22 +01:00
tobspr 0fcfb8e372 New file headers, new comment style 2016-02-17 17:47:48 +01:00
rdb 186f1b41b2 Fix for PDWORD_PTR 2016-02-16 11:24:42 +01:00
rdb caa03c53dd Interrogate cppparser improvements, C++11/14/17 additions:
* Support trailing return type.
 * Ignore C++14 digit separators.
 * Parse C++14 binary number representations.
 * Support "using"-style type aliases.
 * Support decltype and auto with "new".
 * Remove silly "long float" and "long long float".
 * Support default visibility with class inheritance.
 * Remove -longlong hack since C++11 supports long long natively.
 * Support unary plus operator.
 * Preserve bitfield definitions.
 * Support constructor inits using braces.
 * Support override/final specifiers.
 * Ignore [[attributes]] in certain cases
 * Add support for typeid() in expressions
 * Parse (but ignore) lambda expressions
 * Differentiate between casts, add const_cast/reinterpret_cast
 * Support thread_local variables.
2016-02-16 01:18:51 +01:00
rdb 6689e69822 Merge branch 'master' into input-overhaul 2016-02-13 11:21:20 +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 9a38a6b075 Handle bool expressions separately in cppparser 2016-01-31 17:47:25 +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
tobspr a9e18f9d24 Improve Vector implementations: - Remove unecessary assignment operators - Add normalize() method - Use properties for certain swizzle masks - Add constexpr where appropriate 2016-01-03 22:02:00 +01:00
rdb 83ed206551 Support implicitly generated copy constructor and default constructor in interrogate 2016-01-03 21:55:50 +01:00
rdb be60303502 Support =default and =delete methods in Interrogate 2016-01-03 19:56:20 +01:00
rdb 86a898b40a Tack on combining diacritics for static fonts if font doesn't specify modified letters 2015-12-31 12:48:02 +01:00
rdb bccddaf4e8 TextNode properties, fix setters that return error bool 2015-12-29 18:46:37 +01:00
rdb cdc8d7d4d9 Interrogate should pick up definitions in all files explicitly named 2015-12-26 15:24:19 +01:00
rdb ee7b03f374 Merge remote-tracking branch 'origin/master' into input-overhaul 2015-12-25 13:27:40 +01:00
rdb e4857a58bb Add many more Python properties 2015-12-24 16:17:34 +01:00
rdb db6f0342cc Add properties with has/clear (interrogatedb v3.1) 2015-12-24 14:25:45 +01:00
rdb 44f9b22323 Gamepad vibration on Windows 2015-12-19 21:04:49 +01:00
rdb c256faccd6 Forgot to add parser-inc file for XInput 2015-12-13 11:34:33 +01:00
rdb dd8344455c XInput gamepad control states, battery information, HID properties 2015-12-12 22:07:43 +01:00
rdb 35add447e6 Build on Windows; add XInput gamepad implementation 2015-12-12 00:57:01 +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 eb4052d7b6 Fix compile error on Python versions between 3.0.0 and 3.3.3 2015-12-06 16:20:07 +01:00
rdb 33d183d4f7 Throw ImportError instead of cryptic failure when importing extension module from incompatible version of Python 2015-11-28 19:22:57 +01:00
rdb 1b857d6bda A few interrogate improvements 2015-11-28 17:54:01 +01:00
rdb bdf91e206d Remove references to Python.h and py_config.h from Panda headers, to prevent picking up a dependency on Python libraries in third-party modules 2015-11-28 16:33:44 +01:00
rdb f6b66fc5db Fix PhysX compile issues on Mac 2015-11-25 02:01:07 +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 853d4d0b5d Fix compile error; MSVC does not define ssize_t 2015-11-19 23:21:30 +01:00
rdb c93e50ca05 Merge branch 'release/1.9.x'
Conflicts:
	.travis.yml
	dtool/src/cppparser/cppBison.cxx.prebuilt
	dtool/src/cppparser/cppBison.yxx
	makepanda/makepanda.py
2015-11-19 18:43:13 +01:00
rdb df4c4bc250 Fix various cppparser issues parsing the VRPN headers 2015-11-19 18:35:29 +01:00
rdb 909856c75d Improve interrogate diagnostics when encountering unknown types 2015-11-19 13:07:28 +01:00
rdb a453ec1925 Overhaul text generation; now 75x as fast as before. 2015-11-13 01:44:03 +01:00
Sam Edwards 5ebb6c511f general: Fix missing includes. 2015-11-11 12:35:04 -08:00
rdb 31dbcae262 Deprecate many extension methods, make extension methods imported via modules instead of dumped into core.py, move _core.pyd and _direct.pyd back to core.pyd, direct.pyd respectively, move MAIN_DIR set-up code to module init time 2015-11-10 00:44:29 +01:00
rdb db3ab953e4 Remove ppremake, genPyCode, and all hacks created to support them 2015-11-09 19:06:49 +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
Sam Edwards 3b667a83ed general: Fix several missing includes. 2015-11-07 20:05:17 -08:00
rdb d1732a4dca Fix minor preprocessor bugs, particularly parsing files with CRLF 2015-11-08 02:10:38 +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 4ebbe0748d Add -nomangle flag to interrogate do disable mangled aliases of function names 2015-10-17 14:25:37 +02:00
rdb ebd1fd8462 Fix interrogate warnings on Windows. Show warnings when running makepanda in verbose mode. 2015-10-17 03:27:38 +02:00
rdb 155ae811aa Fix some edge cases for preprocessor, support auto keyword, MSVC compile fix 2015-10-17 02:54:07 +02:00
rdb 94b48d568f Pre-C++11 compilers don't seem to like std::time_t 2015-10-16 15:51:16 +02:00
rdb ddf8343590 Reorganise explicit template instantiations so that it always happens in the .cxx file, while remaining backward compatible with MSVC's standards-breaking implementation 2015-10-16 15:38:28 +02:00
rdb 920210c999 Fix the vast majority of Interrogate parse issues and warnings, add support for inline namespace and constexpr 2015-10-16 14:57:40 +02:00
rdb 6a0c98d54e Work around strange interrogate issues 2015-10-13 15:40:48 +02:00
rdb b65ad853fe Support C++11/14 features: nullptr, decltype, unicode literals, custom literals, alignof 2015-10-12 23:32:50 +02:00
rdb a43d6a45c1 Fix issue building with pre-C++11 compiler 2015-10-12 14:20:23 +02:00
rdb 51ebc564aa Provide stub implementations of several C/C++ standard headers, to make parsing thirdparty sources significantly easier 2015-10-11 16:55:46 +02:00
rdb ba45120eac Try to stay compatible with Bison 2.5 (for Ubuntu precise), support C++11 and C++17 static_assert, improve error reporting, handle several gcc keyword aliases, fix bug handling preprocessor expression in which the same manifest occurs more than once 2015-10-11 16:52:33 +02:00
rdb 1c9ff40236 Require new Bison version on Windows, fallback to prebuilt files if not present 2015-10-10 16:29:14 +02:00
rdb e327c7e978 Vastly improve quality of Interrogate error messages, also fix erroneous location indications
This change also causes Interrogate to safely ignore "register" keywords in function parameters
2015-10-10 15:15:22 +02:00
rdb 62e8106ef1 Interrogate now correctly implements C++11 semantics for closing template parameter lists 2015-10-10 04:08:00 +02:00
rdb 6feef4e230 Interrogate now parses (and ignores) explicit template instantiations 2015-10-09 13:33:05 +02: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 bae5c195af Merge branch 'release/1.9.x'
Conflicts:
	dtool/src/dtoolbase/dtoolbase.h
2015-10-07 15:54:02 +02:00
rdb 706f6f7de5 Squelch some of the type conversion warnings in MSVC 2015-10-06 17:05:40 +02:00
rdb 7f3f546cdd Interrogate now parses "volatile" qualifier in instance identifiers correctly 2015-10-05 02:56:40 +02:00
rdb ca37b6b6c0 Fix VC2015 compile errors, allow selecting any WinSDK/MSVC version. All experimental, still. 2015-10-05 02:12:46 +02:00
rdb aebce2e74c Merge branch 'release/1.9.x' 2015-10-05 01:23:31 +02:00
rdb cb7a0e2520 Fix PandaSystem.getCompiler() for clang (it erroneously reported GCC) 2015-10-05 00:45:55 +02:00
rdb 893740478c Fix sporadic interrogate parser issue 2015-10-04 17:20:49 +02:00
rdb 433ed001fa Using strong CMPXCH seems necessary to avoid crash on ARM 2015-10-04 13:00:25 +02:00
rdb 30a26bc530 Match up interrogate standard typedefs better with gcc/msvc standard typedefs 2015-09-30 16:07:37 +02:00
rdb 036adff924 Merge branch 'release/1.9.x' 2015-09-30 14:07:21 +02:00
rdb a902f1628b Fix Win64 compilation 2015-09-28 13:25:17 +02:00
rdb fcd3bfd15c Fix interrogate issues with long, streampos, streamoff, streamsize and ptrdiff_t 2015-09-28 13:08:38 +02:00
rdb 759dc77ee1 Merge branch 'release/1.9.x' 2015-09-23 11:56:22 +02:00
rdb 49088fb7ce Fix some issues with new VFS open() implementation 2015-09-21 17:46:50 +02:00
rdb 1d9aff0c48 Fix wrapper for operator bool of TypeHandle 2015-09-19 14:50:59 +02:00
rdb 445c3461d6 Python 3 support to rtdist, reimplement VFS open() on top of io.IOBase, allow freezing into .c target, make VFSImporter and friends frozen into p3dpython 2015-09-18 21:20:25 +02:00
rdb 5736e7a4b0 Fix crash when passing None to Filename constructor 2015-09-18 21:19:09 +02:00
rdb 57e5c8fb25 Wrap TypeHandle and ButtonHandle as ints in C wrappers 2015-09-10 15:29:31 +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
rdb 56b94eb815 Don't raise exception in tp_traverse, instead silently passing case where object is already destructed 2015-08-28 16:28:03 +02:00
rdb d68bbae5b4 Don't add "(not used)" to config decls when writing them, it makes it harder to write out a config.prc file 2015-08-26 14:57:30 +02:00
rdb c0ff9d8e5f Merge branch 'release/1.9.x' 2015-08-04 18:00:35 +02:00
rdb de715b5a0e Fix inability for interrogate to parse /*c*//* and /*c*/// 2015-08-04 17:49:19 +02:00
Ed Swartz 0ee972a822 pallocator should use panda allocators even when DO_MEMORY_USAGE is not defined - fixes 32-bit Linux crash in runtime builds 2015-07-30 21:54:13 +02:00
rdb 64144955a0 Fix for typedefs to external types in interrogate 2015-07-29 10:45:55 +02:00
rdb 1f0b4332e3 Add softspace flag to StreamWriter - fixes print spaces in runtime env 2015-07-27 20:23:47 +02:00
rdb f33e450823 A lot of performance changes, particularly wrt dcasts and state management 2015-07-27 16:32:57 +02:00
rdb 75019784f4 Changes to inlining so we can use FORCE_INLINING in gcc as well 2015-07-27 15:39:46 +02:00
rdb 9178ed2871 Fix some preprocessor expressions in Interrogate 2015-07-14 21:04:50 +01:00
Sam Edwards 16bfd3750f Add missing includes. 2015-07-12 19:27:13 -07:00
rdb 5913546229 Proper overflow checking for numeric chars 2015-07-08 02:03:24 +02:00
rdb 342b9a8db8 Merge remote-tracking branch 'origin/release/1.9.x' 2015-07-08 02:01:28 +02:00
rdb 828e52578d Allow a long (provided it is not overflowing) where an int is accepted 2015-07-08 01:58:35 +02:00
rdb 1088cdedc8 Fix mac and static build issues 2015-07-06 23:31:14 +02:00
rdb cbcb2416d7 Merge branch 'release/1.9.x' 2015-07-06 10:32:30 +02:00
rdb 69b8d6a4b5 Fix memory leak in tuple-returning getters 2015-07-06 10:31:33 +02:00
rdb 7026854cc2 Fixes to get the C binding generator to work 2015-07-05 16:07:08 +02:00
rdb dd17fd864b Properly separate dtoolconfig and interrogatedb 2015-06-30 16:16:35 +02:00
rdb d9342043b0 Deprecate pandac.PandaModules and genPyCode, move extensions to panda3d/, clean up imports and deprecated behaviour 2015-06-28 13:55:31 +02:00
rdb 236b0c590c Use explicit symbol visibility control in GCC/clang 2015-06-22 21:01:34 +02:00
rdb 269b4eac27 Fix METH_NOARGS calling convention violations in interrogate, and special support for LINK_ALL_STATIC in interrogated code 2015-06-21 17:53:37 +02:00
rdb 7a836cbbd9 Merge branch 'release/1.9.x' 2015-06-21 17:46:34 +02:00
rdb a7d56f0e65 Fix compilation error when compiling Python without threads 2015-06-21 17:41:28 +02:00
rdb 8ecf6a7b9f Fix getattr() and hasattr() of vector classes when invalid attribute name is used 2015-06-21 15:33:42 +02:00
rdb 2515ea5dff Merge branch 'release/1.9.x' 2015-06-13 13:37:33 +02:00
rdb 48208b0f27 Support #pragma once in interrogate 2015-06-13 13:33:11 +02:00
rdb 11ed8a4d8d Use dynamic type lookup for interrogate to eliminate inter-module dependencies
It is now no longer necessary to link to core.pyd
Also includes a slight coercion optimization for trivial types
2015-06-06 19:36:40 +02:00
rdb 4d46172fba Revert non-Windows template export changes from 1.9.x, they're less stable than I thought 2015-06-06 16:55:33 +02:00
rdb 205e731c4a Merge branch 'release/1.9.x' 2015-06-04 12:00:25 +02:00
rdb 4a88d71ff6 Fix compile issues on Windows with rtdist build 2015-06-04 11:44:29 +02:00
rdb a70878c4ef Merge branch 'release/1.9.x' 2015-06-03 20:26:22 +02:00
rdb f42c6645d5 Update prebuilt bison files for people who build without bison 2015-06-03 19:54:01 +02:00
rdb f69354d9fa Explicit template instantiation on gcc/clang, implement cfsworks' suggestion of moving compiler-specific stuff out of pandasymbols.h et al 2015-06-03 13:36:04 +02:00
rdb 141c7a9c35 Improve build performance on Windows slightly 2015-06-02 21:02:35 +02:00
rdb 75978222a1 Merge branch 'release/1.9.x' 2015-06-02 00:31:24 +02:00
rdb cc62e731b7 Fix compilation with ppremake 2015-06-01 00:21:32 +02:00
rdb e2dfc935a1 Various refactoring, esp. of GLSL input system 2015-05-21 14:16:45 +02:00
tobspr ac779d46d7 Fix typos in interrogate 2015-05-18 18:12:09 +02:00
rdb 5f875239f2 Merge branch 'release/1.9.x' 2015-05-02 22:17:29 +02:00
Sam Edwards 88bb4102b2 dtoolbase: Rename pdtoa.c -> pdtoa.cxx.
It's actually a C++ file (contains C++-only constructs) and should have the proper file extension so it compiles with the appropriate language.
2015-05-02 22:14:17 +02:00
rdb ab1c516ebc Merge various fixes from branch 'release/1.9.x'
Conflicts:
	panda/src/gobj/texture.cxx
2015-04-16 17:11:20 +02:00
rdb 52288e299b Fix interrogate regression that broke multiview support 2015-04-16 16:57:46 +02:00
rdb d7552f0d8a Merge in bugfixes from branch 'release/1.9.x' 2015-04-14 15:50:53 +02:00
rdb d430e611bb size_t params of methods in template classes did not support 64-bit values on 64-bit systems 2015-04-14 15:47:35 +02:00
rdb 3b17e8fff1 Fix issue tracking memory allocations of more than 2GB at a time on 64-bit systems 2015-04-14 15:44:11 +02:00
rdb 8e76328b3b Fix Bullet support (Broken float division in default args in interrogate) 2015-04-09 13:08:17 +02:00
rdb 16e7831566 Remove executable permissions from files that don't need them 2015-04-05 15:41:49 +02:00
rdb 41184b1189 Optimizations to improve start-up time (esp. in JavaScript) 2015-04-04 19:05:54 +02:00
rdb 44346769b4 Fix pstrtod bug with exponents 2015-04-04 16:00:19 +02:00
rdb 426fdf0842 Fix issue where overloads with invalid default arg types weren't exported at all 2015-03-31 22:34:28 +02:00
rdb 346d04a256 Work around buggy list::remove in libc++ 2015-03-31 13:55:32 +02:00
rdb af0d853eef Disable i386 atomics impl on Mac OS X until we find out why it won't compile 2015-03-31 13:54:38 +02:00
rdb ff58db25ac Fix inheritance of hash functions, restore compare_to(), slot get_hash/get_key 2015-03-28 21:55:55 +01:00
rdb eaedfa68dc Fix regression: methods returning const char pointer were ignored. 2015-03-28 20:51:45 +01:00
rdb 53d10aa3a3 Fix sticky exception when passing over overloads with single string arg. 2015-03-28 20:51:08 +01:00
Sam Edwards 64120cd7d8 general: Add missing includes and forward-declarations. 2015-03-28 19:27:48 +01:00
rdb 477aa4bdfe Fix various Windows build issues 2015-03-27 23:17:35 +01:00
rdb f624cdcac0 Fix various Mac OS X bugs and build issues 2015-03-25 19:43:21 +01:00
rdb c9f8ccf901 Fix interrogate bug with detecting parameter coercion possibility 2015-03-25 19:37:00 +01:00
rdb 3371df8403 Fix tp_compare, better __repr__/__str__ handling 2015-03-25 19:36:35 +01:00
rdb 38d02fadf9 Fix various interrogate issues with parsing PhysX headers 2015-03-23 19:27:29 +01:00
rdb de0b0dd879 Fix various issues with Python 3 support, fix samples to work with Python 3 2015-03-23 00:32:47 +01:00
rdb b63d5fbe8c Support cyclic garbage collection through PythonTask objects 2015-03-15 12:24:06 +01:00
rdb e608fa69c7 Merge branch 'master' into interrogate-overhaul
Conflicts:
	dtool/src/cppparser/cppBison.yxx
	dtool/src/interrogate/interfaceMakerPythonNative.cxx
2015-03-14 16:47:31 +01:00
rdb 68cf8cf44f Fix various issues with API documentation generator 2015-03-13 18:40:26 +01:00
rdb 04d4309b14 SSE2-enhanced sRGB encode (with runtime CPU detection) 2015-03-01 11:46:52 +01:00
rdb da3f642902 Various interrogate improvements 2015-02-27 15:01:42 +01:00
rdb 238cbad2a1 Merge branch 'master' into interrogate-overhaul 2015-02-27 12:48:33 +01:00
rdb db87bc7914 PointerToArray fixes, Windows build fixes, more move constructors 2015-02-27 12:45:11 +01:00
deflected 2dd1b5e3b3 dtool: Fixed building under FreeBSD
There is missing define in dtoolutil which
	prevent building of dtool under FreeBSD.

Signed-off-by: deflected <deflected@github>
2015-02-20 11:58:28 +02:00
rdb e29efdd0c9 Don't use swap() as fallback for std::move(), it's more picky 2015-02-15 20:26:23 +01:00
rdb 9513046e59 Various substantial changes to Interrogate:
* Allow arbitrary selection of optional keyword arguments in some cases
* Reduce code bloat of generated bindings
* Work around awkward resolution of set_shader_input overloads
* Document the code a bit better
* Make coercion a bit cleaner for reference counted types
* A few optimization tweaks
* Use generic errors in NDEBUG build to reduce size of string pool
2015-02-15 13:48:13 +01:00
rdb 4dc4c9eb3d Merge branch 'master' into interrogate-overhaul
Conflicts:
	dtool/src/interrogate/functionRemap.cxx
	dtool/src/interrogate/interfaceMakerPythonNative.cxx
	panda/src/event/pythonTask.cxx
	panda/src/express/multifile.h
	panda/src/express/pointerToArray.I
	panda/src/mathutil/config_mathutil.N
	panda/src/putil/config_util.N
	panda/src/putil/doubleBitMask.h
2015-02-11 14:41:58 +01:00
rdb a6eb3fa442 Make NodePathCollection and TextureCollection constructors extensions 2015-02-11 14:14:03 +01:00